aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-arm
diff options
context:
space:
mode:
authorJulien Grall <julien.grall@linaro.org>2013-08-01 17:09:29 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-08-08 12:55:28 +0100
commitacc86a712eb1d6ac4cbcb0aad595ab6b98aab71e (patch)
treed3702df27e392784696ceff263469be96a2ed663 /xen/include/asm-arm
parent7360db4276ffed96b54bbddb7aff4127fe69f051 (diff)
downloadxen-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.h14
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;