[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP register
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers |
Date: |
Thu, 19 Dec 2013 11:38:48 +0000 |
On 19 December 2013 07:27, Fedorov Sergey <address@hidden> wrote:
> Yes, this banking scheme makes state changing events quite heavy. But
> maintaining the active copies allows to keep translation table walking code
> untouched. I think there is a trade-off between state changing and
> translation table walking overheads.
We shouldn't be doing tlb walks that often that it makes a
difference whether we do env->ttbr0 or env->ttbr0[env->ns] ...
> I think the CP banking is the most fragile thing in this patch series and
> this should become much better after review :)
It would probably be a good idea to look at the v8 ARM ARM and
figure out how banked-for-NS/S registers should fit in with the
AArch64 vs AArch32 split.
[if you don't have a copy, it's on the ARM website:
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0487a.a_errata2/index.html
you'll need to register an account on the website if you don't already
have one but it's a fairly simple "fill in the form" automated process]
Note in particular that:
* many of the current uint32_t fields in our CPU state struct are
likely to widen to uint64_t, so the AArch64 representation is
canonical, and the AArch32 register accessors access a part
of that state (typically the lower 32 bits)
* registers which are banked S/NS in AArch32 are not necessarily
banked in AArch64
AArch64 support is likely to land before your TrustZone stuff
does so we need to make the two features work together cleanly.
thanks
-- PMM
- Re: [Qemu-devel] [RFC PATCH 07/21] target-arm: reject switching to monitor mode from non-secure state, (continued)
- [Qemu-devel] [RFC PATCH 11/21] target-arm: implement CPACR register logic, Sergey Fedorov, 2013/12/03
- [Qemu-devel] [RFC PATCH 17/21] target-arm: use c13_context field for CONTEXTIDR, Sergey Fedorov, 2013/12/03
- [Qemu-devel] [RFC PATCH 12/21] target-arm: add NSACR support, Sergey Fedorov, 2013/12/03
- [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Sergey Fedorov, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Peter Crosthwaite, 2013/12/18
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Fedorov Sergey, 2013/12/19
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers,
Peter Maydell <=
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Peter Crosthwaite, 2013/12/19
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Fedorov Sergey, 2013/12/19
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Peter Crosthwaite, 2013/12/19
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Peter Maydell, 2013/12/19
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Fedorov Sergey, 2013/12/20
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Peter Maydell, 2013/12/20
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Fedorov Sergey, 2013/12/20
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Fedorov Sergey, 2013/12/20
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Peter Crosthwaite, 2013/12/21
- Re: [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers, Peter Maydell, 2013/12/22