iasl: compiles ASL (ACPI Source Language) into AML (ACPI Machine Language), suitable for inclusion as a DSDT in system firmware.It also can disassemble AML, for debugging purposes.
acpibin: performs basic operations on binary AML files (e.g., comparison, data extraction)
acpidump: write out the current contents of ACPI tables
acpiexec: simulate AML execution in order to debug method definitions
acpihelp: display help messages describing ASL keywords and op-codes
acpisrc: manipulate the ACPICA source tree and format source files for specific environments
acpixtract: extract binary ACPI tables from acpidump output (see also the pmtools package)
/* * "num-pins" is the total number of interrupt pins implemented in * this mbigen instance, and mbigen is an interrupt controller * connected to ITS converting wired interrupts into MSI, so we * use "num-pins" to alloc MSI vectors which are needed by client * devices connected to it. * * Here is the DSDT device node used for mbigen in firmware: * Device(MBI0) { * Name(_HID, "HISI0152") * Name(_UID, Zero) * Name(_CRS, ResourceTemplate() { * Memory32Fixed(ReadWrite, 0xa0080000, 0x10000) * }) * * Name(_DSD, Package () { * ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), * Package () { * Package () {"num-pins", 378} * } * }) * } */ ret = device_property_read_u32(&pdev->dev, "num-pins", &num_pins); if (ret || num_pins == 0) return -EINVAL;