diff options
Diffstat (limited to 'drivers/firmware')
-rw-r--r-- | drivers/firmware/efi/runtime-map.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/firmware/efi/runtime-map.c b/drivers/firmware/efi/runtime-map.c index 97cdd16a2169..018c29a26615 100644 --- a/drivers/firmware/efi/runtime-map.c +++ b/drivers/firmware/efi/runtime-map.c | |||
@@ -138,6 +138,27 @@ add_sysfs_runtime_map_entry(struct kobject *kobj, int nr) | |||
138 | return entry; | 138 | return entry; |
139 | } | 139 | } |
140 | 140 | ||
141 | int efi_get_runtime_map_size(void) | ||
142 | { | ||
143 | return nr_efi_runtime_map * efi_memdesc_size; | ||
144 | } | ||
145 | |||
146 | int efi_get_runtime_map_desc_size(void) | ||
147 | { | ||
148 | return efi_memdesc_size; | ||
149 | } | ||
150 | |||
151 | int efi_runtime_map_copy(void *buf, size_t bufsz) | ||
152 | { | ||
153 | size_t sz = efi_get_runtime_map_size(); | ||
154 | |||
155 | if (sz > bufsz) | ||
156 | sz = bufsz; | ||
157 | |||
158 | memcpy(buf, efi_runtime_map, sz); | ||
159 | return 0; | ||
160 | } | ||
161 | |||
141 | void efi_runtime_map_setup(void *map, int nr_entries, u32 desc_size) | 162 | void efi_runtime_map_setup(void *map, int nr_entries, u32 desc_size) |
142 | { | 163 | { |
143 | efi_runtime_map = map; | 164 | efi_runtime_map = map; |