[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-cvs
Subject:    [Xen-changelog] [xen master] xen: arm: implement smp initialisation callbacks for exynos5
From:       patchbot () xen ! org
Date:       2013-09-28 17:23:56
Message-ID: E1VPyFI-0005nu-Fr () xenbits ! xen ! org
[Download RAW message or body]

commit 09d1e8de8099ed2e3f75c8fe10750ad1b9b5264f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Sep 27 10:38:21 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Sep 27 16:49:43 2013 +0100

    xen: arm: implement smp initialisation callbacks for exynos5
    
    These were removed in "xen: arm: rewrite start of day page table and cpu
    bring up".
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Julien Grall <julien.grall@linaro.org>
---
 xen/arch/arm/platforms/exynos5.c |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index 36d2325..a2bf916 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -65,6 +65,35 @@ static int exynos5_specific_mapping(struct domain *d)
     return 0;
 }
 
+static int __init exynos5_smp_init(void)
+{
+    void __iomem *sysram;
+
+    sysram = ioremap_nocache(S5P_PA_SYSRAM, PAGE_SIZE);
+    if ( !sysram )
+    {
+        dprintk(XENLOG_ERR, "Unable to map exynos5 MMIO\n");
+        return -EFAULT;
+    }
+
+    printk("Set SYSRAM to %"PRIpaddr" (%p)\n",
+           __pa(init_secondary), init_secondary);
+    writel(__pa(init_secondary), sysram);
+
+    iounmap(sysram);
+
+    return 0;
+}
+
+static int __init exynos5_cpu_up(int cpu)
+{
+    /* Nothing to do here, the generic sev() will suffice to kick CPUs
+     * out of either the firmware or our own smp_up_cpu gate,
+     * depending on where they have ended up. */
+
+    return 0;
+}
+
 static void exynos5_reset(void)
 {
     void __iomem *pmu;
@@ -107,6 +136,8 @@ PLATFORM_START(exynos5, "SAMSUNG EXYNOS5")
     .compatible = exynos5_dt_compat,
     .init_time = exynos5_init_time,
     .specific_mapping = exynos5_specific_mapping,
+    .smp_init = exynos5_smp_init,
+    .cpu_up = exynos5_cpu_up,
     .reset = exynos5_reset,
     .quirks = exynos5_quirks,
     .blacklist_dev = exynos5_blacklist_dev,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic