[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CANpbe9U1OvXJWGEYAcmxZeNe=aU32vQ6upc212DnsMjvzB-8cA@mail.gmail.com>
Date: Sat, 19 Oct 2024 16:06:22 +0200
From: Oerg866 <oerg866@...glemail.com>
To: Borislav Petkov <bp@...en8.de>
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: [PATCH] x86/microcode: Fix crashes on early 486 CPUs due to usage
of 'cpuid'.
Hello,
apologies, I had forgotten to switch to plain text in my previous reply.
This is my first kernel patch submission, please bear with me :-)
> Are you running some weird guest or is it real hardware?
Host in this case means the CPU the kernel is running on, so real hardware.
As far as I'm aware, common emulators used for kernel testing, such as
QEMU, do not exhibit this problem.
There are however emulators that can somewhat precisely emulate the
affected CPUs, such as 86Box, that can reproduce this behaviour.
> Any chance you can share details so that I can try to reproduce here in a VM?
I have prepared a small archive to help with near effortless reproduction:
wget https://kext.de/dl/486patchtest.tar.gz
tar -zxvf 486patchtest.tar.gz
- Use the included .config file to compile a minimal kernel for 486DX,
in this example the kernel has been cloned to ./linux (I used tag v6.11):
cp .config linux/.config
pushd linux
make -j16
popd
- Then, proceed with emulation:
wget https://github.com/86Box/86Box/releases/download/v4.2.1/86Box-Linux-x86_64-b6130.AppImage
chmod +x ./86Box-Linux-x86_64-b6130.AppImage
git clone https://github.com/86Box/roms
./86Box-Linux-x86_64-b6130.AppImage --config 86box.cfg
- Click the little CD-ROM Icon on the bottom left
- select "Folder"
- select linux/arch/x86/boot
The machine will then boot into FreeDOS, load the kernel via LOADLIN
and you should see a kernel panic.
The patch is included in the archive (486.patch) for convenience.
After applying it, the kernel will boot all the way to init (which
expectedly fails, as it is missing in this case).
I hope this information is of use to you!
Best regards
Eric Voirin
Powered by blists - more mailing lists