[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 43/86] hppa: drop RAM size fixup
From: |
Igor Mammedov |
Subject: |
Re: [PATCH 43/86] hppa: drop RAM size fixup |
Date: |
Thu, 2 Jan 2020 18:32:47 +0100 |
On Thu, 2 Jan 2020 18:14:32 +0100
Philippe Mathieu-Daudé <address@hidden> wrote:
> On 1/2/20 5:50 PM, Igor Mammedov wrote:
> > On Thu, 2 Jan 2020 16:49:00 +0100
> > Philippe Mathieu-Daudé <address@hidden> wrote:
> >
> >> On 1/2/20 4:08 PM, Igor Mammedov wrote:
> >>> On Thu, 2 Jan 2020 15:17:14 +0100
> >>> Philippe Mathieu-Daudé <address@hidden> wrote:
> >>>
> >>>> On 1/2/20 3:12 PM, Igor Mammedov wrote:
> >>>>> On Thu, 2 Jan 2020 13:06:33 +0100
> >>>>> Philippe Mathieu-Daudé <address@hidden> wrote:
> >>>>>
> >>>>>> On 1/2/20 12:31 PM, Helge Deller wrote:
> >>>>>>> On 31.12.19 16:44, Philippe Mathieu-Daudé wrote:
> >>>>>>>> On 12/31/19 2:03 PM, Igor Mammedov wrote:
> >>>>>>>>> If user provided non-sense RAM size, board will complain and
> >>>>>>>>> continue running with max RAM size supported.
> >>>>>>>>> Also RAM is going to be allocated by generic code, so it won't be
> >>>>>>>>> possible for board to fix things up for user.
> >>>>>>>>>
> >>>>>>>>> Make it error message and exit to force user fix CLI,
> >>>>>>>>> instead of accepting non-sense CLI values.
> >>>>>>>>>
> >>>>>>>>> Signed-off-by: Igor Mammedov <address@hidden>
> >>>>>>>>> ---
> >>>>>>>>> hw/hppa/machine.c | 3 ++-
> >>>>>>>>> 1 file changed, 2 insertions(+), 1 deletion(-)
> >>>>>>>>>
> >>>>>>>>> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
> >>>>>>>>> index 5d0de26..25f5afc 100644
> >>>>>>>>> --- a/hw/hppa/machine.c
> >>>>>>>>> +++ b/hw/hppa/machine.c
> >>>>>>>>> @@ -92,7 +92,8 @@ static void machine_hppa_init(MachineState
> >>>>>>>>> *machine)
> >>>>>>>>> /* Limit main memory. */
> >>>>>>>>> if (ram_size > FIRMWARE_START) {
> >>>>>>>>> - machine->ram_size = ram_size = FIRMWARE_START;
> >>>>>>>>> + error_report("RAM size more than %d is not supported",
> >>>>>>>>> FIRMWARE_START);
> >>>>>>>>> + exit(EXIT_FAILURE);
> >>>>>>>>
> >>>>>>>> $ qemu-system-hppa -m 3841m
> >>>>>>>> qemu-system-hppa: invalid accelerator kvm
> >>>>>>>> qemu-system-hppa: falling back to tcg
> >>>>>>>> qemu-system-hppa: RAM size more than -268435456 is not supported
> >>>>>>>>
> >>>>>>>> Instead of using qemu_strtosz_MiB on FIRMWARE_START or unsigned
> >>>>>>>> format, we can simply use "RAM size more than 3840m is not
> >>>>>>>> supported". Is that OK with you?
> >>>>>>>
> >>>>>>> I don't really like that change.
> >>>>>>>
> >>>>>>> We currently only emulate a 32-bit system, and for those 4GB is the
> >>>>>>> maximum.
> >>>>>>> So, if I start my machine with "qemu-system-hppa -m 4G", the current
> >>>>>>> code
> >>>>>>> then automatically uses the maximum possible of 3841MB (which is
> >>>>>>> limited by
> >>>>>>> firmware start address).
> >>>>>>> I don't expect users to know the excact 3841MB number.
> >>>>>>> Even on a phyiscal machine you can only add DIMMs of sizes 2GB, 3GB
> >>>>>>> or 4GB,
> >>>>>>> but not "3841MB".
> >>>>>>
> >>>>>> Thanks for the explanation. This deserves a comment in the source file
> >>>>>> IMHO (and displaying a warning to the user that the behavior is
> >>>>>> changed).
> >>>>>>
> >>>>>> I understand the CPU can't access this DRAM area because the ROM is
> >>>>>> mapped there. What about other devices, can they do DMA access to it?
> >>>>>>
> >>>>>> Igor: If this complicates your series too much, I think we can directly
> >>>>>> allocate up-to 4GiB and not worry about the 256MiB lost.
> >>>>>
> >>>>> Do you mean
> >>>>> s/"RAM size more than %d is not supported"/"RAM size more than 4Gb is
> >>>>> not supported"/
> >>>>
> >>>> Works for me! You can keep my R-b with this change, thanks.
> >>>
> >>> Well, it's not that simple.
> >>> Do we map whole 4G in address space, if yes then we have to "unbreak"
> >>> firmware mapping and use overlap mapping or do we map only portion of it?
> >>> Both would make code more confusing and all for the sake of user
> >>> convenience
> >>> so they won't have to change their CLI?
> >>
> >> I was thinking about this patch:
> > it probably should be a bit more complicated.
> >
> >>
> >> -- >8 --
> >> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
> >> index 5d0de26140..fa0b6a9536 100644
> >> --- a/hw/hppa/machine.c
> >> +++ b/hw/hppa/machine.c
> >> @@ -91,15 +91,16 @@ static void machine_hppa_init(MachineState *machine)
> >> }
> >>
> >> /* Limit main memory. */
> >> - if (ram_size > FIRMWARE_START) {
> >> - machine->ram_size = ram_size = FIRMWARE_START;
> >> + if (ram_size > 4 * GiB) {
> >> + error_report("Can not model more than 4GB of RAM");
> >> + exit(EXIT_FAILURE);
> >> }
> >>
> >> /* Main memory region. */
> >> ram_region = g_new(MemoryRegion, 1);
> >> memory_region_allocate_system_memory(ram_region, OBJECT(machine),
> >> "ram", ram_size);
> >> - memory_region_add_subregion(addr_space, 0, ram_region);
> >> + memory_region_add_subregion_overlap(addr_space, 0, ram_region, -1);
> >>
> >> /* Init Dino (PCI host bus chip). */
> >> pci_bus = dino_init(addr_space, &rtc_irq, &serial_irq);
> >
> > Ok, I give up on trying to convince you to avoid relaxing error check
> > but I'd make it an extra patch on top of "[PATCH 43/86] hppa: drop RAM size
> > fixup"
> > as it's a separate change.
>
> I am simply not understanding what you are suggesting...
> Can you share a diff snippet of what you would prefer?
>
My preference is to error out with:
"RAM size more than 3840m is not supported"
and let user fix their CLI
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Helge Deller, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Philippe Mathieu-Daudé, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Helge Deller, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Igor Mammedov, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Philippe Mathieu-Daudé, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Igor Mammedov, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Philippe Mathieu-Daudé, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Igor Mammedov, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Philippe Mathieu-Daudé, 2020/01/02
- Re: [PATCH 43/86] hppa: drop RAM size fixup,
Igor Mammedov <=
- Re: [PATCH 43/86] hppa: drop RAM size fixup, Helge Deller, 2020/01/02
Re: [PATCH 43/86] hppa: drop RAM size fixup, Igor Mammedov, 2020/01/02