From: Huang Rui <ray.huang@amd.com>
To: Patrick Plenefisch <simonpatp@gmail.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>,
"Jan Beulich" <jbeulich@suse.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
"Juergen Gross" <jgross@suse.com>,
"Chen, Jiqian" <Jiqian.Chen@amd.com>,
"Alex Deucher" <alexander.deucher@amd.com>
Subject: Re: ACPI VFCT table too short on PVH dom0 (was: Re: E820 memory allocation issue on Threadripper platforms)
Date: Fri, 19 Jan 2024 17:54:31 +0800 [thread overview]
Message-ID: <ZapG1weSIJWOkT8m@amd.com> (raw)
In-Reply-To: <CAOCpoWdL3YnpitZxEoFgdvtZ6juy8oykYj6fX_tv4QLvj2Fv0g@mail.gmail.com>
On Fri, Jan 19, 2024 at 03:44:35PM +0800, Patrick Plenefisch wrote:
> On Thu, Jan 18, 2024 at 7:41 AM Roger Pau Monné
> <[1]roger.pau@citrix.com> wrote:
>
> From that environment (PVH dom0) can you see if you can dump the
> contents of the VFCT table? I don't have a system with that table,
> so
> not sure if this will work (because iasl is unlikely to know how to
> decode it):
> # acpidump -n VFCT -o table.dump
> # acpixtract -a table.dump
> # iasl -d vfct.dat
> # cat vfct.dsl
> Would be good if you can compare the output from what you get on a
> PV
> dom0 or when running native Linux.
> I'm also adding some AMD folks, as IIRC they did some fixes to Linux
> in order to get some AMD graphics cards running on a PVH dom0, maybe
> they can provide some additional input.
>
> Well, this is pretty weird. I'll go into more details because it may be
> relevant. I had been working with ASRock support ever since I got my
> brand new motherboard because I couldn't see the BIOS/UEFI screens. I
> could boot up, and once native linux took control amdgpu got the
> screens/gpu working fine. I finally managed to be able to see the
> UEFI/BIOS setup screens by patching my VBIOS: I extracted the VBIOS
> image of a cheap R5 430 OEM, ran GOPupd to update the VBIOS UEFI
> component (GOP) from version 1.60 to 1.67. That allowed the UEFI to
> actually initialize and use a screen. However, I later realized that
> only 1 monitor was lighting up in the bios: my monitor plugged into the
> Radeon RX 480 that was still on VBIOS GOP 1.60. It appears the GOP was
> initializing the RX 480 too, despite not being flashed with the latest
> itself. I am working on an email to asrock support about that. Once I
> get into linux (native or PV), both monitors light up as expected.
> Also, If I boot linux PVH from grub, they also work. Those usage
> scenarios have acpidump output as identical. Booting linux PVH directly
> from UEFI (no grub), the monitors go to sleep on the RX 480, and amdgpu
> errors out about VFCT, but the R5 430 OEM does still have output.
> Interestingly, there is a different screen mode booting UEFI+PVH, the
> characters are basically squares, with more vertical lines than
> "default", maybe close to native screen resolution, but horizontally
> it's still "default". Booting from grub gives everything in the
> "default" resolution.
> So what is in the VFCT Table? VFCT contains the non-GOP VIOS image of
Thanks Roger to involve us. The VFCT table is to expose video BIOS image by
AMD GPUs. You can see details here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/atombios.h
Did you apply this patch?
https://lore.kernel.org/xen-devel/20230312075455.450187-2-ray.huang@amd.com/
Thanks,
Ray
> my Radeon RX 480 GPU. You can compare it to the VBIOS hosted at
> [2]https://www.techpowerup.com/vgabios/185789/msi-rx480-4096-160720
> (Compare the end at E667 in the VFCT table to E5ff in that vbios link).
> I find this extra suspicious due to the above.
> Now for the extra horrible things:
> UEFI-booted PVH Linux doesn't support keyboard getty input, and at
> least some of the USB devices are not in lsusb. It also decided to
> vanish one of my HDD's. The `reboot` command hangs. The Power button
> doesn't do anything. There are several stack traces in dmesg. But
> Alt-SysRq-B does reboot! Luckily I could ssh in and capture the ACPI
> tables. They are much smaller, and VFCT is empty. Booting back to one
> of the working scenarios (direct linux, Grub PV, Grub PVH, UEFI PV),
> all of this is normal.
> I've attached:
> xenboot.log which is the serial log of xen+linux booting in UEFI PVH
> (kernel is debian's config, but patched to start at 2MiB)
> dmesg.txt which is the linux dmesg that contains some nice stack traces
> (kernel is debian's config, but patched to start at 2MiB)
> efipvh-tables.dump is ALL acpi tables from UEFI+PVH mode (acpidump -o
> efipvh-tables.dump)
> working-tables.dump is ALL acpi tables from the other modes (acpidump
> -o working-tables.dump)
> efipvh-vfct.dump is attached in spirit, as it is 0 bytes long (acpidump
> -n VFCT -o efipvh-vfct.dump)
> I ran iasl, but it just said **** Unknown ACPI table signature [VFCT]
> and spat out the raw data table, nothing interesting
> Something I can try, but have been nervous to try due to GOPupd
> warnings is to also flash the 1.67 GOP to the VBIOS on the RX 480. The
> R5 430 OEM had no such warnings.
> Patrick
>
> References
>
> 1. mailto:roger.pau@citrix.com
> 2. https://www.techpowerup.com/vgabios/185789/msi-rx480-4096-160720
next prev parent reply other threads:[~2024-01-19 9:55 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-11 2:29 E820 memory allocation issue on Threadripper platforms Patrick Plenefisch
2024-01-11 8:37 ` Jan Beulich
2024-01-11 9:19 ` Xenia Ragiadakou
2024-01-11 10:13 ` Juergen Gross
2024-01-16 0:22 ` Patrick Plenefisch
2024-01-16 9:33 ` Jan Beulich
2024-01-17 6:12 ` Patrick Plenefisch
2024-01-17 8:46 ` Jan Beulich
2024-01-17 10:13 ` Roger Pau Monné
2024-01-17 10:40 ` Jan Beulich
2024-01-17 12:54 ` Roger Pau Monné
2024-06-24 12:40 ` Branden Sherrell
2024-06-24 12:54 ` Jan Beulich
2024-06-24 13:07 ` Branden Sherrell
2024-06-24 13:40 ` Jan Beulich
2024-06-24 16:17 ` Branden Sherrell
2024-01-18 6:23 ` Patrick Plenefisch
2024-01-18 8:27 ` Roger Pau Monné
2024-01-18 8:34 ` Patrick Plenefisch
2024-01-18 9:46 ` Roger Pau Monné
2024-01-18 12:41 ` ACPI VFCT table too short on PVH dom0 (was: Re: E820 memory allocation issue on Threadripper platforms) Roger Pau Monné
2024-01-19 7:44 ` Patrick Plenefisch
2024-01-19 9:54 ` Huang Rui [this message]
2024-01-19 15:32 ` Deucher, Alexander
2024-01-21 1:27 ` Patrick Plenefisch
2024-01-19 11:06 ` Roger Pau Monné
2024-01-21 1:33 ` Patrick Plenefisch
2024-01-24 1:27 ` Patrick Plenefisch
2024-01-24 8:23 ` Roger Pau Monné
2024-01-25 0:20 ` Patrick Plenefisch
2024-01-18 16:03 ` E820 memory allocation issue on Threadripper platforms Patrick Plenefisch
2024-01-18 9:01 ` Jan Beulich
2024-01-19 13:40 ` Marek Marczykowski-Górecki
2024-01-19 13:50 ` Jan Beulich
2024-01-19 14:31 ` Marek Marczykowski-Górecki
2024-03-10 14:06 ` Marek Marczykowski-Górecki
2024-03-12 21:07 ` Jason Andryuk
2024-03-12 22:00 ` Marek Marczykowski-Górecki
2024-01-17 8:46 ` Roger Pau Monné
2024-01-17 12:06 ` Marek Marczykowski-Górecki
2024-01-17 12:59 ` Roger Pau Monné
2024-01-17 13:40 ` Jan Beulich
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=ZapG1weSIJWOkT8m@amd.com \
--to=ray.huang@amd.com \
--cc=Jiqian.Chen@amd.com \
--cc=alexander.deucher@amd.com \
--cc=jbeulich@suse.com \
--cc=jgross@suse.com \
--cc=roger.pau@citrix.com \
--cc=simonpatp@gmail.com \
--cc=xen-devel@lists.xenproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.