Hi, I've written a driver for edk2 in QEMU to provide very basic support for ESRT and (fake) firmware updates via UpdateCapsule(). The purpose of this is to allow us to write a test harness for our OS and pre-boot firmware update code without the worry of burning through piles of hardware (or spending days on end with a dediprog) every time something goes wrong.
As such it never actually updates any real firmware - all it actually does is SetVariable() to store the API state. This allows us to start a VM with a custom ESRT by providing an NvVars file on the boot drive image, provides a mechanism to deterministically exercise the APIs, and allows us to examine the results independent of the normal APIs. I've checked that it builds and runs using OvmfPkg on x86_64, and that it builds on ia32, arm, and aarch64. So - if anybody would be so kind, review and feedback would be good :) I *think* I'm mostly following the coding conventions for edk2, but TBH I'm not sure where they're written down, so I've just been ballparking it based on code in the repo - which varies significantly from module to module. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
