* [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support
@ 2021-07-05 11:08 Corvin Köhne
2021-07-05 11:08 ` [PATCH v4 2/2] OvmfPkg/Bhyve: use static PCI32Base address Corvin Köhne
2021-07-05 12:15 ` [edk2-devel] [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support Laszlo Ersek
0 siblings, 2 replies; 3+ messages in thread
From: Corvin Köhne @ 2021-07-05 11:08 UTC (permalink / raw)
To: devel
Cc: p.bruenn, grehan, rebecca, lersek, ardb+tianocore,
jordan.l.justen, Corvin Köhne
An USB driver is required to use a keyboard or mouse while installing
an OS or while in a bootloader menu like grub when using GPU + USB
Passthrough.
Reviewed-by: Peter Grehan <grehan@freebsd.org>
Acked-by: Rebecca Cran <rebecca@bsdio.com>
Signed-off-by: Corvin Köhne <c.koehne@beckhoff.com>
---
OvmfPkg/Bhyve/BhyveX64.dsc | 9 +++++++++
OvmfPkg/Bhyve/BhyveX64.fdf | 8 ++++++++
2 files changed, 17 insertions(+)
diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc
index 39cd354932..a0a2071b86 100644
--- a/OvmfPkg/Bhyve/BhyveX64.dsc
+++ b/OvmfPkg/Bhyve/BhyveX64.dsc
@@ -163,6 +163,7 @@
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
+ UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibNull.inf
QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
@@ -778,6 +779,14 @@
!endif
OvmfPkg/VirtioNetDxe/VirtioNet.inf
+ #
+ # Usb Support
+ #
+ MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
+ MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
+ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
+ MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+
!ifdef $(CSM_ENABLE)
IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {
<LibraryClasses>
diff --git a/OvmfPkg/Bhyve/BhyveX64.fdf b/OvmfPkg/Bhyve/BhyveX64.fdf
index f4050c4934..f9e9a4cc3e 100644
--- a/OvmfPkg/Bhyve/BhyveX64.fdf
+++ b/OvmfPkg/Bhyve/BhyveX64.fdf
@@ -292,6 +292,14 @@ INF MdeModulePkg/Logo/LogoDxe.inf
!include NetworkPkg/Network.fdf.inc
INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
+#
+# Usb Support
+#
+INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
+INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
+INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
+INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+
!ifdef $(CSM_ENABLE)
INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
!endif
--
2.11.0
Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Beckhoff
Registered office: Verl, Germany | Register court: Guetersloh HRA 7075
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v4 2/2] OvmfPkg/Bhyve: use static PCI32Base address
2021-07-05 11:08 [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support Corvin Köhne
@ 2021-07-05 11:08 ` Corvin Köhne
2021-07-05 12:15 ` [edk2-devel] [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support Laszlo Ersek
1 sibling, 0 replies; 3+ messages in thread
From: Corvin Köhne @ 2021-07-05 11:08 UTC (permalink / raw)
To: devel
Cc: p.bruenn, grehan, rebecca, lersek, ardb+tianocore,
jordan.l.justen, Corvin Köhne
It's neccessary to allocate a Graphics Stolen Memory area to enable
GPU-Passthrough for integrated Intel GPUs. Therefore, use a new
memory layout with a static Pci32Baseaddress.
Old layout:
[... , lowmemlimit] RAM
[lowmemlimit, 0xE000 0000] PCI Space
New layout:
[... , lowmemlimit] RAM
[lowmemlimit, gsmbase ] Memory hole (may be absent)
[gsmbase , 0xC000 0000] GSM (may be absent)
[0xC000 0000, 0xE000 0000] PCI Space
Reviewed-by: Peter Grehan <grehan@freebsd.org>
Acked-by: Rebecca Cran <rebecca@bsdio.com>
Signed-off-by: Corvin Köhne <c.koehne@beckhoff.com>
---
OvmfPkg/Bhyve/BhyveX64.dsc | 4 ++--
OvmfPkg/Bhyve/PlatformPei/Platform.c | 4 +++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc
index a0a2071b86..c435dadc0a 100644
--- a/OvmfPkg/Bhyve/BhyveX64.dsc
+++ b/OvmfPkg/Bhyve/BhyveX64.dsc
@@ -537,8 +537,8 @@
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0
- gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
- gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0xC0000000
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x20000000
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
diff --git a/OvmfPkg/Bhyve/PlatformPei/Platform.c b/OvmfPkg/Bhyve/PlatformPei/Platform.c
index 3a414ffcb7..d980e3fcb0 100644
--- a/OvmfPkg/Bhyve/PlatformPei/Platform.c
+++ b/OvmfPkg/Bhyve/PlatformPei/Platform.c
@@ -191,7 +191,9 @@ MemMapInitialization (
ASSERT (PciExBarBase <= MAX_UINT32 - SIZE_256MB);
PciBase = (UINT32)(PciExBarBase + SIZE_256MB);
} else {
- PciBase = (TopOfLowRam < BASE_2GB) ? BASE_2GB : TopOfLowRam;
+ PciBase = PcdGet64 (PcdPciMmio32Base);
+ if (PciBase == 0)
+ PciBase = (TopOfLowRam < BASE_2GB) ? BASE_2GB : TopOfLowRam;
}
//
--
2.11.0
Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Beckhoff
Registered office: Verl, Germany | Register court: Guetersloh HRA 7075
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [edk2-devel] [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support
2021-07-05 11:08 [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support Corvin Köhne
2021-07-05 11:08 ` [PATCH v4 2/2] OvmfPkg/Bhyve: use static PCI32Base address Corvin Köhne
@ 2021-07-05 12:15 ` Laszlo Ersek
1 sibling, 0 replies; 3+ messages in thread
From: Laszlo Ersek @ 2021-07-05 12:15 UTC (permalink / raw)
To: devel, c.koehne
Cc: p.bruenn, grehan, rebecca, ardb+tianocore, jordan.l.justen
On 07/05/21 13:08, Corvin Köhne wrote:
> An USB driver is required to use a keyboard or mouse while installing
> an OS or while in a bootloader menu like grub when using GPU + USB
> Passthrough.
>
> Reviewed-by: Peter Grehan <grehan@freebsd.org>
> Acked-by: Rebecca Cran <rebecca@bsdio.com>
> Signed-off-by: Corvin Köhne <c.koehne@beckhoff.com>
> ---
> OvmfPkg/Bhyve/BhyveX64.dsc | 9 +++++++++
> OvmfPkg/Bhyve/BhyveX64.fdf | 8 ++++++++
> 2 files changed, 17 insertions(+)
>
> diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc
> index 39cd354932..a0a2071b86 100644
> --- a/OvmfPkg/Bhyve/BhyveX64.dsc
> +++ b/OvmfPkg/Bhyve/BhyveX64.dsc
> @@ -163,6 +163,7 @@
> FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
> UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
> SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
> + UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
> SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
> QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibNull.inf
> QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
> @@ -778,6 +779,14 @@
> !endif
> OvmfPkg/VirtioNetDxe/VirtioNet.inf
>
> + #
> + # Usb Support
> + #
> + MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
> + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
> + MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
> + MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> +
> !ifdef $(CSM_ENABLE)
> IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {
> <LibraryClasses>
> diff --git a/OvmfPkg/Bhyve/BhyveX64.fdf b/OvmfPkg/Bhyve/BhyveX64.fdf
> index f4050c4934..f9e9a4cc3e 100644
> --- a/OvmfPkg/Bhyve/BhyveX64.fdf
> +++ b/OvmfPkg/Bhyve/BhyveX64.fdf
> @@ -292,6 +292,14 @@ INF MdeModulePkg/Logo/LogoDxe.inf
> !include NetworkPkg/Network.fdf.inc
> INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
>
> +#
> +# Usb Support
> +#
> +INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
> +INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
> +INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
> +INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> +
> !ifdef $(CSM_ENABLE)
> INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
> !endif
>
Merged as commit range fea7901dba72..44ced03798d3, via
<https://github.com/tianocore/edk2/pull/1790>.
Thanks
Laszlo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-07-05 12:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-05 11:08 [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support Corvin Köhne
2021-07-05 11:08 ` [PATCH v4 2/2] OvmfPkg/Bhyve: use static PCI32Base address Corvin Köhne
2021-07-05 12:15 ` [edk2-devel] [PATCH v4 1/2] OvmfPkg/Bhyve: add USB support Laszlo Ersek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox