Module Name: src Committed By: bouyer Date: Fri Dec 6 10:53:42 UTC 2024
Modified Files: src/sys/arch/x86/acpi: acpi_machdep.c src/sys/arch/x86/include: cpu.h src/sys/arch/x86/x86: x86_autoconf.c x86_machdep.c src/sys/arch/xen/xen: hypervisor.c Log Message: Introduce vm_guest_is_pvh() and use it in place of (vm_guest == VM_GUEST_XENPVH || vm_guest == VM_GUEST_GENPVH) To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/sys/arch/x86/acpi/acpi_machdep.c cvs rdiff -u -r1.137 -r1.138 src/sys/arch/x86/include/cpu.h cvs rdiff -u -r1.88 -r1.89 src/sys/arch/x86/x86/x86_autoconf.c cvs rdiff -u -r1.155 -r1.156 src/sys/arch/x86/x86/x86_machdep.c cvs rdiff -u -r1.97 -r1.98 src/sys/arch/xen/xen/hypervisor.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/x86/acpi/acpi_machdep.c diff -u src/sys/arch/x86/acpi/acpi_machdep.c:1.37 src/sys/arch/x86/acpi/acpi_machdep.c:1.38 --- src/sys/arch/x86/acpi/acpi_machdep.c:1.37 Mon Dec 2 13:31:32 2024 +++ src/sys/arch/x86/acpi/acpi_machdep.c Fri Dec 6 10:53:41 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi_machdep.c,v 1.37 2024/12/02 13:31:32 bouyer Exp $ */ +/* $NetBSD: acpi_machdep.c,v 1.38 2024/12/06 10:53:41 bouyer Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.37 2024/12/02 13:31:32 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.38 2024/12/06 10:53:41 bouyer Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -158,7 +158,7 @@ out: } #else #ifdef XEN - if (vm_guest == VM_GUEST_XENPVH || vm_guest == VM_GUEST_GENPVH) { + if (vm_guest_is_pvh()) { PhysicalAddress = hvm_start_info->rsdp_paddr; if (PhysicalAddress) return PhysicalAddress; Index: src/sys/arch/x86/include/cpu.h diff -u src/sys/arch/x86/include/cpu.h:1.137 src/sys/arch/x86/include/cpu.h:1.138 --- src/sys/arch/x86/include/cpu.h:1.137 Mon Dec 2 13:31:32 2024 +++ src/sys/arch/x86/include/cpu.h Fri Dec 6 10:53:41 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.137 2024/12/02 13:31:32 bouyer Exp $ */ +/* $NetBSD: cpu.h,v 1.138 2024/12/06 10:53:41 bouyer Exp $ */ /* * Copyright (c) 1990 The Regents of the University of California. @@ -546,6 +546,18 @@ vm_guest_is_xenpvh_or_pvhvm(void) } } +static __inline bool __unused +vm_guest_is_pvh(void) +{ + switch(vm_guest) { + case VM_GUEST_XENPVH: + case VM_GUEST_GENPVH: + return true; + default: + return false; + } +} + /* cpu_topology.c */ void x86_cpu_topology(struct cpu_info *); Index: src/sys/arch/x86/x86/x86_autoconf.c diff -u src/sys/arch/x86/x86/x86_autoconf.c:1.88 src/sys/arch/x86/x86/x86_autoconf.c:1.89 --- src/sys/arch/x86/x86/x86_autoconf.c:1.88 Mon Dec 2 13:31:33 2024 +++ src/sys/arch/x86/x86/x86_autoconf.c Fri Dec 6 10:53:41 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: x86_autoconf.c,v 1.88 2024/12/02 13:31:33 bouyer Exp $ */ +/* $NetBSD: x86_autoconf.c,v 1.89 2024/12/06 10:53:41 bouyer Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: x86_autoconf.c,v 1.88 2024/12/02 13:31:33 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: x86_autoconf.c,v 1.89 2024/12/06 10:53:41 bouyer Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -540,7 +540,7 @@ void cpu_bootconf(void) { #ifdef XEN - if (vm_guest == VM_GUEST_XENPVH || vm_guest == VM_GUEST_GENPVH) { + if (vm_guest_is_pvh()) { xen_bootconf(); return; } Index: src/sys/arch/x86/x86/x86_machdep.c diff -u src/sys/arch/x86/x86/x86_machdep.c:1.155 src/sys/arch/x86/x86/x86_machdep.c:1.156 --- src/sys/arch/x86/x86/x86_machdep.c:1.155 Mon Dec 2 13:31:33 2024 +++ src/sys/arch/x86/x86/x86_machdep.c Fri Dec 6 10:53:41 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: x86_machdep.c,v 1.155 2024/12/02 13:31:33 bouyer Exp $ */ +/* $NetBSD: x86_machdep.c,v 1.156 2024/12/06 10:53:41 bouyer Exp $ */ /*- * Copyright (c) 2002, 2006, 2007 YAMAMOTO Takashi, @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.155 2024/12/02 13:31:33 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.156 2024/12/06 10:53:41 bouyer Exp $"); #include "opt_modular.h" #include "opt_physmem.h" @@ -911,7 +911,7 @@ init_x86_clusters(void) * the boot program). */ #ifdef XEN - if (vm_guest == VM_GUEST_XENPVH || vm_guest == VM_GUEST_GENPVH) { + if (vm_guest_is_pvh()) { x86_add_xen_clusters(); } #endif /* XEN */ Index: src/sys/arch/xen/xen/hypervisor.c diff -u src/sys/arch/xen/xen/hypervisor.c:1.97 src/sys/arch/xen/xen/hypervisor.c:1.98 --- src/sys/arch/xen/xen/hypervisor.c:1.97 Mon Dec 2 13:31:33 2024 +++ src/sys/arch/xen/xen/hypervisor.c Fri Dec 6 10:53:42 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: hypervisor.c,v 1.97 2024/12/02 13:31:33 bouyer Exp $ */ +/* $NetBSD: hypervisor.c,v 1.98 2024/12/06 10:53:42 bouyer Exp $ */ /* * Copyright (c) 2005 Manuel Bouyer. @@ -53,7 +53,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.97 2024/12/02 13:31:33 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.98 2024/12/06 10:53:42 bouyer Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -241,7 +241,7 @@ void init_xen_early(void) { const char *cmd_line; - if (vm_guest != VM_GUEST_XENPVH && vm_guest != VM_GUEST_GENPVH) + if (!vm_guest_is_pvh()) return; hvm_start_info = (void *)((uintptr_t)hvm_start_paddr + KERNBASE);