On Sun, Mar 28, 2021 at 03:30:29PM +0200, Willy Tarreau wrote: > On Sun, Mar 28, 2021 at 02:37:55PM +0200, Mateusz Jonczyk wrote: > > W dniu 28.03.2021 o 00:25, Willy Tarreau pisze: > > > FWIW I tested on my ASUS 1025C which runs on an Atom N2600 forced to > > > 32-bit. I had already tried in the past but wanted to give it a try > > > again in case I'd have missed anything. Sadly it didn't work, I'm > > > still getting the "requires an x86-64 CPU" message. > > > > Thank you. It looks like your bootloader uses the 16-bit kernel boot > > protocol. The 16-bit kernel boot code checks for x86_64 presence with a > > similar message ( inside arch/x86/boot/cpu.c ), which I did not patch out. > > If you would like to test again, use the same patched kernel, but change in > > GRUB: "linux16" to "linux" and "initrd16" to "initrd" to use the 32-bit boot > > protocol. Which distribution and bootloader do you use? > > I'm using Lilo on an old Slackware. I can patch the 16-bit code myself, > it's no big deal. > > > Of course, force enabling x86_64 would require passing a kernel command line > > parameter with a prominent warning in documentation, just like with > > "forcepae". > > Sure, but I mean, I suspect that the risk could be higher with very low > priced laptops were crappy chips are to be expected by definition based > on contracts neither you nor me have seen. > > I'll try again after patching the 16-bit code, thanks for the suggestion.
So I added this at the end of get_cpuflags(): set_bit(X86_FEATURE_LM, cpu.flags); But now it goes further, the screen turns black and after 2 seconds or so it reboots, it looks like a triple fault late in the init process. No need to go further on this machine! Willy