Date: Tue, 19 Oct 2010 12:52:56 +0000 From: Bernhard Froehlich <decke@FreeBSD.org> To: Jung-uk Kim <jkim@FreeBSD.org> Cc: freebsd-acpi@FreeBSD.org, vbox@freebsd.org Subject: Re: VirtualBox: Compile problems with ACPICA 20101013 Message-ID: <08905cd48f28787b5b3d36a4e75fb793@bluelife.at> In-Reply-To: <201010181333.29143.jkim@FreeBSD.org> References: <fd8c8258b54aba029c87d979f4d61f26@bluelife.at> <201010181333.29143.jkim@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 18 Oct 2010 13:33:26 -0400, Jung-uk Kim <jkim@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 >> Compile error: >> kBuild: iasl DevicesR3 - >> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-3.2.10_OSE/src/ >>VBox/Devices/PC/vbox.dsl >> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-3.2.10_OSE/src/ >>VBox/Devices/PC/vbox.dsl 736: Name (_CID, >> "smc-napa") >> Error 4001 - >> String must be entirely >> alphanumeric ^ (smc-napa) >> >> ASL Input: >> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-3.2.10_OSE/src/ >>VBox/Devices/PC/vbox.dsl - 1305 lines, 46193 bytes, 288 keywords >> Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 404 >> Optimizations >> >> >> I have found the commit that introduces this additional checks: >> http://git.moblin.org/cgit.cgi/acpica/commit/?id=b66fd716e0b9b5389e >>544c58df189c817f316c3b >> >> and here is the dsl file from virtualbox: >> http://www.virtualbox.org/browser/trunk/src/VBox/Devices/PC/vbox.ds >>l#L781 >> >> >> Thanks! -- Bernhard Froehlich http://www.bluelife.at/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?08905cd48f28787b5b3d36a4e75fb793>