]> xenbits.xensource.com Git - people/sstabellini/xen-unstable.git/.git/commitdiff
xen/arm: Rework secondary_start prototype
authorJulien Grall <julien.grall@arm.com>
Thu, 11 Apr 2019 20:28:50 +0000 (21:28 +0100)
committerJulien Grall <julien.grall@arm.com>
Mon, 10 Jun 2019 13:07:09 +0000 (14:07 +0100)
None of the parameters of secondary_start are actually used. So turn
secondary_start to a function with no parameters.

Also modify the assembly code to avoid setting-up the registers before
calling start_secondary.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Andrii Anisov <andrii.anisov@epam.com>
xen/arch/arm/arm32/head.S
xen/arch/arm/arm64/head.S
xen/arch/arm/smpboot.c

index bf609da285377e0dfac3cce5daf81590782355a5..5f817d473ea4cf38c8ad49f49032edfe83e4c877 100644 (file)
@@ -447,9 +447,9 @@ launch:
         ldr   sp, [r0]
         add   sp, #STACK_SIZE        /* (which grows down from the top). */
         sub   sp, #CPUINFO_sizeof    /* Make room for CPU save record */
-        mov   r0, r10                /* Marshal args: - phys_offset */
-        mov   r1, r8                 /*               - DTB address */
         teq   r12, #0
+        moveq r0, r10                /* Marshal args: - phys_offset */
+        moveq r1, r8                 /*               - DTB address */
         beq   start_xen              /* and disappear into the land of C */
         b     start_secondary        /* (to the appropriate entry point) */
 
index 74e28d658ffb4af3cf84c58e9dc5cd468f8a8ef4..ddd3a33108cf5a14671fa83dc0c6bd9758d297fd 100644 (file)
@@ -579,9 +579,10 @@ launch:
         sub   x0, x0, #CPUINFO_sizeof /* Make room for CPU save record */
         mov   sp, x0
 
+        cbnz  x22, 1f
+
         mov   x0, x20                /* Marshal args: - phys_offset */
         mov   x1, x21                /*               - FDT */
-        cbnz  x22, 1f
         b     start_xen              /* and disappear into the land of C */
 1:
         b     start_secondary        /* (to the appropriate entry point) */
index f756444362dc5a6d249d9b4feeddb1f44fe90c9a..00b64c3322db10f66246b3733834ee27cae6d460 100644 (file)
@@ -297,9 +297,7 @@ smp_prepare_cpus(void)
 }
 
 /* Boot the current CPU */
-void start_secondary(unsigned long boot_phys_offset,
-                     unsigned long fdt_paddr,
-                     unsigned long hwid)
+void start_secondary(void)
 {
     unsigned int cpuid = init_data.cpuid;