aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/physdev.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-09-11 15:49:52 +0200
committerJan Beulich <jbeulich@suse.com>2012-09-11 15:49:52 +0200
commit322ecbe4ac85d4d9d11f50240ef6e5291fbbf440 (patch)
tree829a3a1f022acc43d8e9bcdb04c10b06e2312970 /xen/arch/x86/physdev.c
parentaf844567f069cfd53ade32c1fcdf8582865129d1 (diff)
downloadxen-322ecbe4ac85d4d9d11f50240ef6e5291fbbf440.tar.gz
xen-322ecbe4ac85d4d9d11f50240ef6e5291fbbf440.tar.bz2
xen-322ecbe4ac85d4d9d11f50240ef6e5291fbbf440.zip
console: add EHCI debug port based serial console
Low level hardware interface pieces adapted from Linux. For setup information, see Linux'es Documentation/x86/earlyprintk.txt and/or http://www.coreboot.org/EHCI_Debug_Port. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/physdev.c')
-rw-r--r--xen/arch/x86/physdev.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index ce55ee1f7a..722318d03f 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -8,6 +8,7 @@
#include <xen/event.h>
#include <xen/guest_access.h>
#include <xen/iocap.h>
+#include <xen/serial.h>
#include <asm/current.h>
#include <asm/io_apic.h>
#include <asm/msi.h>
@@ -722,6 +723,19 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg)
break;
}
+
+ case PHYSDEVOP_dbgp_op: {
+ struct physdev_dbgp_op op;
+
+ if ( !IS_PRIV(v->domain) )
+ ret = -EPERM;
+ else if ( copy_from_guest(&op, arg, 1) )
+ ret = -EFAULT;
+ else
+ ret = dbgp_op(&op);
+ break;
+ }
+
default:
ret = -ENOSYS;
break;