aboutsummaryrefslogtreecommitdiff
path: root/lib/libvirtio/virtio.code
diff options
context:
space:
mode:
authorNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2016-10-10 16:47:06 +0530
committerAlexey Kardashevskiy <aik@ozlabs.ru>2016-10-13 10:47:05 +1100
commit8e92d6b3e8d6ac0625356f058da6ddae316e2cdc (patch)
tree1df9cff96c1bec5ebac4c3bbbe856202d83be38c /lib/libvirtio/virtio.code
parentc1ab43d25be823fce882771f8407ddd93b893ac6 (diff)
downloadSLOF-8e92d6b3e8d6ac0625356f058da6ddae316e2cdc.zip
SLOF-8e92d6b3e8d6ac0625356f058da6ddae316e2cdc.tar.gz
SLOF-8e92d6b3e8d6ac0625356f058da6ddae316e2cdc.tar.bz2
Add virtio-serial device support
Add support for virtio serial device to be used as a console device. Currently, SLOF only supports spapr-vty device. With this addition virtio console can be used during boot. Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Diffstat (limited to 'lib/libvirtio/virtio.code')
-rw-r--r--lib/libvirtio/virtio.code33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/libvirtio/virtio.code b/lib/libvirtio/virtio.code
index 8eec8f0..5cfffcc 100644
--- a/lib/libvirtio/virtio.code
+++ b/lib/libvirtio/virtio.code
@@ -15,6 +15,7 @@
#include <virtio-9p.h>
#include <virtio-scsi.h>
#include <virtio-net.h>
+#include <virtio-serial.h>
/******** core virtio ********/
@@ -165,3 +166,35 @@ PRIM(virtio_X2d_net_X2d_write)
TOS.n = virtionet_write(TOS.a, len);
}
MIRP
+
+/*********** virtio-serial ***********/
+// : virtio-serial-init ( dev -- false | true)
+PRIM(virtio_X2d_serial_X2d_init)
+ void *dev = TOS.a;
+ TOS.u = virtio_serial_init(dev);
+MIRP
+
+// : virtio-serial-shutdown ( dev -- )
+PRIM(virtio_X2d_serial_X2d_shutdown)
+ void *dev = TOS.a; POP;
+ virtio_serial_shutdown(dev);
+MIRP
+
+// : virtio-serial-putchar ( dev char -- )
+PRIM(virtio_X2d_serial_X2d_putchar)
+ unsigned long c = TOS.n; POP;
+ void *dev = TOS.a; POP;
+ virtio_serial_putchar(dev, c);
+MIRP
+
+// : virtio-serial-getchar ( dev -- char)
+PRIM(virtio_X2d_serial_X2d_getchar)
+ void *dev = TOS.a;
+ TOS.n = virtio_serial_getchar(dev);
+MIRP
+
+// : virtio-serial-haschar ( dev -- true | false)
+PRIM(virtio_X2d_serial_X2d_haschar)
+ void *dev = TOS.a;
+ TOS.n = virtio_serial_haschar(dev);
+MIRP