port-arm/58194: Resurrect vmt(4) from bitrot On this architecture vmt(4) used to search for a node "/hypervisor" in the FDT and probed the VMware hypervisor call only when the node was found. However, things appear to have changed and VMware no longer provides the FDT node. Since vmt(4) doesn't actually need to read anything from FDT, and the hypervisor call logically resides in virtual CPUs themselves, it would be better to attach it directly to cpu, just like how it's probed on x86.diff -r1.12 -r1.13 src/distrib/sets/lists/modules/ad.aarch64
(pho)
--- src/distrib/sets/lists/modules/ad.aarch64 2023/04/11 10:30:41 1.12
+++ src/distrib/sets/lists/modules/ad.aarch64 2024/05/09 12:09:58 1.13
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | # $NetBSD: ad.aarch64,v 1.12 2023/04/11 10:30:41 riastradh Exp $ | 1 | # $NetBSD: ad.aarch64,v 1.13 2024/05/09 12:09:58 pho Exp $ | |
2 | ./@MODULEDIR@/amdgpu modules-base-kernel kmod | 2 | ./@MODULEDIR@/amdgpu modules-base-kernel kmod | |
3 | ./@MODULEDIR@/amdgpu/amdgpu.kmod modules-base-kernel kmod | 3 | ./@MODULEDIR@/amdgpu/amdgpu.kmod modules-base-kernel kmod | |
4 | ./@MODULEDIR@/bpfjit modules-base-kernel kmod,sljit | 4 | ./@MODULEDIR@/bpfjit modules-base-kernel kmod,sljit | |
5 | ./@MODULEDIR@/bpfjit/bpfjit.kmod modules-base-kernel kmod,sljit | 5 | ./@MODULEDIR@/bpfjit/bpfjit.kmod modules-base-kernel kmod,sljit | |
6 | ./@MODULEDIR@/compat_linux modules-base-kernel kmod | 6 | ./@MODULEDIR@/compat_linux modules-base-kernel kmod | |
7 | ./@MODULEDIR@/compat_linux/compat_linux.kmod modules-base-kernel kmod | 7 | ./@MODULEDIR@/compat_linux/compat_linux.kmod modules-base-kernel kmod | |
8 | ./@MODULEDIR@/compat_linux32 modules-base-kernel kmod | 8 | ./@MODULEDIR@/compat_linux32 modules-base-kernel kmod | |
9 | ./@MODULEDIR@/compat_linux32/compat_linux32.kmod modules-base-kernel kmod | 9 | ./@MODULEDIR@/compat_linux32/compat_linux32.kmod modules-base-kernel kmod | |
10 | ./@MODULEDIR@/compat_netbsd32 modules-base-kernel kmod | 10 | ./@MODULEDIR@/compat_netbsd32 modules-base-kernel kmod | |
11 | ./@MODULEDIR@/compat_netbsd32/compat_netbsd32.kmod modules-base-kernel kmod | 11 | ./@MODULEDIR@/compat_netbsd32/compat_netbsd32.kmod modules-base-kernel kmod | |
12 | ./@MODULEDIR@/compat_netbsd32_09 modules-base-kernel kmod | 12 | ./@MODULEDIR@/compat_netbsd32_09 modules-base-kernel kmod | |
13 | ./@MODULEDIR@/compat_netbsd32_09/compat_netbsd32_09.kmod modules-base-kernel kmod | 13 | ./@MODULEDIR@/compat_netbsd32_09/compat_netbsd32_09.kmod modules-base-kernel kmod | |
14 | #./@MODULEDIR@/compat_netbsd32_10 modules-base-kernel kmod | 14 | #./@MODULEDIR@/compat_netbsd32_10 modules-base-kernel kmod | |
@@ -67,13 +67,15 @@ | @@ -67,13 +67,15 @@ | |||
67 | ./@MODULEDIR@/drmkms_linux/drmkms_linux.kmod modules-base-kernel kmod | 67 | ./@MODULEDIR@/drmkms_linux/drmkms_linux.kmod modules-base-kernel kmod | |
68 | ./@MODULEDIR@/drmkms_pci modules-base-kernel kmod | 68 | ./@MODULEDIR@/drmkms_pci modules-base-kernel kmod | |
69 | ./@MODULEDIR@/drmkms_pci/drmkms_pci.kmod modules-base-kernel kmod | 69 | ./@MODULEDIR@/drmkms_pci/drmkms_pci.kmod modules-base-kernel kmod | |
70 | ./@MODULEDIR@/drmkms_sched modules-base-kernel kmod | 70 | ./@MODULEDIR@/drmkms_sched modules-base-kernel kmod | |
71 | ./@MODULEDIR@/drmkms_sched/drmkms_sched.kmod modules-base-kernel kmod | 71 | ./@MODULEDIR@/drmkms_sched/drmkms_sched.kmod modules-base-kernel kmod | |
72 | ./@MODULEDIR@/drmkms_ttm modules-base-kernel kmod | 72 | ./@MODULEDIR@/drmkms_ttm modules-base-kernel kmod | |
73 | ./@MODULEDIR@/drmkms_ttm/drmkms_ttm.kmod modules-base-kernel kmod | 73 | ./@MODULEDIR@/drmkms_ttm/drmkms_ttm.kmod modules-base-kernel kmod | |
74 | ./@MODULEDIR@/exec_elf32 modules-base-kernel kmod | 74 | ./@MODULEDIR@/exec_elf32 modules-base-kernel kmod | |
75 | ./@MODULEDIR@/exec_elf32/exec_elf32.kmod modules-base-kernel kmod | 75 | ./@MODULEDIR@/exec_elf32/exec_elf32.kmod modules-base-kernel kmod | |
76 | ./@MODULEDIR@/exec_elf64 modules-base-kernel kmod | 76 | ./@MODULEDIR@/exec_elf64 modules-base-kernel kmod | |
77 | ./@MODULEDIR@/exec_elf64/exec_elf64.kmod modules-base-kernel kmod | 77 | ./@MODULEDIR@/exec_elf64/exec_elf64.kmod modules-base-kernel kmod | |
78 | ./@MODULEDIR@/sljit modules-base-kernel kmod,sljit | 78 | ./@MODULEDIR@/sljit modules-base-kernel kmod,sljit | |
79 | ./@MODULEDIR@/sljit/sljit.kmod modules-base-kernel kmod,sljit | 79 | ./@MODULEDIR@/sljit/sljit.kmod modules-base-kernel kmod,sljit | |
80 | ./@MODULEDIR@/vmt modules-base-kernel kmod | |||
81 | ./@MODULEDIR@/vmt/vmt.kmod modules-base-kernel kmod |
--- src/share/man/man4/vmt.4 2020/10/27 08:57:10 1.3
+++ src/share/man/man4/vmt.4 2024/05/09 12:09:58 1.4
--- src/sys/arch/aarch64/aarch64/cpu.c 2024/02/07 04:20:26 1.74
+++ src/sys/arch/aarch64/aarch64/cpu.c 2024/05/09 12:09:58 1.75
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | /* $NetBSD: cpu.c,v 1.74 2024/02/07 04:20:26 msaitoh Exp $ */ | 1 | /* $NetBSD: cpu.c,v 1.75 2024/05/09 12:09:58 pho Exp $ */ | |
2 | 2 | |||
3 | /* | 3 | /* | |
4 | * Copyright (c) 2017 Ryo Shimizu | 4 | * Copyright (c) 2017 Ryo Shimizu | |
5 | * All rights reserved. | 5 | * All rights reserved. | |
6 | * | 6 | * | |
7 | * Redistribution and use in source and binary forms, with or without | 7 | * Redistribution and use in source and binary forms, with or without | |
8 | * modification, are permitted provided that the following conditions | 8 | * modification, are permitted provided that the following conditions | |
9 | * are met: | 9 | * are met: | |
10 | * 1. Redistributions of source code must retain the above copyright | 10 | * 1. Redistributions of source code must retain the above copyright | |
11 | * notice, this list of conditions and the following disclaimer. | 11 | * notice, this list of conditions and the following disclaimer. | |
12 | * 2. Redistributions in binary form must reproduce the above copyright | 12 | * 2. Redistributions in binary form must reproduce the above copyright | |
13 | * notice, this list of conditions and the following disclaimer in the | 13 | * notice, this list of conditions and the following disclaimer in the | |
14 | * documentation and/or other materials provided with the distribution. | 14 | * documentation and/or other materials provided with the distribution. | |
@@ -17,27 +17,27 @@ | @@ -17,27 +17,27 @@ | |||
17 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 17 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
19 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, | 19 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, | |
20 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 20 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
22 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 22 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
23 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | 23 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | |
24 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | 24 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | |
25 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 25 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
26 | * POSSIBILITY OF SUCH DAMAGE. | 26 | * POSSIBILITY OF SUCH DAMAGE. | |
27 | */ | 27 | */ | |
28 | 28 | |||
29 | #include <sys/cdefs.h> | 29 | #include <sys/cdefs.h> | |
30 | __KERNEL_RCSID(1, "$NetBSD: cpu.c,v 1.74 2024/02/07 04:20:26 msaitoh Exp $"); | 30 | __KERNEL_RCSID(1, "$NetBSD: cpu.c,v 1.75 2024/05/09 12:09:58 pho Exp $"); | |
31 | 31 | |||
32 | #include "locators.h" | 32 | #include "locators.h" | |
33 | #include "opt_arm_debug.h" | 33 | #include "opt_arm_debug.h" | |
34 | #include "opt_ddb.h" | 34 | #include "opt_ddb.h" | |
35 | #include "opt_fdt.h" | 35 | #include "opt_fdt.h" | |
36 | #include "opt_multiprocessor.h" | 36 | #include "opt_multiprocessor.h" | |
37 | 37 | |||
38 | #include <sys/param.h> | 38 | #include <sys/param.h> | |
39 | #include <sys/atomic.h> | 39 | #include <sys/atomic.h> | |
40 | #include <sys/cpu.h> | 40 | #include <sys/cpu.h> | |
41 | #include <sys/device.h> | 41 | #include <sys/device.h> | |
42 | #include <sys/kmem.h> | 42 | #include <sys/kmem.h> | |
43 | #include <sys/reboot.h> | 43 | #include <sys/reboot.h> | |
@@ -170,26 +170,31 @@ cpu_attach(device_t dv, cpuid_t id) | @@ -170,26 +170,31 @@ cpu_attach(device_t dv, cpuid_t id) | |||
170 | return; | 170 | return; | |
171 | } | 171 | } | |
172 | 172 | |||
173 | #ifdef DDB | 173 | #ifdef DDB | |
174 | db_machdep_init(ci); | 174 | db_machdep_init(ci); | |
175 | #endif | 175 | #endif | |
176 | 176 | |||
177 | cpu_init_counter(ci); | 177 | cpu_init_counter(ci); | |
178 | 178 | |||
179 | /* These currently only check the BP. */ | 179 | /* These currently only check the BP. */ | |
180 | cpu_setup_rng(dv, ci); | 180 | cpu_setup_rng(dv, ci); | |
181 | cpu_setup_aes(dv, ci); | 181 | cpu_setup_aes(dv, ci); | |
182 | cpu_setup_chacha(dv, ci); | 182 | cpu_setup_chacha(dv, ci); | |
183 | ||||
184 | struct cpufeature_attach_args cfaa; | |||
185 | memset(&cfaa, 0, sizeof(cfaa)); | |||
186 | cfaa.ci = ci; | |||
187 | config_found(dv, &cfaa, NULL, CFARGS(.iattr = "cpufeaturebus")); | |||
183 | } | 188 | } | |
184 | 189 | |||
185 | struct cpuidtab { | 190 | struct cpuidtab { | |
186 | uint32_t cpu_partnum; | 191 | uint32_t cpu_partnum; | |
187 | const char *cpu_name; | 192 | const char *cpu_name; | |
188 | const char *cpu_vendor; | 193 | const char *cpu_vendor; | |
189 | const char *cpu_architecture; | 194 | const char *cpu_architecture; | |
190 | }; | 195 | }; | |
191 | 196 | |||
192 | #define CPU_PARTMASK (CPU_ID_IMPLEMENTOR_MASK | CPU_ID_PARTNO_MASK) | 197 | #define CPU_PARTMASK (CPU_ID_IMPLEMENTOR_MASK | CPU_ID_PARTNO_MASK) | |
193 | 198 | |||
194 | const struct cpuidtab cpuids[] = { | 199 | const struct cpuidtab cpuids[] = { | |
195 | { CPU_ID_CORTEXA35R0 & CPU_PARTMASK, "Cortex-A35", "Arm", "v8-A" }, | 200 | { CPU_ID_CORTEXA35R0 & CPU_PARTMASK, "Cortex-A35", "Arm", "v8-A" }, |
/* $NetBSD */
/*
* Copyright (c) 2024 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
* NASA Ames Research Center.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/device.h>
#include <sys/module.h>
#include <dev/vmt/vmtreg.h>
#include <dev/vmt/vmtvar.h>
static int vmt_match(device_t, cfdata_t, void *);
static void vmt_attach(device_t, device_t, void *);
static int vmt_detach(device_t, int);
CFATTACH_DECL_NEW(vmt, sizeof(struct vmt_softc),
vmt_match, vmt_attach, vmt_detach, NULL);
static bool vmt_attached = false;
static int
vmt_match(device_t parent, cfdata_t match, void *aux)
{
/* vmt should not attach to more than a single CPU. */
if (vmt_attached)
return 0;
return vmt_probe();
}
static void
vmt_attach(device_t parent, device_t self, void *aux)
{
struct vmt_softc *sc = device_private(self);
aprint_naive("\n");
aprint_normal(": VMware Tools driver\n");
sc->sc_dev = self;
vmt_common_attach(sc);
vmt_attached = true;
}
static int
vmt_detach(device_t self, int flags)
{
struct vmt_softc *sc = device_private(self);
int rv;
rv = vmt_common_detach(sc);
if (rv != 0)
return rv;
vmt_attached = false;
return 0;
}
MODULE(MODULE_CLASS_DRIVER, vmt, "sysmon_power,sysmon_taskq");
#ifdef _MODULE
#include "ioconf.c"
#endif
static int
vmt_modcmd(modcmd_t cmd, void *aux)
{
int error = 0;
switch (cmd) {
case MODULE_CMD_INIT:
#ifdef _MODULE
error = config_init_component(cfdriver_ioconf_vmt,
cfattach_ioconf_vmt, cfdata_ioconf_vmt);
#endif
break;
case MODULE_CMD_FINI:
#ifdef _MODULE
error = config_fini_component(cfdriver_ioconf_vmt,
cfattach_ioconf_vmt, cfdata_ioconf_vmt);
#endif
break;
case MODULE_CMD_AUTOUNLOAD:
error = EBUSY;
break;
default:
error = ENOTTY;
break;
}
return error;
}
--- src/sys/arch/aarch64/conf/files.aarch64 2024/02/18 09:03:44 1.44
+++ src/sys/arch/aarch64/conf/files.aarch64 2024/05/09 12:09:58 1.45
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | # $NetBSD: files.aarch64,v 1.44 2024/02/18 09:03:44 andvar Exp $ | 1 | # $NetBSD: files.aarch64,v 1.45 2024/05/09 12:09:58 pho Exp $ | |
2 | 2 | |||
3 | defflag opt_cpuoptions.h AARCH64_ALIGNMENT_CHECK | 3 | defflag opt_cpuoptions.h AARCH64_ALIGNMENT_CHECK | |
4 | defflag opt_cpuoptions.h AARCH64_EL0_STACK_ALIGNMENT_CHECK | 4 | defflag opt_cpuoptions.h AARCH64_EL0_STACK_ALIGNMENT_CHECK | |
5 | defflag opt_cpuoptions.h AARCH64_EL1_STACK_ALIGNMENT_CHECK | 5 | defflag opt_cpuoptions.h AARCH64_EL1_STACK_ALIGNMENT_CHECK | |
6 | defflag opt_cpuoptions.h AARCH64_HAVE_L2CTLR | 6 | defflag opt_cpuoptions.h AARCH64_HAVE_L2CTLR | |
7 | defflag opt_cpuoptions.h AARCH64_DEVICE_MEM_NONPOSTED | 7 | defflag opt_cpuoptions.h AARCH64_DEVICE_MEM_NONPOSTED | |
8 | defflag opt_cpuoptions.h ARMV81_HAFDBS | 8 | defflag opt_cpuoptions.h ARMV81_HAFDBS | |
9 | 9 | |||
10 | defflag opt_cputypes.h CPU_ARMV8 | 10 | defflag opt_cputypes.h CPU_ARMV8 | |
11 | defflag opt_cputypes.h CPU_CORTEX: CPU_ARMV8 | 11 | defflag opt_cputypes.h CPU_CORTEX: CPU_ARMV8 | |
12 | defflag opt_cputypes.h CPU_THUNDERX: CPU_ARMV8 | 12 | defflag opt_cputypes.h CPU_THUNDERX: CPU_ARMV8 | |
13 | 13 | |||
14 | # Interrupt implementation header definition | 14 | # Interrupt implementation header definition | |
@@ -63,29 +63,34 @@ defflag opt_pmap.h PMAP_MI | @@ -63,29 +63,34 @@ defflag opt_pmap.h PMAP_MI | |||
63 | file dev/cons.c | 63 | file dev/cons.c | |
64 | 64 | |||
65 | # DDB | 65 | # DDB | |
66 | file arch/aarch64/aarch64/db_disasm.c ddb | 66 | file arch/aarch64/aarch64/db_disasm.c ddb | |
67 | file arch/aarch64/aarch64/db_interface.c ddb|kgdb | 67 | file arch/aarch64/aarch64/db_interface.c ddb|kgdb | |
68 | file arch/aarch64/aarch64/db_trace.c ddb | 68 | file arch/aarch64/aarch64/db_trace.c ddb | |
69 | file arch/aarch64/aarch64/db_machdep.c ddb | 69 | file arch/aarch64/aarch64/db_machdep.c ddb | |
70 | file arch/aarch64/aarch64/disasm.c ddb | 70 | file arch/aarch64/aarch64/disasm.c ddb | |
71 | #file arch/aarch64/aarch64/kgdb_machdep.c kgdb # XXX: not implemented | 71 | #file arch/aarch64/aarch64/kgdb_machdep.c kgdb # XXX: not implemented | |
72 | 72 | |||
73 | # mainbus files | 73 | # mainbus files | |
74 | device mainbus { [addr = -1], [size = 0], [intr = -1] } | 74 | device mainbus { [addr = -1], [size = 0], [intr = -1] } | |
75 | 75 | |||
76 | device cpu { } | 76 | device cpufeaturebus {} | |
77 | device cpu { }: cpufeaturebus | |||
77 | file arch/aarch64/aarch64/cpu.c cpu | 78 | file arch/aarch64/aarch64/cpu.c cpu | |
78 | 79 | |||
80 | # VMware Tools driver | |||
81 | attach vmt at cpufeaturebus | |||
82 | file arch/aarch64/aarch64/vmt.c vmt | |||
83 | ||||
79 | # bus_space(9) | 84 | # bus_space(9) | |
80 | define bus_space_generic | 85 | define bus_space_generic | |
81 | file arch/aarch64/aarch64/bus_space.c | 86 | file arch/aarch64/aarch64/bus_space.c | |
82 | file arch/aarch64/aarch64/bus_space_asm_generic.S # bus_space_generic | 87 | file arch/aarch64/aarch64/bus_space_asm_generic.S # bus_space_generic | |
83 | file arch/aarch64/aarch64/bus_space_notimpl.S | 88 | file arch/aarch64/aarch64/bus_space_notimpl.S | |
84 | 89 | |||
85 | # Standard files | 90 | # Standard files | |
86 | file arch/arm/arm/arm_cpu_topology.c | 91 | file arch/arm/arm/arm_cpu_topology.c | |
87 | file arch/arm/arm/arm_generic_dma.c | 92 | file arch/arm/arm/arm_generic_dma.c | |
88 | file arch/arm/arm/bootconfig.c | 93 | file arch/arm/arm/bootconfig.c | |
89 | file arch/arm/arm/bus_stubs.c | 94 | file arch/arm/arm/bus_stubs.c | |
90 | file arch/arm/arm/cpu_subr.c | 95 | file arch/arm/arm/cpu_subr.c | |
91 | file arch/arm/arm32/bus_dma.c | 96 | file arch/arm/arm32/bus_dma.c |
--- src/sys/arch/aarch64/include/cpu.h 2023/02/25 00:40:22 1.49
+++ src/sys/arch/aarch64/include/cpu.h 2024/05/09 12:09:59 1.50
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | /* $NetBSD: cpu.h,v 1.49 2023/02/25 00:40:22 riastradh Exp $ */ | 1 | /* $NetBSD: cpu.h,v 1.50 2024/05/09 12:09:59 pho Exp $ */ | |
2 | 2 | |||
3 | /*- | 3 | /*- | |
4 | * Copyright (c) 2014, 2020 The NetBSD Foundation, Inc. | 4 | * Copyright (c) 2014, 2020 The NetBSD Foundation, Inc. | |
5 | * All rights reserved. | 5 | * All rights reserved. | |
6 | * | 6 | * | |
7 | * This code is derived from software contributed to The NetBSD Foundation | 7 | * This code is derived from software contributed to The NetBSD Foundation | |
8 | * by Matt Thomas of 3am Software Foundry. | 8 | * by Matt Thomas of 3am Software Foundry. | |
9 | * | 9 | * | |
10 | * Redistribution and use in source and binary forms, with or without | 10 | * Redistribution and use in source and binary forms, with or without | |
11 | * modification, are permitted provided that the following conditions | 11 | * modification, are permitted provided that the following conditions | |
12 | * are met: | 12 | * are met: | |
13 | * 1. Redistributions of source code must retain the above copyright | 13 | * 1. Redistributions of source code must retain the above copyright | |
14 | * notice, this list of conditions and the following disclaimer. | 14 | * notice, this list of conditions and the following disclaimer. | |
@@ -237,21 +237,24 @@ cpu_dosoftints_ci(struct cpu_info *ci) | @@ -237,21 +237,24 @@ cpu_dosoftints_ci(struct cpu_info *ci) | |||
237 | } | 237 | } | |
238 | #endif | 238 | #endif | |
239 | } | 239 | } | |
240 | 240 | |||
241 | static inline void | 241 | static inline void | |
242 | cpu_dosoftints(void) | 242 | cpu_dosoftints(void) | |
243 | { | 243 | { | |
244 | #if defined(__HAVE_FAST_SOFTINTS) && !defined(__HAVE_PIC_FAST_SOFTINTS) | 244 | #if defined(__HAVE_FAST_SOFTINTS) && !defined(__HAVE_PIC_FAST_SOFTINTS) | |
245 | KDASSERT(kpreempt_disabled()); | 245 | KDASSERT(kpreempt_disabled()); | |
246 | cpu_dosoftints_ci(curcpu()); | 246 | cpu_dosoftints_ci(curcpu()); | |
247 | #endif | 247 | #endif | |
248 | } | 248 | } | |
249 | 249 | |||
250 | struct cpufeature_attach_args { | |||
251 | struct cpu_info *ci; | |||
252 | }; | |||
250 | 253 | |||
251 | #endif /* _KERNEL */ | 254 | #endif /* _KERNEL */ | |
252 | 255 | |||
253 | #endif /* _KERNEL || _KMEMUSER */ | 256 | #endif /* _KERNEL || _KMEMUSER */ | |
254 | 257 | |||
255 | #endif | 258 | #endif | |
256 | 259 | |||
257 | #endif /* _AARCH64_CPU_H_ */ | 260 | #endif /* _AARCH64_CPU_H_ */ |
--- src/sys/arch/evbarm/conf/GENERIC64 2023/10/11 07:49:29 1.214
+++ src/sys/arch/evbarm/conf/GENERIC64 2024/05/09 12:09:59 1.215
@@ -1,15 +1,15 @@ | @@ -1,15 +1,15 @@ | |||
1 | # | 1 | # | |
2 | # $NetBSD: GENERIC64,v 1.214 2023/10/11 07:49:29 rin Exp $ | 2 | # $NetBSD: GENERIC64,v 1.215 2024/05/09 12:09:59 pho Exp $ | |
3 | # | 3 | # | |
4 | # GENERIC ARM (aarch64) kernel | 4 | # GENERIC ARM (aarch64) kernel | |
5 | # | 5 | # | |
6 | 6 | |||
7 | include "arch/evbarm/conf/std.generic64" | 7 | include "arch/evbarm/conf/std.generic64" | |
8 | include "arch/evbarm/conf/files.generic64" | 8 | include "arch/evbarm/conf/files.generic64" | |
9 | include "arch/evbarm/conf/GENERIC.common" | 9 | include "arch/evbarm/conf/GENERIC.common" | |
10 | 10 | |||
11 | maxusers 64 | 11 | maxusers 64 | |
12 | 12 | |||
13 | options CPU_CORTEX | 13 | options CPU_CORTEX | |
14 | options CPU_THUNDERX | 14 | options CPU_THUNDERX | |
15 | options SOC_APPLE | 15 | options SOC_APPLE | |
@@ -121,27 +121,27 @@ acpibut* at acpi? | @@ -121,27 +121,27 @@ acpibut* at acpi? | |||
121 | acpicppc* at acpi? | 121 | acpicppc* at acpi? | |
122 | acpipcd* at acpi? | 122 | acpipcd* at acpi? | |
123 | acpipcc* at acpi? | 123 | acpipcc* at acpi? | |
124 | acpifan* at acpi? | 124 | acpifan* at acpi? | |
125 | acpiged* at acpi? | 125 | acpiged* at acpi? | |
126 | acpilid* at acpi? | 126 | acpilid* at acpi? | |
127 | acpitz* at acpi? | 127 | acpitz* at acpi? | |
128 | 128 | |||
129 | # CPUs | 129 | # CPUs | |
130 | cpus* at fdt? pass 0 | 130 | cpus* at fdt? pass 0 | |
131 | cpu* at fdt? pass 0 | 131 | cpu* at fdt? pass 0 | |
132 | cpu* at acpi? | 132 | cpu* at acpi? | |
133 | 133 | |||
134 | vmt* at fdt? # VMware Tools | 134 | vmt0 at cpu0 # VMware Tools | |
135 | 135 | |||
136 | # Performance monitors | 136 | # Performance monitors | |
137 | armpmu* at fdt? | 137 | armpmu* at fdt? | |
138 | pseudo-device tprof | 138 | pseudo-device tprof | |
139 | 139 | |||
140 | # CPU frequency scaling | 140 | # CPU frequency scaling | |
141 | cpufreqdt* at cpu? | 141 | cpufreqdt* at cpu? | |
142 | 142 | |||
143 | # Power State Coordination Interface (PSCI) | 143 | # Power State Coordination Interface (PSCI) | |
144 | psci* at fdt? pass 0 | 144 | psci* at fdt? pass 0 | |
145 | 145 | |||
146 | fclock* at fdt? pass 1 | 146 | fclock* at fdt? pass 1 | |
147 | ffclock* at fdt? pass 1 | 147 | ffclock* at fdt? pass 1 |
--- src/sys/arch/x86/x86/vmt.c 2020/10/27 08:57:11 1.21
+++ src/sys/arch/x86/x86/vmt.c 2024/05/09 12:09:59 1.22
@@ -1,36 +1,37 @@ | @@ -1,36 +1,37 @@ | |||
1 | /* $NetBSD: vmt.c,v 1.21 2020/10/27 08:57:11 ryo Exp $ */ | 1 | /* $NetBSD: vmt.c,v 1.22 2024/05/09 12:09:59 pho Exp $ */ | |
2 | /* $OpenBSD: vmt.c,v 1.11 2011/01/27 21:29:25 dtucker Exp $ */ | 2 | /* $OpenBSD: vmt.c,v 1.11 2011/01/27 21:29:25 dtucker Exp $ */ | |
3 | 3 | |||
4 | /* | 4 | /* | |
5 | * Copyright (c) 2007 David Crawshaw <david@zentus.com> | 5 | * Copyright (c) 2007 David Crawshaw <david@zentus.com> | |
6 | * Copyright (c) 2008 David Gwynne <dlg@openbsd.org> | 6 | * Copyright (c) 2008 David Gwynne <dlg@openbsd.org> | |
7 | * | 7 | * | |
8 | * Permission to use, copy, modify, and distribute this software for any | 8 | * Permission to use, copy, modify, and distribute this software for any | |
9 | * purpose with or without fee is hereby granted, provided that the above | 9 | * purpose with or without fee is hereby granted, provided that the above | |
10 | * copyright notice and this permission notice appear in all copies. | 10 | * copyright notice and this permission notice appear in all copies. | |
11 | * | 11 | * | |
12 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | 12 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
13 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | 13 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
14 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | 14 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
15 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | 15 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
16 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 16 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
17 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 17 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
18 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 18 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
19 | */ | 19 | */ | |
20 | 20 | |||
21 | /* | 21 | /* | |
22 | * Protocol reverse engineered by Ken Kato: | 22 | * Protocol reverse engineered by Ken Kato: | |
23 | * https://sites.google.com/site/chitchatvmback/backdoor | 23 | * https://sites.google.com/site/chitchatvmback/backdoor (dead link) | |
24 | * https://web.archive.org/web/20230325103442/https://sites.google.com/site/chitchatvmback/backdoor (archive) | |||
24 | */ | 25 | */ | |
25 | 26 | |||
26 | #include <sys/param.h> | 27 | #include <sys/param.h> | |
27 | #include <sys/types.h> | 28 | #include <sys/types.h> | |
28 | #include <sys/device.h> | 29 | #include <sys/device.h> | |
29 | #include <sys/module.h> | 30 | #include <sys/module.h> | |
30 | #include <machine/cpuvar.h> | 31 | #include <machine/cpuvar.h> | |
31 | 32 | |||
32 | #include <dev/sysmon/sysmonvar.h> | 33 | #include <dev/sysmon/sysmonvar.h> | |
33 | #include <dev/vmt/vmtreg.h> | 34 | #include <dev/vmt/vmtreg.h> | |
34 | #include <dev/vmt/vmtvar.h> | 35 | #include <dev/vmt/vmtvar.h> | |
35 | 36 | |||
36 | static int vmt_match(device_t, cfdata_t, void *); | 37 | static int vmt_match(device_t, cfdata_t, void *); |
--- src/sys/dev/fdt/files.fdt 2024/01/18 07:48:57 1.72
+++ src/sys/dev/fdt/files.fdt 2024/05/09 12:09:59 1.73
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | # $NetBSD: files.fdt,v 1.72 2024/01/18 07:48:57 skrll Exp $ | 1 | # $NetBSD: files.fdt,v 1.73 2024/05/09 12:09:59 pho Exp $ | |
2 | 2 | |||
3 | include "external/bsd/libfdt/conf/files.libfdt" | 3 | include "external/bsd/libfdt/conf/files.libfdt" | |
4 | 4 | |||
5 | defflag opt_fdt.h FDTBASE : libfdt, ofw_subr | 5 | defflag opt_fdt.h FDTBASE : libfdt, ofw_subr | |
6 | defflag opt_fdt.h FDT: FDTBASE | 6 | defflag opt_fdt.h FDT: FDTBASE | |
7 | defparam opt_fdt.h FDT_MEMORY_RANGES | 7 | defparam opt_fdt.h FDT_MEMORY_RANGES | |
8 | defparam opt_fdt.h FDT_DEFAULT_STDOUT_PATH | 8 | defparam opt_fdt.h FDT_DEFAULT_STDOUT_PATH | |
9 | 9 | |||
10 | define fdt { [pass = 10] } : clk, pwm | 10 | define fdt { [pass = 10] } : clk, pwm | |
11 | 11 | |||
12 | device simplebus: fdt | 12 | device simplebus: fdt | |
13 | attach simplebus at fdt | 13 | attach simplebus at fdt | |
14 | file dev/fdt/fdtbus.c fdt | 14 | file dev/fdt/fdtbus.c fdt | |
@@ -206,20 +206,16 @@ file dev/fdt/arasan_sdhc_fdt.c arasan_s | @@ -206,20 +206,16 @@ file dev/fdt/arasan_sdhc_fdt.c arasan_s | |||
206 | device usbnopphy | 206 | device usbnopphy | |
207 | attach usbnopphy at fdt | 207 | attach usbnopphy at fdt | |
208 | file dev/fdt/usbnopphy.c usbnopphy | 208 | file dev/fdt/usbnopphy.c usbnopphy | |
209 | 209 | |||
210 | # Simple Amplifier Audio Driver | 210 | # Simple Amplifier Audio Driver | |
211 | device simpleamp | 211 | device simpleamp | |
212 | attach simpleamp at fdt | 212 | attach simpleamp at fdt | |
213 | file dev/fdt/simple_amplifier.c simpleamp | 213 | file dev/fdt/simple_amplifier.c simpleamp | |
214 | 214 | |||
215 | # Broadcom GENET v5 | 215 | # Broadcom GENET v5 | |
216 | attach genet at fdt with genet_fdt | 216 | attach genet at fdt with genet_fdt | |
217 | file dev/fdt/genet_fdt.c genet_fdt | 217 | file dev/fdt/genet_fdt.c genet_fdt | |
218 | 218 | |||
219 | # VMware Tools driver | |||
220 | attach vmt at fdt with vmt_fdt | |||
221 | file dev/fdt/vmt_fdt.c vmt_fdt | |||
222 | ||||
223 | # Google Goldfish RTC | 219 | # Google Goldfish RTC | |
224 | attach gfrtc at fdt with gfrtc_fdt | 220 | attach gfrtc at fdt with gfrtc_fdt | |
225 | file dev/fdt/gfrtc_fdt.c gfrtc_fdt | 221 | file dev/fdt/gfrtc_fdt.c gfrtc_fdt |
--- src/sys/dev/vmt/vmt_subr.c 2024/04/02 20:04:16 1.9
+++ src/sys/dev/vmt/vmt_subr.c 2024/05/09 12:09:59 1.10
@@ -1,36 +1,37 @@ | @@ -1,36 +1,37 @@ | |||
1 | /* $NetBSD: vmt_subr.c,v 1.9 2024/04/02 20:04:16 christos Exp $ */ | 1 | /* $NetBSD: vmt_subr.c,v 1.10 2024/05/09 12:09:59 pho Exp $ */ | |
2 | /* $OpenBSD: vmt.c,v 1.11 2011/01/27 21:29:25 dtucker Exp $ */ | 2 | /* $OpenBSD: vmt.c,v 1.11 2011/01/27 21:29:25 dtucker Exp $ */ | |
3 | 3 | |||
4 | /* | 4 | /* | |
5 | * Copyright (c) 2007 David Crawshaw <david@zentus.com> | 5 | * Copyright (c) 2007 David Crawshaw <david@zentus.com> | |
6 | * Copyright (c) 2008 David Gwynne <dlg@openbsd.org> | 6 | * Copyright (c) 2008 David Gwynne <dlg@openbsd.org> | |
7 | * | 7 | * | |
8 | * Permission to use, copy, modify, and distribute this software for any | 8 | * Permission to use, copy, modify, and distribute this software for any | |
9 | * purpose with or without fee is hereby granted, provided that the above | 9 | * purpose with or without fee is hereby granted, provided that the above | |
10 | * copyright notice and this permission notice appear in all copies. | 10 | * copyright notice and this permission notice appear in all copies. | |
11 | * | 11 | * | |
12 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | 12 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
13 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | 13 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
14 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | 14 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
15 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | 15 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
16 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 16 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
17 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 17 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
18 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 18 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
19 | */ | 19 | */ | |
20 | 20 | |||
21 | /* | 21 | /* | |
22 | * Protocol reverse engineered by Ken Kato: | 22 | * Protocol reverse engineered by Ken Kato: | |
23 | * https://sites.google.com/site/chitchatvmback/backdoor | 23 | * https://sites.google.com/site/chitchatvmback/backdoor (dead link) | |
24 | * https://web.archive.org/web/20230325103442/https://sites.google.com/site/chitchatvmback/backdoor (archive) | |||
24 | */ | 25 | */ | |
25 | 26 | |||
26 | #include <sys/param.h> | 27 | #include <sys/param.h> | |
27 | #include <sys/types.h> | 28 | #include <sys/types.h> | |
28 | #include <sys/callout.h> | 29 | #include <sys/callout.h> | |
29 | #include <sys/device.h> | 30 | #include <sys/device.h> | |
30 | #include <sys/endian.h> | 31 | #include <sys/endian.h> | |
31 | #include <sys/kernel.h> | 32 | #include <sys/kernel.h> | |
32 | #include <sys/kmem.h> | 33 | #include <sys/kmem.h> | |
33 | #include <sys/module.h> | 34 | #include <sys/module.h> | |
34 | #include <sys/proc.h> | 35 | #include <sys/proc.h> | |
35 | #include <sys/reboot.h> | 36 | #include <sys/reboot.h> | |
36 | #include <sys/socket.h> | 37 | #include <sys/socket.h> |
--- src/sys/modules/Makefile 2024/04/02 22:37:34 1.285
+++ src/sys/modules/Makefile 2024/05/09 12:09:59 1.286
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | # $NetBSD: Makefile,v 1.285 2024/04/02 22:37:34 riastradh Exp $ | 1 | # $NetBSD: Makefile,v 1.286 2024/05/09 12:09:59 pho Exp $ | |
2 | 2 | |||
3 | .include <bsd.own.mk> | 3 | .include <bsd.own.mk> | |
4 | 4 | |||
5 | .if !make(includes) | 5 | .if !make(includes) | |
6 | # For all platforms | 6 | # For all platforms | |
7 | 7 | |||
8 | # Modules for compatibility with earlier versions of NetBSD | 8 | # Modules for compatibility with earlier versions of NetBSD | |
9 | 9 | |||
10 | SUBDIR+= compat_util | 10 | SUBDIR+= compat_util | |
11 | SUBDIR+= compat_43 compat_sysctl_09_43 | 11 | SUBDIR+= compat_43 compat_sysctl_09_43 | |
12 | SUBDIR+= compat_09 compat_10 compat_12 compat_13 compat_14 | 12 | SUBDIR+= compat_09 compat_10 compat_12 compat_13 compat_14 | |
13 | SUBDIR+= compat_16 compat_20 compat_30 compat_40 compat_50 | 13 | SUBDIR+= compat_16 compat_20 compat_30 compat_40 compat_50 | |
14 | SUBDIR+= compat_60 compat_70 compat_80 compat_90 compat_100 | 14 | SUBDIR+= compat_60 compat_70 compat_80 compat_90 compat_100 | |
@@ -232,26 +232,31 @@ SUBDIR+= amdtemp | @@ -232,26 +232,31 @@ SUBDIR+= amdtemp | |||
232 | SUBDIR+= amdzentemp | 232 | SUBDIR+= amdzentemp | |
233 | SUBDIR+= coretemp | 233 | SUBDIR+= coretemp | |
234 | SUBDIR+= est | 234 | SUBDIR+= est | |
235 | SUBDIR+= hdafg | 235 | SUBDIR+= hdafg | |
236 | SUBDIR+= hdaudio | 236 | SUBDIR+= hdaudio | |
237 | SUBDIR+= hdaudio_pci | 237 | SUBDIR+= hdaudio_pci | |
238 | SUBDIR+= hdaudioverbose | 238 | SUBDIR+= hdaudioverbose | |
239 | SUBDIR+= hpet | 239 | SUBDIR+= hpet | |
240 | SUBDIR+= ichsmb | 240 | SUBDIR+= ichsmb | |
241 | SUBDIR+= odcm | 241 | SUBDIR+= odcm | |
242 | SUBDIR+= powernow | 242 | SUBDIR+= powernow | |
243 | SUBDIR+= tco | 243 | SUBDIR+= tco | |
244 | SUBDIR+= tprof_x86 | 244 | SUBDIR+= tprof_x86 | |
245 | .endif | |||
246 | ||||
247 | .if ${MACHINE_CPU} == "aarch64" || \ | |||
248 | ${MACHINE_ARCH} == "i386" || \ | |||
249 | ${MACHINE_ARCH} == "x86_64" | |||
245 | SUBDIR+= vmt | 250 | SUBDIR+= vmt | |
246 | .endif | 251 | .endif | |
247 | 252 | |||
248 | .if ${HAVE_NVMM:Uno} == "yes" | 253 | .if ${HAVE_NVMM:Uno} == "yes" | |
249 | SUBDIR+= nvmm | 254 | SUBDIR+= nvmm | |
250 | .endif | 255 | .endif | |
251 | 256 | |||
252 | # Builds on architectures with PCI bus | 257 | # Builds on architectures with PCI bus | |
253 | .if \ | 258 | .if \ | |
254 | ${MACHINE} == "evbarm" || \ | 259 | ${MACHINE} == "evbarm" || \ | |
255 | ${MACHINE_ARCH} == "i386" || \ | 260 | ${MACHINE_ARCH} == "i386" || \ | |
256 | ${MACHINE_ARCH} == "x86_64" | 261 | ${MACHINE_ARCH} == "x86_64" | |
257 | #SUBDIR+= hifn | 262 | #SUBDIR+= hifn |
--- src/sys/modules/vmt/Makefile 2020/10/27 08:57:11 1.4
+++ src/sys/modules/vmt/Makefile 2024/05/09 12:09:59 1.5
@@ -1,13 +1,18 @@ | @@ -1,13 +1,18 @@ | |||
1 | # $NetBSD: Makefile,v 1.4 2020/10/27 08:57:11 ryo Exp $ | 1 | # $NetBSD: Makefile,v 1.5 2024/05/09 12:09:59 pho Exp $ | |
2 | 2 | |||
3 | .include "../Makefile.inc" | 3 | .include "../Makefile.inc" | |
4 | 4 | |||
5 | .if ${MACHINE_CPU} == "aarch64" | |||
6 | .PATH: ${S}/arch/aarch64/aarch64 | |||
7 | .elif ${MACHINE_ARCH} == "i386" || \ | |||
8 | ${MACHINE_ARCH} == "x86_64" | |||
5 | .PATH: ${S}/arch/x86/x86 | 9 | .PATH: ${S}/arch/x86/x86 | |
10 | .endif | |||
6 | .PATH: ${S}/dev/vmt | 11 | .PATH: ${S}/dev/vmt | |
7 | 12 | |||
8 | KMOD= vmt | 13 | KMOD= vmt | |
9 | IOCONF= vmt.ioconf | 14 | IOCONF= vmt.ioconf | |
10 | SRCS= vmt.c \ | 15 | SRCS= vmt.c \ | |
11 | vmt_subr.c | 16 | vmt_subr.c | |
12 | 17 | |||
13 | .include <bsd.kmodule.mk> | 18 | .include <bsd.kmodule.mk> |