|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 4/4] arm: traps: handle SMC32 in check_conditional_instr()
On 09/08/2017 20:44, Volodymyr Babchuk wrote: On ARMv8 architecture SMC instruction from aarch32 state can be conditional. s/aarch32/AArch32/. But SMC instruction are conditional even on ARMv7. The main difference is the ARMv8 architecture allows conditional SMCs to be trapped even if they failed their condition check. (ARM DDI 0487A.k page D7-1949) Thus, we should not skip it while checking HSR.EC value. For this type of exception special coding of HSR.ISS is used. There is additional flag (CCKNOWNPASS) to check before perfoming standard handling s/perfoming/performing/ of CCVALID and COND fields. Because we can't distinguish ARMv7 from aarch32 state, we will always See my comment on patch #2. check CCKNOWNPASS field. On ARMv7 it will be read as 0 (ARM DDI 0406C.c page B3-1431), so there will be no problem. Field are usually made RES{0,1} to allow later revision of the architecture to use them and not break previous version. There are now ARMv8.1, ARMv8.2, ARMv8.3. It does not mean we have 3 new modes. It just add more features on top of the earlier revision. See my comment on top. Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |