debuggers.hg

view xen/common/compat/xlat.c @ 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 203f982ed5d9
children
line source
1 /******************************************************************************
2 * xlat.c
3 */
5 #include <xen/compat.h>
6 #include <xen/lib.h>
7 #include <compat/xen.h>
8 #include <compat/event_channel.h>
9 #include <compat/vcpu.h>
11 /* In-place translation functons: */
12 void xlat_start_info(struct start_info *native,
13 enum XLAT_start_info_console console)
14 {
15 struct compat_start_info *compat = (void *)native;
17 BUILD_BUG_ON(sizeof(*native) < sizeof(*compat));
18 XLAT_start_info(compat, native);
19 }
21 void xlat_vcpu_runstate_info(struct vcpu_runstate_info *native)
22 {
23 struct compat_vcpu_runstate_info *compat = (void *)native;
25 BUILD_BUG_ON(sizeof(*native) < sizeof(*compat));
26 XLAT_vcpu_runstate_info(compat, native);
27 }
29 #define xen_dom0_vga_console_info dom0_vga_console_info
30 CHECK_dom0_vga_console_info;
31 #undef dom0_vga_console_info
33 #define xen_evtchn_alloc_unbound evtchn_alloc_unbound
34 #define xen_evtchn_bind_interdomain evtchn_bind_interdomain
35 #define xen_evtchn_bind_ipi evtchn_bind_ipi
36 #define xen_evtchn_bind_pirq evtchn_bind_pirq
37 #define xen_evtchn_bind_vcpu evtchn_bind_vcpu
38 #define xen_evtchn_bind_virq evtchn_bind_virq
39 #define xen_evtchn_close evtchn_close
40 #define xen_evtchn_op evtchn_op
41 #define xen_evtchn_send evtchn_send
42 #define xen_evtchn_status evtchn_status
43 #define xen_evtchn_unmask evtchn_unmask
44 CHECK_evtchn_op;
45 #undef xen_evtchn_alloc_unbound
46 #undef xen_evtchn_bind_interdomain
47 #undef xen_evtchn_bind_ipi
48 #undef xen_evtchn_bind_pirq
49 #undef xen_evtchn_bind_vcpu
50 #undef xen_evtchn_bind_virq
51 #undef xen_evtchn_close
52 #undef xen_evtchn_op
53 #undef xen_evtchn_send
54 #undef xen_evtchn_status
55 #undef xen_evtchn_unmask
57 #define xen_mmu_update mmu_update
58 CHECK_mmu_update;
59 #undef xen_mmu_update
61 #define xen_vcpu_time_info vcpu_time_info
62 CHECK_vcpu_time_info;
63 #undef xen_vcpu_time_info
65 /*
66 * Local variables:
67 * mode: C
68 * c-set-style: "BSD"
69 * c-basic-offset: 4
70 * tab-width: 4
71 * indent-tabs-mode: nil
72 * End:
73 */