diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-09-09 09:24:25 +0000 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-09-09 09:24:25 +0000 |
commit | cdb8b09f6b67b270b1c21f1a7f42d5e8a604caa8 (patch) | |
tree | 414d05b171df34e0125f29731a8ba12e280297d9 /extras/mini-os/include/events.h | |
parent | c125eb9c047b908b2bb18e5cf4a88355a1526a25 (diff) | |
download | xen-cdb8b09f6b67b270b1c21f1a7f42d5e8a604caa8.tar.gz xen-cdb8b09f6b67b270b1c21f1a7f42d5e8a604caa8.tar.bz2 xen-cdb8b09f6b67b270b1c21f1a7f42d5e8a604caa8.zip |
Xenbus implementation ported from Linux to Mini-os, simple thread support introduced
to simplify the porting. 64 bit version of Mini-os now compiles, but does not work
because of the pagetables and some bits of scheduler not being written.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Diffstat (limited to 'extras/mini-os/include/events.h')
-rw-r--r-- | extras/mini-os/include/events.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/extras/mini-os/include/events.h b/extras/mini-os/include/events.h index 7825650c57..3fad1f376c 100644 --- a/extras/mini-os/include/events.h +++ b/extras/mini-os/include/events.h @@ -20,6 +20,7 @@ #define _EVENTS_H_ #include<traps.h> +#include <xen/event_channel.h> #define NR_EVS 1024 @@ -39,6 +40,16 @@ typedef struct _ev_action_t { /* prototypes */ int do_event(u32 port, struct pt_regs *regs); int bind_virq( u32 virq, void (*handler)(int, struct pt_regs *) ); +void bind_evtchn( u32 virq, void (*handler)(int, struct pt_regs *) ); void init_events(void); +static inline int notify_via_evtchn(int port) +{ + evtchn_op_t op; + op.cmd = EVTCHNOP_send; + op.u.send.local_port = port; + return HYPERVISOR_event_channel_op(&op); +} + + #endif /* _EVENTS_H_ */ |