@@ -202,7 +202,7 @@ void build_extop_package(GArray *package, uint8_t op)
build_prepend_byte(package, 0x5B); /* ExtOpPrefix */
}
-void build_append_value(GArray *table, uint32_t value, int size)
+void build_append_value(GArray *table, uint64_t value, int size)
{
int i;
@@ -212,7 +212,7 @@ void build_append_value(GArray *table, uint32_t value, int size)
}
}
-void build_append_int(GArray *table, uint32_t value)
+void build_append_int(GArray *table, uint64_t value)
{
if (value == 0x00) {
build_append_byte(table, 0x00); /* ZeroOp */
@@ -224,9 +224,12 @@ void build_append_int(GArray *table, uint32_t value)
} else if (value <= 0xFFFF) {
build_append_byte(table, 0x0B); /* WordPrefix */
build_append_value(table, value, 2);
- } else {
+ } else if (value <= 0xFFFFFFFF) {
build_append_byte(table, 0x0C); /* DWordPrefix */
build_append_value(table, value, 4);
+ } else {
+ build_append_byte(table, 0x0E); /* QWordPrefix */
+ build_append_value(table, value, 8);
}
}
@@ -42,8 +42,8 @@ build_append_namestring(GArray *array, const char *format, ...);
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_append_value(GArray *table, uint64_t value, int size);
+void build_append_int(GArray *table, uint64_t value);
void build_extop_package(GArray *package, uint8_t op);
#endif
it will be used for generating 64bit _CRS entries Signed-off-by: Igor Mammedov <imammedo@redhat.com> --- hw/acpi/acpi_gen_utils.c | 9 ++++++--- include/hw/acpi/acpi_gen_utils.h | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-)