]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
xen: XEN_DOMCTL_sethvmcontext hypercall
authorBart Van Assche <bvanassche@acm.org>
Sun, 1 Dec 2013 10:57:14 +0000 (10:57 +0000)
committerBart Van Assche <bvanassche@acm.org>
Sun, 1 Dec 2013 10:57:14 +0000 (10:57 +0000)
Xen reads 'num' and 'array' from the structure, and reads the entire buffer.
Nothing gets written back.

From: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13734

coregrind/m_syswrap/syswrap-xen.c

index 116276fe54c5b9a20c65c05bfe9c1d519672c58e..ea4a7c0e35342f4090895083a7acc1ee3accace8 100644 (file)
@@ -590,6 +590,14 @@ PRE(domctl)
            __PRE_XEN_DOMCTL_READ(gethvmcontext, hvmcontext, size);
        break;
 
+   case VKI_XEN_DOMCTL_sethvmcontext:
+       __PRE_XEN_DOMCTL_READ(sethvmcontext, hvmcontext, size);
+       __PRE_XEN_DOMCTL_READ(sethvmcontext, hvmcontext, buffer);
+       PRE_MEM_READ("XEN_DOMCTL_sethvmcontext *buffer",
+                    (Addr)domctl->u.hvmcontext.buffer.p,
+                    domctl->u.hvmcontext.size);
+       break;
+
    case VKI_XEN_DOMCTL_max_mem:
       PRE_XEN_DOMCTL_READ(max_mem, max_memkb);
       break;
@@ -1068,6 +1076,7 @@ POST(domctl){
    case VKI_XEN_DOMCTL_setnodeaffinity:
    case VKI_XEN_DOMCTL_set_cpuid:
    case VKI_XEN_DOMCTL_unpausedomain:
+   case VKI_XEN_DOMCTL_sethvmcontext:
       /* No output fields */
       break;