]> git.baikalelectronics.ru Git - kernel.git/commit
s390: KVM guest: virtio device support, and kvm hypercalls
authorChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 25 Mar 2008 17:47:46 +0000 (18:47 +0100)
committerAvi Kivity <avi@qumranet.com>
Sun, 27 Apr 2008 09:00:51 +0000 (12:00 +0300)
commit7dacd09957aa1619c5eeafa8bc28d48b3dfa4004
tree55994dda8046c9220c345a69b11d849323309703
parent2b6f4717e166b636c34f30f4456a402dceae2676
s390: KVM guest: virtio device support, and kvm hypercalls

This patch implements kvm guest kernel support for paravirtualized devices
and contains two parts:
o a basic virtio stub using virtio_ring and external interrupts and hypercalls
o full hypercall implementation in kvm_para.h

Currently we dont have PCI on s390. Making virtio_pci usable for s390 seems
more complicated that providing an own stub. This virtio stub is similar to
the lguest one, the memory for the descriptors and the device detection is made
via additional mapped memory on top of the guest storage. We use an external
interrupt with extint code 0x2603 for host->guest notification.

The hypercall definition uses the diag instruction for issuing a hypercall. The
parameters are written in R2-R7, the hypercall number is written in R1. This is
similar to the system call ABI (svc) which can use R1 for the number and R2-R6
for the parameters.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
drivers/s390/Makefile
drivers/s390/kvm/Makefile [new file with mode: 0644]
drivers/s390/kvm/kvm_virtio.c [new file with mode: 0644]
include/asm-s390/kvm_para.h
include/asm-s390/kvm_virtio.h [new file with mode: 0644]