diff options
author | Corvin Köhne <corvink@FreeBSD.org> | 2023-11-20 08:24:53 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-12-07 16:59:09 +0000 |
commit | 238690a30d02d3f95f0355c88c35dc0e4232342a (patch) | |
tree | e003eb19cc861c5e632f0f1317803614f28dfb97 /OvmfPkg/Bhyve | |
parent | 553dfb0f57ae8a666938873cf836a33549568c87 (diff) | |
download | edk2-238690a30d02d3f95f0355c88c35dc0e4232342a.tar.gz edk2-238690a30d02d3f95f0355c88c35dc0e4232342a.tar.bz2 edk2-238690a30d02d3f95f0355c88c35dc0e4232342a.zip |
OvmfPkg/Bhyve: use a proper PCI IO range
Bhyve uses an io port range of [ 0x2000, 0x10000 ] [1]. At the moment,
EDKII is using a subset of this range [ 0xC000, 0x10000 ] [2]. Even
though the EDKII range doesn't exceed the bhyve range, it's causing
issues on some guests like OpenBSD [3]. We don't know why it's causing
issues yet. However, using the same IO port range in EDKII fixes the
issue and is a good idea anyway.
[1] https://github.com/freebsd/freebsd-src/blob/82ea0132c8b17a7a6067c8a36c6434e587ede6de/usr.sbin/bhyve/pci_emul.c#L133-L134
[2] https://github.com/tianocore/edk2/blob/fb044b7fe893a4545995bfe2701fd38e593355d9/OvmfPkg/Bhyve/PlatformPei/Platform.c#L156-L157
[3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274389
Signed-off-by: Corvin Köhne <corvink@FreeBSD.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Diffstat (limited to 'OvmfPkg/Bhyve')
-rw-r--r-- | OvmfPkg/Bhyve/PlatformPei/Platform.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/OvmfPkg/Bhyve/PlatformPei/Platform.c b/OvmfPkg/Bhyve/PlatformPei/Platform.c index f6d9a9038e..bd1b22a947 100644 --- a/OvmfPkg/Bhyve/PlatformPei/Platform.c +++ b/OvmfPkg/Bhyve/PlatformPei/Platform.c @@ -153,8 +153,8 @@ MemMapInitialization ( UINT64 PciIoSize;
RETURN_STATUS PcdStatus;
- PciIoBase = 0xC000;
- PciIoSize = 0x4000;
+ PciIoBase = 0x2000;
+ PciIoSize = 0xE000;
//
// Create Memory Type Information HOB
|