Add EPLAN9 to the error list (XCC)
[akaros.git] / kern / include / ros / event.h
index 8719916..4bf0234 100644 (file)
@@ -6,57 +6,10 @@
 
 #pragma once
 
-#include <ros/common.h>
+#include <ros/bits/event.h>
 #include <ros/atomic.h>
 #include <ros/trapframe.h>
-/* #include <ros/ucq.h> included below */
-/* #include <ros/evbitmap.h> included below */
 
-/* Event Delivery Flags from the process to the kernel */
-#define EVENT_IPI                              0x00001 /* IPI the vcore (usually with INDIR) */
-#define EVENT_SPAM_PUBLIC              0x00002 /* spam the msg to public vcpd mboxes */
-#define EVENT_INDIR                            0x00004 /* send an indirection event to vcore */
-#define EVENT_VCORE_PRIVATE            0x00008 /* Will go to the private VCPD mbox */
-#define EVENT_SPAM_INDIR               0x00010 /* spam INDIRs if the vcore's offline */
-#define EVENT_VCORE_MUST_RUN   0x00020 /* spams go to a vcore that will run */
-#define EVENT_NOTHROTTLE               0x00040 /* send all INDIRs (no throttling) */
-#define EVENT_ROUNDROBIN               0x00080 /* pick a vcore, RR style */
-#define EVENT_VCORE_APPRO              0x00100 /* send to where the kernel wants */
-#define EVENT_WAKEUP                   0x00200 /* wake up the process after sending */
-
-/* Event Message Types */
-#define EV_NONE                                         0
-#define EV_PREEMPT_PENDING              1
-#define EV_GANG_PREMPT_PENDING  2
-#define EV_VCORE_PREEMPT                3
-#define EV_GANG_RETURN                  4
-#define EV_USER_IPI                             5
-#define EV_PAGE_FAULT                   6
-#define EV_ALARM                                7
-#define EV_EVENT                                8
-#define EV_FREE_APPLE_PIE               9
-#define EV_SYSCALL                             10
-#define EV_CHECK_MSGS                  11
-#define EV_POSIX_SIGNAL                        12
-#define NR_EVENT_TYPES                 25 /* keep me last (and 1 > the last one) */
-
-/* Will probably have dynamic notifications later */
-#define MAX_NR_DYN_EVENT               25
-#define MAX_NR_EVENT                   (NR_EVENT_TYPES + MAX_NR_DYN_EVENT)
-
-/* Want to keep this small and generic, but add items as you need them.  One
- * item some will need is an expiration time, which ought to be put in the 64
- * bit arg.  Will need tweaking / thought as we come up with events.  These are
- * what get put on the per-core queue in procdata. */
-struct event_msg {
-       uint16_t                                        ev_type;
-       uint16_t                                        ev_arg1;
-       uint32_t                                        ev_arg2;
-       void                                            *ev_arg3;
-       uint64_t                                        ev_arg4;
-};
-
-/* Include here since the mboxes need to know event.h basics (e.g. event_msg) */
 #include <ros/ucq.h>
 #include <ros/evbitmap.h>
 #include <ros/ceq.h>