[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 5/9] monitor: ARM SMC events
On Fri, Jun 3, 2016 at 8:43 AM, Julien Grall <julien.grall@xxxxxxx> wrote: > Hello Tamas, > > On 03/06/16 14:40, Tamas K Lengyel wrote: >> >> >> On Jun 3, 2016 03:49, "Julien Grall" <julien.grall@xxxxxxx >> <mailto:julien.grall@xxxxxxx>> wrote: >> > >> > Hello Tamas, >> > >> > >> > On 02/06/16 23:52, Tamas K Lengyel wrote: >> >> >> >> diff --git a/xen/include/public/vm_event.h >> b/xen/include/public/vm_event.h >> >> index 9270d52..797608Burrington0 100644 >> >> >> --- a/xen/include/public/vm_event.h >> >> +++ b/xen/include/public/vm_event.h >> >> @@ -119,6 +119,8 @@ >> >> #define VM_EVENT_REASON_SINGLESTEP 7 >> >> /* An event has been requested via HVMOP_guest_request_vm_event. */ >> >> #define VM_EVENT_REASON_GUEST_REQUEST 8 >> >> +/* Privileged call executed (e.g. SMC) */ >> >> +#define VM_EVENT_REASON_PRIVILEGED_CALL 9 >> >> >> >> /* Supported values for the vm_event_write_ctrlreg index. */ >> >> #define VM_EVENT_X86_CR0 0 >> >> @@ -212,6 +214,13 @@ struct vm_event_mov_to_msr { >> >> uint64_t value; >> >> }; >> >> >> >> +#define VM_EVENT_PRIVCALL_SMC 0 >> >> + >> >> +struct vm_event_privcall { >> >> + uint32_t type; >> >> + uint32_t vector; /* ESR_EL2.ISS for SMC calls */ >> > >> > >> > How do you expect the introspection app to deal with it? As explained ` >> in a previous mail [1], the ISS encoding is different between ARMv7 >> 32-bit and ARMv8 32-bit. The former is unknown (see B3-1431 in ARM DDI >> 0406C.c) whilst the latter contains fields related to the condition (see >> D7-1897 in ARM DDI 0406C.c). >> > >> > This is because on ARMv8, the conditional SMC issued in AArch32 state >> may trap even if the condition has failed. >> > >> > So the app would have to know whether the hypervisor is running on an >> ARMv7 or ARMv8 platform. But I am not aware of an easy way to >> differentiate it from the registers. >> >> The app can certainly run other checks to determine what the CPU version >> is, not being exclusively reliant on vm_event and running in a >> privileged domain. > > > Manufacturers are allowed to build their custom ARM processor based on the > ARM ARM. The number of CPU version to check will likely be huge and you will > not be future proof. > ` If transmitting the ISS to the user this way is not enough in your opinion I may just leave this item up for a future user to implement as my use-case doesn't need it. Tamas _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |