diff options
author | Julien Grall <julien.grall@linaro.org> | 2013-08-01 17:09:29 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-08-08 12:55:28 +0100 |
commit | acc86a712eb1d6ac4cbcb0aad595ab6b98aab71e (patch) | |
tree | d3702df27e392784696ceff263469be96a2ed663 /xen/include/asm-arm | |
parent | 7360db4276ffed96b54bbddb7aff4127fe69f051 (diff) | |
download | xen-acc86a712eb1d6ac4cbcb0aad595ab6b98aab71e.tar.gz xen-acc86a712eb1d6ac4cbcb0aad595ab6b98aab71e.tar.bz2 xen-acc86a712eb1d6ac4cbcb0aad595ab6b98aab71e.zip |
xen/arm: Implement a virtual UART
This code is based on the previous vuart0 implementation. Unlike the latter,
it's intend to replace UART stolen by XEN to DOM0 via dtuart=... on its
command line.
It's useful when the kernel is compiled with early printk enabled or for a
single platform. Most of the time, the hardcoded code to handle the UART
will need 2 registers: status and data, the others registers can be
implemented as RAZ/WI.
This commit will also drop support of early printk (based on vexpress pl011)
in the guest.
Signed-off-by: Julien Grall <julien.grall@linaro.org>
Reviewed-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/include/asm-arm')
-rw-r--r-- | xen/include/asm-arm/domain.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h index 89f88f6428..67bfbbc29e 100644 --- a/xen/include/asm-arm/domain.h +++ b/xen/include/asm-arm/domain.h @@ -8,6 +8,7 @@ #include <asm/p2m.h> #include <asm/vfp.h> #include <public/hvm/params.h> +#include <xen/serial.h> /* Represents state corresponding to a block of 32 interrupts */ struct vgic_irq_rank { @@ -103,12 +104,13 @@ struct arch_domain paddr_t cbase; /* CPU base address */ } vgic; - struct vpl011 { -#define VPL011_BUF_SIZE 128 - char *buf; - int idx; - spinlock_t lock; - } uart0; + struct vuart { +#define VUART_BUF_SIZE 128 + char *buf; + int idx; + const struct vuart_info *info; + spinlock_t lock; + } vuart; } __cacheline_aligned; |