struktur PEP_ACPI_EXTENDED_ADDRESS (pepfx.h)

Struktur PEP_ACPI_EXTENDED_ADDRESS digunakan untuk melaporkan penggunaan sumber daya di ruang alamat seperti memori dan IO.

Sintaks

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;

Anggota

Type

Nilai enumerasi PEP_ACPI_RESOURCE_TYPE yang menjelaskan sumber daya ini.

Flags

Struktur PEP_ACPI_RESOURCE_FLAGS yang menjelaskan sumber daya ini.

ResourceFlags

Menunjukkan jenis sumber daya yang dijelaskan struktur ini.

Nilai Makna
0
Menunjukkan bahwa sumber daya ini adalah rentang memori.
1
Menunjukkan bahwa sumber daya ini adalah rentang IO.
2
Menunjukkan bahwa sumber daya ini adalah rentang nomor bus.
3-191
Nilai-nilai ini disediakan untuk digunakan di masa mendatang.
192-255
Nilai-nilai ini disediakan untuk digunakan oleh vendor perangkat keras.

GeneralFlags

Nilai yang berisi bendera bit yang umum untuk semua jenis sumber daya.

Bit Makna
0 - Bendera Konsumen/Produsen
Ketika diatur, ini menunjukkan bahwa perangkat menggunakan sumber daya ini.
1 - Jenis dekode
Ketika diatur, menunjukkan bahwa jembatan ini secara subtraktif mendekode alamat. Ini hanya berlaku untuk jembatan tingkat atas.

Ketika tidak diatur, menunjukkan bahwa jembatan ini secara positif mendekode alamat ini.

2 - Alamat minimum tetap
Ketika diatur, menunjukkan bahwa alamat minimum telah diperbaiki.
3 - Alamat maks diperbaiki
Ketika diatur, menunjukkan bahwa alamat maksimum telah diperbaiki.
4 hingga 7 - Dipesan
Bit ini dicadangkan dan harus diatur ke nol.

TypeSpecificFlags

Nilai anggota ini tergantung pada nilai di anggota ResourceFlags . Bendera untuk setiap jenis sumber daya dijelaskan dalam tabel di bawah ini.

Sumber Daya Memori (ResourceFlags = 0)

Bit Makna
0 - Status tulis
Ketika diatur, menunjukkan bahwa rentang memori ini tersedia untuk membaca dan menulis. Jika tidak, ini menunjukkan bahwa rentang memori ini bersifat baca-saja.
1 hingga 2 - Atribut memori (MEM)
0 - Menunjukkan memori tidak dapat di-cache.

1 - Menunjukkan memori dapat di-cache.

2 - Menunjukkan memori dapat di-cache dan mendukung penggandaan tulis.

3 - Memori dapat di-cache dan dapat diambil sebelumnya.

3 hingga 4 - Atribut memori (MTP)
Bit ini hanya didefinisikan jika sumber daya memori ini menjelaskan RAM sistem.

0 - Memori rentang alamat: Rentang ini tersedia RAM yang dapat digunakan oleh sistem operasi.

1 - Rentang alamat yang dicadangkan: Rentang alamat ini sedang digunakan atau dicadangkan oleh sistem dan tidak akan disertakan dalam kumpulan memori yang dapat dialokasikan dari manajer memori sistem operasi.

2 - Rentang alamat ACPI: Memori Reklamasi ACPI. Rentang ini tersedia RAM yang dapat digunakan oleh OS setelah membaca tabel ACPI.

3 - Rentang Alamat NVS: Memori NVS ACPI. Rentang alamat ini digunakan atau dicadangkan oleh sistem dan tidak boleh digunakan oleh sistem operasi. Rentang ini diperlukan untuk disimpan dan dipulihkan di seluruh NVS tidur.

5 - Terjemahan memori ke IO
0 - Type-static: Sumber daya ini adalah memori di sisi primer dan sekunder jembatan.

1 - Terjemahan jenis: Sumber daya ini adalah memori di sisi sekunder jembatan dan IO di sisi utama jembatan.

