diff options
Diffstat (limited to 'arch/ia64/kernel/efi.c')
-rw-r--r-- | arch/ia64/kernel/efi.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index caae3f4e4341..300dac3702f1 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -1178,7 +1178,7 @@ efi_initialize_iomem_resources(struct resource *code_resource, | |||
1178 | efi_memory_desc_t *md; | 1178 | efi_memory_desc_t *md; |
1179 | u64 efi_desc_size; | 1179 | u64 efi_desc_size; |
1180 | char *name; | 1180 | char *name; |
1181 | unsigned long flags; | 1181 | unsigned long flags, desc; |
1182 | 1182 | ||
1183 | efi_map_start = __va(ia64_boot_param->efi_memmap); | 1183 | efi_map_start = __va(ia64_boot_param->efi_memmap); |
1184 | efi_map_end = efi_map_start + ia64_boot_param->efi_memmap_size; | 1184 | efi_map_end = efi_map_start + ia64_boot_param->efi_memmap_size; |
@@ -1193,6 +1193,8 @@ efi_initialize_iomem_resources(struct resource *code_resource, | |||
1193 | continue; | 1193 | continue; |
1194 | 1194 | ||
1195 | flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 1195 | flags = IORESOURCE_MEM | IORESOURCE_BUSY; |
1196 | desc = IORES_DESC_NONE; | ||
1197 | |||
1196 | switch (md->type) { | 1198 | switch (md->type) { |
1197 | 1199 | ||
1198 | case EFI_MEMORY_MAPPED_IO: | 1200 | case EFI_MEMORY_MAPPED_IO: |
@@ -1207,14 +1209,17 @@ efi_initialize_iomem_resources(struct resource *code_resource, | |||
1207 | if (md->attribute & EFI_MEMORY_WP) { | 1209 | if (md->attribute & EFI_MEMORY_WP) { |
1208 | name = "System ROM"; | 1210 | name = "System ROM"; |
1209 | flags |= IORESOURCE_READONLY; | 1211 | flags |= IORESOURCE_READONLY; |
1210 | } else if (md->attribute == EFI_MEMORY_UC) | 1212 | } else if (md->attribute == EFI_MEMORY_UC) { |
1211 | name = "Uncached RAM"; | 1213 | name = "Uncached RAM"; |
1212 | else | 1214 | } else { |
1213 | name = "System RAM"; | 1215 | name = "System RAM"; |
1216 | flags |= IORESOURCE_SYSRAM; | ||
1217 | } | ||
1214 | break; | 1218 | break; |
1215 | 1219 | ||
1216 | case EFI_ACPI_MEMORY_NVS: | 1220 | case EFI_ACPI_MEMORY_NVS: |
1217 | name = "ACPI Non-volatile Storage"; | 1221 | name = "ACPI Non-volatile Storage"; |
1222 | desc = IORES_DESC_ACPI_NV_STORAGE; | ||
1218 | break; | 1223 | break; |
1219 | 1224 | ||
1220 | case EFI_UNUSABLE_MEMORY: | 1225 | case EFI_UNUSABLE_MEMORY: |
@@ -1224,6 +1229,7 @@ efi_initialize_iomem_resources(struct resource *code_resource, | |||
1224 | 1229 | ||
1225 | case EFI_PERSISTENT_MEMORY: | 1230 | case EFI_PERSISTENT_MEMORY: |
1226 | name = "Persistent Memory"; | 1231 | name = "Persistent Memory"; |
1232 | desc = IORES_DESC_PERSISTENT_MEMORY; | ||
1227 | break; | 1233 | break; |
1228 | 1234 | ||
1229 | case EFI_RESERVED_TYPE: | 1235 | case EFI_RESERVED_TYPE: |
@@ -1246,6 +1252,7 @@ efi_initialize_iomem_resources(struct resource *code_resource, | |||
1246 | res->start = md->phys_addr; | 1252 | res->start = md->phys_addr; |
1247 | res->end = md->phys_addr + efi_md_size(md) - 1; | 1253 | res->end = md->phys_addr + efi_md_size(md) - 1; |
1248 | res->flags = flags; | 1254 | res->flags = flags; |
1255 | res->desc = desc; | ||
1249 | 1256 | ||
1250 | if (insert_resource(&iomem_resource, res) < 0) | 1257 | if (insert_resource(&iomem_resource, res) < 0) |
1251 | kfree(res); | 1258 | kfree(res); |