aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-11-05 09:07:50 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-11-05 09:07:50 +0000
commit589d8fae088b3a9092e2206abc6ad46e8a0d20dd (patch)
tree6306202bbe7161be1e8d1541d5a0cb49dc5de3eb /extras
parent1085ebc8ae84807ca1ed310e68af938c821af473 (diff)
downloadxen-589d8fae088b3a9092e2206abc6ad46e8a0d20dd.tar.gz
xen-589d8fae088b3a9092e2206abc6ad46e8a0d20dd.tar.bz2
xen-589d8fae088b3a9092e2206abc6ad46e8a0d20dd.zip
bitkeeper revision 1.558 (3fa8bde6eQgIO9tzKu1KolYWJYKnxg)
xen_log.c, hypervisor.h: Bug fixes. Minios shoudl work again now.
Diffstat (limited to 'extras')
-rw-r--r--extras/mini-os/h/hypervisor.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/extras/mini-os/h/hypervisor.h b/extras/mini-os/h/hypervisor.h
index 4c4d752615..3afd245fd6 100644
--- a/extras/mini-os/h/hypervisor.h
+++ b/extras/mini-os/h/hypervisor.h
@@ -129,7 +129,8 @@ static inline int HYPERVISOR_yield(void)
int ret;
__asm__ __volatile__ (
TRAP_INSTR
- : "=a" (ret) : "0" (__HYPERVISOR_yield) );
+ : "=a" (ret) : "0" (__HYPERVISOR_sched_op),
+ "b" (SCHEDOP_yield) );
return ret;
}
@@ -139,7 +140,19 @@ static inline int HYPERVISOR_exit(void)
int ret;
__asm__ __volatile__ (
TRAP_INSTR
- : "=a" (ret) : "0" (__HYPERVISOR_exit) );
+ : "=a" (ret) : "0" (__HYPERVISOR_sched_op),
+ "b" (SCHEDOP_exit) );
+
+ return ret;
+}
+
+static inline int HYPERVISOR_stop(void)
+{
+ int ret;
+ __asm__ __volatile__ (
+ TRAP_INSTR
+ : "=a" (ret) : "0" (__HYPERVISOR_sched_op),
+ "b" (SCHEDOP_stop) );
return ret;
}