diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-11-25 17:24:07 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-11-25 17:24:07 +0000 |
commit | a8bcd6b668d01a28f6a14e4f2a96c84861605617 (patch) | |
tree | 9f7e825b788fb848b73d044cfc4f900b7620ae2c /xen/include/xen/multicall.h | |
parent | 3d833e2c3c1fb89e00e675746e59d6591d21e0a4 (diff) | |
download | xen-a8bcd6b668d01a28f6a14e4f2a96c84861605617.tar.gz xen-a8bcd6b668d01a28f6a14e4f2a96c84861605617.tar.bz2 xen-a8bcd6b668d01a28f6a14e4f2a96c84861605617.zip |
bitkeeper revision 1.1159.187.15 (41a61537tODn12flBND8W6jum0b79Q)
Fix hypercall preemption. At the same time I reimplemented most of the
multi-hypercall in arch-independent C code.
Diffstat (limited to 'xen/include/xen/multicall.h')
-rw-r--r-- | xen/include/xen/multicall.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/xen/include/xen/multicall.h b/xen/include/xen/multicall.h new file mode 100644 index 0000000000..5982471330 --- /dev/null +++ b/xen/include/xen/multicall.h @@ -0,0 +1,21 @@ +/****************************************************************************** + * multicall.h + */ + +#ifndef __XEN_MULTICALL_H__ +#define __XEN_MULTICALL_H__ + +#include <asm/multicall.h> + +#define _MCSF_in_multicall 0 +#define _MCSF_call_preempted 1 +#define MCSF_in_multicall (1<<_MCSF_in_multicall) +#define MCSF_call_preempted (1<<_MCSF_call_preempted) +struct mc_state { + unsigned long flags; + multicall_entry_t call; +} __cacheline_aligned; + +extern struct mc_state mc_state[NR_CPUS]; + +#endif /* __XEN_MULTICALL_H__ */ |