qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH for-2.0] hw/i386: fix acpi tables generation for big


From: Marcel Apfelbaum
Subject: [Qemu-devel] [PATCH for-2.0] hw/i386: fix acpi tables generation for big endian machines
Date: Thu, 20 Mar 2014 18:40:50 +0200

The acpi tables are not corrected loaded into guest's memory
for big-endian hosts because of a linker-loader field
swapped incorrectly. Fixed that.

Signed-off-by: Marcel Apfelbaum <address@hidden>
---
Note that the acpi test still fails because of
an iasl issue, I will send a patch separately
that disables disassembly validation for big
endian machines until we'll have an iasl fix. 

 hw/i386/bios-linker-loader.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/hw/i386/bios-linker-loader.c b/hw/i386/bios-linker-loader.c
index aa56184..0e1cfb7 100644
--- a/hw/i386/bios-linker-loader.c
+++ b/hw/i386/bios-linker-loader.c
@@ -109,9 +109,8 @@ void bios_linker_loader_alloc(GArray *linker,
     strncpy(entry.alloc.file, file, sizeof entry.alloc.file - 1);
     entry.command = cpu_to_le32(BIOS_LINKER_LOADER_COMMAND_ALLOCATE);
     entry.alloc.align = cpu_to_le32(alloc_align);
-    entry.alloc.zone = cpu_to_le32(alloc_fseg ?
-                                    BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG :
-                                    BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH);
+    entry.alloc.zone = alloc_fseg ? BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG :
+                                    BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH;
 
     /* Alloc entries must come first, so prepend them */
     g_array_prepend_vals(linker, &entry, sizeof entry);
-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]