summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
authorDave Voutila <dv@cvs.openbsd.org>2022-06-26 06:49:10 +0000
committerDave Voutila <dv@cvs.openbsd.org>2022-06-26 06:49:10 +0000
commit7f62fea29967443132bf58e48cb91e0db775fd05 (patch)
tree15ad767c769c41ac7f1331766b800a022aff5557 /sys/arch/amd64
parent9f15d1ddd02fbb8cad652b04d222444afa6ba66f (diff)
vmd: create a copy of bios at 4g boundary
Newer Linux kernels call into the bios to perform a reboot and our version of SeaBIOS assumes there's a "copy" of the bios ending at 4g. When SeaBIOS reads from this area, since vmd doesn't perform mmio yet, guests terminate with an unhandled fault. Carve out some space ending at 4g and copy the bios there. Technically we could load garbage there, but give SeaBIOS what it wants for now. ok mlarkin@
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/include/vmmvar.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/amd64/include/vmmvar.h b/sys/arch/amd64/include/vmmvar.h
index fea4ab52e6d..933348a5b32 100644
--- a/sys/arch/amd64/include/vmmvar.h
+++ b/sys/arch/amd64/include/vmmvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmmvar.h,v 1.77 2022/05/30 17:58:20 dv Exp $ */
+/* $OpenBSD: vmmvar.h,v 1.78 2022/06/26 06:49:09 dv Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
@@ -35,7 +35,7 @@
#define VMM_MAX_NICS_PER_VM 4
#define VMM_PCI_MMIO_BAR_BASE 0xF0000000ULL
-#define VMM_PCI_MMIO_BAR_END 0xFFFFFFFFULL
+#define VMM_PCI_MMIO_BAR_END 0xFFDFFFFFULL /* 2 MiB below 4 GiB */
#define VMM_PCI_MMIO_BAR_SIZE 0x00010000
#define VMM_PCI_IO_BAR_BASE 0x1000
#define VMM_PCI_IO_BAR_END 0xFFFF