debuggers.hg

view xen/include/asm-x86/hypercall.h @ 22855:1d1eec7e1fb4

xl: Perform minimal validation of virtual disk file while parsing config file

This patch performs some very basic validation on the virtual disk
file passed through the config file. This validation ensures that we
don't go too far with the initialization like spawn qemu and more
while there could be some potentially fundamental issues.

[ Patch fixed up to work with PHYSTYPE_EMPTY 22808:6ec61438713a -iwj ]

Signed-off-by: Kamala Narasimhan <kamala.narasimhan@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
author Kamala Narasimhan <kamala.narasimhan@gmail.com>
date Tue Jan 25 18:09:49 2011 +0000 (2011-01-25)
parents 07bbfe6dd27d
children
line source
1 /******************************************************************************
2 * asm-x86/hypercall.h
3 */
5 #ifndef __ASM_X86_HYPERCALL_H__
6 #define __ASM_X86_HYPERCALL_H__
8 #include <public/physdev.h>
9 #include <public/arch-x86/xen-mca.h> /* for do_mca */
10 #include <public/domctl.h> /* for arch_do_domctl */
11 #include <xen/types.h>
13 /*
14 * Both do_mmuext_op() and do_mmu_update():
15 * We steal the m.s.b. of the @count parameter to indicate whether this
16 * invocation of do_mmu_update() is resuming a previously preempted call.
17 */
18 #define MMU_UPDATE_PREEMPTED (~(~0U>>1))
20 extern long
21 do_event_channel_op_compat(
22 XEN_GUEST_HANDLE(evtchn_op_t) uop);
24 extern long
25 do_set_trap_table(
26 XEN_GUEST_HANDLE(const_trap_info_t) traps);
28 extern int
29 do_mmu_update(
30 XEN_GUEST_HANDLE(mmu_update_t) ureqs,
31 unsigned int count,
32 XEN_GUEST_HANDLE(uint) pdone,
33 unsigned int foreigndom);
35 extern long
36 do_set_gdt(
37 XEN_GUEST_HANDLE(ulong) frame_list,
38 unsigned int entries);
40 extern long
41 do_stack_switch(
42 unsigned long ss,
43 unsigned long esp);
45 extern long
46 do_fpu_taskswitch(
47 int set);
49 extern long
50 do_set_debugreg(
51 int reg,
52 unsigned long value);
54 extern unsigned long
55 do_get_debugreg(
56 int reg);
58 extern long
59 do_update_descriptor(
60 u64 pa,
61 u64 desc);
63 extern long
64 do_mca(XEN_GUEST_HANDLE(xen_mc_t) u_xen_mc);
66 extern int
67 do_update_va_mapping(
68 unsigned long va,
69 u64 val64,
70 unsigned long flags);
72 extern long
73 do_physdev_op(
74 int cmd, XEN_GUEST_HANDLE(void) arg);
76 extern int
77 do_update_va_mapping_otherdomain(
78 unsigned long va,
79 u64 val64,
80 unsigned long flags,
81 domid_t domid);
83 extern int
84 do_mmuext_op(
85 XEN_GUEST_HANDLE(mmuext_op_t) uops,
86 unsigned int count,
87 XEN_GUEST_HANDLE(uint) pdone,
88 unsigned int foreigndom);
90 extern unsigned long
91 do_iret(
92 void);
94 struct vcpu;
95 extern long
96 arch_do_vcpu_op(
97 int cmd, struct vcpu *v, XEN_GUEST_HANDLE(void) arg);
99 extern long
100 arch_do_domctl(
101 struct xen_domctl *domctl,
102 XEN_GUEST_HANDLE(xen_domctl_t) u_domctl);
104 extern int
105 do_kexec(
106 unsigned long op, unsigned arg1, XEN_GUEST_HANDLE(void) uarg);
108 #ifdef __x86_64__
110 extern long
111 do_set_callbacks(
112 unsigned long event_address,
113 unsigned long failsafe_address,
114 unsigned long syscall_address);
116 extern long
117 do_set_segment_base(
118 unsigned int which,
119 unsigned long base);
121 extern int
122 compat_physdev_op(
123 int cmd,
124 XEN_GUEST_HANDLE(void) arg);
126 extern int
127 arch_compat_vcpu_op(
128 int cmd, struct vcpu *v, XEN_GUEST_HANDLE(void) arg);
130 #else
132 extern long
133 do_set_callbacks(
134 unsigned long event_selector,
135 unsigned long event_address,
136 unsigned long failsafe_selector,
137 unsigned long failsafe_address);
139 #endif
141 #endif /* __ASM_X86_HYPERCALL_H__ */