[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regi
From: |
Peter Maydell |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE |
Date: |
Wed, 20 Jun 2018 17:21:47 +0100 |
On 20 June 2018 at 16:46, Mark Cave-Ayland
<address@hidden> wrote:
> On 20/06/18 14:06, Peter Maydell wrote:
>
>> Add support for MMU protection regions that are smaller than
>> TARGET_PAGE_SIZE. We do this by marking the TLB entry for those
>> pages with a flag TLB_RECHECK. This flag causes us to always
>> take the slow-path for accesses. In the slow path we can then
>> special case them to always call tlb_fill() again, so we have
>> the correct information for the exact address being accessed.
>>
>> This change allows us to handle reading and writing from small
>> regions; we cannot deal with execution from the small region.
>>
>> Signed-off-by: Peter Maydell <address@hidden>
> This patch is very interesting as forcing the slow path is something
> required to implement the sun4u MMU IE (invert endian) bit - for some
> background see Richard's email at
> https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02835.html.
>
> Presumably there is nothing here that would prevent the slow path being used
> outside of TLB_RECHECK?
Nope; we already have various things that force a slowpath.
Essentially all you need to do is ensure that some lowbit in
the tlb addr fields is set, and we're only moderately
constrained in how many of those we have. You might or might
not be able to use TLB_RECHECK, I don't know.
thanks
-- PMM
- [Qemu-arm] [PATCH 0/3] Support M-profile MPU regions smaller than 1K, Peter Maydell, 2018/06/20
- [Qemu-arm] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Peter Maydell, 2018/06/20
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Mark Cave-Ayland, 2018/06/20
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE,
Peter Maydell <=
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Max Filippov, 2018/06/30
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Max Filippov, 2018/06/30
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Max Filippov, 2018/06/30
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Peter Maydell, 2018/06/30
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Peter Maydell, 2018/06/30
- Re: [Qemu-arm] [Qemu-devel] [PATCH 1/3] tcg: Support MMU protection regions smaller than TARGET_PAGE_SIZE, Max Filippov, 2018/06/30
- [Qemu-arm] [PATCH 3/3] target/arm: Handle small regions in get_phys_addr_pmsav8(), Peter Maydell, 2018/06/20
- [Qemu-arm] [PATCH 2/3] target/arm: Set page (region) size in get_phys_addr_pmsav7(), Peter Maydell, 2018/06/20
- Re: [Qemu-arm] [PATCH 0/3] Support M-profile MPU regions smaller than 1K, Richard Henderson, 2018/06/20