From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Borislav Petkov <bp@alien8.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] EFI changes for v5.6
Date: Tue, 28 Jan 2020 08:48:50 +0100 [thread overview]
Message-ID: <20200128074850.GA27168@gmail.com> (raw)
Linus,
Please pull the latest efi-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git efi-core-for-linus
# HEAD: ac6119e7f25b842fc061e8aec88c4f32d3bc28ef efi/x86: Disable instrumentation in the EFI runtime handling code
The main changes in this cycle were:
- Cleanup of the GOP [graphics output] handling code in the EFI stub
- Complete refactoring of the mixed mode handling in the x86 EFI stub
- Overhaul of the x86 EFI boot/runtime code
- Increase robustness for mixed mode code
- Add the ability to disable DMA at the root port level in the EFI stub
- Get rid of RWX mappings in the EFI memory map and page tables, where possible
- Move the support code for the old EFI memory mapping style into its only
user, the SGI UV1+ support code.
- plus misc fixes, updates, smaller cleanups.
- And due to interactions with the RWX changes, another round of PAT
cleanups make a guest appearance via the EFI tree - with no side
effects intended.
Thanks,
Ingo
------------------>
Anshuman Khandual (1):
efi: Fix comment for efi_mem_type() wrt absent physical addresses
Ard Biesheuvel (46):
efi/libstub: Remove unused __efi_call_early() macro
efi/x86: Rename efi_is_native() to efi_is_mixed()
efi/libstub: Use a helper to iterate over a EFI handle array
efi/libstub: Extend native protocol definitions with mixed_mode aliases
efi/libstub: Distinguish between native/mixed not 32/64 bit
efi/libstub: Drop explicit 32/64-bit protocol definitions
efi/libstub: Use stricter typing for firmware function pointers
efi/libstub: Annotate firmware routines as __efiapi
efi/libstub/x86: Avoid thunking for native firmware calls
efi/libstub: Avoid protocol wrapper for file I/O routines
efi/libstub: Get rid of 'sys_table_arg' macro parameter
efi/libstub: Unify the efi_char16_printk implementations
efi/libstub/x86: Drop __efi_early() export and efi_config struct
efi/libstub: Drop sys_table_arg from printk routines
efi/libstub: Remove 'sys_table_arg' from all function prototypes
efi/libstub/x86: Work around page freeing issue in mixed mode
efi/libstub: Drop protocol argument from efi_call_proto() macro
efi/libstub: Drop 'table' argument from efi_table_attr() macro
efi/libstub: Rename efi_call_early/_runtime macros to be more intuitive
efi/libstub: Tidy up types and names of global cmdline variables
efi/libstub/x86: Avoid globals to store context during mixed mode calls
efi/libstub: Fix boot argument handling in mixed mode entry code
efi/libstub/x86: Force 'hidden' visibility for extern declarations
efi/x86: Re-disable RT services for 32-bit kernels running on 64-bit EFI
efi/x86: Map the entire EFI vendor string before copying it
efi/x86: Avoid redundant cast of EFI firmware service pointer
efi/x86: Split off some old memmap handling into separate routines
efi/x86: Split SetVirtualAddresMap() wrappers into 32 and 64 bit versions
efi/x86: Simplify i386 efi_call_phys() firmware call wrapper
efi/x86: Simplify 64-bit EFI firmware call wrapper
efi/x86: Simplify mixed mode call wrapper
efi/x86: Drop two near identical versions of efi_runtime_init()
efi/x86: Clean up efi_systab_init() routine for legibility
efi/x86: Don't panic or BUG() on non-critical error conditions
efi/x86: Remove unreachable code in kexec_enter_virtual_mode()
efi/libstub/x86: Use const attribute for efi_is_64bit()
efi/libstub/x86: Use mandatory 16-byte stack alignment in mixed mode
x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd
efi/x86: Don't map the entire kernel text RW for mixed mode
efi/x86: Avoid RWX mappings for all of DRAM
efi/x86: Limit EFI old memory map to SGI UV machines
efi/arm: Defer probe of PCIe backed efifb on DT systems
efi/x86: avoid KASAN false positives when accessing the 1: 1 mapping
x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
efi/x86: Disallow efi=old_map in mixed mode
efi/x86: Disable instrumentation in the EFI runtime handling code
Arnd Bergmann (1):
efi/libstub/x86: Fix unused-variable warning
Arvind Sankar (6):
efi/gop: Remove bogus packed attribute from GOP structures
efi/gop: Remove unused typedef
efi/gop: Convert GOP structures to typedef and clean up some types
efi/gop: Unify 32/64-bit functions
efi/x86: Check number of arguments to variadic functions
efi/x86: Allow translating 64-bit arguments for mixed mode calls
Dan Williams (4):
efi: Add a flags parameter to efi_memory_map
efi: Add tracking for dynamically allocated memmaps
efi: Fix efi_memmap_alloc() leaks
efi: Fix handling of multiple efi_fake_mem= entries
Ingo Molnar (16):
x86/setup: Clean up the header portion of setup.c
x86/setup: Enhance the comments
x86/mm/pat: Update the comments in pat.c and pat_interval.c and refresh the code a bit
x86/mm/pat: Disambiguate PAT-disabled boot messages
x86/mm/pat: Create fixed width output in /sys/kernel/debug/x86/pat_memtype_list, similar to the E820 debug printouts
x86/mm/pat: Simplify the free_memtype() control flow
x86/mm/pat: Harmonize 'struct memtype *' local variable and function parameter use
x86/mm/pat: Clean up PAT initialization flags
x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/
x86/mm/pat: Standardize on memtype_*() prefix for APIs
x86/mm/pat: Rename <asm/pat.h> => <asm/memtype.h>
x86/mm/pat: Clean up <asm/memtype.h> externs
x86/mm/pat: Fix typo in the Kconfig help text
x86/mm: Tabulate the page table encoding definitions
mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h>
mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions
Matthew Garrett (1):
efi: Allow disabling PCI busmastering on bridges during boot
Qian Cai (1):
efi/libstub/x86: Fix EFI server boot failure
kbuild test robot (1):
x86/mm/pat: Mark __cpa_flush_tlb() as static
Documentation/admin-guide/kernel-parameters.txt | 10 +-
arch/alpha/include/asm/vmalloc.h | 4 +
arch/arc/include/asm/vmalloc.h | 4 +
arch/arm/include/asm/efi.h | 17 +-
arch/arm/include/asm/vmalloc.h | 4 +
arch/arm64/include/asm/efi.h | 16 +-
arch/arm64/include/asm/vmalloc.h | 4 +
arch/c6x/include/asm/vmalloc.h | 4 +
arch/csky/include/asm/vmalloc.h | 4 +
arch/h8300/include/asm/vmalloc.h | 4 +
arch/hexagon/include/asm/vmalloc.h | 4 +
arch/ia64/include/asm/vmalloc.h | 4 +
arch/m68k/include/asm/vmalloc.h | 4 +
arch/microblaze/include/asm/vmalloc.h | 4 +
arch/mips/include/asm/vmalloc.h | 4 +
arch/nds32/include/asm/vmalloc.h | 4 +
arch/nios2/include/asm/vmalloc.h | 4 +
arch/openrisc/include/asm/vmalloc.h | 4 +
arch/parisc/include/asm/vmalloc.h | 4 +
arch/powerpc/include/asm/vmalloc.h | 4 +
arch/riscv/include/asm/vmalloc.h | 4 +
arch/s390/include/asm/vmalloc.h | 4 +
arch/sh/include/asm/vmalloc.h | 4 +
arch/sparc/include/asm/vmalloc.h | 4 +
arch/um/include/asm/vmalloc.h | 4 +
arch/unicore32/include/asm/vmalloc.h | 4 +
arch/x86/Kconfig | 13 +-
arch/x86/boot/Makefile | 2 +-
arch/x86/boot/compressed/Makefile | 2 +-
arch/x86/boot/compressed/eboot.c | 278 ++++-----
arch/x86/boot/compressed/eboot.h | 30 +-
arch/x86/boot/compressed/efi_stub_32.S | 87 ---
arch/x86/boot/compressed/efi_stub_64.S | 5 -
arch/x86/boot/compressed/efi_thunk_64.S | 65 +-
arch/x86/boot/compressed/head_32.S | 64 +-
arch/x86/boot/compressed/head_64.S | 97 +--
arch/x86/include/asm/cpu_entry_area.h | 10 +-
arch/x86/include/asm/efi.h | 244 +++++---
arch/x86/include/asm/memtype.h | 27 +
arch/x86/include/asm/mmu_context.h | 86 +--
arch/x86/include/asm/mtrr.h | 4 +-
arch/x86/include/asm/pat.h | 27 -
arch/x86/include/asm/pci.h | 2 +-
arch/x86/include/asm/pgtable_32_areas.h | 53 ++
arch/x86/include/asm/pgtable_32_types.h | 57 +-
arch/x86/include/asm/pgtable_areas.h | 16 +
arch/x86/include/asm/pgtable_types.h | 143 ++---
arch/x86/include/asm/vmalloc.h | 6 +
arch/x86/kernel/cpu/common.c | 2 +-
arch/x86/kernel/cpu/mtrr/generic.c | 2 +-
arch/x86/kernel/cpu/mtrr/mtrr.c | 2 +-
arch/x86/kernel/cpu/scattered.c | 2 +-
arch/x86/kernel/cpu/topology.c | 2 +-
arch/x86/kernel/kexec-bzimage64.c | 2 +-
arch/x86/kernel/ldt.c | 83 +++
arch/x86/kernel/setup.c | 164 ++---
arch/x86/kernel/x86_init.c | 2 +-
arch/x86/kvm/mmu/mmu.c | 2 +-
arch/x86/mm/Makefile | 8 +-
arch/x86/mm/fault.c | 1 +
arch/x86/mm/init_32.c | 1 +
arch/x86/mm/iomap_32.c | 6 +-
arch/x86/mm/ioremap.c | 12 +-
arch/x86/mm/pat/Makefile | 5 +
arch/x86/mm/{pageattr-test.c => pat/cpa-test.c} | 0
arch/x86/mm/{pat.c => pat/memtype.c} | 203 ++++---
arch/x86/mm/{pat_internal.h => pat/memtype.h} | 12 +-
arch/x86/mm/pat/memtype_interval.c | 194 ++++++
arch/x86/mm/{pageattr.c => pat/set_memory.c} | 32 +-
arch/x86/mm/pat_interval.c | 185 ------
arch/x86/mm/pgtable_32.c | 1 +
arch/x86/mm/physaddr.c | 1 +
arch/x86/pci/i386.c | 2 +-
arch/x86/platform/efi/Makefile | 3 +-
arch/x86/platform/efi/efi.c | 398 ++++--------
arch/x86/platform/efi/efi_32.c | 22 +-
arch/x86/platform/efi/efi_64.c | 317 ++++------
arch/x86/platform/efi/efi_stub_32.S | 109 +---
arch/x86/platform/efi/efi_stub_64.S | 43 +-
arch/x86/platform/efi/efi_thunk_64.S | 121 +---
arch/x86/platform/efi/quirks.c | 46 +-
arch/x86/platform/uv/bios_uv.c | 169 +++++-
arch/x86/xen/efi.c | 2 +-
arch/x86/xen/mmu_pv.c | 2 +-
arch/xtensa/include/asm/vmalloc.h | 4 +
drivers/firmware/efi/Kconfig | 22 +
drivers/firmware/efi/arm-init.c | 107 +++-
drivers/firmware/efi/efi.c | 2 +-
drivers/firmware/efi/fake_mem.c | 43 +-
drivers/firmware/efi/libstub/Makefile | 2 +-
drivers/firmware/efi/libstub/arm-stub.c | 110 ++--
drivers/firmware/efi/libstub/arm32-stub.c | 70 +--
drivers/firmware/efi/libstub/arm64-stub.c | 32 +-
drivers/firmware/efi/libstub/efi-stub-helper.c | 290 +++++----
drivers/firmware/efi/libstub/efistub.h | 48 +-
drivers/firmware/efi/libstub/fdt.c | 53 +-
drivers/firmware/efi/libstub/gop.c | 163 +----
drivers/firmware/efi/libstub/pci.c | 114 ++++
drivers/firmware/efi/libstub/random.c | 77 ++-
drivers/firmware/efi/libstub/secureboot.c | 11 +-
drivers/firmware/efi/libstub/tpm.c | 48 +-
drivers/firmware/efi/memmap.c | 95 ++-
drivers/infiniband/hw/mlx5/main.c | 2 +-
drivers/media/pci/ivtv/ivtvfb.c | 2 +-
include/linux/efi.h | 772 ++++++++++--------------
include/linux/mm.h | 15 +-
include/linux/vmalloc.h | 2 +
mm/highmem.c | 2 +-
mm/vmalloc.c | 8 +
109 files changed, 2697 insertions(+), 3008 deletions(-)
create mode 100644 arch/alpha/include/asm/vmalloc.h
create mode 100644 arch/arc/include/asm/vmalloc.h
create mode 100644 arch/arm/include/asm/vmalloc.h
create mode 100644 arch/arm64/include/asm/vmalloc.h
create mode 100644 arch/c6x/include/asm/vmalloc.h
create mode 100644 arch/csky/include/asm/vmalloc.h
create mode 100644 arch/h8300/include/asm/vmalloc.h
create mode 100644 arch/hexagon/include/asm/vmalloc.h
create mode 100644 arch/ia64/include/asm/vmalloc.h
create mode 100644 arch/m68k/include/asm/vmalloc.h
create mode 100644 arch/microblaze/include/asm/vmalloc.h
create mode 100644 arch/mips/include/asm/vmalloc.h
create mode 100644 arch/nds32/include/asm/vmalloc.h
create mode 100644 arch/nios2/include/asm/vmalloc.h
create mode 100644 arch/openrisc/include/asm/vmalloc.h
create mode 100644 arch/parisc/include/asm/vmalloc.h
create mode 100644 arch/powerpc/include/asm/vmalloc.h
create mode 100644 arch/riscv/include/asm/vmalloc.h
create mode 100644 arch/s390/include/asm/vmalloc.h
create mode 100644 arch/sh/include/asm/vmalloc.h
create mode 100644 arch/sparc/include/asm/vmalloc.h
create mode 100644 arch/um/include/asm/vmalloc.h
create mode 100644 arch/unicore32/include/asm/vmalloc.h
delete mode 100644 arch/x86/boot/compressed/efi_stub_32.S
delete mode 100644 arch/x86/boot/compressed/efi_stub_64.S
create mode 100644 arch/x86/include/asm/memtype.h
delete mode 100644 arch/x86/include/asm/pat.h
create mode 100644 arch/x86/include/asm/pgtable_32_areas.h
create mode 100644 arch/x86/include/asm/pgtable_areas.h
create mode 100644 arch/x86/include/asm/vmalloc.h
create mode 100644 arch/x86/mm/pat/Makefile
rename arch/x86/mm/{pageattr-test.c => pat/cpa-test.c} (100%)
rename arch/x86/mm/{pat.c => pat/memtype.c} (84%)
rename arch/x86/mm/{pat_internal.h => pat/memtype.h} (81%)
create mode 100644 arch/x86/mm/pat/memtype_interval.c
rename arch/x86/mm/{pageattr.c => pat/set_memory.c} (98%)
delete mode 100644 arch/x86/mm/pat_interval.c
create mode 100644 arch/xtensa/include/asm/vmalloc.h
create mode 100644 drivers/firmware/efi/libstub/pci.c
next reply other threads:[~2020-01-28 7:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-28 7:48 Ingo Molnar [this message]
2020-01-28 19:10 ` [GIT PULL] EFI changes for v5.6 pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200128074850.GA27168@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=ard.biesheuvel@linaro.org \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.