QEMU's original memory API, was complicated, hard to use, incorrect, insecure, did not scale, and consumed a lot of memory. None of these was particularly problematic with the original use cases of emulating embedded boards, or perhaps running a virtualized desktop system to use "the other OS". However, for enterprise and cloud users running hundreds of untrusted guests on a single host, the API and its implementation presents a problem.
This talk will cover the new QEMU memory API, its design considerations, and how it addresses the limitations of the old implementation.