ia64/xen-unstable

view xen/common/compat/multicall.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 63211a8027fa
children
line source
1 /******************************************************************************
2 * multicall.c
3 */
5 #include <xen/config.h>
6 #include <xen/types.h>
7 #include <xen/multicall.h>
9 #define COMPAT
10 typedef int ret_t;
11 #undef do_multicall_call
13 static inline void xlat_multicall_entry(struct mc_state *mcs)
14 {
15 int i;
16 for (i=0; i<6; i++)
17 mcs->compat_call.args[i] = mcs->call.args[i];
18 }
20 DEFINE_XEN_GUEST_HANDLE(multicall_entry_compat_t);
21 #define multicall_entry compat_multicall_entry
22 #define multicall_entry_t multicall_entry_compat_t
23 #define do_multicall_call compat_multicall_call
24 #define call compat_call
25 #define do_multicall(l, n) compat_multicall(_##l, n)
26 #define _XEN_GUEST_HANDLE(t) XEN_GUEST_HANDLE(t)
28 #include "../multicall.c"
30 /*
31 * Local variables:
32 * mode: C
33 * c-set-style: "BSD"
34 * c-basic-offset: 4
35 * tab-width: 4
36 * indent-tabs-mode: nil
37 * End:
38 */