s390x: fix smp support for kvm
Currently smp support for kvm does not work. Qemu does a kvm run even onsecondary CPUs which dont have a sane state (initial psw == 0)triggering some program faults. Architecturally these cpus are in the stoppedstate, so we should not do the kvm run ioctl. (these CPUs will be started...
tcg: extend max tcg opcodes when using 64-on-32bit
When running a 64 bit guest on a 32 bit host, we tend to use more TCG opsthan on a 64 bit host. Reflect that in the reserved opcode amount constant.
Signed-off-by: Alexander Graf <agraf@suse.de>
s390x: s390x-linux-user support
This patch adds support for running s390x binaries in the linux-user emulationcode.
Signed-off-by: Ulrich Hecht <uli@suse.de>Signed-off-by: Alexander Graf <agraf@suse.de>
s390x: make kvm exported functions conditional on kvm
We have some helper functions we use to directly invoke KVMfunctionality from device emulation code.
This patch replaces those exported functions with static inlinestubs when not building with KVM enabled....
s390x: keep hint on virtio managing size
The s390x virtio bus keeps management information on virtio after the topof the guest's RAM. We need to be able to tell the guest the size of itsRAM (without virtio stuff), but also be able to trap when the guest accesses...
s390x: Shift variables in CPUState for memset(0)
The default reset handler does a memset(0) until right in between CPU_COMMON.I incorrectly changed that behavior on the s390x port, so let's move the fieldsin CPUState around to reflect the correct split up to which point memset(0)...
s390x: helper functions for system emulation
When running system emulation, we need to transverse through the MMU anddeliver interrupts according to the specification.
This patch implements those two pieces and in addition adjusts the CPUinitialization code to account for the new fields in CPUState....
s390x: Implement opcode helpers
There are some instructions that can't (or shouldn't) be expressed by puretcg code. For those, we call into externally compiled C functions.
This patch implements those C functions.
s390x: Adjust internal kvm code
We're now finally emulating an s390x CPU, so we can move quite some logicfrom the kvm code out into generic CPU code.
This patch does this and adjusts the interfaces according to what the codearound now expects to be able to call....
s390x: translate engine for s390x CPU
This is the main meat part of the patch set. It implements emulation for ans390x CPU.
The code does all the optimizations that are common for TCG code:
- direct branches - cc optimization - unrolling of simple microcode loops...
View all revisions | View revisions
Also available in: Atom