[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.0] hw/i386: fix acpi tables generation for
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH for-2.0] hw/i386: fix acpi tables generation for big endian machines |
Date: |
Thu, 20 Mar 2014 22:27:03 +0200 |
On Thu, Mar 20, 2014 at 06:40:50PM +0200, Marcel Apfelbaum wrote:
> 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>
Applied, thanks!
> ---
> 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