sysutils/edk2: set IO port range properly for bhyve

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. We don't know why it's causing
issues yet. However, using the same IO port range in EDKII fixes the
issue.

[1] 82ea0132c8/usr.sbin/bhyve/pci_emul.c (L133-L134)
[2] fb044b7fe8/OvmfPkg/Bhyve/PlatformPei/Platform.c (L156-L157)

PR:			274389
Reviewed by:		manu, markj
Approved by:		manu
Sponsored by:		Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D42627
This commit is contained in:
Corvin Köhne 2023-11-16 06:58:01 +01:00
parent fa7309cb97
commit 231c5bc3a4
No known key found for this signature in database
GPG Key ID: D854DA56315E026A
2 changed files with 14 additions and 1 deletions

View File

@ -1,6 +1,6 @@
PORTNAME= edk2
PORTVERSION= g202308
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= sysutils
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/

View File

@ -0,0 +1,13 @@
--- OvmfPkg/Bhyve/PlatformPei/Platform.c.orig 2023-11-17 12:26:16 UTC
+++ 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