diff options
author | Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> | 2016-10-10 16:47:06 +0530 |
---|---|---|
committer | Alexey Kardashevskiy <aik@ozlabs.ru> | 2016-10-13 10:47:05 +1100 |
commit | 8e92d6b3e8d6ac0625356f058da6ddae316e2cdc (patch) | |
tree | 1df9cff96c1bec5ebac4c3bbbe856202d83be38c /lib/libvirtio/virtio.code | |
parent | c1ab43d25be823fce882771f8407ddd93b893ac6 (diff) | |
download | SLOF-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.code | 33 |
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 |