Re: [PATCH kvm-unit-tests 2/8] arm/arm64: Move setup_vm into setup

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

 



On 07/04/2021 19:59, Andrew Jones wrote:
Consolidate our setup calls to reduce the amount we need to do from
init::start. Also remove a couple of pointless comments from setup().

Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>

No need for this to be in assembly.

Reviewed-by: Nikos Nikoleris <nikos.nikoleris@xxxxxxx>

Thanks,

Nikos

---
  arm/cstart.S    | 6 ------
  arm/cstart64.S  | 5 -----
  lib/arm/setup.c | 7 +++++--
  3 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/arm/cstart.S b/arm/cstart.S
index 653ab1e8a141..731f841695ce 100644
--- a/arm/cstart.S
+++ b/arm/cstart.S
@@ -81,12 +81,7 @@ start:
  	/* complete setup */
  	pop	{r0-r1}
  	bl	setup
-	bl	get_mmu_off
-	cmp	r0, #0
-	bne	1f
-	bl	setup_vm
-1:
  	/* run the test */
  	ldr	r0, =__argc
  	ldr	r0, [r0]
@@ -108,7 +103,6 @@ enable_vfp:
  	vmsr	fpexc, r0
  	mov	pc, lr
-.global get_mmu_off
  get_mmu_off:
  	ldr	r0, =auxinfo
  	ldr	r0, [r0, #4]
diff --git a/arm/cstart64.S b/arm/cstart64.S
index d39cf4dfb99c..add60a2b4e74 100644
--- a/arm/cstart64.S
+++ b/arm/cstart64.S
@@ -95,11 +95,7 @@ start:
  	/* complete setup */
  	mov	x0, x4				// restore the addr of the dtb
  	bl	setup
-	bl	get_mmu_off
-	cbnz	x0, 1f
-	bl	setup_vm
-1:
  	/* run the test */
  	adrp	x0, __argc
  	ldr	w0, [x0, :lo12:__argc]
@@ -113,7 +109,6 @@ start:
.text -.globl get_mmu_off
  get_mmu_off:
  	adrp	x0, auxinfo
  	ldr	x0, [x0, :lo12:auxinfo + 8]
diff --git a/lib/arm/setup.c b/lib/arm/setup.c
index 751ba980000a..9c16f6004e9f 100644
--- a/lib/arm/setup.c
+++ b/lib/arm/setup.c
@@ -16,6 +16,8 @@
  #include <alloc.h>
  #include <alloc_phys.h>
  #include <alloc_page.h>
+#include <vmalloc.h>
+#include <auxinfo.h>
  #include <argv.h>
  #include <asm/thread_info.h>
  #include <asm/setup.h>
@@ -233,7 +235,6 @@ void setup(const void *fdt)
  		freemem += initrd_size;
  	}
- /* call init functions */
  	mem_init(PAGE_ALIGN((unsigned long)freemem));
  	cpu_init();
@@ -243,7 +244,6 @@ void setup(const void *fdt)
  	/* mem_init must be called before io_init */
  	io_init();
- /* finish setup */
  	timer_save_state();
ret = dt_get_bootargs(&bootargs);
@@ -256,4 +256,7 @@ void setup(const void *fdt)
  		memcpy(env, initrd, initrd_size);
  		setup_env(env, initrd_size);
  	}
+
+	if (!(auxinfo.flags & AUXINFO_MMU_OFF))
+		setup_vm();
  }




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux