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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to