aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-02-16 15:18:11 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-02-16 15:18:11 +0000
commitcc52cc88bfd5ae9a5327e2dce1892a19b167315a (patch)
treeca93d2bb691cac99637ca0c87cb4093db8792c1a /extras
parent39dde2c759a07c0fd6e8f3796a9e82527fea2665 (diff)
downloadxen-cc52cc88bfd5ae9a5327e2dce1892a19b167315a.tar.gz
xen-cc52cc88bfd5ae9a5327e2dce1892a19b167315a.tar.bz2
xen-cc52cc88bfd5ae9a5327e2dce1892a19b167315a.zip
bitkeeper revision 1.729 (4030df33sBhhycc0odkWGG3QYXaN1A)
hypervisor.h: Add memory clobbers to every hypercall stub. Otherwise we get hard to diagnose bugs.
Diffstat (limited to 'extras')
-rw-r--r--extras/mini-os/h/hypervisor.h34
1 files changed, 17 insertions, 17 deletions
diff --git a/extras/mini-os/h/hypervisor.h b/extras/mini-os/h/hypervisor.h
index 92bb37cdd2..ad11c39a45 100644
--- a/extras/mini-os/h/hypervisor.h
+++ b/extras/mini-os/h/hypervisor.h
@@ -45,7 +45,7 @@ static __inline__ int HYPERVISOR_set_trap_table(trap_info_t *table)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_set_trap_table),
- "b" (table) );
+ "b" (table) : "memory" );
return ret;
}
@@ -56,7 +56,7 @@ static __inline__ int HYPERVISOR_mmu_update(mmu_update_t *req, int count)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_mmu_update),
- "b" (req), "c" (count) );
+ "b" (req), "c" (count) : "memory" );
return ret;
}
@@ -67,7 +67,7 @@ static __inline__ int HYPERVISOR_console_write(const char *str, int count)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_console_write),
- "b" (str), "c" (count) );
+ "b" (str), "c" (count) : "memory" );
return ret;
@@ -79,7 +79,7 @@ static __inline__ int HYPERVISOR_set_gdt(unsigned long *frame_list, int entries)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_set_gdt),
- "b" (frame_list), "c" (entries) );
+ "b" (frame_list), "c" (entries) : "memory" );
return ret;
@@ -116,7 +116,7 @@ static __inline__ int HYPERVISOR_net_io_op(netop_t *op)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_net_io_op),
- "b" (op) );
+ "b" (op) : "memory" );
return ret;
}
@@ -126,7 +126,7 @@ static __inline__ int HYPERVISOR_fpu_taskswitch(void)
int ret;
__asm__ __volatile__ (
TRAP_INSTR
- : "=a" (ret) : "0" (__HYPERVISOR_fpu_taskswitch) );
+ : "=a" (ret) : "0" (__HYPERVISOR_fpu_taskswitch) : "memory" );
return ret;
}
@@ -137,7 +137,7 @@ static __inline__ int HYPERVISOR_yield(void)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_sched_op),
- "b" (SCHEDOP_yield) );
+ "b" (SCHEDOP_yield) : "memory" );
return ret;
}
@@ -148,7 +148,7 @@ static __inline__ int HYPERVISOR_block(void)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_sched_op),
- "b" (SCHEDOP_block) );
+ "b" (SCHEDOP_block) : "memory" );
return ret;
}
@@ -159,7 +159,7 @@ static __inline__ int HYPERVISOR_exit(void)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_sched_op),
- "b" (SCHEDOP_exit) );
+ "b" (SCHEDOP_exit) : "memory" );
return ret;
}
@@ -204,7 +204,7 @@ static __inline__ int HYPERVISOR_network_op(void *network_op)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_network_op),
- "b" (network_op) );
+ "b" (network_op) : "memory" );
return ret;
}
@@ -215,7 +215,7 @@ static __inline__ int HYPERVISOR_block_io_op(unsigned int op)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_block_io_op),
- "b" (op) );
+ "b" (op) : "memory" );
return ret;
}
@@ -226,7 +226,7 @@ static __inline__ int HYPERVISOR_set_debugreg(int reg, unsigned long value)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_set_debugreg),
- "b" (reg), "c" (value) );
+ "b" (reg), "c" (value) : "memory" );
return ret;
}
@@ -237,7 +237,7 @@ static __inline__ unsigned long HYPERVISOR_get_debugreg(int reg)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_get_debugreg),
- "b" (reg) );
+ "b" (reg) : "memory" );
return ret;
}
@@ -249,7 +249,7 @@ static __inline__ int HYPERVISOR_update_descriptor(
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_update_descriptor),
- "b" (pa), "c" (word1), "d" (word2) );
+ "b" (pa), "c" (word1), "d" (word2) : "memory" );
return ret;
}
@@ -260,7 +260,7 @@ static __inline__ int HYPERVISOR_set_fast_trap(int idx)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_set_fast_trap),
- "b" (idx) );
+ "b" (idx) : "memory" );
return ret;
}
@@ -293,7 +293,7 @@ static __inline__ long HYPERVISOR_kbd_op(unsigned char op, unsigned char val)
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_kbd_op),
- "b" (op), "c" (val) );
+ "b" (op), "c" (val) : "memory" );
return ret;
}
@@ -305,7 +305,7 @@ static __inline__ int HYPERVISOR_update_va_mapping(
__asm__ __volatile__ (
TRAP_INSTR
: "=a" (ret) : "0" (__HYPERVISOR_update_va_mapping),
- "b" (page_nr), "c" (new_val), "d" (flags) );
+ "b" (page_nr), "c" (new_val), "d" (flags) : "memory" );
return ret;
}