qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DISCUSSION] Allow ACPI default OEM ID and OEM table ID fields to be


From: Michael S. Tsirkin
Subject: Re: [DISCUSSION] Allow ACPI default OEM ID and OEM table ID fields to be set.
Date: Thu, 26 Nov 2020 06:09:11 -0500

On Wed, Nov 25, 2020 at 09:13:22PM +0100, Antoine Damhet wrote:
> On Wed, Nov 25, 2020 at 11:04:55AM -0500, Michael S. Tsirkin wrote:
> > On Wed, Nov 25, 2020 at 01:32:51PM +0000, Richard W.M. Jones wrote:
> > > On Wed, Nov 25, 2020 at 02:27:11PM +0100, Antoine Damhet wrote:
> > > > Hello,
> > > > 
> > > > We recently found out that some softwares are effectively crashing
> > > > when they detect qemu's `OEM ID` or `OEM table ID` in the ACPI tables.
> > > > 
> > > > I see no reason not to expose the setting to the user/command-line. A
> > > > previous patch has been submitted in 2015[1] but did not get through
> > > > because (if I understand correctly) using the IDs on the `SLIC`, `BXPC`
> > > > and `RSDT` tables were enough at the time.
> > > > 
> > > > If you agree, I am willing to forward port the patches of M. Jones but I
> > > > need to ask how it would work `Signed-Off`-wise ?
> > > 
> > > On this point, the patch I sent was actually written by
> > > Michael Tokarev, I was only trying to get them upstream.
> > > 
> > > Rich.
> > 
> > I think at least one of the issues is that e.g. UEFI at least
> > seems to assume unique OEM table IDs e.g. for SSDTs.
> > 
> > So let's try to be more specific please, which software
> > crashes, what does it want to see and in which table.
> 
> I'm sorry I cannot give you the name of the crashing software due to a
> company policy. But I can tell you that if either `BOCHS ` or `BXPC` is
> present in any of the tables it will crash. Any (or at least the few
> that I threw at it) other string will work so it seems it's some kind
> of DRM-related hypervisor detection.

Hmm I'm not sure how far we want to go with this. If software vendors
want to detect a hypervisor there will always be a way.
How are we sure we are not starting an arms race here?

Also which of the IDs matter?  OEMID? OEM Table ID? Creator ID?


> As for the uniqueness of the table IDs, I guess it would be sane to keep
> the same pattern (id+table sig) but allowing the first 4 bytes to be
> overridden.
> 
> [...]

It's certainly possible, it's just very specific to just this DRM scheme.
Not sure what's a better way to do it:
  qemu -acpidefault oem_id=ABCD,oem_table_id=EFGHIJKL
is probably going too far since then table IDs are not unique.

Also I'd probably use machine properties for this, the need here
is baroque enough that we don't want a dedicated option.

> 
> -- 
> Antoine 'xdbob' Damhet




reply via email to

[Prev in Thread] Current Thread [Next in Thread]