qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] [PATCH] prep: Fix offset of BIOS MemoryRegio


From: Andreas Färber
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCH] prep: Fix offset of BIOS MemoryRegion
Date: Wed, 11 Jan 2012 22:43:07 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111220 Thunderbird/9.0

Am 05.01.2012 18:13, schrieb Andreas Färber:
> Since 0c90c52fab5ea92d7f12b29bfe26a7cd75d9efcb (ppc_prep: convert to memory
> API) OHW was "Trying to execute code outside RAM or ROM at 0xfff00700".
> 
> The BIOS MemoryRegion is created with a fixed size of 1 MiB.
> Ensure that the full size can be accessed since the exception
> vectors are located at 0xfff00000 and the BIOS may want to use them.
> 
> It thereby no longer depends on the actual BIOS binary size.
> 
> Signed-off-by: Andreas Färber <address@hidden>
> Cc: Avi Kivity <address@hidden>
> Cc: Alexander Graf <address@hidden>

Ping! Is everyone okay with this? Should I send a PULL?

Andreas

> ---
>  hw/ppc_prep.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
> index 47dab3f..dec059a 100644
> --- a/hw/ppc_prep.c
> +++ b/hw/ppc_prep.c
> @@ -560,6 +560,8 @@ static void ppc_prep_init (ram_addr_t ram_size,
>  
>      /* allocate and load BIOS */
>      memory_region_init_ram(bios, "ppc_prep.bios", BIOS_SIZE);
> +    memory_region_set_readonly(bios, true);
> +    memory_region_add_subregion(sysmem, (uint32_t)(-BIOS_SIZE), bios);
>      vmstate_register_ram_global(bios);
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
> @@ -573,8 +575,6 @@ static void ppc_prep_init (ram_addr_t ram_size,
>          target_phys_addr_t bios_addr;
>          bios_size = (bios_size + 0xfff) & ~0xfff;
>          bios_addr = (uint32_t)(-bios_size);
> -        memory_region_set_readonly(bios, true);
> -        memory_region_add_subregion(sysmem, bios_addr, bios);
>          bios_size = load_image_targphys(filename, bios_addr, bios_size);
>      }
>      if (bios_size < 0 || bios_size > BIOS_SIZE) {

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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