Freigeben über


PEP_ACPI_EXTENDED_ADDRESS Struktur (pep_x.h)

Die PEP_ACPI_EXTENDED_ADDRESS Struktur wird verwendet, um die Ressourcennutzung im Adressraum wie Arbeitsspeicher und E/A zu melden.

Syntax

typedef struct _PEP_ACPI_EXTENDED_ADDRESS {
  PEP_ACPI_RESOURCE_TYPE  Type;
  PEP_ACPI_RESOURCE_FLAGS Flags;
  UCHAR                   ResourceFlags;
  UCHAR                   GeneralFlags;
  UCHAR                   TypeSpecificFlags;
  UCHAR                   RevisionId;
  UCHAR                   Reserved;
  ULONGLONG               Granularity;
  ULONGLONG               MinimumAddress;
  ULONGLONG               MaximumAddress;
  ULONGLONG               TranslationAddress;
  ULONGLONG               AddressLength;
  ULONGLONG               TypeAttribute;
  PUNICODE_STRING         DescriptorName;
} PEP_ACPI_EXTENDED_ADDRESS, *PPEP_ACPI_EXTENDED_ADDRESS;

Angehörige

Type

Ein PEP_ACPI_RESOURCE_TYPE Enumerationswert, der diese Ressource beschreibt.

Flags

Eine PEP_ACPI_RESOURCE_FLAGS Struktur, die diese Ressource beschreibt.

ResourceFlags

Gibt den Typ der Ressource an, die diese Struktur beschreibt.

Wert Bedeutung
0
Gibt an, dass diese Ressource ein Speicherbereich ist.
1
Gibt an, dass es sich bei dieser Ressource um einen E/A-Bereich handelt.
2
Gibt an, dass diese Ressource ein Busnummernbereich ist.
3-191
Diese Werte sind für die zukünftige Verwendung reserviert.
192-255
Diese Werte sind für die Verwendung durch den Hardwareanbieter reserviert.

GeneralFlags

Ein Wert, der die Bitkennzeichnungen enthält, die allen Ressourcentypen gemeinsam sind.

Bit(e) Bedeutung
0 - Verbraucher-/Erzeugerkennzeichnung
Wenn festgelegt, gibt dies an, dass das Gerät diese Ressource verbraucht.
1 – Decodierungstyp
Wenn festgelegt, gibt an, dass diese Brücke die Adresse subtrahativ decodiert. Dies gilt nur für Brücken auf oberster Ebene.

Wenn sie nicht festgelegt ist, wird angegeben, dass diese Brücke diese Adresse positiv decodiert.

2 – Feste Mindestadresse
Wenn festgelegt, gibt an, dass die Mindestadresse behoben ist.
3 – Max. Adresse mit fester
Gibt an, dass die maximale Adresse festgelegt ist.
4 bis 7 - Reservierte
Diese Bits sind reserviert und müssen auf Null festgelegt werden.

TypeSpecificFlags

Der Wert dieses Elements hängt vom Wert in ResourceFlags Member ab. Die Flags für jeden Ressourcentyp werden in den folgenden Tabellen beschrieben.

Speicherressource (ResourceFlags = 0)

Bit(e) Bedeutung
0 – Schreibstatus
Gibt an, dass dieser Speicherbereich zum Lesen und Schreiben verfügbar ist. Andernfalls gibt dies an, dass dieser Speicherbereich schreibgeschützt ist.
1 bis 2 – Mem-Attribute (Memory Attributes)
0 – Gibt an, dass der Speicher nicht zwischengespeichert werden kann.

1 – Gibt an, dass der Speicher zwischengespeichert werden kann.

2 – Gibt an, dass der Arbeitsspeicher zwischengespeichert werden kann und die Schreibkombinierung unterstützt.

3 – Der Speicher kann zwischengespeichert und vorab aktiviert werden.

3 bis 4 – MTP-
Diese Bits werden nur definiert, wenn diese Speicherressource den System-RAM beschreibt.

0 – Adressbereichsspeicher: Dieser Bereich ist vom Betriebssystem verwendbarer RAM verfügbar.

1 - Adressbereich reserviert: Dieser Adressbereich wird vom System verwendet oder reserviert und darf nicht in den vollständigen Speicherpool des Arbeitsspeicher-Managers des Betriebssystems aufgenommen werden.

2 - Adressbereich ACPI: ACPI Speicher zurückfordern. Dieser Bereich ist vom Betriebssystem verwendbarer RAM verfügbar, nachdem er die ACPI-Tabellen gelesen hat.

3 - Adressbereich NVS: ACPI NVS-Speicher. Dieser Adressbereich wird vom System verwendet oder reserviert und darf nicht vom Betriebssystem verwendet werden. Dieser Bereich muss in einem NVS-Energiesparmodus gespeichert und wiederhergestellt werden.

