From: Manish Jaggi <manish.jaggi@cavium.com>
To: xen-devel@lists.xenproject.org, julien.grall@arm.com,
sstabellini@kernel.org, marc.zyngier@arm.com,
andre.przywara@arm.com
Cc: manish.jaggi@cavium.com
Subject: [PATCH v1 00/15] arm64: Mediate access to GICv3 sysregs at EL2
Date: Fri, 16 Mar 2018 17:28:27 +0530 [thread overview]
Message-ID: <cover.1521200294.git.manish.jaggi@cavium.com> (raw)
This patchset is a Xen port of Marc's patchset.
arm64: KVM: Mediate access to GICv3 sysregs at EL2 [1]
The current RFC patchset is a subset of [1], as it handleing only Group1 traps
as a PoC. Most of the trap code is added in vsysreg.c. Trap handler function is kept
independent of the usual guest trap handling code.
Looking for feedback on this approach.
The errata has been validated on Cavium ThunderX platform.
Steps to reporduce the errata
- Boot Xen with 2 cores.
- Disable group1 interrupts in domU kernel
- start domU, the kill and start again.
One of the Xen core would hang.
Code in this patchset fixes this issue.
[1] https://lists.cs.columbia.edu/pipermail/kvmarm/2017-June/026029.html
Changes from v0
- Added Group0 traps.
- Some cleanups and documentation
Changes from RFC
- Added commit information on ported patches from linux
- Added skip_hyp_tail to control calling leave_hypervisor_tail
- Added CAVIUM_CONFIG_ERRATUM_30115 which will auto enable workaround
Manish Jaggi (15):
arm64: cputype: Add MIDR values for Cavium ThunderX1 CPU family
arm64: Add config for Cavium Thunder erratum 30115
arm: Placeholder for handling Group0/1 traps for Cavium Erratum 30115
arm64: vgic-v3: Add ICV_BPR1_EL1 handler
arm64: vgic-v3: Add ICV_IGRPEN1_EL1 handler
arm64: Add accessors for the ICH_APxRn_EL2 registers
Expose ich_read/write_lr in vgic-v3-sr.c
arm64: Add ICV_IAR1_EL1 handler
arm64: vgic-v3: Add ICV_EOIR1_EL1 handler
arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler
arm64: vgic-v3: Add ICV_BPR0_EL1 handler
arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler
arm64: vgic-v3: Add misc Group-0 handlers
arm64: vgic-v3: Add ICV_AP(0/1)Rn_EL1 handler
Enable Group0/1 Traps by default for Cavium ThunderX1
docs/misc/arm/silicon-errata.txt | 1 +
xen/arch/arm/Kconfig | 11 +
xen/arch/arm/arm64/Makefile | 1 +
xen/arch/arm/arm64/vgic-v3-sr.c | 841 ++++++++++++++++++++++++++++++++++++
xen/arch/arm/cpuerrata.c | 21 +
xen/arch/arm/gic-v3.c | 12 +-
xen/arch/arm/traps.c | 31 ++
xen/include/asm-arm/arm64/sysregs.h | 21 +
xen/include/asm-arm/arm64/traps.h | 3 +
xen/include/asm-arm/cpuerrata.h | 1 +
xen/include/asm-arm/cpufeature.h | 3 +-
xen/include/asm-arm/current.h | 3 +-
xen/include/asm-arm/gic.h | 2 +
xen/include/asm-arm/gic_v3_defs.h | 33 +-
xen/include/asm-arm/processor.h | 9 +
15 files changed, 987 insertions(+), 6 deletions(-)
create mode 100644 xen/arch/arm/arm64/vgic-v3-sr.c
--
2.14.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next reply other threads:[~2018-03-16 11:59 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-16 11:58 Manish Jaggi [this message]
2018-03-16 11:58 ` [PATCH v1 01/15] arm64: cputype: Add MIDR values for Cavium ThunderX1 CPU family Manish Jaggi
2018-03-20 7:38 ` Julien Grall
2018-03-16 11:58 ` [PATCH v1 02/15] arm64: Add config for Cavium Thunder erratum 30115 Manish Jaggi
2018-03-20 7:43 ` Julien Grall
2018-03-21 5:06 ` Manish Jaggi
2018-03-21 7:49 ` Julien Grall
2018-03-16 11:58 ` [PATCH v1 03/15] arm: Placeholder for handling Group0/1 traps for Cavium Erratum 30115 Manish Jaggi
2018-03-20 8:08 ` Julien Grall
2018-03-16 11:58 ` [PATCH v1 04/15] arm64: vgic-v3: Add ICV_BPR1_EL1 handler Manish Jaggi
2018-03-21 8:11 ` Julien Grall
2018-03-26 13:11 ` Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 05/15] arm64: vgic-v3: Add ICV_IGRPEN1_EL1 handler Manish Jaggi
2018-03-21 8:38 ` Julien Grall
2018-03-26 13:09 ` Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 06/15] arm64: Add accessors for the ICH_APxRn_EL2 registers Manish Jaggi
2018-03-26 13:19 ` Manish Jaggi
2018-03-26 14:36 ` Marc Zyngier
2018-03-16 11:58 ` [PATCH v1 07/15] Expose ich_read/write_lr in vgic-v3-sr.c Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 08/15] arm64: Add ICV_IAR1_EL1 handler Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 09/15] arm64: vgic-v3: Add ICV_EOIR1_EL1 handler Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 10/15] arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 11/15] arm64: vgic-v3: Add ICV_BPR0_EL1 handler Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 12/15] arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 13/15] arm64: vgic-v3: Add misc Group-0 handlers Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 14/15] arm64: vgic-v3: Add ICV_AP(0/1)Rn_EL1 handler Manish Jaggi
2018-03-16 11:58 ` [PATCH v1 15/15] Enable Group0/1 Traps by default for Cavium ThunderX1 Manish Jaggi
2018-03-20 7:46 ` [PATCH v1 00/15] arm64: Mediate access to GICv3 sysregs at EL2 Julien Grall
2018-03-21 4:58 ` Manish Jaggi
2018-03-21 5:02 ` Julien Grall
2018-03-21 8:45 ` Julien Grall
2018-03-21 9:38 ` Manish Jaggi
2018-03-21 9:56 ` Julien Grall
2018-03-23 6:42 ` Manish Jaggi
2018-03-23 6:58 ` Julien Grall
2018-03-26 4:43 ` Manish Jaggi
2018-03-26 8:24 ` Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1521200294.git.manish.jaggi@cavium.com \
--to=manish.jaggi@cavium.com \
--cc=andre.przywara@arm.com \
--cc=julien.grall@arm.com \
--cc=marc.zyngier@arm.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).