Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'x86-build-2024-01-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 build updates from Ingo Molnar:

- Update the objdump & instruction decoder self-test code for better
LLVM toolchain compatibility

- Rework CONFIG_X86_PAE dependencies, for better readability and higher
robustness.

- Misc cleanups

* tag 'x86-build-2024-01-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/tools: objdump_reformat.awk: Skip bad instructions from llvm-objdump
x86/Kconfig: Rework CONFIG_X86_PAE dependency
x86/tools: Remove chkobjdump.awk
x86/tools: objdump_reformat.awk: Allow for spaces
x86/tools: objdump_reformat.awk: Ensure regex matches fwait

+11 -41
+2 -2
arch/x86/Kconfig
··· 1415 1415 1416 1416 config HIGHMEM64G 1417 1417 bool "64GB" 1418 - depends on !M486SX && !M486 && !M586 && !M586TSC && !M586MMX && !MGEODE_LX && !MGEODEGX1 && !MCYRIXIII && !MELAN && !MWINCHIPC6 && !MWINCHIP3D && !MK6 1418 + depends on X86_HAVE_PAE 1419 1419 select X86_PAE 1420 1420 help 1421 1421 Select this if you have a 32-bit processor and more than 4 ··· 1472 1472 1473 1473 config X86_PAE 1474 1474 bool "PAE (Physical Address Extension) Support" 1475 - depends on X86_32 && !HIGHMEM4G 1475 + depends on X86_32 && X86_HAVE_PAE 1476 1476 select PHYS_ADDR_T_64BIT 1477 1477 select SWIOTLB 1478 1478 help
+5 -1
arch/x86/Kconfig.cpu
··· 362 362 def_bool y 363 363 depends on (MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MATOM) || X86_64 364 364 365 + config X86_HAVE_PAE 366 + def_bool y 367 + depends on MCRUSOE || MEFFICEON || MCYRIXIII || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC7 || MCORE2 || MATOM || X86_64 368 + 365 369 config X86_CMPXCHG64 366 370 def_bool y 367 - depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586TSC || M586MMX || MATOM || MGEODE_LX || MGEODEGX1 || MK6 || MK7 || MK8 371 + depends on X86_HAVE_PAE || M586TSC || M586MMX || MK6 || MK7 368 372 369 373 # this should be set for all -march=.. options where the compiler 370 374 # generates cmov.
+1 -1
arch/x86/tools/Makefile
··· 17 17 chkobjdump = $(srctree)/arch/x86/tools/chkobjdump.awk 18 18 19 19 quiet_cmd_posttest = TEST $@ 20 - cmd_posttest = ($(OBJDUMP) -v | $(AWK) -f $(chkobjdump)) || $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(reformatter) | $(obj)/insn_decoder_test $(posttest_64bit) $(posttest_verbose) 20 + cmd_posttest = $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(reformatter) | $(obj)/insn_decoder_test $(posttest_64bit) $(posttest_verbose) 21 21 22 22 quiet_cmd_sanitytest = TEST $@ 23 23 cmd_sanitytest = $(obj)/insn_sanity $(posttest_64bit) -m 1000000
-34
arch/x86/tools/chkobjdump.awk
··· 1 - # GNU objdump version checker 2 - # 3 - # Usage: 4 - # objdump -v | awk -f chkobjdump.awk 5 - BEGIN { 6 - # objdump version 2.19 or later is OK for the test. 7 - od_ver = 2; 8 - od_sver = 19; 9 - } 10 - 11 - /^GNU objdump/ { 12 - verstr = "" 13 - gsub(/\(.*\)/, ""); 14 - for (i = 3; i <= NF; i++) 15 - if (match($(i), "^[0-9]")) { 16 - verstr = $(i); 17 - break; 18 - } 19 - if (verstr == "") { 20 - printf("Warning: Failed to find objdump version number.\n"); 21 - exit 0; 22 - } 23 - split(verstr, ver, "."); 24 - if (ver[1] > od_ver || 25 - (ver[1] == od_ver && ver[2] >= od_sver)) { 26 - exit 1; 27 - } else { 28 - printf("Warning: objdump version %s is older than %d.%d\n", 29 - verstr, od_ver, od_sver); 30 - print("Warning: Skipping posttest."); 31 - # Logic is inverted, because we just skip test without error. 32 - exit 0; 33 - } 34 - }
+3 -3
arch/x86/tools/objdump_reformat.awk
··· 11 11 prev_addr = "" 12 12 prev_hex = "" 13 13 prev_mnemonic = "" 14 - bad_expr = "(\\(bad\\)|^rex|^.byte|^rep(z|nz)$|^lock$|^es$|^cs$|^ss$|^ds$|^fs$|^gs$|^data(16|32)$|^addr(16|32|64))" 15 - fwait_expr = "^9b " 14 + bad_expr = "(\\(bad\\)|<unknown>|^rex|^.byte|^rep(z|nz)$|^lock$|^es$|^cs$|^ss$|^ds$|^fs$|^gs$|^data(16|32)$|^addr(16|32|64))" 15 + fwait_expr = "^9b[ \t]*fwait" 16 16 fwait_str="9b\tfwait" 17 17 } 18 18 ··· 22 22 } 23 23 24 24 /^ *[0-9a-f]+:/ { 25 - if (split($0, field, "\t") < 3) { 25 + if (split($0, field, /: |\t/) < 3) { 26 26 # This is a continuation of the same insn. 27 27 prev_hex = prev_hex field[2] 28 28 } else {