[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spac
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks |
Date: |
Fri, 13 Nov 2015 18:51:42 +0000 |
On 9 November 2015 at 10:58, Peter Maydell <address@hidden> wrote:
> On 9 November 2015 at 10:51, Paolo Bonzini <address@hidden> wrote:
>>
>>
>> On 05/11/2015 19:15, Peter Maydell wrote:
>>> If we have a secure address space, use it in page table walks:
>>> * when doing the physical accesses to read descriptors,
>>> make them through the correct address space
>>> * when the final result indicates a secure access, pass the
>>> correct address space index to tlb_set_page_with_attrs()
>>>
>>> (The descriptor reads are the only direct physical accesses
>>> made in target-arm/ for CPUs which might have TrustZone.)
>>
>> What is the case where you have no secure address space and you have
>> TrustZone? KVM doesn't have TrustZone, so it should never be in a
>> secure regime, should it?
>
> You mean "what is the case where is_secure but cpu->num_ases == 1" ?
> That happens if you have a TrustZone CPU but the board has only
> connected up one address space, because there is no difference
> in the view from Secure and NonSecure. (vexpress is like this
> in hardware, and most of our board models for TZ CPUS are like
> that now even if the real h/w makes a distinction.)
Looking more closely at my own code I was wrong here. The
case where you have only one AS is when the CPU is using KVM.
In that case in theory we should never end up being asked to
pick an AddressSpace for a set of MemTxAttrs that say "secure"
[in the new design where we figure out the asidx from the
txattrs], but it's a bit tricky to be absolutely certain that never
happens...
thanks
-- PMM
- Re: [Qemu-devel] [PATCH 11/16] memory: Add address_space_init_shareable(), (continued)
[Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Peter Maydell, 2015/11/05
- Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Edgar E. Iglesias, 2015/11/06
- Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Paolo Bonzini, 2015/11/09
- Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Peter Maydell, 2015/11/09
- Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Paolo Bonzini, 2015/11/09
- Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Peter Maydell, 2015/11/09
- Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Paolo Bonzini, 2015/11/09
- Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks, Peter Maydell, 2015/11/09
Re: [Qemu-devel] [PATCH 09/16] target-arm: Support multiple address spaces in page table walks,
Peter Maydell <=
[Qemu-devel] [PATCH 01/16] exec.c: Don't set cpu->as until cpu_address_space_init, Peter Maydell, 2015/11/05
[Qemu-devel] [PATCH 08/16] exec.c: Have one io_mem_watch per AddressSpace, Peter Maydell, 2015/11/05
[Qemu-devel] [PATCH 10/16] target-arm: Implement cpu_get_phys_page_asidx_debug, Peter Maydell, 2015/11/05