kvm: Add support for pseudo-ops on ARM
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>
Mon, 22 Apr 2013 17:20:32 +0000 (13:20 -0400)
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>
Mon, 22 Apr 2013 17:20:32 +0000 (13:20 -0400)
commit33ab8f735d0979ef68d7202d3adbf28f1ae2aceb
treebebe6fd8140fc9b33c69af7897ed0cb2cc9409cd
parent1c529a4196a5f9efcce5c639622d5b55912a472b
kvm: Add support for pseudo-ops on ARM

This changeset adds support for m5 pseudo-ops when running in
kvm-mode. Unfortunately, we can't trap the normal gem5 co-processor
entry in KVM (it doesn't seem to be possible to trap accesses to
non-existing co-processors). We therefore use BZJ instructions to
cause a trap from virtualized mode into gem5. The BZJ instruction is
becomes a normal branch to the gem5 fallback code when running in
simulated mode, which means that this patch does not need to change
the ARM ISA-specific code.

Note: This requires a patched host kernel.
src/cpu/kvm/arm_cpu.cc
src/cpu/kvm/arm_cpu.hh
util/m5/m5op_arm.S