Registered so I can clear this up, a lot of people are getting excited over something fundamentally flawed.
Guys, you can't do a hypervisor that'll run at real time speed because the Nintendo DS doesn't have an MMU, it has an MPU. That letter makes a huge difference. Let me explain how this works:
A "hypervisor", or virtual machine manager is code that virtualizes a platform so that it appears to the client code (whatever you're trying to virtualize) that it's running on that machine. Some decades ago a set of standards were written up determining what a virtualization environment must include to properly work (http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements). The code must behave exactly as it can on the original machine, the VMM must be in control of the resources, and it has to be efficient. If you take out the third category then technically any emulator could pass so it really is important. Any ARM9 will fail the first two of these because there are sensitive resources which can't be trapped (like PSR status, SWIs, etc) but for games it might not matter, if they don't depend on this accuracy. The third part you won't ever get w/o an MMU.
An MMU is necessary because it translates one address space to another and traps accesses to memory mapped devices, you can NOT do this efficiently with an MPU. All you can do is make it trap on every address space mapping that doesn't match the original (and even this capacity is limited). In the DS's case the entire cart bus won't be properly mapped to an actual ROM like the GBA game will expect, meaning that every single instruction fetch from ROM would have to be trapped. GBA games run on average about 60% of their code from ROM. This would be much slower than a recompiler by far (which can translate the code into RAM instead of ROM). In fact, it'd probably be slower than an interpreter too, because when the code isn't running from RAM that's essentially what it will be - each trap will have to be decoded to determine what kind of memory access it is and then mapped to emulated ROM. Of course this also includes the paging of said ROM in and out of RAM like others have mentioned but that'd just be an afterthought in performance degradation when compared to the primary costs.
No offense to Normmatt, but as the co-author of a DS emulator I expected you to already know all of this.
Now it's time for the usual, fending off all the people who say "anything is possible" and back it with anecdotal evidence, or that I don't know what I'm talking about compared to those who they heard were involved. That is, if everyone doesn't ignore this post altogether.