X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=ArmPlatformPkg%2FArmVirtualizationPkg%2FArmVirtualizationQemu.dsc;h=d3384a7dc1b355d738cfb1a96a8ee020d5fa0205;hp=ed88c9d32caeba670011ab78e73913b45fc53d86;hb=e17b1db501b3ba8ea375cea46d8a9d4379cab954;hpb=274b4a8d79186b2280aec6c7bb5117063acbc052 diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc index ed88c9d32c..d3384a7dc1 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc +++ b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc @@ -79,12 +79,16 @@ ################################################################################ [PcdsFeatureFlag.common] - gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|FALSE + gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe. # It could be set FALSE to save size. - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE + gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE + gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE + + # Activate KVM workaround for now. + gArmVirtualizationTokenSpaceGuid.PcdKludgeMapPciMmioAsCached|TRUE [PcdsFixedAtBuild.common] gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F @@ -125,15 +129,32 @@ gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"root=/dev/vda2 console=ttyAMA0 earlycon uefi_debug" gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0 - # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut) - gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()" - gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()" + # + # Use the serial console (ConIn & ConOut), the USB keyboard (ConIn), and the + # Graphic driver (ConOut). + # + # For the PCI VGA device path to work, you must start QEMU with the option + # '-device VGA,addr=01.0' (see "Pci(0x1,0x0)"). + # + # For the USB keyboard device path to work, the following QEMU options are + # needed (see "docs/usb2.txt" and "docs/ich9-ehci-uhci.cfg"): + # + # -device ich9-usb-ehci1,multifunction=on,addr=1d.7,id=ehci + # -device ich9-usb-uhci1,multifunction=on,addr=1d.0,masterbus=ehci.0,firstport=0 + # -device ich9-usb-uhci2,multifunction=on,addr=1d.1,masterbus=ehci.0,firstport=2 + # -device ich9-usb-uhci3,multifunction=on,addr=1d.2,masterbus=ehci.0,firstport=4 + # -device usb-kbd,bus=ehci.0 + # + # Note the match between addr=1d.7 and Pci(0x1D,0x7). + # + gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1,0x0)/AcpiAdr(0x80010100)" + gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1D,0x7)/USB(0x0,0x0)" gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|3 # - # ARM Virtual Architectural Timer + # ARM Virtual Architectural Timer -- fetch frequency from QEMU (TCG) or KVM # - gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000 + gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0 # # NV Storage PCDs. Use base of 0x04000000 for NOR1 @@ -153,9 +174,20 @@ !ifdef INTEL_BDS gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 } !endif + # + # The maximum physical I/O addressability of the processor, set with + # BuildCpuHob(). + # + gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16 + [PcdsDynamicDefault.common] + ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI + # enumeration to complete before installing ACPI tables. + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE + # System Memory Size -- 1 MB initially, actual size will be fetched from DT gArmTokenSpaceGuid.PcdSystemMemorySize|0x00100000 @@ -176,6 +208,15 @@ ## PL031 RealTimeClock gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0 + gArmPlatformTokenSpaceGuid.PcdPciBusMin|0x0 + gArmPlatformTokenSpaceGuid.PcdPciBusMax|0x0 + gArmPlatformTokenSpaceGuid.PcdPciIoBase|0x0 + gArmPlatformTokenSpaceGuid.PcdPciIoSize|0x0 + gArmPlatformTokenSpaceGuid.PcdPciIoTranslation|0x0 + gArmPlatformTokenSpaceGuid.PcdPciMmio32Base|0x0 + gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0 + gArmVirtualizationTokenSpaceGuid.PcdArmPsciMethod|0 gArmVirtualizationTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0 @@ -183,6 +224,15 @@ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3 + # + # Set video resolution for boot options and for text setup. + # PlatformDxe can set the former at runtime. + # + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800 + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600 + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640 + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480 + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform @@ -279,3 +329,33 @@ # MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf + + # + # ACPI Support + # + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf + + # + # PCI support + # + ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf + MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf + + # + # Video support + # + OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { + + BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf + } + OvmfPkg/PlatformDxe/Platform.inf + + # + # USB Support + # + MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf + MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf + MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf