[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] ARM: GICv3: enable ITS on the host



commit bde03c44b1d368edcdace8cdfef56cba3211411c
Author:     Andre Przywara <andre.przywara@xxxxxxx>
AuthorDate: Wed Apr 19 17:30:49 2017 +0100
Commit:     Stefano Stabellini <sstabellini@xxxxxxxxxx>
CommitDate: Wed Jun 14 11:38:37 2017 -0700

    ARM: GICv3: enable ITS on the host
    
    Even though the ITS emulation is not yet in place, the host ITS already
    gets initialized and Xen tries to map the host collections.
    However for commands to be processed we need to *enable* the ITS, which
    will be done in a later patch not yet merged.
    So those MAPC commands are not processed and run into a timeout, leading
    to a panic on machines which advertise an ITS in their DT.
    This patch just enables the ITS (but not the LPIs on each redistributor),
    to get those MAPC commands executed.
    
    This fixes booting Xen on ARM64 machines with an ITS and the
    (EXPERT) ITS Kconfig option enabled.
    
    Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
    Acked-by: Julien Grall <julien.grall@xxxxxxx>
    Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
---
 xen/arch/arm/gic-v3-its.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 07280b3..aebc257 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -505,6 +505,10 @@ static int gicv3_its_init_single_its(struct host_its 
*hw_its)
         return -ENOMEM;
     writeq_relaxed(0, hw_its->its_base + GITS_CWRITER);
 
+    /* Now enable interrupt translation and command processing on that ITS. */
+    reg = readl_relaxed(hw_its->its_base + GITS_CTLR);
+    writel_relaxed(reg | GITS_CTLR_ENABLE, hw_its->its_base + GITS_CTLR);
+
     return 0;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.