summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/pc/main.c4
-rw-r--r--sys/src/9/pc64/main.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/src/9/pc/main.c b/sys/src/9/pc/main.c
index 39649d164..f5937b6be 100644
--- a/sys/src/9/pc/main.c
+++ b/sys/src/9/pc/main.c
@@ -5,6 +5,7 @@
#include "dat.h"
#include "fns.h"
#include "io.h"
+#include "../port/pci.h"
#include "ureg.h"
#include "pool.h"
#include "rebootcode.i"
@@ -689,5 +690,8 @@ reboot(void *entry, void *code, ulong size)
/* shutdown devices */
chandevshutdown();
+ /* disable pci devices */
+ pcireset();
+
rebootjump((ulong)entry & ~0xF0000000UL, PADDR(code), size);
}
diff --git a/sys/src/9/pc64/main.c b/sys/src/9/pc64/main.c
index 53bcd8887..d440656fa 100644
--- a/sys/src/9/pc64/main.c
+++ b/sys/src/9/pc64/main.c
@@ -5,6 +5,7 @@
#include "dat.h"
#include "fns.h"
#include "io.h"
+#include "../port/pci.h"
#include "ureg.h"
#include "pool.h"
#include "rebootcode.i"
@@ -286,6 +287,9 @@ reboot(void *entry, void *code, ulong size)
/* shutdown devices */
chandevshutdown();
+ /* disable pci devices */
+ pcireset();
+
rebootjump((uintptr)entry & (ulong)~0xF0000000UL, PADDR(code), size);
}