aml-build.c (4ecdc746e9dbf47ce2604ddafd057a26d9d98044) aml-build.c (37d0e980060488b2c76a19f75c0f3b8ebbaecbf6)
1/* Support for generating ACPI tables and passing them to Guests
2 *
3 * Copyright (C) 2015 Red Hat Inc
4 *
5 * Author: Michael S. Tsirkin <mst@redhat.com>
6 * Author: Igor Mammedov <imammedo@redhat.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 619 unchanged lines hidden (view full) ---

628 if (vendor_data != NULL) {
629 g_array_append_vals(var->buf, vendor_data, vendor_data_len);
630 }
631
632 return var;
633}
634
635/*
1/* Support for generating ACPI tables and passing them to Guests
2 *
3 * Copyright (C) 2015 Red Hat Inc
4 *
5 * Author: Michael S. Tsirkin <mst@redhat.com>
6 * Author: Igor Mammedov <imammedo@redhat.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 619 unchanged lines hidden (view full) ---

628 if (vendor_data != NULL) {
629 g_array_append_vals(var->buf, vendor_data, vendor_data_len);
630 }
631
632 return var;
633}
634
635/*
636 * ACPI 5.0: 19.5.53
637 * GpioInt(GPIO Interrupt Connection Resource Descriptor Macro)
638 */
639Aml *aml_gpio_int(AmlConsumerAndProducer con_and_pro,
640 AmlLevelAndEdge edge_level,
641 AmlActiveHighAndLow active_level, AmlShared shared,
642 AmlPinConfig pin_config, uint16_t debounce_timeout,
643 const uint32_t pin_list[], uint32_t pin_count,
644 const char *resource_source_name,
645 const uint8_t *vendor_data, uint16_t vendor_data_len)
646{
647 uint8_t flags = edge_level | (active_level << 1) | (shared << 3);
648
649 return aml_gpio_connection(AML_INTERRUPT_CONNECTION, con_and_pro, flags,
650 pin_config, 0, debounce_timeout, pin_list,
651 pin_count, resource_source_name, vendor_data,
652 vendor_data_len);
653}
654
655/*
636 * ACPI 1.0b: 6.4.3.4 32-Bit Fixed Location Memory Range Descriptor
637 * (Type 1, Large Item Name 0x6)
638 */
639Aml *aml_memory32_fixed(uint32_t addr, uint32_t size,
640 AmlReadAndWrite read_and_write)
641{
642 Aml *var = aml_alloc();
643 build_append_byte(var->buf, 0x86); /* Memory32Fixed Resource Descriptor */

--- 657 unchanged lines hidden ---
656 * ACPI 1.0b: 6.4.3.4 32-Bit Fixed Location Memory Range Descriptor
657 * (Type 1, Large Item Name 0x6)
658 */
659Aml *aml_memory32_fixed(uint32_t addr, uint32_t size,
660 AmlReadAndWrite read_and_write)
661{
662 Aml *var = aml_alloc();
663 build_append_byte(var->buf, 0x86); /* Memory32Fixed Resource Descriptor */

--- 657 unchanged lines hidden ---