Author: bz
Date: Fri May 13 11:18:27 2016
New Revision: 299658
URL: https://svnweb.freebsd.org/changeset/base/299658

Log:
  When using IOPORT with pci_host_generic we are missing setting the rman_end()
  which leads to end being before start and thus a signed extended very large
  number of size later on, which kva_alloc() will fail upon and we will panic.
  Add the missing call.
  
  Debugged with:        andrew
  Reviewed by:  br, andrew
  Sponsored by: DARPA/AFRL
  Found:                while using virtio with gem5
  MFC after:    2 weeks
  Differential Revision:        https://reviews.freebsd.org/D6337

Modified:
  head/sys/dev/pci/pci_host_generic.c

Modified: head/sys/dev/pci/pci_host_generic.c
==============================================================================
--- head/sys/dev/pci/pci_host_generic.c Fri May 13 11:15:33 2016        
(r299657)
+++ head/sys/dev/pci/pci_host_generic.c Fri May 13 11:18:27 2016        
(r299658)
@@ -613,6 +613,7 @@ generic_pcie_activate_resource(device_t 
                }
                if (found) {
                        rman_set_start(r, rman_get_start(r) + phys_base);
+                       rman_set_end(r, rman_get_end(r) + phys_base);
                        BUS_ACTIVATE_RESOURCE(device_get_parent(dev), child,
                                                type, rid, r);
                } else {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to