Am 30.04.2013 11:53, schrieb Alexander Graf: > > On 29.04.2013, at 21:18, Scott Wood wrote: > >> On 04/28/2013 05:30:09 AM, Tiejun Chen wrote: >>> We should sync params->ram_size after we fixup memory size on >>> a alignment boundary. Otherwise Guest would exceed the actual >>> memory region. >>> Signed-off-by: Tiejun Chen <tiejun.c...@windriver.com> >>> --- >>> hw/ppc/e500.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c >>> index c1bdb6b..145da0e 100644 >>> --- a/hw/ppc/e500.c >>> +++ b/hw/ppc/e500.c >>> @@ -523,6 +523,8 @@ void ppce500_init(PPCE500Params *params) >>> /* Fixup Memory size on a alignment boundary */ >>> ram_size &= ~(RAM_SIZES_ALIGN - 1); >>> + /* Sync this for the system. */ >>> + params->ram_size = ram_size; >> >> Could you explain this further? When does params->ram_size ever get used >> after this point? > > This is the respective code in vl.c: > >> QEMUMachineInitArgs args = { .ram_size = ram_size, >> .boot_device = (boot_devices[0] == '\0') ? >> machine->boot_order : >> boot_devices, >> .kernel_filename = kernel_filename, >> .kernel_cmdline = kernel_cmdline, >> .initrd_filename = initrd_filename, >> .cpu_model = cpu_model }; >> machine->init(&args); > > > After this, args in unused. So as you can see, params->ram_size never gets > used after it's read once.
While that is true, it was being discussed to update cpu_model inside QEMUMachineInitArgs FWIW. That's independent of PPCE500Params though. Andreas > What bug are you trying to fix? Maybe there really is something broken here, > that this patch doesn't fix either. > > > Alex -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg