Hi Igor, Section 6.1 of the ACPI specification describes this (Last line of the paragraph below states what Aryeh was saying):
For any device that is on a non-enumerable type of bus (for example, an ISA bus), OSPM enumerates the devices' identifier(s) and the ACPI system firmware must supply an _HID object (plus one or more optional objects such as _CID, _CLS, _HRV, _SUB) for each device to enable OSPM to do that. For devices on an enumerable type of bus, such as a PCI bus, the ACPI system must identify which device on the enumerable bus is identified by a particular address; the ACPI system firmware must supply an _ADR object for each device to enable this. A device object must contain either an _HID object or an _ADR object, but must not contain both. Thank you, Ankit > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Igor > Mammedov > Sent: Monday, September 12, 2022 1:33 AM > To: Chen, Aryeh <aryeh.c...@intel.com> > Cc: devel@edk2.groups.io; Chiu, Chasel <chasel.c...@intel.com>; Desimone, > Nathaniel L <nathaniel.l.desim...@intel.com>; Oram, Isaac W > <isaac.w.o...@intel.com>; Sinha, Ankit <ankit.si...@intel.com>; Gao, > Liming <gaolim...@byosoft.com.cn>; Dong, Eric <eric.d...@intel.com> > Subject: Re: [edk2-devel] [PATCH v3] MinPlatformPkg: Remove _ADR from > MinDsdt.asl > > On Mon, 12 Sep 2022 13:17:45 +0800 > aryeh.c...@intel.com wrote: > > > From: Aryeh Chen <aryeh.c...@intel.com> > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4057 > > > > According to ASL Coding Guidelines - Device Identifiers "A Device > > should contain either an _ADR or a _HID object, never both." > > , so remove _ADR due to _HID exist. > > I'm curious where exactly in ACPI spec it's said... > > > Signed-off-by: Aryeh Chen <aryeh.c...@intel.com> > > Cc: Chasel Chiu <chasel.c...@intel.com> > > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > > Cc: Isaac Oram <isaac.w.o...@intel.com> > > Cc: Ankit Sinha <ankit.si...@intel.com> > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > > Cc: Eric Dong <eric.d...@intel.com> > > --- > > Platform/Intel/MinPlatformPkg/Acpi/MinDsdt/MinDsdt.asl | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/Platform/Intel/MinPlatformPkg/Acpi/MinDsdt/MinDsdt.asl > > b/Platform/Intel/MinPlatformPkg/Acpi/MinDsdt/MinDsdt.asl > > index 0d94472450..4efb8709ac 100644 > > --- a/Platform/Intel/MinPlatformPkg/Acpi/MinDsdt/MinDsdt.asl > > +++ b/Platform/Intel/MinPlatformPkg/Acpi/MinDsdt/MinDsdt.asl > > @@ -27,7 +27,6 @@ DefinitionBlock ( > > Name(_HID, EISAID("PNP0A08")) // Indicates PCI Express/PCI-X Mode2 > host hierarchy > > Name(_CID, EISAID("PNP0A03")) // To support legacy OS that doesn't > understand the new HID > > Name(_SEG, 0) > > - Name(_ADR, 0x00000000) > Spec also says > v6.3 > 6.1.1 _ADR (Address) > An _ADR object must be used when specifying the address of any device on > a bus that has a standard enumeration algorithm > > > Method(^BN00, 0){ return(0x0000) } // Returns default Bus number for > Peer PCI busses. Name can be overriden with control method placed directly > under Device scope > > Method(_BBN, 0){ return(BN00()) } // Bus number, optional for the > Root PCI Bus > > Name(_UID, 0x0000) // Unique Bus ID, optional > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#93662): https://edk2.groups.io/g/devel/message/93662 Mute This Topic: https://groups.io/mt/93627173/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-