qemu-arm
[Top][All Lists]
Advanced

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

Re: [PATCH v6 0/7] hw/arm/virt: Improve address assignment for high memo


From: Marc Zyngier
Subject: Re: [PATCH v6 0/7] hw/arm/virt: Improve address assignment for high memory regions
Date: Sat, 29 Oct 2022 12:29:19 +0100
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (Gojō) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

On Wed, 26 Oct 2022 01:29:56 +0100,
Gavin Shan <gshan@redhat.com> wrote:
> 
> Hi Peter and Marc,
> 
> On 10/24/22 11:54 AM, Gavin Shan wrote:
> > There are three high memory regions, which are VIRT_HIGH_REDIST2,
> > VIRT_HIGH_PCIE_ECAM and VIRT_HIGH_PCIE_MMIO. Their base addresses
> > are floating on highest RAM address. However, they can be disabled
> > in several cases.
> > 
> > (1) One specific high memory region is disabled by developer by
> >      toggling vms->highmem_{redists, ecam, mmio}.
> > 
> > (2) VIRT_HIGH_PCIE_ECAM region is disabled on machine, which is
> >      'virt-2.12' or ealier than it.
> > 
> > (3) VIRT_HIGH_PCIE_ECAM region is disabled when firmware is loaded
> >      on 32-bits system.
> > 
> > (4) One specific high memory region is disabled when it breaks the
> >      PA space limit.
> > 
> > The current implementation of virt_set_memmap() isn't comprehensive
> > because the space for one specific high memory region is always
> > reserved from the PA space for case (1), (2) and (3). In the code,
> > 'base' and 'vms->highest_gpa' are always increased for those three
> > cases. It's unnecessary since the assigned space of the disabled
> > high memory region won't be used afterwards.
> > 
> > The series intends to improve the address assignment for these
> > high memory regions and introduces new properties for user to
> > selectively disable those 3 high memory regions.
> > 
> > PATCH[1-4] preparatory work for the improvment
> > PATCH[5]   improve high memory region address assignment
> > PATCH[6]   adds 'compact-highmem' to enable or disable the optimization
> > PATCH[7]   adds properties so that high memory regions can be disabled
> > 
> > v5: https://lists.nongnu.org/archive/html/qemu-arm/2022-10/msg00280.html
> > v4: https://lists.nongnu.org/archive/html/qemu-arm/2022-10/msg00067.html
> > v3: https://lists.nongnu.org/archive/html/qemu-arm/2022-09/msg00258.html
> > v2: https://lore.kernel.org/all/20220815062958.100366-1-gshan@redhat.com/T/
> > v1: https://lists.nongnu.org/archive/html/qemu-arm/2022-08/msg00013.html
> > 
> 
> Could you help to take a look when getting a chance? I think Connie and
> Eric are close to complete the reviews, but v7 is still needed to address
> extra comments from them. I hope to make v7 mergeable if possible :)

With the comments from Connie and Eric addressed, this looks good to
me:

Reviewed-by: Marc Zyngier <maz@kernel.org>

Thanks for having gone the extra mile on this one.

        M.

-- 
Without deviation from the norm, progress is not possible.



reply via email to

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