[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 01/40] memory: assert that PhysPageEntry's ptr d
From: |
liu ping fan |
Subject: |
Re: [Qemu-devel] [PATCH 01/40] memory: assert that PhysPageEntry's ptr does not overflow |
Date: |
Thu, 9 May 2013 11:41:35 +0800 |
On Wed, May 8, 2013 at 12:08 AM, Paolo Bonzini <address@hidden> wrote:
>
>
> ----- Messaggio originale -----
>> Da: "Peter Maydell" <address@hidden>
>> A: "Paolo Bonzini" <address@hidden>
>> Cc: address@hidden, address@hidden, "jan kiszka" <address@hidden>,
>> address@hidden,
>> address@hidden, address@hidden
>> Inviato: Martedì, 7 maggio 2013 17:44:59
>> Oggetto: Re: [Qemu-devel] [PATCH 01/40] memory: assert that PhysPageEntry's
>> ptr does not overflow
>>
>> On 7 May 2013 15:16, Paolo Bonzini <address@hidden> wrote:
>> > Signed-off-by: Paolo Bonzini <address@hidden>
>> > ---
>> > exec.c | 2 ++
>> > 1 files changed, 2 insertions(+), 0 deletions(-)
>> >
>> > diff --git a/exec.c b/exec.c
>> > index 19725db..2e5b89a 100644
>> > --- a/exec.c
>> > +++ b/exec.c
>> > @@ -719,6 +719,8 @@ static void destroy_all_mappings(AddressSpaceDispatch
>> > *d)
>> >
>> > static uint16_t phys_section_add(MemoryRegionSection *section)
>> > {
>> > + assert(phys_sections_nb < TARGET_PAGE_SIZE);
>> > +
>> > if (phys_sections_nb == phys_sections_nb_alloc) {
>> > phys_sections_nb_alloc = MAX(phys_sections_nb_alloc * 2, 16);
>> > phys_sections = g_renew(MemoryRegionSection, phys_sections,
>>
>> Why is the limit we're asserting not the same as the maximum
>> size that we pass to g_renew() below?
>
> That's a minimum size, isn't it?
>
> I'm asserting that the physical section number doesn't overflow into
> the page, since the TLB entries are stored as a combination of the two.
>
Could you explain more detail? Why < TARGET_PAGE_SIZE, not 2^15?
Thanks,
Pingfan
> Paolo
- [Qemu-devel] [PATCH 33/40] pci-assign: add memory_region_set_owner calls, (continued)
- [Qemu-devel] [PATCH 33/40] pci-assign: add memory_region_set_owner calls, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 31/40] isa/portio: allow setting an owner, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 36/40] memory: return MemoryRegion from qemu_ram_addr_from_host, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 35/40] exec: check MRU in qemu_ram_addr_from_host, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 34/40] vfio: add memory_region_set_owner calls, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 39/40] memory: use a new FlatView pointer on every topology update, Paolo Bonzini, 2013/05/07
- [Qemu-devel] [PATCH 01/40] memory: assert that PhysPageEntry's ptr does not overflow, Paolo Bonzini, 2013/05/07
[Qemu-devel] [PATCH 03/40] memory: Replace open-coded memory_region_is_romd, Paolo Bonzini, 2013/05/07