qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/9] armv7m: Rewrite NVIC to not use any GIC cod


From: Michael Davidsaver
Subject: Re: [Qemu-devel] [PATCH 3/9] armv7m: Rewrite NVIC to not use any GIC code
Date: Sat, 18 Feb 2017 12:45:51 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0

On 02/16/2017 09:11 AM, Peter Maydell wrote:
> I haven't actually checked real hardware behaviour, but I think
> we can fairly safely implement this as not checking the IPSR
> exception field. (We might as well go with the "reads 1 in
> handler mode" choice of UNKNOWN that the M3 documents, though.)

For what it's worth, I dug up my TI TM4C1294 eval board and re-ran
test10.c [1] which is designed to probe this behavior by nesting
exceptions PendSV within SVC.  RETTOBASE is 0x800 in ICSR.

> 1..12
> # BASEPRI mask 000000e0
> # DEBUG prio 000000e0
> ok 1 - 00000000 == 00000000 ICSR
> ok 2 - 00000000 == 00000000 SHCSR
> # Call SVC
> # In SVC
> ok 3 - 0000080b == 0000080b ICSR
> ok 4 - 00000080 == 00000080 SHCSR
> # In PendSV
> ok 5 - 0000000e == 0000000e ICSR
> ok 6 - 00000480 == 00000480 SHCSR
> # Back in SVC
> ok 7 - 00000003 == 00000003 Back in SVC
> ok 8 - 0000080b == 0000080b ICSR
> ok 9 - 00000080 == 00000080 SHCSR
> # Back in main
> ok 10 - 00000004 == 00000004 Back in main
> ok 11 - 00000000 == 00000000 ICSR
> ok 12 - 00000000 == 00000000 SHCSR
> # Done

[1] https://github.com/mdavidsaver/baremetal/blob/qemutest/test10.c




reply via email to

[Prev in Thread] Current Thread [Next in Thread]