PatchworkOS  a7b3d61
A non-POSIX operating system.
Loading...
Searching...
No Matches
acpi_io_port_descriptor_t Struct Reference

ACPI IO port resource descriptor. More...

#include <resources.h>

Collaboration diagram for acpi_io_port_descriptor_t:

Data Fields

acpi_resource_small_t header
 
uint8_t decode16: 1
 0 = 10-bit decoding, 1 = 16-bit decoding.
 
uint8_t reserved: 7
 
uint16_t minBase
 Minimum base IO port address that may be used for the device.
 
uint16_t maxBase
 Maximum base IO port address that may be used for the device.
 
uint8_t alignment
 Alignment of the IO port(s) to utilize within the min and max range.
 
uint8_t length
 The amount of contiguous IO ports required by the device.
 

Detailed Description

ACPI IO port resource descriptor.

Used by a device to request IO port resources with some constraints, like alignment and address range.

Port Reservation Rules

The minBase and maxBase fields defines the min and maximum starting address of the IO port range, not the entire range. For example, if a device requires 8 IO ports and has minBase = 0x10 and maxBase = 0x20 then allocating ports 0x20 to 0x27 would be valid.

The alignment field defines the alignment of the starting address of the IO port range. For example, if a device requires 8 IO ports and has alignment = 0x08, then valid starting addresses would be 0x00, 0x08, 0x10, 0x18, etc.

The length field defines the number of contiguous IO ports required by the device.

Finally, the decode16 field defines whether the device uses 10-bit or 16-bit IO port decoding. As in, if it will only consider the lower 10 bits of the IO port address, or all 16 bits.

Note
Certain legacy devices, like the PS/2 controller, will have fixed IO port addresses and will set the minBase and maxBase fields set to the same value.

Definition at line 144 of file resources.h.

Field Documentation

◆ header

acpi_resource_small_t acpi_io_port_descriptor_t::header

Definition at line 146 of file resources.h.

◆ decode16

uint8_t acpi_io_port_descriptor_t::decode16

0 = 10-bit decoding, 1 = 16-bit decoding.

Definition at line 147 of file resources.h.

◆ reserved

uint8_t acpi_io_port_descriptor_t::reserved

Definition at line 148 of file resources.h.

◆ minBase

uint16_t acpi_io_port_descriptor_t::minBase

Minimum base IO port address that may be used for the device.

Definition at line 149 of file resources.h.

◆ maxBase

uint16_t acpi_io_port_descriptor_t::maxBase

Maximum base IO port address that may be used for the device.

Definition at line 150 of file resources.h.

◆ alignment

uint8_t acpi_io_port_descriptor_t::alignment

Alignment of the IO port(s) to utilize within the min and max range.

Definition at line 151 of file resources.h.

◆ length

uint8_t acpi_io_port_descriptor_t::length

The amount of contiguous IO ports required by the device.

Definition at line 152 of file resources.h.


The documentation for this struct was generated from the following file: