[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.12] hw/intc/arm_gicv3: Fix secure-GIC NS I
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH for-2.12] hw/intc/arm_gicv3: Fix secure-GIC NS ICC_PMR and ICC_RPR accesses |
Date: |
Thu, 22 Mar 2018 18:29:15 +0000 |
On 22 March 2018 at 14:23, Andrew Jones <address@hidden> wrote:
> On Thu, Mar 15, 2018 at 01:34:41PM +0000, Peter Maydell wrote:
>> If the GIC has the security extension support enabled, then a
>> non-secure access to ICC_PMR must take account of the non-secure
>> view of interrupt priorities, where real priorities 0..0x7f
>> are secure-only and not visible to the non-secure guest, and
>> priorities 0x80..0xff are shown to the guest as if they were
>> 0x00..0xff. We had the logic here wrong:
>
> 0x00..0x7f
I think 0x00..0xff is correct. The conversion from actual
priority value to the NS-view is
if (prio & 0x80 == 0) {
nsview = 0;
} else {
nsview = (prio << 1) & 0xff;
}
so:
real priority NS view
0x80 0x00
0x90 0x20
0xa0 0x40
0xb0 0x60
0xc0 0x80
0xd0 0xa0
0xe0 0xc0
0xf0 0xe0
the NS view covers the whole 0x00..0xff range, but more sparsely.
(OK, technically you can't ever read 0xff, only 0xfe.)
> Reviewed-by: Andrew Jones <address@hidden>
Thanks for the review.
-- PMM