5 – Speicher in E/A-Übersetzung
0 - Typ statisch: Diese Ressource ist Speicher auf der primären und sekundären Seite der Brücke.

1 - Typübersetzung: Diese Ressource ist Speicher auf der sekundären Seite der Brücke und E/A auf der Hauptseite der Brücke.

6 bis 7 - Reservierte
Diese Bits sind reserviert und müssen auf Null festgelegt werden.
 

IO-Ressource (ResourceFlags = 1)

Bit(e) Bedeutung
0 bis 1 – Bereich
0 - Reserviert.

1 - Nur Nicht-ISA-Bereiche. Diese Kennzeichnung richtet sich an Brücken auf Systemen mit mehreren Brücken. Das Festlegen dieses Bits bedeutet, dass das in diesem Deskriptor angegebene Speicherfenster auf die Nicht-ISA-E/A-Adressen beschränkt ist, die in das angegebene Fenster fallen. Die Nicht-ISA E/A-Bereiche sind: n100-n3FF, n500-n7FF, n900-nBFF, nD00-nFFF. Dieses Bit kann nur für Brücken festgelegt werden, die vollständig über den ACPI-Namespace konfiguriert sind.

2 – nur ISA-Bereiche. Diese Kennzeichnung richtet sich an Brücken auf Systemen mit mehreren Brücken. Das Festlegen dieses Bits bedeutet, dass das in diesem Deskriptor angegebene Speicherfenster auf die ISA-E/A-Adressen beschränkt ist, die in das angegebene Fenster fallen. Die ISA-E/A-Bereiche sind: n000-n0FF, n400-n4FF, n800-n8FF, nC00-nCFF. Dieses Bit kann nur für Brücken festgelegt werden, die vollständig über den ACPI-Namespace konfiguriert sind.

3 – Das Speicherfenster deckt den gesamten Bereich ab.

2 bis 3 - Reservierte
Diese Bits sind reserviert und müssen auf Null festgelegt werden.
4 – E/A zur Speicherübersetzung
0 - Typ statisch: Diese Ressource ist E/A auf der primären und sekundären Seite der Brücke.

1 - Typübersetzung: Diese Ressource ist E/A auf der sekundären Seite der Brücke und des Speichers auf der primären Seite der Brücke.

5 - Geringe Übersetzung
Dieses Bit ist nur dann sinnvoll, wenn Bit 4 (E/A in Speicherübersetzung) festgelegt ist.

0 - Dichte Übersetzung: Die primärseitige Speicheradresse eines bestimmten E/A-Ports innerhalb des sekundären Bereichs kann mithilfe der folgenden Funktion gefunden werden.

Adresse = Port + TranslationAddress

1 - Geringe Übersetzung: Die primäre Speicheradresse eines bestimmten E/A-Ports innerhalb des sekundären Bereichs kann mithilfe der folgenden Funktion gefunden werden.

Adresse = (((Port & 0xFFFc) << 10) || (Port & 0xFFF)) + TranslationAddress-

In der Adresse, die für den Zugriff auf den E/A-Port verwendet wird, müssen Bits 2 bis 11 mit Bits 12 bis 21 identisch sein, dies gibt vier Byte E/A-Ports auf jeder 4 KB-Seite.

6 bis 7 - Reservierte
Diese Bits sind reserviert und müssen auf Null festgelegt werden.
 

Busnummernbereichsressource (ResourceFlags = 2)

Bit(e) Bedeutung
0 bis 7 - Reservierte
Diese Bits sind reserviert und müssen auf Null festgelegt werden.

RevisionId

Gibt die Überarbeitung des erweiterten Adressraumdeskriptors an, der von dieser Struktur detailliert beschrieben wird. Für ACPI 3.0 ist dieser Wert 1.

Reserved

Granularity

Eine Bitmaske, die angibt, welche Bits decodiert wurden.

MinimumAddress

Die mindeste Startadresse. Bei Brücken, die Adressen übersetzen, ist dies der Adressraum auf der sekundären Seite der Brücke.

MaximumAddress

Die maximale Startadresse. Bei Brücken, die Adressen übersetzen, ist dies der Adressraum auf der sekundären Seite der Brücke.

TranslationAddress

Bei Brücken, die Adressen über die Brücke übersetzen, ist dies die Adresse auf der primären Seite.

AddressLength

Die Länge der Adresse.

TypeAttribute

Gibt Attribute an, die spezifisch für den Ressourcentyp sind, der im ResourceFlags Member angegeben ist. Wenn ResourceFlags null ist, ist dieser Wert null, andernfalls kann die Bedeutung des Werts in der UEFI Specification im Abschnitt mit dem Titel GetMemoryMap()gefunden werden.

DescriptorName

Der Name dieses Ressourcendeskriptors.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Wird ab Windows 10 unterstützt.
Header- pep_x.h (einschließen Pep_x.h)