|
|
@@ -623,6 +623,10 @@ void efi_native_runtime_setup(void);
|
|
|
EFI_GUID(0x3152bca5, 0xeade, 0x433d, \
|
|
|
0x86, 0x2e, 0xc0, 0x1c, 0xdc, 0x29, 0x1f, 0x44)
|
|
|
|
|
|
+#define EFI_MEMORY_ATTRIBUTES_TABLE_GUID \
|
|
|
+ EFI_GUID(0xdcfa911d, 0x26eb, 0x469f, \
|
|
|
+ 0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20)
|
|
|
+
|
|
|
typedef struct {
|
|
|
efi_guid_t guid;
|
|
|
u64 table;
|
|
|
@@ -847,6 +851,14 @@ typedef struct {
|
|
|
|
|
|
#define EFI_INVALID_TABLE_ADDR (~0UL)
|
|
|
|
|
|
+typedef struct {
|
|
|
+ u32 version;
|
|
|
+ u32 num_entries;
|
|
|
+ u32 desc_size;
|
|
|
+ u32 reserved;
|
|
|
+ efi_memory_desc_t entry[0];
|
|
|
+} efi_memory_attributes_table_t;
|
|
|
+
|
|
|
/*
|
|
|
* All runtime access to EFI goes through this structure:
|
|
|
*/
|
|
|
@@ -868,6 +880,7 @@ extern struct efi {
|
|
|
unsigned long config_table; /* config tables */
|
|
|
unsigned long esrt; /* ESRT table */
|
|
|
unsigned long properties_table; /* properties table */
|
|
|
+ unsigned long mem_attr_table; /* memory attributes table */
|
|
|
efi_get_time_t *get_time;
|
|
|
efi_set_time_t *set_time;
|
|
|
efi_get_wakeup_time_t *get_wakeup_time;
|