summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/aarch64/aarch64/machdep.c11
-rw-r--r--sys/arch/amd64/isa/i8042.c2
-rw-r--r--sys/arch/amd64/isa/mc1468.c2
-rw-r--r--sys/arch/amd64/isa/spkr.c2
4 files changed, 14 insertions, 3 deletions
diff --git a/sys/arch/aarch64/aarch64/machdep.c b/sys/arch/aarch64/aarch64/machdep.c
index 33d7c42..9a96cbb 100644
--- a/sys/arch/aarch64/aarch64/machdep.c
+++ b/sys/arch/aarch64/aarch64/machdep.c
@@ -31,6 +31,7 @@
#include <sys/panic.h>
#include <machine/cpu.h>
#include <machine/sync.h>
+#include <machine/board.h>
struct cpu_info g_bsp_ci = {0};
@@ -98,3 +99,13 @@ cpu_startup(struct cpu_info *ci)
__ASMV("msr tpidr_el1, %0" :: "r" (ci));
md_cpu_init();
}
+
+void
+md_get_board(struct board_info *res)
+{
+ uint64_t midr_el1;
+
+ __ASMV("mrs %0, midr_el1" : "=r" (midr_el1));
+ res->partno = (midr_el1 >> 4) & 0xFFF;
+ res->implementer = (midr_el1 >> 24) & 0xFF;
+}
diff --git a/sys/arch/amd64/isa/i8042.c b/sys/arch/amd64/isa/i8042.c
index eb8960c..69d9f92 100644
--- a/sys/arch/amd64/isa/i8042.c
+++ b/sys/arch/amd64/isa/i8042.c
@@ -435,4 +435,4 @@ i8042_init(void)
return 0;
}
-DRIVER_EXPORT(i8042_init);
+DRIVER_EXPORT(i8042_init, "i8042");
diff --git a/sys/arch/amd64/isa/mc1468.c b/sys/arch/amd64/isa/mc1468.c
index bbaa3d1..1f3ae1d 100644
--- a/sys/arch/amd64/isa/mc1468.c
+++ b/sys/arch/amd64/isa/mc1468.c
@@ -278,4 +278,4 @@ static struct cdevsw mc1468_cdevsw = {
.write = mc1468_dev_write,
};
-DRIVER_EXPORT(mc1468_init);
+DRIVER_EXPORT(mc1468_init, "mc1468");
diff --git a/sys/arch/amd64/isa/spkr.c b/sys/arch/amd64/isa/spkr.c
index b2f63b0..c96e5f9 100644
--- a/sys/arch/amd64/isa/spkr.c
+++ b/sys/arch/amd64/isa/spkr.c
@@ -119,4 +119,4 @@ static struct cdevsw beep_cdevsw = {
.write = dev_write
};
-DRIVER_EXPORT(beep_init);
+DRIVER_EXPORT(beep_init, "pcspkr");