# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 883e3dc479263c4310be5f7f480468a9a9fbda4c
# Parent 75b4982b82fee47dc4d8f61c444d97a692d782ec
[XEN][POWERPC] Xen shadow ops, mostly skeleton code
Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>
---
xen/arch/powerpc/Makefile | 1 +
xen/arch/powerpc/dom0_ops.c | 15 +++++++++++++++
xen/include/asm-powerpc/shadow.h | 4 ++++
3 files changed, 20 insertions(+)
diff -r 75b4982b82fe -r 883e3dc47926 xen/arch/powerpc/Makefile
--- a/xen/arch/powerpc/Makefile Tue Aug 29 14:36:16 2006 -0500
+++ b/xen/arch/powerpc/Makefile Sun Aug 20 13:28:45 2006 -0400
@@ -32,6 +32,7 @@ obj-y += physdev.o
obj-y += physdev.o
obj-y += rtas.o
obj-y += setup.o
+obj-y += shadow.o
obj-y += smp.o
obj-y += time.o
obj-y += usercopy.o
diff -r 75b4982b82fe -r 883e3dc47926 xen/arch/powerpc/dom0_ops.c
--- a/xen/arch/powerpc/dom0_ops.c Tue Aug 29 14:36:16 2006 -0500
+++ b/xen/arch/powerpc/dom0_ops.c Sun Aug 20 13:28:45 2006 -0400
@@ -23,6 +23,7 @@
#include <xen/lib.h>
#include <xen/sched.h>
#include <xen/guest_access.h>
+#include <xen/shadow.h>
#include <public/xen.h>
#include <public/domctl.h>
#include <public/sysctl.h>
@@ -107,8 +108,22 @@ long arch_do_sysctl(struct xen_sysctl *s
ret = -EFAULT;
}
break;
+ case DOM0_SHADOW_CONTROL:
+ {
+ struct domain *d;
+ ret = -ESRCH;
+ d = find_domain_by_id(op->u.shadow_control.domain);
+ if ( d != NULL )
+ {
+ ret = shadow_control_op(d, &op->u.shadow_control, u_dom0_op);
+ put_domain(d);
+ copy_to_guest(u_dom0_op, op, 1);
+ }
+ }
+ break;
default:
+ printk("%s: unsupported op: 0x%x\n", __func__, (op->cmd));
ret = -ENOSYS;
break;
}
diff -r 75b4982b82fe -r 883e3dc47926 xen/include/asm-powerpc/shadow.h
--- a/xen/include/asm-powerpc/shadow.h Tue Aug 29 14:36:16 2006 -0500
+++ b/xen/include/asm-powerpc/shadow.h Sun Aug 20 13:28:45 2006 -0400
@@ -56,4 +56,8 @@ static inline void mark_dirty(struct dom
return;
}
#define gnttab_mark_dirty(d, f) mark_dirty((d), (f))
+
+extern int shadow_control_op(struct domain *d,
+ dom0_shadow_control_t *sc,
+ XEN_GUEST_HANDLE(dom0_op_t) u_dom0_op);
#endif
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|