~/talk

QEMU in UEFI

links:none on file
slides:none on file

Demonstrates running x86 PCIe option ROMs on ARM UEFI by embedding QEMU x86 emulation in EDK II, trapping attempted execution with NX pages and switching contexts, then doing ABI marshaling at function-call boundaries (registers and stack) into a JITed x86 environment. Shows working examples: e1000 NIC and GPU option ROMs initialize devices in a real ARM VM and on hardware, performance close to native, but runtime-services callbacks are blocked and some x86 drivers that assume PC-specific behavior still fail. Licensing (LGPL/GPL) and upstreaming are discussed.

AI-written summary · about

  1. 0:00Introduction and speaker
  2. 1:06Problem with graphics cards
  3. 2:30ARM vs x86 differences
  4. 3:57QEMU emulation modes
  5. 5:43What is UEFI
  6. 7:32UEFI driver registration
  7. 10:26UEFI driver protocol flow
  8. 12:45UEFI API compatibility
  9. 13:29Executing x86 code on ARM
  10. 19:10UEFI emulation results
  11. 20:37Why QEMU was chosen
  12. 22:01EBC limitations
  13. 24:33Bugs in x86 option ROMs
  14. 26:45How to use the emulation
  15. 27:54Live demonstration
  16. 30:19Corner cases and limitations
  17. 32:54Runtime services support
  18. 34:17Handling stack arguments
  19. 35:04Performance of emulation
  20. 35:48Porting to other bootloaders
  21. 36:30Upstreaming the code
  22. 37:43Legal implications
  23. 38:46Runtime module compilation
  24. 39:28Runtime deployment
  25. 40:51Project integration challenges
  26. 41:12Tested devices and results
  27. 42:19Q&A and conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.