All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/11] Handle SMCs and HVCs in conformance with SMCCC
@ 2017-08-21 20:27 Volodymyr Babchuk
  2017-08-21 20:27 ` [PATCH v4 01/11] arm: traps: use generic register accessors in the PSCI code Volodymyr Babchuk
                   ` (10 more replies)
  0 siblings, 11 replies; 48+ messages in thread
From: Volodymyr Babchuk @ 2017-08-21 20:27 UTC (permalink / raw)
  To: xen-devel
  Cc: Edgar E . Iglesias, Julien Grall, Stefano Stabellini, Volodymyr Babchuk

Hello all,

v4:

 * Added patch with public definitiod for xen_uuid_t
 * Added patch with immediate value mask for SMC, HVC and SVC
 * Added patch with header smccc.h (generic SMCCC definitions)
 * Added patches that add and enable XENFEAT_ARM_SMCCC_supported
 * Removed patch that added inject_undef_exception() and friends
   to the processor.h

This patch series depends on Julien's patches for traps.c cleanup ([1]).

There was discussion about SMCCC bindings (e.g. how to tell guest, that
it can safelly call SMCCC routines). As temporary solution, we'll
provide XENFEAT_ARM_SMCCC_supported feature. More generic solution
is still under discussion.

[1] https://www.mail-archive.com/xen-devel@lists.xen.org/msg117839.html

---
v3:

This is third version. Instead of 4 patches, there are 7 now.
As part of the series, I make some functions in traps.c
available globally, moved SMC conditional check into
separate patch, changed how PSCI functiond numbers are defined.

---
v2:

This is second version. Instead of 2 patches, there are 4 now.
I have divided PSCI patch into two: one changes how PSCI
code accesses registers and second one moves PSCI code with
new accessors to vsmc.c.

Also I had removed redundant 64 bit mode check in PSCI code, as it
does not conforms with SMCCC.

---
v1:

This patch series adds a generic way to handle standard calls
that are defined in ARM SMC calling convention (SMCCC).

First patch adds generic handler and second one moves PSCI
handling code to that generic handler.

With this patch series guest can query hypervisor in a standard
way to determine which virtualization system is used.
The same applies to PSCI calls. Now guest can tell if PSCI calls
are handled by hypervisor or by, say, ARM TF.

Also those patches are needed for upcoming TEE support.
---

Volodymyr Babchuk (11):
  arm: traps: use generic register accessors in the PSCI code
  arm: traps: check if SMC was conditional before handling it
  public: xen.h: add definitions for UUID handling
  arm: processor.h: add definition for immediate value mask
  arm: add SMCCC protocol definitions.
  arm: smccc: handle SMCs according to SMCCC
  arm: traps: handle PSCI calls inside `vsmc.c`
  arm: PSCI: use definitions provided by asm/smccc.h
  arm: vsmc: remove 64 bit mode check in PSCI handler
  public: add XENFEAT_ARM_SMCCC_supported feature
  arm: enable XENFEAT_ARM_SMCCC_supported feature

 xen/arch/arm/Makefile             |   1 +
 xen/arch/arm/platforms/seattle.c  |   5 +-
 xen/arch/arm/psci.c               |  10 +-
 xen/arch/arm/traps.c              | 133 +---------------
 xen/arch/arm/vsmc.c               | 318 ++++++++++++++++++++++++++++++++++++++
 xen/common/kernel.c               |   3 +
 xen/include/asm-arm/processor.h   |   3 +
 xen/include/asm-arm/psci.h        |  44 +++---
 xen/include/asm-arm/smccc.h       |  96 ++++++++++++
 xen/include/asm-arm/vsmc.h        |  31 ++++
 xen/include/public/arch-arm/smc.h |  66 ++++++++
 xen/include/public/features.h     |   3 +
 xen/include/public/xen.h          |   9 ++
 13 files changed, 561 insertions(+), 161 deletions(-)
 create mode 100644 xen/arch/arm/vsmc.c
 create mode 100644 xen/include/asm-arm/smccc.h
 create mode 100644 xen/include/asm-arm/vsmc.h
 create mode 100644 xen/include/public/arch-arm/smc.h

-- 
2.7.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2017-09-13 10:04 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-21 20:27 [PATCH v4 00/11] Handle SMCs and HVCs in conformance with SMCCC Volodymyr Babchuk
2017-08-21 20:27 ` [PATCH v4 01/11] arm: traps: use generic register accessors in the PSCI code Volodymyr Babchuk
2017-08-24 14:41   ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 02/11] arm: traps: check if SMC was conditional before handling it Volodymyr Babchuk
2017-08-24 14:42   ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 03/11] public: xen.h: add definitions for UUID handling Volodymyr Babchuk
2017-08-22  7:26   ` Jan Beulich
2017-08-22 14:37     ` Volodymyr Babchuk
2017-08-23  8:10       ` Jan Beulich
2017-08-23 11:08         ` Volodymyr Babchuk
2017-08-23 11:29           ` Jan Beulich
2017-08-30 16:20             ` Volodymyr Babchuk
2017-08-31  7:34               ` Jan Beulich
2017-08-31 12:24                 ` Volodymyr Babchuk
2017-08-31 12:53                   ` Jan Beulich
2017-08-31 13:21                     ` Volodymyr Babchuk
2017-08-31 14:34                       ` Ian Jackson
2017-08-31 15:12                       ` Jan Beulich
2017-08-21 20:27 ` [PATCH v4 04/11] arm: processor.h: add definition for immediate value mask Volodymyr Babchuk
2017-08-24 14:45   ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 05/11] arm: add SMCCC protocol definitions Volodymyr Babchuk
2017-08-24 15:00   ` Julien Grall
2017-08-28 20:28     ` Volodymyr Babchuk
2017-09-13 10:04       ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 06/11] arm: smccc: handle SMCs according to SMCCC Volodymyr Babchuk
2017-08-24 16:40   ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 07/11] arm: traps: handle PSCI calls inside `vsmc.c` Volodymyr Babchuk
2017-08-24 16:58   ` Julien Grall
2017-08-25 10:56     ` Volodymyr Babchuk
2017-08-25 11:10       ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 08/11] arm: PSCI: use definitions provided by asm/smccc.h Volodymyr Babchuk
2017-08-24 17:22   ` Julien Grall
2017-08-25 11:00     ` Volodymyr Babchuk
2017-08-25 11:13       ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 09/11] arm: vsmc: remove 64 bit mode check in PSCI handler Volodymyr Babchuk
2017-08-21 20:27 ` [PATCH v4 10/11] public: add XENFEAT_ARM_SMCCC_supported feature Volodymyr Babchuk
2017-08-24 17:25   ` Julien Grall
2017-08-31 12:20     ` Sergej Proskurin
2017-08-31 12:44       ` Volodymyr Babchuk
2017-08-31 13:51         ` Sergej Proskurin
2017-08-31 14:58           ` Volodymyr Babchuk
2017-08-31 20:16             ` Sergej Proskurin
2017-09-04  6:07               ` Julien Grall
2017-09-04  9:57                 ` Sergej Proskurin
2017-09-11 11:33                   ` Julien Grall
2017-08-21 20:27 ` [PATCH v4 11/11] arm: enable " Volodymyr Babchuk
2017-08-22  7:29   ` Jan Beulich
2017-08-24 17:23     ` Julien Grall

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.