Rename serialize_sleep() to zsleep()
[dragonfly.git] / sys / sys / systm.h
index f9f3eba..725f4e1 100644 (file)
@@ -37,7 +37,7 @@
  *
  *     @(#)systm.h     8.7 (Berkeley) 3/29/95
  * $FreeBSD: src/sys/sys/systm.h,v 1.111.2.18 2002/12/17 18:04:02 sam Exp $
- * $DragonFly: src/sys/sys/systm.h,v 1.74 2007/07/30 21:40:31 dillon Exp $
+ * $DragonFly: src/sys/sys/systm.h,v 1.81 2008/09/11 00:35:49 dillon Exp $
  */
 
 #ifndef _SYS_SYSTM_H_
@@ -103,8 +103,11 @@ extern int nfs_diskless_valid;     /* NFS diskless params were obtained */
 extern vm_paddr_t Maxmem;      /* Highest physical memory address in system */
 
 #ifdef INVARIANTS              /* The option is always available */
-#define        KASSERT(exp,msg)        do { if (!(exp)) panic msg; } while (0)
-#define KKASSERT(exp)          if (!(exp)) panic("assertion: %s in %s", #exp, __func__)
+#define        KASSERT(exp,msg)        do { if (__predict_false(!(exp)))       \
+                                       panic msg; } while (0)
+#define KKASSERT(exp)          do { if (__predict_false(!(exp)))       \
+                                       panic("assertion: %s in %s",    \
+                                             #exp, __func__); } while (0)
 #else
 #define        KASSERT(exp,msg)
 #define        KKASSERT(exp)
@@ -120,6 +123,8 @@ extern vm_paddr_t Maxmem;   /* Highest physical memory address in system */
 
 struct intrframe;
 struct spinlock;
+struct mtx;
+struct lwkt_serialize;
 struct malloc_type;
 struct proc;
 struct xwait;
@@ -135,7 +140,7 @@ struct savetls;
 struct krate;
 
 void   Debugger (const char *msg);
-void   backtrace(void);
+void   print_backtrace(void);
 void   mi_gdinit (struct globaldata *gd, int cpu);
 void   mi_proc0init(struct globaldata *gd, struct user *proc0paddr);
 int    dumpstatus (vm_offset_t addr, off_t count);
@@ -164,6 +169,7 @@ int is_physical_memory (vm_offset_t addr);
 
 extern uint32_t crc32_tab[];
 uint32_t crc32(const void *buf, size_t size);
+uint32_t crc32_ext(const void *buf, size_t size, uint32_t ocrc);
 void   init_param1 (void);
 void   init_param2 (int physpages);
 void   tablefull (const char *);
@@ -173,6 +179,7 @@ int log (int, const char *, ...) __printflike(2, 3);
 void   logwakeup (void);
 void   log_console (struct uio *);
 int    kprintf (const char *, ...) __printflike(1, 2);
+int    kprintf0(const char *, ...) __printflike(1, 2);
 void   krateprintf (struct krate *, const char *, ...) __printflike(2, 3);
 int    ksnprintf (char *, size_t, const char *, ...) __printflike(3, 4);
 int    ksprintf (char *buf, const char *, ...) __printflike(2, 3);
@@ -242,12 +249,11 @@ int       ksetenv(const char *name, const char *value);
 int    kunsetenv(const char *name);
 void   kfreeenv(char *env);
 int    ktestenv(const char *name);
-/* XXX TGEN Get rid of these compat defines. */
-#define        testenv ktestenv
-#define        freeenv kfreeenv
 int    kgetenv_int (const char *name, int *data);
 int    kgetenv_string (const char *name, char *data, int size);
+int    kgetenv_ulong(const char *name, unsigned long *data);
 int    kgetenv_quad (const char *name, quad_t *data);
+int    kgetenv_long(const char *name, long *data);
 extern char *kern_envp;
 
 #ifdef APM_FIXUP_CALLTODO 
@@ -258,10 +264,7 @@ void       adjust_timeout_calltodo (struct timeval *time_change);
 
 /* Initialize the world */
 void   mi_startup (void);
-void   consinit (void);
-void   cpu_initclocks (void *arg __unused);
 void   nchinit (void);
-void   usrinfoinit (void);
 
 /* Finalize the world. */
 void   shutdown_nice (int);
@@ -275,15 +278,6 @@ void       startrtclock (void);
 
 /* Timeouts */
 typedef void timeout_t (void *);       /* timeout function type */
-#define CALLOUT_HANDLE_INITIALIZER(handle)     \
-       { NULL }
-
-#if 0
-/* OBSOLETE INTERFACE */
-void   callout_handle_init (struct callout_handle *);
-struct callout_handle timeout (timeout_t *, void *, int);
-void   untimeout (timeout_t *, void *, struct callout_handle);
-#endif
 
 /* Interrupt management */
 
@@ -291,7 +285,7 @@ void        untimeout (timeout_t *, void *, struct callout_handle);
  * For the alpha arch, some of these functions are static __inline, and
  * the others should be.
  */
-#ifdef __i386__
+#if defined(__i386__) || defined(__amd64__)
 void           setdelayed (void);
 void           setsoftcambio (void);
 void           setsoftcamnet (void);
@@ -303,6 +297,7 @@ void                setsoftvm (void);
 void           setsofttq (void);
 void           schedsofttty (void);
 void           splz (void);
+void           splz_check (void);
 #endif /* __i386__ */
 
 /*
@@ -339,7 +334,10 @@ extern watchdog_tickle_fn  wdog_tickler;
  */
 int    tsleep (void *, int, const char *, int);
 int    msleep (void *, struct spinlock *, int, const char *, int);
-void   tsleep_interlock (void *chan);
+int    mtxsleep (void *, struct mtx *, int, const char *, int);
+int    zsleep(void *, struct lwkt_serialize *, int, const char *, int);
+void   tsleep_interlock (void *, int);
+void   tsleep_remove (struct thread *);
 int    lwkt_sleep (const char *, int);
 void   tstop (void);
 void   wakeup (void *chan);