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 <afaer...@suse.de> > Cc: Avi Kivity <a...@redhat.com> > Cc: Alexander Graf <ag...@suse.de>
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