diff options
| author | Rob Clark <[email protected]> | 2017-10-10 08:23:06 -0400 |
|---|---|---|
| committer | Alexander Graf <[email protected]> | 2017-10-12 17:22:58 +0200 |
| commit | bf19273e81eb5e23c9bc14c3881f92a120565561 (patch) | |
| tree | 0d93e3782caf9afc4295d1f8a872ab798bbd0adf /include | |
| parent | bcbc4a80462c42c5d5ccac0287b8a7d49df9e179 (diff) | |
efi_loader: Add mem-mapped for fallback
When we don't have a real device/image path, such as 'bootefi hello',
construct a mem-mapped device-path.
This fixes 'bootefi hello' after devicepath refactoring.
Fixes: 95c5553ea2 ("efi_loader: refactor boot device and loaded_image handling")
Signed-off-by: Rob Clark <[email protected]>
Acked-by: Heinrich Schuchardt <[email protected]>
Signed-off-by: Alexander Graf <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/efi_api.h | 8 | ||||
| -rw-r--r-- | include/efi_loader.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/efi_api.h b/include/efi_api.h index a9a6494afef..94c15b279ac 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -297,8 +297,16 @@ struct efi_mac_addr { } __packed; #define DEVICE_PATH_TYPE_HARDWARE_DEVICE 0x01 +# define DEVICE_PATH_SUB_TYPE_MEMORY 0x03 # define DEVICE_PATH_SUB_TYPE_VENDOR 0x04 +struct efi_device_path_memory { + struct efi_device_path dp; + u32 memory_type; + u64 start_address; + u64 end_address; +} __packed; + struct efi_device_path_vendor { struct efi_device_path dp; efi_guid_t guid; diff --git a/include/efi_loader.h b/include/efi_loader.h index e1179b7dcd1..1b92edbd77c 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -259,6 +259,9 @@ struct efi_device_path *efi_dp_from_part(struct blk_desc *desc, int part); struct efi_device_path *efi_dp_from_file(struct blk_desc *desc, int part, const char *path); struct efi_device_path *efi_dp_from_eth(void); +struct efi_device_path *efi_dp_from_mem(uint32_t mem_type, + uint64_t start_address, + uint64_t end_address); void efi_dp_split_file_path(struct efi_device_path *full_path, struct efi_device_path **device_path, struct efi_device_path **file_path); |
