diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-11-05 09:07:50 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-11-05 09:07:50 +0000 |
commit | 589d8fae088b3a9092e2206abc6ad46e8a0d20dd (patch) | |
tree | 6306202bbe7161be1e8d1541d5a0cb49dc5de3eb /extras/mini-os | |
parent | 1085ebc8ae84807ca1ed310e68af938c821af473 (diff) | |
download | xen-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/mini-os')
-rw-r--r-- | extras/mini-os/h/hypervisor.h | 17 |
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; } |