From: Michael Schierl <schierlm@gmx.de>
To: Jean DELVARE <jdelvare@suse.com>,
Michael Kelley <mhklinux@outlook.com>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>
Cc: "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: Early kernel panic in dmi_decode when running 32-bit kernel on Hyper-V on Windows 11
Date: Wed, 17 Apr 2024 23:08:02 +0200 [thread overview]
Message-ID: <3c6f9fea-6865-40da-96c5-d12bc08ba266@gmx.de> (raw)
In-Reply-To: <dade3cd83d4957d4407470f0ea494777406b44bd.camel@suse.com>
Hello Jean,
Thanks for your reply.
Am 17.04.2024 um 11:43 schrieb Jean DELVARE:
> Don't let the type 10 distract you. It is entirely possible that the
> byte corresponding to type == 10 is already part of the corrupted
> memory area. Can you check if the DMI table generated by Hyper-V is
> supposed to contain type 10 records at all?
How? Hyper-V is not open source :-)
My best guess to get Linux out of the equation would be to boot my
trusted MS-DOS 6.2 floppy and use debug.com to dump the DMI:
> | A:\>debug
> | -df000:93d0 [to inspect]
> | -nfromdos.dmi
> | -rcx
> | CX 0000
> | :439B
> | -w f000:93d0
> | -q
The result is byte-for-byte identical to the DMI dump I created from
sysfs and pasted earlier in this thread. Of course, it does not have to
be identical to the memory situation while it was parsed.
> You should also check the memory map (as displayed early at boot, so
> near the top of dmesg) and verify that the DMI table is located in a
> "reserved" memory area, so that area can't be used for memory
> allocation.
The e820 memory map was included in the early printk output I posted
earlier:
> [ 0.000000] BIOS-provided physical RAM map:
> [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
> [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
> [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
> [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007ffeffff] usable
> [ 0.000000] BIOS-e820: [mem 0x000000007fff0000-0x000000007fffefff] ACPI data
> [ 0.000000] BIOS-e820: [mem 0x000000007ffff000-0x000000007fffffff] ACPI NVS
And from the dmidecode I pasted earlier:
> Table at 0x000F93D0.
The size is 0x0000439B, so the last byte should be at 0x000FD76A, well
inside the third i820 entry (the second reserved one) - and accessible
even from DOS without requiring any extra effort.
> So the table starts at physical address 0xba135000, which is in the
> following memory map segment:
>
> reserve setup_data: [mem 0x00000000b87b0000-0x00000000bb77dfff] reserved
Looks like UEFI, and well outside the 1MB range :-)
> If the whole DMI table IS located in a "reserved" memory area, it can
> still get corrupted, but only by code which itself operates on data
> located in a reserved memory area.
> Both DMI tables are corrupted, but are they corrupted in the exact same
> way?
At least the dumped tables are byte-for-byte identical on both OS
flavors. And (as I tested above) byte-for-byte identical to a version
dumped from MS-DOS.
Regards,
Michael
next prev parent reply other threads:[~2024-04-17 21:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-13 13:06 Early kernel panic in dmi_decode when running 32-bit kernel on Hyper-V on Windows 11 Michael Schierl
2024-04-15 3:17 ` Michael Kelley
2024-04-15 21:03 ` Michael Schierl
2024-04-15 23:31 ` Michael Kelley
2024-04-16 21:24 ` Michael Schierl
2024-04-16 23:20 ` Michael Kelley
2024-04-17 9:43 ` Jean DELVARE
2024-04-17 15:51 ` Michael Kelley
2024-04-17 21:08 ` Michael Schierl [this message]
2024-04-17 22:34 ` Michael Kelley
2024-04-19 16:36 ` Michael Kelley
2024-04-19 20:47 ` Michael Schierl
2024-04-19 22:32 ` Michael Kelley
2024-05-02 17:02 ` Michael Kelley
2024-05-03 9:49 ` Jean DELVARE
2024-04-15 20:15 ` Wei Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3c6f9fea-6865-40da-96c5-d12bc08ba266@gmx.de \
--to=schierlm@gmx.de \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=jdelvare@suse.com \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhklinux@outlook.com \
--cc=wei.liu@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox