Указывает тип ресурса, описываемого этой структурой.
Ценность
Значение
0
Указывает, что этот ресурс является диапазоном памяти.
1
Указывает, что этот ресурс является диапазоном операций ввода-вывода.
2
Указывает, что этот ресурс является диапазоном номеров шины.
3-191
Эти значения зарезервированы для дальнейшего использования.
192-255
Эти значения зарезервированы для использования поставщиком оборудования.
GeneralFlags
Значение, содержащее битовые флаги, которые являются общими для всех типов ресурсов.
Биты
Значение
0 — флаг потребителя или производителя
Если задано, это означает, что устройство использует этот ресурс.
1 — тип декодирования
Если задано, указывает, что этот мост неактивно декодирует адрес. Это относится только к мостам верхнего уровня.
Если этот мост не задан, он положительно декодирует этот адрес.
2 . Минимальный фиксированный адрес
При установке указывает, что минимальный адрес исправлен.
3. Исправлена максимальная адреса
Если задано значение, указывает, что максимальный адрес исправлен.
4–7 — зарезервированные
Эти биты зарезервированы и должны иметь значение нулю.
TypeSpecificFlags
Значение этого элемента зависит от значения в ResourceFlags. Флаги для каждого типа ресурса описаны в таблицах ниже.
Ресурс памяти (ResourceFlags = 0)
Биты
Значение
0. Запись состояния
Если задано значение, указывает, что этот диапазон памяти доступен для чтения и записи. В противном случае это означает, что этот диапазон памяти доступен только для чтения.
1–2 — атрибуты памяти (MEM)
0 — указывает, что память не кэшируется.
1 — указывает, что память кэшируется.
2 . Указывает, что память кэшируется и поддерживает объединение записей.
3 — память кэшируется и предварительно выполняется.
3–4 — атрибуты памяти (MTP)
Эти биты определяются только в том случае, если этот ресурс памяти описывает системную ОЗУ.
0 — память диапазона адресов: этот диапазон доступен для использования оЗУ операционной системой.
1 — зарезервированный диапазон адресов: этот диапазон адресов используется или зарезервирован системой и не должен включаться в пул памяти, доступный для диспетчера памяти операционной системы.
2 — диапазон адресов ACPI: память восстановления ACPI. Этот диапазон доступен для использования ОС после чтения таблиц ACPI.
3 — диапазон адресов NVS: память NVS ACPI. Этот диапазон адресов используется или зарезервирован системой и не должен использоваться операционной системой. Этот диапазон требуется для сохранения и восстановления в спящий режим NVS.
5 . Преобразование памяти в операции ввода-вывода
0 — тип статический: этот ресурс является памятью на основных и вторичных сторонах моста.
1 . Тип-перевод: этот ресурс является памятью на вторичной стороне моста и ввода-вывода на первичной стороне моста.
6–7 — зарезервированные
Эти биты зарезервированы и должны иметь значение нулю.
Ресурс ввода-вывода (ResourceFlags = 1)
Биты
Значение
от 0 до 1 — диапазон
0 — зарезервировано.
1 — только диапазоны, отличные от ISA. Этот флаг предназначен для мостов на системах с несколькими мостами. Установка этого бита означает, что окно памяти, указанное в этом дескрипторе, ограничено адресами ввода-вывода, отличными от ISA, которые попадают в указанное окно. Диапазоны операций ввода-вывода, отличные от ISA: n100-n3FF, n500-n7FF, n900-nBFF, nD00-nFFF. Этот бит можно задать только для мостов, полностью настроенных через пространство имен ACPI.
2 — только диапазоны ISA. Этот флаг предназначен для мостов на системах с несколькими мостами. Установка этого бита означает, что окно памяти, указанное в этом дескрипторе, ограничено адресами ввода-вывода ISA, которые попадают в указанное окно. Диапазоны операций ввода-вывода ISA: n000-n0FF, n400-n4FF, n800-n8FF, nC00-nCFF. Этот бит можно задать только для мостов, полностью настроенных через пространство имен ACPI.
3 . Окно памяти охватывает весь диапазон
2–3 — зарезервированные
Эти биты зарезервированы и должны иметь значение нулю.
4 — преобразование операций ввода-вывода в память
0 — тип-статический: этот ресурс является операцией ввода-вывода на первичных и вторичных сторонах моста.
1 — перевод типов: этот ресурс является операцией ввода-вывода на вторичной стороне моста и памяти на основной стороне моста.
5 — разреженный перевод
Этот бит имеет смысл только в том случае, если задано 4-разрядное значение (преобразование операций ввода-вывода в память).
0 — плотный перевод: основной адрес памяти любого порта ввода-вывода в дополнительном диапазоне можно найти с помощью следующей функции.
address = port + TranslationAddress
1 — разреженный перевод: основной адрес памяти любого порта ввода-вывода в дополнительном диапазоне можно найти с помощью следующей функции.
В адресе, используемом для доступа к порту ввода-вывода, биты 2–11 должны совпадать с битами 12–21, это дает четыре байта портов ввода-вывода на каждой странице 4 КБ.
6–7 — зарезервированные
Эти биты зарезервированы и должны иметь значение нулю.
Ресурс диапазона номеров шины (ResourceFlags = 2)
Биты
Значение
от 0 до 7 — зарезервированные
Эти биты зарезервированы и должны иметь значение нулю.
RevisionId
Указывает редакцию дескриптора расширенного адресного пространства, подробно описанного этой структурой. Для ACPI 3.0 это значение равно 1.
Reserved
Granularity
Битовая маска, указывающая, какие биты были декодированы.
MinimumAddress
Минимальный начальный адрес. Для мостов, которые переводят адреса, это адресное пространство на вторичной стороне моста.
MaximumAddress
Максимальный начальный адрес. Для мостов, которые переводят адреса, это адресное пространство на вторичной стороне моста.
TranslationAddress
Для мостов, которые переводят адреса через мост, это адрес на основной стороне.
AddressLength
Длина адреса.
TypeAttribute
Указывает атрибуты, относящиеся к типу ресурса, указанному в элементе ResourceFlags. Если ResourceFlags равно нулю, это значение равно нулю, в противном случае значение значения можно найти в спецификации UEFI в разделе GetMemoryMap().