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 exeed 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 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 Signed-off-by: Corvin Köhne <corv...@freebsd.org> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Rebecca Cran <rebe...@bsdio.com> --- OvmfPkg/Bhyve/PlatformPei/Platform.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Bhyve/PlatformPei/Platform.c b/OvmfPkg/Bhyve/PlatformPei/Platform.c index f6d9a9038e12..bd1b22a9476e 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 -- 2.42.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111397): https://edk2.groups.io/g/devel/message/111397 Mute This Topic: https://groups.io/mt/102646333/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-