aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2013-01-30 17:43:05 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2013-01-30 17:43:05 -0500
commitbecbd6608026c15afd88fd3d0c893dfb7b8c7845 (patch)
treeb4b18ac62163ec2b782da876f344af93d3a4ccef /arch/x86/boot
parent99f857db8857aff691c51302f93648263ed07eb1 (diff)
parent739701888f5d98010a8960b2d974d74c77c830a2 (diff)
Merge tag 'efi-for-3.8' into x86/efi
Various urgent EFI fixes and some warning cleanups for v3.8 * EFI boot stub fix for Macbook Pro's from Maarten Lankhorst * Fix an oops in efivarfs from Lingzhu Xiang * 32-bit warning cleanups from Jan Beulich * Patch to Boot on >512GB RAM systems from Nathan Zimmer * Set efi.runtime_version correctly * efivarfs updates Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/boot')
-rw-r--r--arch/x86/boot/compressed/eboot.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index b7f220877294..f8fa41190c35 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -256,10 +256,10 @@ static efi_status_t setup_efi_pci(struct boot_params *params)
256 int i; 256 int i;
257 struct setup_data *data; 257 struct setup_data *data;
258 258
259 data = (struct setup_data *)params->hdr.setup_data; 259 data = (struct setup_data *)(unsigned long)params->hdr.setup_data;
260 260
261 while (data && data->next) 261 while (data && data->next)
262 data = (struct setup_data *)data->next; 262 data = (struct setup_data *)(unsigned long)data->next;
263 263
264 status = efi_call_phys5(sys_table->boottime->locate_handle, 264 status = efi_call_phys5(sys_table->boottime->locate_handle,
265 EFI_LOCATE_BY_PROTOCOL, &pci_proto, 265 EFI_LOCATE_BY_PROTOCOL, &pci_proto,
@@ -307,9 +307,6 @@ static efi_status_t setup_efi_pci(struct boot_params *params)
307 if (status != EFI_SUCCESS) 307 if (status != EFI_SUCCESS)
308 continue; 308 continue;
309 309
310 if (!(attributes & EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM))
311 continue;
312
313 if (!pci->romimage || !pci->romsize) 310 if (!pci->romimage || !pci->romsize)
314 continue; 311 continue;
315 312
@@ -350,9 +347,9 @@ static efi_status_t setup_efi_pci(struct boot_params *params)
350 memcpy(rom->romdata, pci->romimage, pci->romsize); 347 memcpy(rom->romdata, pci->romimage, pci->romsize);
351 348
352 if (data) 349 if (data)
353 data->next = (uint64_t)rom; 350 data->next = (unsigned long)rom;
354 else 351 else
355 params->hdr.setup_data = (uint64_t)rom; 352 params->hdr.setup_data = (unsigned long)rom;
356 353
357 data = (struct setup_data *)rom; 354 data = (struct setup_data *)rom;
358 355