Testers wanted: Atom netbooks with x86_64 disabled by BIOS

From: Mateusz Jończyk
Date: Sat Mar 27 2021 - 16:40:56 EST


Hello,

There are some netbooks with Intel Atom processors that have 64-bit
support disabled by BIOS. Theoretically, the processor supports 64-bit
operation, but BIOS allows only 32-bit code to run.

I wonder whether the 64-bit mode is really disabled in the CPU or only
hidden in the CPUID flags. If the latter, the computer could be made to
run a 64-bit kernel.

Similarly, there are some Pentium M processors that support PAE
(Physical Address Extensions), but do not show this in CPUID. They could
be made to run distributions that require PAE with the "forcepae" kernel
command line parameter.

I would like to ask people with such netbooks to try to run a 64-bit kernel
with this patch applied.

When a patched 64-bit kernel is run in `qemu-system-i386`, the virtual
machine restarts instantly. Without this patch in such a case a 64-bit
kernel hangs indefinitely (inside .Lno_longmode in head_64.S).


CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CC: Ingo Molnar <mingo@xxxxxxxxxx>
CC: Borislav Petkov <bp@xxxxxxxxx>
CC: <x86@xxxxxxxxxx>

Signed-off-by: Mateusz Jończyk <mat.jonczyk@xxxxx>

---
arch/x86/boot/compressed/head_64.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
index e94874f4bbc1..23c376d0b221 100644
--- a/arch/x86/boot/compressed/head_64.S
+++ b/arch/x86/boot/compressed/head_64.S
@@ -112,7 +112,7 @@ SYM_FUNC_START(startup_32)

call verify_cpu
testl %eax, %eax
- jnz .Lno_longmode
+ #jnz .Lno_longmode

/*
* Compute the delta between where we were compiled to run at
--
2.25.1