qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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