# git rev-parse -q --verify b29f377119f68b942369a9366bdcb1fec82b2cda^{commit} b29f377119f68b942369a9366bdcb1fec82b2cda already have revision, skipping fetch # git checkout -q -f -B kisskb b29f377119f68b942369a9366bdcb1fec82b2cda # git clean -qxdf # < git log -1 # commit b29f377119f68b942369a9366bdcb1fec82b2cda # Merge: e66c58f74351 2e2bc42c8381 # Author: Linus Torvalds # Date: Tue Mar 12 09:58:57 2024 -0700 # # Merge tag 'x86-boot-2024-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull x86 boot updates from Ingo Molnar: # # - Continuing work by Ard Biesheuvel to improve the x86 early startup # code, with the long-term goal to make it position independent: # # - Get rid of early accesses to global objects, either by moving # them to the stack, deferring the access until later, or dropping # the globals entirely # # - Move all code that runs early via the 1:1 mapping into # .head.text, and move code that does not out of it, so that build # time checks can be added later to ensure that no inadvertent # absolute references were emitted into code that does not # tolerate them # # - Remove fixup_pointer() and occurrences of __pa_symbol(), which # rely on the compiler emitting absolute references, which is not # guaranteed # # - Improve the early console code # # - Add early console message about ignored NMIs, so that users are at # least warned about their existence - even if we cannot do anything # about them # # - Improve the kexec code's kernel load address handling # # - Enable more X86S (simplified x86) bits # # - Simplify early boot GDT handling # # - Micro-optimize the boot code a bit # # - Misc cleanups # # * tag 'x86-boot-2024-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits) # x86/sev: Move early startup code into .head.text section # x86/sme: Move early SME kernel encryption handling into .head.text # x86/boot: Move mem_encrypt= parsing to the decompressor # efi/libstub: Add generic support for parsing mem_encrypt= # x86/startup_64: Simplify virtual switch on primary boot # x86/startup_64: Simplify calculation of initial page table address # x86/startup_64: Defer assignment of 5-level paging global variables # x86/startup_64: Simplify CR4 handling in startup code # x86/boot: Use 32-bit XOR to clear registers # efi/x86: Set the PE/COFF header's NX compat flag unconditionally # x86/boot/64: Load the final kernel GDT during early boot directly, remove startup_gdt[] # x86/boot/64: Use RIP_REL_REF() to access early_top_pgt[] # x86/boot/64: Use RIP_REL_REF() to access early page tables # x86/boot/64: Use RIP_REL_REF() to access '__supported_pte_mask' # x86/boot/64: Use RIP_REL_REF() to access early_dynamic_pgts[] # x86/boot/64: Use RIP_REL_REF() to assign 'phys_base' # x86/boot/64: Simplify global variable accesses in GDT/IDT programming # x86/trampoline: Bypass compat mode in trampoline_start64() if not needed # kexec: Allocate kernel above bzImage's pref_address # x86/boot: Add a message about ignored early NMIs # ... # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 b29f377119f68b942369a9366bdcb1fec82b2cda # make -s -j 40 ARCH=x86 O=/kisskb/build/linus_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- x86_64_defconfig # < make -s -j 40 ARCH=x86 O=/kisskb/build/linus_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 40 ARCH=x86 O=/kisskb/build/linus_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 40 ARCH=x86 O=/kisskb/build/linus_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/linus_x86_64_defconfig_x86_64-gcc8 # Build took: 0:01:34.006978