AmlResource.AmlResource: type of bend-osdev-acpi@0.1.1.0 Import: import bend-osdev-acpi@0.1.1.0/aml_resource.bend as AmlResource Lines 21-42 of bend-osdev-acpi@0.1.1.0/aml_resource.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-acpi@0.1.1.0/aml_resource.bend&start_line=21&end_line=42 import Base import bend-osdev-bytes@0.1.1.0/bytes.bend as B type AmlResource is Data: # IRQ: the mask of IRQs 0-15, and the flags byte (0x01 if absent: edge, # active high) AmlRIrq{mask: U32, flags: U32} AmlRDma{mask: U32, flags: U32} # I/O port: decode (1: 16-bit), minimum and maximum base, alignment, # length AmlRIo{decode: U32, min: U32, max: U32, align: U32, len: U32} AmlRFixedIo{base: U32, len: U32} # 32-bit memory: write status (1: writable), minimum and maximum base, # alignment, length AmlRMem32{writable: U32, min: U32, max: U32, align: U32, len: U32} AmlRMem32Fixed{writable: U32, base: U32, len: U32} # an address space descriptor (DWord, Word or QWord: width 32, 16, 64): # resource type (0 memory, 1 I/O, 2 bus number), general flags, type # specific flags, then granularity, minimum, maximum, translation offset # and length, in an address-range record AmlRAddr{width: U32, kind: U32, flags: U32, tflags: U32, range: AmlRange} # extended interrupt: flags (bit 0 consumer, 1 edge, 2 active low, # 3 shared, 4 wake capable) and the interrupt numbers AmlRExtIrq{flags: U32, irqs: List<&2, U32>} AmlROther{tag: U32, data: B.Octets} Uses (4): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_resource.bend&name=AmlRange https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets