git: 5f7000832791 - main - xen/netfront: introduce xen_pv_nics_disabled()

Roger Pau Monné royger at FreeBSD.org
Wed Jul 28 15:27:57 UTC 2021


The branch main has been updated by royger:

URL: https://cgit.FreeBSD.org/src/commit/?id=5f7000832791716e63ca8481d6e5784915786ce0

commit 5f7000832791716e63ca8481d6e5784915786ce0
Author:     Julien Grall <julien at xen.org>
AuthorDate: 2015-10-16 18:26:35 +0000
Commit:     Roger Pau Monné <royger at FreeBSD.org>
CommitDate: 2021-07-28 15:27:04 +0000

    xen/netfront: introduce xen_pv_nics_disabled()
    
    ARM guest is considered as HVM but it only supports PV nics (no
    emulation available).
    
    Submitted by: Elliott Mitchell <ehem+freebsd at m5p.com>
    Reviewed by: royger
    Differential Revision: https://reviews.freebsd.org/D29405
---
 sys/dev/xen/netfront/netfront.c |  2 +-
 sys/x86/include/xen/xen-os.h    | 10 ++++++++++
 sys/xen/xen-os.h                |  1 -
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c
index 4b8bd5589283..fd2d97a7c70c 100644
--- a/sys/dev/xen/netfront/netfront.c
+++ b/sys/dev/xen/netfront/netfront.c
@@ -378,7 +378,7 @@ static int
 netfront_probe(device_t dev)
 {
 
-	if (xen_hvm_domain() && xen_disable_pv_nics != 0)
+	if (xen_pv_nics_disabled())
 		return (ENXIO);
 
 	if (!strcmp(xenbus_get_type(dev), "vif")) {
diff --git a/sys/x86/include/xen/xen-os.h b/sys/x86/include/xen/xen-os.h
index 7ca1075e61f3..a6766190bfc2 100644
--- a/sys/x86/include/xen/xen-os.h
+++ b/sys/x86/include/xen/xen-os.h
@@ -43,6 +43,16 @@
 /* If non-zero, the hypervisor has been configured to use a direct vector */
 extern int xen_vector_callback_enabled;
 
+/* tunable for disabling PV nics */
+extern int xen_disable_pv_nics;
+
+static inline bool
+xen_pv_nics_disabled(void)
+{
+
+	return (xen_hvm_domain() && xen_disable_pv_nics != 0);
+}
+
 #endif /* !__ASSEMBLY__ */
 
 #endif /* _MACHINE_X86_XEN_XEN_OS_H_ */
diff --git a/sys/xen/xen-os.h b/sys/xen/xen-os.h
index 3b963bd20f7a..6817e96c10fc 100644
--- a/sys/xen/xen-os.h
+++ b/sys/xen/xen-os.h
@@ -75,7 +75,6 @@ xen_get_console_evtchn(void)
 extern shared_info_t *HYPERVISOR_shared_info;
 
 extern int xen_disable_pv_disks;
-extern int xen_disable_pv_nics;
 
 extern bool xen_suspend_cancelled;
 


More information about the dev-commits-src-main mailing list