qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 0/9] S390x KVM support


From: Carsten Otte
Subject: [Qemu-devel] Re: [PATCH 0/9] S390x KVM support
Date: Thu, 22 Oct 2009 12:43:54 +0200
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706)

Avi Kivity wrote:
On x86 we avoid emulating instructions in userspace. Instead the kernel requests userspace to do something (triggered by the instruction), and the kernel does anything which might be implied by the instruction (like copying the result into a register, or updating pc).

An example is port I/O. instead of userspace reading %edx to query the port number and setting %eax to indicate the result, userspace reads a port number struct field and writes an I/O result struct field. Only the kernel accesses registers.

I don't know whether that model makes sense or not for s390, but please consider it.
We do the same for many instructions (arch/s390/kvm/instruction.c). User exits are only performed for isntructions that cannot be handled in kernel. Also, we do exit with requests to userspace, see the s390_reset exit reason. I think in this regard, our implementation is very similar to x86. Btw: this is something I did copycat from your implementation on integration into kvm. The original zlive code did handle all instructions in userland.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]