On Tue, Nov 08, 2022 at 11:56:17PM +0800, Jan Beulich wrote:
> On 08.11.2022 14:55, Roger Pau Monne wrote:
> > The VFCT ACPI table is used by AMD GPUs to expose the vbios ROM image
> > from the firmware instead of doing it on the PCI ROM on the physical
> > device.
> 
> I can't find any mention of VFCT in the ACPI 6.3 spec, nor anywhere
> under Linux'es include/acpi/. I don't mind the addition that you're
> doing, but there needs to be a pointer to a sufficiently "official"
> spec.

Thanks! In fact, this is defined by AMD atombios (VBIOS), we have up
streamed this in the Linux kenrel. You can see more details here:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/atombios.h

Thanks,
Ray

> 
> Jan
> 
> > As such, this needs to be available for PVH dom0 to access, or else
> > the GPU won't work.
> > 
> > Reported-by: Huang Rui <ray.hu...@amd.com>
> > Signed-off-by: Roger Pau Monné <roger....@citrix.com>
> > ---
> > This is a bugfix, but given PVH dom0 is still experimental I'm not
> > sure it would qualify for the release.  OTOH being experimental means
> > there are no guarantees it will work, so the change is unlikely to
> > make this any worse.
> > ---
> >  xen/arch/x86/hvm/dom0_build.c | 1 +
> >  xen/include/acpi/actbl3.h     | 1 +
> >  2 files changed, 2 insertions(+)
> > 
> > diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> > index 1864d048a1..307edc6a8c 100644
> > --- a/xen/arch/x86/hvm/dom0_build.c
> > +++ b/xen/arch/x86/hvm/dom0_build.c
> > @@ -924,6 +924,7 @@ static bool __init pvh_acpi_table_allowed(const char 
> > *sig,
> >          ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_FACS, ACPI_SIG_PSDT,
> >          ACPI_SIG_SSDT, ACPI_SIG_SBST, ACPI_SIG_MCFG, ACPI_SIG_SLIC,
> >          ACPI_SIG_MSDM, ACPI_SIG_WDAT, ACPI_SIG_FPDT, ACPI_SIG_S3PT,
> > +        ACPI_SIG_VFCT,
> >      };
> >      unsigned int i;
> >  
> > diff --git a/xen/include/acpi/actbl3.h b/xen/include/acpi/actbl3.h
> > index 0a6778421f..6858d3e60f 100644
> > --- a/xen/include/acpi/actbl3.h
> > +++ b/xen/include/acpi/actbl3.h
> > @@ -79,6 +79,7 @@
> >  #define ACPI_SIG_MATR           "MATR"     /* Memory Address Translation 
> > Table */
> >  #define ACPI_SIG_MSDM           "MSDM"     /* Microsoft Data Management 
> > Table */
> >  #define ACPI_SIG_WPBT           "WPBT"     /* Windows Platform Binary 
> > Table */
> > +#define ACPI_SIG_VFCT           "VFCT"     /* AMD Video BIOS */
> >  
> >  /*
> >   * All tables must be byte-packed to match the ACPI specification, since
> 

Reply via email to