[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-3.0] target/arm: Correctly handle overlappin
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH for-3.0] target/arm: Correctly handle overlapping small MPU regions |
Date: |
Tue, 17 Jul 2018 21:02:37 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 07/17/2018 12:40 PM, Peter Maydell wrote:
> On 17 July 2018 at 18:29, Richard Henderson
> <address@hidden> wrote:
>> I don't understand why this is necessary in the v8m case.
>>
>> AP APL
>> <----B1----|----L1-B2-A-------|---L2--->
>>
>>
>> Your comment posits two regions [B1,L1] and [B2,L2], that A is not within
>> [B1,L1] but is within [B2,L2] (otherwise we would not report a hit at all).
>> Further, that [B1,L1] intersects [AP,APL] but does not intersect [B2,L2]
>> (otherwise we would report a fault for overlapping regions).
>>
>> Surely this combination of ranges implies that [B2,L2] must itself set
>> IS_SUBPAGE (otherwise the first region would not overlap the page of A, or
>> would not overlap the second region).
>
> (a) the overlap fault is only for addresses which are actually in the
> overlap (ie "you asked about address X and it hits in R1 and R2"); it
> doesn't imply that other addresses which are only in R1 fault just
> because some part of R1 overlaps with R2.
Ah, that wasn't clear from the manual.
> So for instance:
>
> AP APL
> [B1 L1]
> [B2 L2]
> A1^ A2^
Thanks for the example,
Reviewed-by: Richard Henderson <address@hidden>
r~