qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 00/21] target-arm: add CPU core TrustZone support
@ 2013-12-03  8:48 Sergey Fedorov
  2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 01/21] target-arm: add TrustZone CPU feature Sergey Fedorov
                   ` (21 more replies)
  0 siblings, 22 replies; 67+ messages in thread
From: Sergey Fedorov @ 2013-12-03  8:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, a.basov, Sergey Fedorov, johannes.winter

This patch set implements a basic support of CPU core TrustZone feature. The
following major functionalities are implemented:
  * CPU monitor mode
  * Separate code translation for each secure state
  * CPACR & NSACR co-processor access control
  * Separate TLB for each secure state
  * Co-processor register banking
  * SMC instruction
  * FIQ/IRQ routing to monitor mode

There is no support for banked co-processor register migration, save/load its
VM state yet. That is an open question how to implement this functionality. Any
suggestions is greatly appreciated.

This patch set is a request for comments for the proof of concept.

Sergey Fedorov (18):
  target-arm: move SCR & VBAR into TrustZone register list
  target-arm: adjust TTBCR for TrustZone feature
  target-arm: add arm_is_secure() helper
  target-arm: reject switching to monitor mode from non-secure state
  target-arm: adjust arm_current_pl() for TrustZone
  target-arm: adjust SCR CP15 register access rights
  target-arm: add non-secure Translation Block flag
  target-arm: implement CPACR register logic
  target-arm: add NSACR support
  target-arm: add SDER definition
  target-arm: split TLB for secure state
  target-arm: add banked coprocessor register type
  target-arm: convert appropriate coprocessor registers to banked type
  target-arm: use c13_context field for CONTEXTIDR
  target-arm: switch banked CP registers
  target-arm: add MVBAR support
  target-arm: implement SMC instruction
  target-arm: implement IRQ/FIQ routing to Monitor mode

Svetlana Fedoseeva (3):
  target-arm: add TrustZone CPU feature
  target-arm: preserve RAO/WI bits of ARMv7 SCTLR
  target-arm: add CPU Monitor mode

 target-arm/cpu.c       |    6 +-
 target-arm/cpu.h       |  126 ++++++++++++----
 target-arm/helper.c    |  308 +++++++++++++++++++++++++++++---------
 target-arm/machine.c   |   12 +-
 target-arm/translate.c |  388 ++++++++++++++++++++++++++++++------------------
 target-arm/translate.h |    2 +
 6 files changed, 585 insertions(+), 257 deletions(-)

-- 
1.7.9.5

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

end of thread, other threads:[~2013-12-23  9:05 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-03  8:48 [Qemu-devel] [RFC PATCH 00/21] target-arm: add CPU core TrustZone support Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 01/21] target-arm: add TrustZone CPU feature Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 02/21] target-arm: move SCR & VBAR into TrustZone register list Sergey Fedorov
2013-12-19  3:12   ` Peter Crosthwaite
2013-12-19  6:23     ` Fedorov Sergey
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 03/21] target-arm: adjust TTBCR for TrustZone feature Sergey Fedorov
2013-12-03 12:15   ` Peter Crosthwaite
2013-12-04  9:50     ` Fedorov Sergey
2013-12-04 10:52       ` Peter Crosthwaite
2013-12-19  3:18         ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 04/21] target-arm: preserve RAO/WI bits of ARMv7 SCTLR Sergey Fedorov
2013-12-03 12:17   ` Peter Crosthwaite
2013-12-04  9:55     ` Fedorov Sergey
2013-12-19  3:19       ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 05/21] target-arm: add CPU Monitor mode Sergey Fedorov
2013-12-03 12:20   ` Peter Crosthwaite
2013-12-03 12:51     ` Peter Maydell
2013-12-04 10:01       ` Fedorov Sergey
2013-12-04 10:58         ` Peter Crosthwaite
2013-12-04 11:18           ` Peter Maydell
2013-12-04 12:33             ` Fedorov Sergey
2013-12-04 12:35               ` Peter Maydell
2013-12-19  3:26                 ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 06/21] target-arm: add arm_is_secure() helper Sergey Fedorov
2013-12-19  3:31   ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 07/21] target-arm: reject switching to monitor mode from non-secure state Sergey Fedorov
2013-12-19  3:44   ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 08/21] target-arm: adjust arm_current_pl() for TrustZone Sergey Fedorov
2013-12-03 12:23   ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 09/21] target-arm: adjust SCR CP15 register access rights Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 10/21] target-arm: add non-secure Translation Block flag Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 11/21] target-arm: implement CPACR register logic Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 12/21] target-arm: add NSACR support Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 13/21] target-arm: add SDER definition Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 14/21] target-arm: split TLB for secure state Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 15/21] target-arm: add banked coprocessor register type Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 16/21] target-arm: convert appropriate coprocessor registers to banked type Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 17/21] target-arm: use c13_context field for CONTEXTIDR Sergey Fedorov
2013-12-19  4:31   ` Peter Crosthwaite
2013-12-19  6:29     ` Fedorov Sergey
2013-12-19  6:32   ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 18/21] target-arm: switch banked CP registers Sergey Fedorov
2013-12-19  4:37   ` Peter Crosthwaite
2013-12-19  7:27     ` Fedorov Sergey
2013-12-19 11:38       ` Peter Maydell
2013-12-19 12:44         ` Peter Crosthwaite
2013-12-19 13:39           ` Fedorov Sergey
2013-12-19 14:01             ` Peter Crosthwaite
2013-12-19 14:09               ` Peter Maydell
2013-12-20 14:12         ` Fedorov Sergey
2013-12-20 14:33           ` Peter Maydell
2013-12-20 14:38             ` Fedorov Sergey
2013-12-20 16:18               ` Fedorov Sergey
2013-12-22  1:08             ` Peter Crosthwaite
2013-12-22  7:59               ` Peter Maydell
2013-12-23  7:28               ` Fedorov Sergey
2013-12-23  7:43             ` Fedorov Sergey
2013-12-23  9:05               ` Peter Maydell
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 19/21] target-arm: add MVBAR support Sergey Fedorov
2013-12-19  4:41   ` Peter Crosthwaite
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 20/21] target-arm: implement SMC instruction Sergey Fedorov
2013-12-03  8:48 ` [Qemu-devel] [RFC PATCH 21/21] target-arm: implement IRQ/FIQ routing to Monitor mode Sergey Fedorov
2013-12-04 10:08 ` [Qemu-devel] [RFC PATCH 00/21] target-arm: add CPU core TrustZone support Fedorov Sergey
2013-12-04 11:10   ` Peter Crosthwaite
2013-12-04 11:13   ` Peter Maydell
2013-12-04 12:48     ` Fedorov Sergey
2013-12-19  4:56       ` Peter Crosthwaite

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).