diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-20 21:58:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-20 21:58:18 -0400 |
commit | 24b5e20f11a75866bbffc46c30a22fa50612a769 (patch) | |
tree | 2dab5fc6714a5ad1e31bdea1e954fbd69704ce72 /Documentation/x86 | |
parent | 26660a4046b171a752e72a1dd32153230234fe3a (diff) | |
parent | d367cef0a7f0c6ee86e997c0cb455b21b3c6b9ba (diff) |
Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI updates from Ingo Molnar:
"The main changes are:
- Use separate EFI page tables when executing EFI firmware code.
This isolates the EFI context from the rest of the kernel, which
has security and general robustness advantages. (Matt Fleming)
- Run regular UEFI firmware with interrupts enabled. This is already
the status quo under other OSs. (Ard Biesheuvel)
- Various x86 EFI enhancements, such as the use of non-executable
attributes for EFI memory mappings. (Sai Praneeth Prakhya)
- Various arm64 UEFI enhancements. (Ard Biesheuvel)
- ... various fixes and cleanups.
The separate EFI page tables feature got delayed twice already,
because it's an intrusive change and we didn't feel confident about
it - third time's the charm we hope!"
* 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
x86/mm/pat: Fix boot crash when 1GB pages are not supported by the CPU
x86/efi: Only map kernel text for EFI mixed mode
x86/efi: Map EFI_MEMORY_{XP,RO} memory region bits to EFI page tables
x86/mm/pat: Don't implicitly allow _PAGE_RW in kernel_map_pages_in_pgd()
efi/arm*: Perform hardware compatibility check
efi/arm64: Check for h/w support before booting a >4 KB granular kernel
efi/arm: Check for LPAE support before booting a LPAE kernel
efi/arm-init: Use read-only early mappings
efi/efistub: Prevent __init annotations from being used
arm64/vmlinux.lds.S: Handle .init.rodata.xxx and .init.bss sections
efi/arm64: Drop __init annotation from handle_kernel_image()
x86/mm/pat: Use _PAGE_GLOBAL bit for EFI page table mappings
efi/runtime-wrappers: Run UEFI Runtime Services with interrupts enabled
efi: Reformat GUID tables to follow the format in UEFI spec
efi: Add Persistent Memory type name
efi: Add NV memory attribute
x86/efi: Show actual ending addresses in efi_print_memmap
x86/efi/bgrt: Don't ignore the BGRT if the 'valid' bit is 0
efivars: Use to_efivar_entry
efi: Runtime-wrapper: Get rid of the rtc_lock spinlock
...
Diffstat (limited to 'Documentation/x86')
-rw-r--r-- | Documentation/x86/x86_64/mm.txt | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt index 05712ac83e38..c518dce7da4d 100644 --- a/Documentation/x86/x86_64/mm.txt +++ b/Documentation/x86/x86_64/mm.txt | |||
@@ -16,6 +16,8 @@ ffffec0000000000 - fffffc0000000000 (=44 bits) kasan shadow memory (16TB) | |||
16 | ... unused hole ... | 16 | ... unused hole ... |
17 | ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks | 17 | ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks |
18 | ... unused hole ... | 18 | ... unused hole ... |
19 | ffffffef00000000 - ffffffff00000000 (=64 GB) EFI region mapping space | ||
20 | ... unused hole ... | ||
19 | ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0 | 21 | ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0 |
20 | ffffffffa0000000 - ffffffffff5fffff (=1525 MB) module mapping space | 22 | ffffffffa0000000 - ffffffffff5fffff (=1525 MB) module mapping space |
21 | ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls | 23 | ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls |
@@ -32,11 +34,9 @@ reference. | |||
32 | Current X86-64 implementations only support 40 bits of address space, | 34 | Current X86-64 implementations only support 40 bits of address space, |
33 | but we support up to 46 bits. This expands into MBZ space in the page tables. | 35 | but we support up to 46 bits. This expands into MBZ space in the page tables. |
34 | 36 | ||
35 | ->trampoline_pgd: | 37 | We map EFI runtime services in the 'efi_pgd' PGD in a 64Gb large virtual |
36 | 38 | memory window (this size is arbitrary, it can be raised later if needed). | |
37 | We map EFI runtime services in the aforementioned PGD in the virtual | 39 | The mappings are not part of any other kernel PGD and are only available |
38 | range of 64Gb (arbitrarily set, can be raised if needed) | 40 | during EFI runtime calls. |
39 | |||
40 | 0xffffffef00000000 - 0xffffffff00000000 | ||
41 | 41 | ||
42 | -Andi Kleen, Jul 2004 | 42 | -Andi Kleen, Jul 2004 |