Qemu
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Qemu
No, VirtualBox is not a CPU emulator. It can only run Intel code and only on Intel processors.
VM platforms (hypervisors) don't emulate the CPU, they emulate the peripheral hardware that the CPU talks to. So, a guest OS sees hardware other than what really exists. When not touching hardware the guest code runs at full speed on the host CPU.
VirtualBox provides emulations of PC peripherals only, so in practice you can only run PC Operating Systems in a VirtualBox VM.
You ARM OS will fail on VirtualBox for two main reasons: first, the host CPU is not an ARM Cortex. Second, I doubt that embedded OS is expecting to find itself running on PC hardware.
As an aside, since VirtualBox still will not do what you need: I hope you are aware than an emulated CPU runs several orders of magnitude slower than the real thing. Emulated CPUs tend to be good for debugging, and not much else. In my personal experience many emulated CPUs are too slow even for debugging. I have written several homebrew CPU simulators over the years, usually with the purpose of discarding the emulation aspects I don't need (such as an accurate cache model), so that I can test lengthy embedded tasks faster.
VM platforms (hypervisors) don't emulate the CPU, they emulate the peripheral hardware that the CPU talks to. So, a guest OS sees hardware other than what really exists. When not touching hardware the guest code runs at full speed on the host CPU.
VirtualBox provides emulations of PC peripherals only, so in practice you can only run PC Operating Systems in a VirtualBox VM.
You ARM OS will fail on VirtualBox for two main reasons: first, the host CPU is not an ARM Cortex. Second, I doubt that embedded OS is expecting to find itself running on PC hardware.
As an aside, since VirtualBox still will not do what you need: I hope you are aware than an emulated CPU runs several orders of magnitude slower than the real thing. Emulated CPUs tend to be good for debugging, and not much else. In my personal experience many emulated CPUs are too slow even for debugging. I have written several homebrew CPU simulators over the years, usually with the purpose of discarding the emulation aspects I don't need (such as an accurate cache model), so that I can test lengthy embedded tasks faster.