Mike,

FYI you are not subscribed to the mailing list so all your posts require a 
humans approval, so that is the delay in them showing up..

> On Jun 16, 2022, at 4:29 PM, Mike Gerow via groups.io 
> <gerow=google....@groups.io> wrote:
> 
> Hi Folks,
> 
> For the last few months I've been using OVMF with crosvm 
> <https://chromium.googlesource.com/chromiumos/platform/crosvm/+/HEAD/README.md#:~:text=crosvm%20is%20a%20virtual%20machine,on%20the%20Chrome%20OS%20platform.>
>  to give it the ability to boot a UEFI OS image in a UEFI environment, and 
> it's been working fantastically! Eventually I'd like to get secure boot 
> working, but I haven't fully begun exploring that yet. I just wanted to post 
> here to figure out how I might go about making crosvm properly supported 
> within OVMF.
> 
> As you might guess, OVMF didn't boot out of the box and I had to do quite a 
> few hacks to get it to work. All the changes are attached as a diff, but I'll 
> list the main points out here:
> 
> * Switch TimerLib from the ACPI-based ones like 
> OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf to 
> MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf since crosvm 
> doesn't provide these methods
> * Hack out the RTC dependency completely, since for reasons I haven't yet 
> figured out crosvm hangs OVMF tries to access it
> * Disable bus enumeration since crosvm doesn't support moving PCI BARs 
> around, which causes it to hang
> * Remove VirtioFsDxe dependency as crosvm seems to choke on certain things 
> it's doing too

I hit something like this in another context. I root caused it to the 
VirtioFsDxe being coded to a recent version of the VirtIo Spec (it is a newer 
EFI driver) and my VM was on an older version. So some things did not work 
properly. 

Thanks,

Andrew Fish

> * Manually searching for ACPI tables instead of using PVH
> 
> And one major theme of some of the other changes: removing conditionals that 
> checked if we're cloud-hypervisor and just doing things the cloud-hypervisor 
> way (which happens to work under crosvm, for reasons that are readily 
> apparent given the nature of cloud-hypervisor and crosvm).
> 
> Clearly this isn't upstreamable at this point, but I'd like eventually go 
> that direction. I think a lot of these are just bugs in crosvm that'll need 
> to be fixed, but for the cloud-hypervisor conditionals case I'd need to teach 
> OVMF to detect when we're running under crosvm and act appropriately.
> 
> In either case, I appreciate your attention and any feedback you might have 
> on what I'm trying to do here.
> 
> <ovmf-crosvm.diff>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#90565): https://edk2.groups.io/g/devel/message/90565
Mute This Topic: https://groups.io/mt/91811743/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to