s390: use virtio_console for KVM on s390
This patch enables virtio_console as the default console on kvm for s390. We currently use the same notify hack as lguest for early console output. I will try to address this for lguest and s390 later. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:

committed by
Rusty Russell

parent
7721c494a2
commit
faeba830b0
@@ -15,6 +15,7 @@
|
||||
#include <linux/err.h>
|
||||
#include <linux/virtio.h>
|
||||
#include <linux/virtio_config.h>
|
||||
#include <linux/virtio_console.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/virtio_ring.h>
|
||||
#include <linux/pfn.h>
|
||||
@@ -333,6 +334,25 @@ static int __init kvm_devices_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* code for early console output with virtio_console */
|
||||
static __init int early_put_chars(u32 vtermno, const char *buf, int count)
|
||||
{
|
||||
char scratch[17];
|
||||
unsigned int len = count;
|
||||
|
||||
if (len > sizeof(scratch) - 1)
|
||||
len = sizeof(scratch) - 1;
|
||||
scratch[len] = '\0';
|
||||
memcpy(scratch, buf, len);
|
||||
kvm_hypercall1(KVM_S390_VIRTIO_NOTIFY, __pa(scratch));
|
||||
return len;
|
||||
}
|
||||
|
||||
void s390_virtio_console_init(void)
|
||||
{
|
||||
virtio_cons_early_init(early_put_chars);
|
||||
}
|
||||
|
||||
/*
|
||||
* We do this after core stuff, but before the drivers.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user