type AcpiMadtEntry

bend-osdev-acpi@0.1.1.0 · madt.bend:40

import bend-osdev-acpi@0.1.1.0/madt.bend as Madt
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W
import bend-osdev-bytes@0.1.1.0/bytes.bend as B

40type AcpiMadtEntry is Data:
41  # flags: bit 0 Enabled, bit 1 Online Capable
42  AcpiMadtLapic{uid: U32, apic_id: U32, flags: U32}
43  AcpiMadtIoApic{id: U32, address: U32, gsi_base: U32}
44  # flags: MPS INTI flags, bits 0-1 polarity, bits 2-3 trigger mode
45  AcpiMadtIso{bus: U32, source: U32, gsi: U32, flags: U32}
46  AcpiMadtNmiSource{flags: U32, gsi: U32}
47  # uid 0xFF: every processor
48  AcpiMadtLapicNmi{uid: U32, flags: U32, lint: U32}
49  AcpiMadtLapicOverride{address: W.W64}
50  AcpiMadtX2apic{x2apic_id: U32, flags: U32, uid: U32}
51  # uid 0xFFFFFFFF: every processor
52  AcpiMadtX2apicNmi{flags: U32, uid: U32, lint: U32}
53  AcpiMadtGicc{cpu_interface: U32, uid: U32, flags: U32, parking_version: U32, perf_gsiv: U32, vgic_gsiv: U32, addrs: AcpiGiccAddrs, mpidr: W.W64, efficiency_class: U32, spe_gsiv: U32, trbe_gsiv: U32}
54  AcpiMadtGicd{gic_id: U32, base: W.W64, version: U32}
55  AcpiMadtGicMsi{id: U32, base: W.W64, flags: U32, spi_count: U32, spi_base: U32}
56  AcpiMadtGicr{base: W.W64, length: U32}
57  AcpiMadtGicIts{id: U32, base: W.W64}
58  AcpiMadtWakeup{version: U32, mailbox: W.W64}
59  # any other type: its type and its bytes after the two header bytes
60  AcpiMadtOther{kind: U32, data: B.Octets}

Uses (4)

Used by (19)