VirtualBox: Compile problems with ACPICA 20101013

Jung-uk Kim jkim at FreeBSD.org
Tue Oct 19 15:31:26 UTC 2010


On Tuesday 19 October 2010 08:52 am, Bernhard Froehlich wrote:
> On Mon, 18 Oct 2010 13:33:26 -0400, Jung-uk Kim <jkim at FreeBSD.org>
>
> wrote:
> > On Monday 18 October 2010 05:44 am, Bernhard Froehlich wrote:
> >> Hi guys!
> >>
> >> VirtualBox has a compile problem with latest acpica. I've talked
> >> to the VirtualBox developers and they think it's an acpica
> >> problem which should be fixed upstream. Can we somehow file a
> >> bugreport or create a patch to fix that in acpica?
> >
> > Excerpt rom ACPI 4.0a:
> >
> > ---------------------------------------------------
> > Each Compatible Device ID must be either:
> >
> > o A valid HID value (a 32-bit compressed EISA type ID or a string
> > such as "ACPI0004").
> > o A string that uses a bus-specific nomenclature.  For example,
> > _CID can be used to specify the PCI ID.
> > ---------------------------------------------------
> >
> > Since it is not a valid HID value, you can only say it may be a
> > bus-specific nomenclature at best.  However, it looks like an ISA
> > device to me and probably it is just a bogus ID.  In fact, I
> > googled a bit and it only exists on some Intel Mac models, it
> > seems.  You can just remove the entire _CID unless it is
> > absolutely necessary, which is very unlikely. :-)
>
> It very much looks like a regression. Right beyond that sentences
> they have a few examples in the ACPI 4.0a spec on page 201 that
> won't pass that check. I haven't looked at all the code so probably
> it's done somewhere completely different but if it is checked with
> that code then it will complain.
>
> ACPI 4.0a spec on page 201:
> ---------------------------------------------------
> o A valid HID value (a 32-bit compressed EISA type ID or a string
> such as "ACPI0004").
> o A string that uses a bus-specific nomenclature.  For example,
> _CID can be used to specify the PCI ID.
>
>   "PCI\CC_ccss"
>   "PCI\CC_ccsspp"
>   "PCI\VEN_vvvv&DEV_dddd&SUBSYS_ssssssss&REV_rr"
>   ....
> ---------------------------------------------------
>
> Now with a deeper look at the commit from acpica [1] especially the
> second half. Before there was only an alphanumeric check for _HID
> but with that change it was put into a new function AnCheckId()
> that is called for both _HID and _CID and now wants both to be
> alphanumeric. That looks correct for _HID but it's too strict for
> _CID which is a string. Somewhere i've seen string is defined as a
> null-terminated ASCII string and no word about alphanumeric.
>
> [1]
> http://git.moblin.org/cgit.cgi/acpica/commit/?id=b66fd716e0b9b5389e

Yes, I am aware of the issue.  My point was _CID may be pointless for 
*VirtualBox* and it can be removed.

Jung-uk Kim


More information about the freebsd-acpi mailing list