From 8df81d329d167b8c7736789979c69e5fc54f6953 Mon Sep 17 00:00:00 2001
From: Julien Grall <julien.grall@linaro.org>
Date: Fri, 6 Jun 2014 01:51:15 +0100
Subject: [PATCH 26/48] xen/xenpv: Load xenpv as late as possible

On ARM, we only know that FreeBSD is running on Xen via a device tree node.
We have to delay xenpv initialization after the device tree has been fully
parsed.
---
 sys/dev/xen/xenpv.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sys/dev/xen/xenpv.c b/sys/dev/xen/xenpv.c
index 19a8397..d709e4c 100644
--- a/sys/dev/xen/xenpv.c
+++ b/sys/dev/xen/xenpv.c
@@ -54,7 +54,11 @@ xenpv_identify(driver_t *driver, device_t parent)
 	if (devclass_get_device(xenpv_devclass, 0))
 		return;
 
-	if (BUS_ADD_CHILD(parent, 0, "xenpv", 0) == NULL)
+	/*
+	 * Use a high order number so xenpv is attached after
+	 * xenpci on HVM guests.
+	 */
+	if (BUS_ADD_CHILD(parent, 100, "xenpv", 0) == NULL)
 		panic("Unable to attach xenpv bus.");
 }
 
-- 
2.1.0

