Google is committed to advancing racial equity for Black communities. See how.

fuchsia.hardware.acpi

PROTOCOLS

Acpi

Defined in fuchsia.hardware.acpi/acpi.fidl

ConnectSysmem

Request

NameType
connection handle<channel>

Response

NameType
s zx/status

GetBti

Request

NameType
bdf uint32
index uint32

Response

NameType
s zx/status
bti handle<bti>

GetMmio

Request

NameType
index uint32

Response

NameType
s zx/status
mmio AcpiMmio

GetPio

Request

NameType
index uint32

Response

NameType
s zx/status
pio handle<resource>

MapInterrupt

Request

NameType
index int64

Response

NameType
s zx/status
handle handle<interrupt>

RegisterSysmemHeap

Request

NameType
heap uint64
connection handle<channel>

Response

NameType
s zx/status

Acpi

Defined in fuchsia.hardware.acpi/acpi.fidl

Defines access to raw system ACPI data.

This interface is intended only for low-level debugging tools.

ListTableEntries

Return the list of ACPI tables present in the system.

Request

NameType

Response

NameType
result Acpi_ListTableEntries_Result

ReadNamedTable

Write the raw content of the named ACPI table into the given VMO.

Some systems may have multiple ACPI tables with the same name ("SSDT" is a commonly repeated table, for example). |instance| is used to specify which instance of the named table to return. A value of |n| returns the |n|'th occurence. If only one table with the given name is present, |instance| should be 0.

On success, returns the number of bytes written into result.

Request

NameType
name AcpiTableSignature
instance uint32
result handle<vmo>

Response

NameType
result Acpi_ReadNamedTable_Result

AcpiDevice

Defined in fuchsia.hardware.acpi/acpi.fidl

A generic ACPI device. This will allow devices to query information directly from ACPI, removing the need for them to be implemented directly in the board driver.

Stub

For now, this has a single stub method, since banjo protocols require at least one method, but we will add methods as the requirements become clearer.

Request

NameType

Response

NameType

STRUCTS

AcpiMmio

Defined in fuchsia.hardware.acpi/acpi.fidl

NameTypeDescriptionDefault
offset zx/off

Offset from beginning of VMO where the mmio region begins.

No default
size uint64

Size of mmio region.

No default
vmo handle<vmo> No default

Acpi_ListTableEntries_Response

Defined in fuchsia.hardware.acpi/acpi.fidl

NameTypeDescriptionDefault
entries vector<TableInfo>[512] No default

Acpi_ReadNamedTable_Response

Defined in fuchsia.hardware.acpi/acpi.fidl

NameTypeDescriptionDefault
size uint32 No default

TableInfo

Defined in fuchsia.hardware.acpi/acpi.fidl

Metadata about an ACPI table entry.

NameTypeDescriptionDefault
name AcpiTableSignature

Name of the table. There may be multiple tables with the same name.

No default
size uint32

The size of the table, in bytes.

No default

UNIONS

Acpi_ListTableEntries_Result

Defined in fuchsia.hardware.acpi/acpi.fidl

NameTypeDescription
response Acpi_ListTableEntries_Response
err zx/status

Acpi_ReadNamedTable_Result

Defined in fuchsia.hardware.acpi/acpi.fidl

NameTypeDescription
response Acpi_ReadNamedTable_Response
err zx/status

CONSTANTS

NameValueTypeDescription
MAX_ACPI_TABLE_ENTRIES 512 uint32

TYPE ALIASES

NameValueDescription
AcpiTableSignature array[4]

An ACPI table name signature. This consists of four ASCII characters.