ia64/xen-unstable

view xen/common/compat/xlat.c @ 17062:0769835cf50f

x86 shadow: Reduce scope of shadow lock.

emulate_map_dest doesn't require holding lock, since
only shadow related operation possibly involved is to
remove shadow which is less frequent and can acquire
lock inside. Rest are either guest table walk or
per-vcpu monitor table manipulation

Signed-off-by Kevin Tian <kevin.tian@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Feb 14 10:33:12 2008 +0000 (2008-02-14)
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 */