6 hingga 7 - Dipesan
Bit ini dicadangkan dan harus diatur ke nol.
 

Sumber Daya IO (ResourceFlags = 1)

Bit Makna
0 hingga 1 - Rentang
0 - Dicadangkan.

1 - Hanya rentang non-ISA. Bendera ini untuk jembatan pada sistem dengan beberapa jembatan. Mengatur bit ini berarti jendela memori yang ditentukan dalam deskriptor ini terbatas pada alamat IO non-ISA yang termasuk dalam jendela yang ditentukan. Rentang IO non-ISA adalah: n100-n3FF, n500-n7FF, n900-nBFF, nD00-nFFF. Bit ini hanya dapat diatur untuk jembatan yang sepenuhnya dikonfigurasi melalui namespace ACPI.

2 - Hanya rentang ISA. Bendera ini untuk jembatan pada sistem dengan beberapa jembatan. Mengatur bit ini berarti jendela memori yang ditentukan dalam deskriptor ini terbatas pada alamat IO ISA yang termasuk dalam jendela yang ditentukan. Rentang ISA IO adalah: n000-n0FF, n400-n4FF, n800-n8FF, nC00-nCFF. Bit ini hanya dapat diatur untuk jembatan yang sepenuhnya dikonfigurasi melalui namespace ACPI.

3 - Jendela memori mencakup seluruh rentang

2 hingga 3 - Dipesan
Bit ini dicadangkan dan harus diatur ke nol.
4 - Terjemahan IO ke memori
0 - Type-static: Sumber daya ini adalah IO di sisi primer dan sekunder jembatan.

1 - Jenis-terjemahan: Sumber daya ini adalah IO di sisi sekunder jembatan dan memori di sisi utama jembatan.

5 - Terjemahan jarang
Bit ini hanya bermakna jika bit 4 (terjemahan IO ke memori) diatur.

0 - Terjemahan padat: Alamat memori sisi utama dari port IO tertentu dalam rentang sisi sekunder dapat ditemukan menggunakan fungsi berikut.

address = port + TranslationAddress

1 - Terjemahan jarang: Alamat memori sisi utama dari port IO tertentu dalam rentang sisi sekunder dapat ditemukan menggunakan fungsi berikut.

address = (((port & 0xFFFc) << 10) || (port & 0xFFF)) + TranslationAddress

Dalam alamat yang digunakan untuk mengakses port IO, bit 2 hingga 11 harus identik dengan bit 12 hingga 21, ini memberikan empat byte port IO pada setiap halaman 4 KB.

6 hingga 7 - Dipesan
Bit ini dicadangkan dan harus diatur ke nol.
 

Sumber Daya Rentang Nomor Bus (ResourceFlags = 2)

Bit Makna
0 hingga 7 - Dipesan
Bit ini dicadangkan dan harus diatur ke nol.

RevisionId

Menunjukkan revisi deskriptor ruang alamat yang diperluas yang dirinci oleh struktur ini. Untuk ACPI 3.0, nilai ini adalah 1.

Reserved

Granularity

Sedikit masker yang menunjukkan bit mana yang telah didekode.

MinimumAddress

Alamat awal minimum. Untuk jembatan yang menerjemahkan alamat, ini adalah ruang alamat di sisi sekunder jembatan.

MaximumAddress

Alamat awal maksimum. Untuk jembatan yang menerjemahkan alamat, ini adalah ruang alamat di sisi sekunder jembatan.

TranslationAddress

Untuk jembatan yang menerjemahkan alamat di seluruh jembatan, ini adalah alamat di sisi utama.

AddressLength

Panjang alamat.

TypeAttribute

Menunjukkan atribut yang khusus untuk jenis sumber daya yang ditentukan dalam anggota ResourceFlags . Jika ResourceFlags adalah nol, nilai ini adalah nol, jika tidak, arti dari nilai dapat ditemukan di Spesifikasi UEFI di bagian berjudul GetMemoryMap().

DescriptorName

Nama deskriptor sumber daya ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung dimulai dengan Windows 10.
Header pepfx.h (termasuk Pep_x.h)