Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm Use C rather than assembly
details: https://anonhg.NetBSD.org/src/rev/849680816be8
branches: trunk
changeset: 937883:849680816be8
user: skrll <skrll%NetBSD.org@localhost>
date: Fri Aug 28 13:15:05 2020 +0000
description:
Use C rather than assembly
diffstat:
sys/arch/arm/arm/armv6_start.S | 17 +----------------
sys/arch/arm/arm32/arm32_machdep.c | 19 ++++++++++++++++---
2 files changed, 17 insertions(+), 19 deletions(-)
diffs (84 lines):
diff -r 0622a26a927a -r 849680816be8 sys/arch/arm/arm/armv6_start.S
--- a/sys/arch/arm/arm/armv6_start.S Fri Aug 28 13:13:55 2020 +0000
+++ b/sys/arch/arm/arm/armv6_start.S Fri Aug 28 13:15:05 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: armv6_start.S,v 1.25 2020/08/28 13:00:29 skrll Exp $ */
+/* $NetBSD: armv6_start.S,v 1.26 2020/08/28 13:15:05 skrll Exp $ */
/*-
* Copyright (c) 2012, 2017, 2018 The NetBSD Foundation, Inc.
@@ -897,21 +897,6 @@
mov r0, R_INDEX
bl cpu_init_secondary_processor
- /* r0 = &cpu_info_store[0] */
- movw r0, #:lower16:cpu_info_store
- movt r0, #:upper16:cpu_info_store
-
- mov r4, #CPU_INFO_SIZE
- mul r5, r4, R_INDEX
- add r0, r5
-
- mrc p15, 0, r1, c0, c0, 0 // MIDR get
- str r1, [r0, #CI_MIDR]
- mrc p15, 0, r1, c0, c0, 5 // MPIDR get
- str r1, [r0, #CI_MPIDR]
-
- bl arm_cpu_topology_set
-
/*
* Wait for cpu_boot_secondary_processors
*/
diff -r 0622a26a927a -r 849680816be8 sys/arch/arm/arm32/arm32_machdep.c
--- a/sys/arch/arm/arm32/arm32_machdep.c Fri Aug 28 13:13:55 2020 +0000
+++ b/sys/arch/arm/arm32/arm32_machdep.c Fri Aug 28 13:15:05 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: arm32_machdep.c,v 1.136 2020/07/10 12:25:09 skrll Exp $ */
+/* $NetBSD: arm32_machdep.c,v 1.137 2020/08/28 13:15:05 skrll Exp $ */
/*
* Copyright (c) 1994-1998 Mark Brinicombe.
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: arm32_machdep.c,v 1.136 2020/07/10 12:25:09 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arm32_machdep.c,v 1.137 2020/08/28 13:15:05 skrll Exp $");
#include "opt_arm_debug.h"
#include "opt_arm_start.h"
@@ -78,6 +78,7 @@
#include <arm/locore.h>
+#include <arm/cpu_topology.h>
#include <arm/arm32/machdep.h>
#include <machine/bootconfig.h>
@@ -771,13 +772,25 @@
VPRINTS(")");
#endif
+ struct cpu_info * ci = &cpu_info_store[cpuindex];
+
+ VPRINTS(" ci = ");
+ VPRINTX((int)ci);
+
+ ci->ci_midr = armreg_midr_read();
+ ci->ci_mpidr = armreg_mpidr_read();
+
+ arm_cpu_topology_set(ci, ci->ci_mpidr);
+
VPRINTS(" hatched|=");
VPRINTX(__BIT(cpuindex));
VPRINTS("\n\r");
cpu_set_hatched(cpuindex);
- /* return to assembly to wait for cpu_boot_secondary_processors */
+ /*
+ * return to assembly to wait for cpu_boot_secondary_processors
+ */
}
void
Home |
Main Index |
Thread Index |
Old Index