diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 6a02474e17838ca7163b4bead081a4fd9e2ad83d..bcb288eab44f27bbf8b0356d935161f3cb58d892 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -157,7 +157,7 @@ enum { PACKAGE_LENGTH_4BYTE_SHIFT = 20, }; -void build_prepend_package_length(GArray *package, unsigned min_bytes) +void build_prepend_package_length(GArray *package) { uint8_t byte; unsigned length = package->len; @@ -173,11 +173,6 @@ void build_prepend_package_length(GArray *package, unsigned min_bytes) length_bytes = 4; } - /* Force length to at least min_bytes. - * This wastes memory but that's how bios did it. - */ - length_bytes = MAX(length_bytes, min_bytes); - /* PkgLength is the length of the inclusive length of the data. */ length += length_bytes; @@ -210,15 +205,15 @@ void build_prepend_package_length(GArray *package, unsigned min_bytes) build_prepend_byte(package, byte); } -void build_package(GArray *package, uint8_t op, unsigned min_bytes) +void build_package(GArray *package, uint8_t op) { - build_prepend_package_length(package, min_bytes); + build_prepend_package_length(package); build_prepend_byte(package, op); } void build_extop_package(GArray *package, uint8_t op) { - build_package(package, op, 1); + build_package(package, op); build_prepend_byte(package, 0x5B); /* ExtOpPrefix */ } @@ -262,4 +257,3 @@ void build_append_int(GArray *table, uint32_t value) build_append_value(table, value, 4); } } - diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index df2bad0a3bf8179a784020808cab3fddd7977adc..5737ed061cd67691311c0f0808601fdaf99df948 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -296,7 +296,7 @@ static void build_append_and_cleanup_method(GArray *device, GArray *method) { uint8_t op = 0x14; /* MethodOp */ - build_package(method, op, 0); + build_package(method, op); build_append_array(device, method); build_free_array(method); @@ -317,7 +317,7 @@ static void build_append_notify_target_ifequal(GArray *method, build_append_byte(notify, 0x69); /* Arg1Op */ /* Pack it up */ - build_package(notify, op, 1); + build_package(notify, op); build_append_array(method, notify); @@ -833,7 +833,7 @@ static void build_pci_bus_end(PCIBus *bus, void *bus_state) build_append_byte(notify, 0x69); /* Arg1Op */ /* Pack it up */ - build_package(notify, op, 0); + build_package(notify, op); build_append_array(method, notify); @@ -874,7 +874,7 @@ static void build_pci_bus_end(PCIBus *bus, void *bus_state) if (bus->parent_dev) { build_extop_package(bus_table, op); } else { - build_package(bus_table, op, 0); + build_package(bus_table, op); } /* Append our bus description to parent table */ @@ -997,7 +997,7 @@ build_ssdt(GArray *table_data, GArray *linker, build_append_byte(package, b); } - build_package(package, op, 2); + build_package(package, op); build_append_array(sb_scope, package); build_free_array(package); } @@ -1045,8 +1045,7 @@ build_ssdt(GArray *table_data, GArray *linker, build_append_array(sb_scope, hotplug_state.device_table); build_pci_bus_state_cleanup(&hotplug_state); } - - build_package(sb_scope, op, 3); + build_package(sb_scope, op); build_append_array(table_data, sb_scope); build_free_array(sb_scope); } diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h index fd506252bd6a7d9bf026599006998ad7d95dfd0b..199f003265991bb6acb94e74858edbf15d7e7120 100644 --- a/include/hw/acpi/aml-build.h +++ b/include/hw/acpi/aml-build.h @@ -14,8 +14,8 @@ void build_append_array(GArray *array, GArray *val); void GCC_FMT_ATTR(2, 3) build_append_namestring(GArray *array, const char *format, ...); -void build_prepend_package_length(GArray *package, unsigned min_bytes); -void build_package(GArray *package, uint8_t op, unsigned min_bytes); +void build_prepend_package_length(GArray *package); +void build_package(GArray *package, uint8_t op); void build_append_value(GArray *table, uint32_t value, int size); void build_append_int(GArray *table, uint32_t value); void build_extop_package(GArray *package, uint8_t op);