diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-03-31 15:26:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-03-31 15:26:05 -0400 |
commit | 7cc3afdf43ffb703db831292f3816d909fd44767 (patch) | |
tree | 9c9f4b9c1a880b4f8ec4fc44ef80b6568142756b /arch/ia64 | |
parent | ad8946fbf913fff8671cbaee776d23c3d07173fa (diff) | |
parent | 204b0a1a4b92612c957a042df1a3be0e9cc79391 (diff) |
Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 EFI changes from Ingo Molnar:
"The main changes:
- Add debug code to the dump EFI pagetable - Borislav Petkov
- Make 1:1 runtime mapping robust when booting on machines with lots
of memory - Borislav Petkov
- Move the EFI facilities bits out of 'x86_efi_facility' and into
efi.flags which is the standard architecture independent place to
keep EFI state, by Matt Fleming.
- Add 'EFI mixed mode' support: this allows 64-bit kernels to be
booted from 32-bit firmware. This needs a bootloader that supports
the 'EFI handover protocol'. By Matt Fleming"
* 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
x86, efi: Abstract x86 efi_early calls
x86/efi: Restore 'attr' argument to query_variable_info()
x86/efi: Rip out phys_efi_get_time()
x86/efi: Preserve segment registers in mixed mode
x86/boot: Fix non-EFI build
x86, tools: Fix up compiler warnings
x86/efi: Re-disable interrupts after calling firmware services
x86/boot: Don't overwrite cr4 when enabling PAE
x86/efi: Wire up CONFIG_EFI_MIXED
x86/efi: Add mixed runtime services support
x86/efi: Firmware agnostic handover entry points
x86/efi: Split the boot stub into 32/64 code paths
x86/efi: Add early thunk code to go from 64-bit to 32-bit
x86/efi: Build our own EFI services pointer table
efi: Add separate 32-bit/64-bit definitions
x86/efi: Delete dead code when checking for non-native
x86/mm/pageattr: Always dump the right page table in an oops
x86, tools: Consolidate #ifdef code
x86/boot: Cleanup header.S by removing some #ifdefs
efi: Use NULL instead of 0 for pointer
...
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/efi.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index da5b462e6de6..741b99c1a0b1 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -477,6 +477,9 @@ efi_init (void) | |||
477 | char *cp, vendor[100] = "unknown"; | 477 | char *cp, vendor[100] = "unknown"; |
478 | int i; | 478 | int i; |
479 | 479 | ||
480 | set_bit(EFI_BOOT, &efi.flags); | ||
481 | set_bit(EFI_64BIT, &efi.flags); | ||
482 | |||
480 | /* | 483 | /* |
481 | * It's too early to be able to use the standard kernel command line | 484 | * It's too early to be able to use the standard kernel command line |
482 | * support... | 485 | * support... |
@@ -529,6 +532,8 @@ efi_init (void) | |||
529 | efi.systab->hdr.revision >> 16, | 532 | efi.systab->hdr.revision >> 16, |
530 | efi.systab->hdr.revision & 0xffff, vendor); | 533 | efi.systab->hdr.revision & 0xffff, vendor); |
531 | 534 | ||
535 | set_bit(EFI_SYSTEM_TABLES, &efi.flags); | ||
536 | |||
532 | palo_phys = EFI_INVALID_TABLE_ADDR; | 537 | palo_phys = EFI_INVALID_TABLE_ADDR; |
533 | 538 | ||
534 | if (efi_config_init(arch_tables) != 0) | 539 | if (efi_config_init(arch_tables) != 0) |
@@ -657,6 +662,8 @@ efi_enter_virtual_mode (void) | |||
657 | return; | 662 | return; |
658 | } | 663 | } |
659 | 664 | ||
665 | set_bit(EFI_RUNTIME_SERVICES, &efi.flags); | ||
666 | |||
660 | /* | 667 | /* |
661 | * Now that EFI is in virtual mode, we call the EFI functions more | 668 | * Now that EFI is in virtual mode, we call the EFI functions more |
662 | * efficiently: | 669 | * efficiently: |