svn commit: r319690 - head/sys/dev/hyperv/pcib

Dexuan Cui dexuan at FreeBSD.org
Thu Jun 8 12:11:31 UTC 2017


Author: dexuan
Date: Thu Jun  8 12:11:30 2017
New Revision: 319690
URL: https://svnweb.freebsd.org/changeset/base/319690

Log:
  hyperv/pcib: use the device serial number as PCI domain
  
  Currently the PCI domain is initialized with the instance GUID in
  vmbus_pcib_attach(). It turns out the GUID can change across VM reboot,
  while some users want a persistent value for PCI domain. The solution is
  that we can change to use the device serial number, which starts with 1
  and is unique within a VM.
  
  Obtained from:	Haiyang Zhang
  MFC after:	1 day
  Sponsored by:	Microsoft

Modified:
  head/sys/dev/hyperv/pcib/vmbus_pcib.c

Modified: head/sys/dev/hyperv/pcib/vmbus_pcib.c
==============================================================================
--- head/sys/dev/hyperv/pcib/vmbus_pcib.c	Thu Jun  8 08:10:57 2017	(r319689)
+++ head/sys/dev/hyperv/pcib/vmbus_pcib.c	Thu Jun  8 12:11:30 2017	(r319690)
@@ -574,6 +574,8 @@ new_pcichild_device(struct hv_pcibus *hbus, struct pci
 	hpdev->desc = *desc;
 
 	mtx_lock(&hbus->device_list_lock);
+	if (TAILQ_EMPTY(&hbus->children))
+		hbus->pci_domain = desc->ser & 0xFFFF;
 	TAILQ_INSERT_TAIL(&hbus->children, hpdev, link);
 	mtx_unlock(&hbus->device_list_lock);
 	return (hpdev);


More information about the svn-src-head mailing list