summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1996-05-28 12:16:26 +0000
committerderaadt <deraadt@openbsd.org>1996-05-28 12:16:26 +0000
commitd4f19e3b4487907f22a8ae9dabf3c2076c3ca4a4 (patch)
treec80b234cc709753b44860b9f1e9f3d5d47254ccc
parentIgnore CRASH directory (diff)
downloadwireguard-openbsd-d4f19e3b4487907f22a8ae9dabf3c2076c3ca4a4.tar.xz
wireguard-openbsd-d4f19e3b4487907f22a8ae9dabf3c2076c3ca4a4.zip
thread changes
-rw-r--r--sys/conf/files3
-rw-r--r--sys/conf/files.oldconf3
-rw-r--r--sys/kern/kern_thread.c83
-rw-r--r--sys/sys/proc.h23
-rw-r--r--sys/sys/types.h10
-rw-r--r--sys/vm/device_pager.c22
-rw-r--r--sys/vm/kern_lock.c27
-rw-r--r--sys/vm/lock.h4
-rw-r--r--sys/vm/pmap.h18
-rw-r--r--sys/vm/swap_pager.c43
-rw-r--r--sys/vm/vm_glue.c55
-rw-r--r--sys/vm/vm_param.h4
12 files changed, 120 insertions, 175 deletions
diff --git a/sys/conf/files b/sys/conf/files
index 2959cfaba59..d3f965aff97 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1,4 +1,4 @@
-# $OpenBSD: files,v 1.21 1996/05/22 12:08:17 deraadt Exp $
+# $OpenBSD: files,v 1.22 1996/05/28 12:16:34 deraadt Exp $
# $NetBSD: files,v 1.87 1996/05/19 17:17:50 jonathan Exp $
# @(#)files.newconf 7.5 (Berkeley) 5/10/93
@@ -133,7 +133,6 @@ file kern/kern_sig.c
file kern/kern_subr.c
file kern/kern_sysctl.c
file kern/kern_synch.c
-file kern/kern_thread.c
file kern/kern_time.c
file kern/kern_xxx.c
file kern/subr_autoconf.c
diff --git a/sys/conf/files.oldconf b/sys/conf/files.oldconf
index e50b9938c07..6bdd70d1b12 100644
--- a/sys/conf/files.oldconf
+++ b/sys/conf/files.oldconf
@@ -1,4 +1,4 @@
-# $OpenBSD: files.oldconf,v 1.9 1996/05/04 20:49:19 mickey Exp $
+# $OpenBSD: files.oldconf,v 1.10 1996/05/28 12:16:34 deraadt Exp $
# $NetBSD: files.oldconf,v 1.67 1996/03/19 04:40:54 scottr Exp $
#
adosfs/adlookup.c optional adosfs
@@ -57,7 +57,6 @@ kern/kern_subr.c standard
kern/kern_synch.c standard
kern/kern_sysctl.c standard
kern/kern_time.c standard
-kern/kern_thread.c standard
kern/kern_xxx.c standard
kern/subr_disk.c standard
kern/subr_log.c standard
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
deleted file mode 100644
index 5aa71b9e8cc..00000000000
--- a/sys/kern/kern_thread.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* $OpenBSD: kern_thread.c,v 1.1 1996/03/19 21:10:40 mickey Exp $ */
-
-/*
- * Copyright (c) 1987, 1990 Carnegie-Mellon University.
- * All rights reserved.
- *
- * Permission to use, copy, modify and distribute this software and
- * its documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
- * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <vm/vm_param.h>
-#include <vm/lock.h>
-
-/*
- * The rest of these routines fake thread handling
- */
-
-void
-assert_wait(event, interruptible)
- event_t event;
- boolean_t interruptible;
-{
-#ifdef lint
- interruptible++;
-#endif
- current_thread() = (thread_t)event; /* XXX */
-}
-
-void
-thread_block()
-{
- int s = splhigh();
-
- if (current_thread())
- tsleep(current_thread(), PVM, "thrd_block", 0);
- splx(s);
-}
-
-void
-thread_sleep(event, lock, interruptible)
- event_t event;
- simple_lock_t lock;
- boolean_t interruptible;
-{
- int s = splhigh();
-
- assert_wait (event, interruptible);
- simple_unlock(lock);
- if (current_thread())
- tsleep(event, PVM, "thrd_sleep", 0);
- splx(s);
-}
-
-void
-thread_wakeup(event)
- event_t event;
-{
- int s = splhigh();
-
- wakeup(event);
- splx(s);
-}
-
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index c1673bfdd83..2641c1b87bf 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: proc.h,v 1.7 1996/05/02 13:14:54 deraadt Exp $ */
+/* $OpenBSD: proc.h,v 1.8 1996/05/28 12:16:27 deraadt Exp $ */
/* $NetBSD: proc.h,v 1.44 1996/04/22 01:23:21 christos Exp $ */
/*-
@@ -97,19 +97,6 @@ struct emul {
};
/*
- * Description of the thread within the process
- */
-typedef struct proc *proc_t;
-typedef struct thread *thread_t;
-typedef void *event_t;
-
-struct thread {
-
- proc_t proc;
- event_t wait_event;
-};
-
-/*
* Description of a process.
*
* This structure contains the information needed to manage a thread of
@@ -202,7 +189,7 @@ struct proc {
/* End area that is copied on creation. */
#define p_endcopy p_thread
- thread_t p_thread; /* Id for this "thread"; Mach glue. */
+ void *p_thread; /* Id for this "thread"; Mach glue. XXX */
struct user *p_addr; /* Kernel virtual addr of u-area (PROC ONLY). */
struct mdproc p_md; /* Any machine-dependent fields. */
@@ -306,12 +293,6 @@ struct prochd {
struct proc *ph_rlink;
} qs[NQS];
-#define current_thread() (curproc->p_thread)
-void assert_wait __P((event_t, boolean_t));
-void thread_block __P((void));
-void thread_sleep __P((event_t, struct slock *, boolean_t));
-void thread_wakeup __P((event_t));
-
struct proc *pfind __P((pid_t)); /* Find process by id. */
struct pgrp *pgfind __P((pid_t)); /* Find process group by id. */
diff --git a/sys/sys/types.h b/sys/sys/types.h
index 11b803124b3..c2a4cf8e377 100644
--- a/sys/sys/types.h
+++ b/sys/sys/types.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: types.h,v 1.8 1996/04/21 22:32:15 deraadt Exp $ */
+/* $OpenBSD: types.h,v 1.9 1996/05/28 12:16:28 deraadt Exp $ */
/* $NetBSD: types.h,v 1.26 1996/04/09 20:55:47 cgd Exp $ */
/*-
@@ -82,12 +82,6 @@ typedef int32_t segsz_t; /* segment size */
typedef int32_t swblk_t; /* swap offset */
typedef u_int32_t uid_t; /* user id */
-#ifdef _KERNEL /* XXX */
-typedef int boolean_t;
-#define TRUE 1
-#define FALSE 0
-#endif
-
/*
* These belong in unistd.h, but are placed here too to ensure that
* long arguments will be promoted to off_t if the program fails to
@@ -173,8 +167,6 @@ typedef struct fd_set {
* used in the same place that the structure is defined.
*/
struct proc;
-struct thread;
-struct slock;
struct pgrp;
struct ucred;
struct rusage;
diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c
index f9ed52ca747..c62bf53cc20 100644
--- a/sys/vm/device_pager.c
+++ b/sys/vm/device_pager.c
@@ -108,7 +108,7 @@ dev_pager_alloc(handle, size, prot, foff)
{
dev_t dev;
vm_pager_t pager;
- int (*mapfunc)();
+ int (*mapfunc) __P((dev_t, int, int));
vm_object_t object;
dev_pager_t devp;
int npages, off;
@@ -131,7 +131,9 @@ dev_pager_alloc(handle, size, prot, foff)
*/
dev = (dev_t)(long)handle;
mapfunc = cdevsw[major(dev)].d_mmap;
- if (mapfunc == NULL || mapfunc == enodev || mapfunc == nullop)
+ if (mapfunc == NULL ||
+ mapfunc == (int (*) __P((dev_t, int, int))) enodev ||
+ mapfunc == (int (*) __P((dev_t, int, int))) nullop)
return(NULL);
/*
@@ -194,7 +196,7 @@ top:
TAILQ_INSERT_TAIL(&dev_pager_list, pager, pg_list);
#ifdef DEBUG
if (dpagerdebug & DDB_ALLOC) {
- printf("dev_pager_alloc: pager %x devp %x object %x\n",
+ printf("dev_pager_alloc: pager %p devp %p object %p\n",
pager, devp, object);
vm_object_print(object, FALSE);
}
@@ -224,7 +226,7 @@ dev_pager_dealloc(pager)
#ifdef DEBUG
if (dpagerdebug & DDB_FOLLOW)
- printf("dev_pager_dealloc(%x)\n", pager);
+ printf("dev_pager_dealloc(%p)\n", pager);
#endif
TAILQ_REMOVE(&dev_pager_list, pager, pg_list);
/*
@@ -236,7 +238,7 @@ dev_pager_dealloc(pager)
object = devp->devp_object;
#ifdef DEBUG
if (dpagerdebug & DDB_ALLOC)
- printf("dev_pager_dealloc: devp %x object %x\n", devp, object);
+ printf("dev_pager_dealloc: devp %p object %p\n", devp, object);
#endif
/*
* Free up our fake pages.
@@ -260,12 +262,12 @@ dev_pager_getpage(pager, mlist, npages, sync)
vm_offset_t offset, paddr;
vm_page_t page;
dev_t dev;
- int (*mapfunc)(), prot;
+ int (*mapfunc) __P((dev_t, int, int)), prot;
vm_page_t m;
#ifdef DEBUG
if (dpagerdebug & DDB_FOLLOW)
- printf("dev_pager_getpage(%x, %x, %x, %x)\n",
+ printf("dev_pager_getpage(%p, %p, %x, %x)\n",
pager, mlist, npages, sync);
#endif
@@ -279,7 +281,9 @@ dev_pager_getpage(pager, mlist, npages, sync)
prot = PROT_READ; /* XXX should pass in? */
mapfunc = cdevsw[major(dev)].d_mmap;
#ifdef DIAGNOSTIC
- if (mapfunc == NULL || mapfunc == enodev || mapfunc == nullop)
+ if (mapfunc == NULL ||
+ mapfunc == (int (*) __P((dev_t, int, int))) enodev ||
+ mapfunc == (int (*) __P((dev_t, int, int))) nullop)
panic("dev_pager_getpage: no map function");
#endif
paddr = pmap_phys_address((*mapfunc)(dev, (int)offset, prot));
@@ -316,7 +320,7 @@ dev_pager_putpage(pager, mlist, npages, sync)
{
#ifdef DEBUG
if (dpagerdebug & DDB_FOLLOW)
- printf("dev_pager_putpage(%x, %x, %x, %x)\n",
+ printf("dev_pager_putpage(%p, %p, %x, %x)\n",
pager, mlist, npages, sync);
#endif
if (pager == NULL)
diff --git a/sys/vm/kern_lock.c b/sys/vm/kern_lock.c
index f81ca2d4641..2d61239ee37 100644
--- a/sys/vm/kern_lock.c
+++ b/sys/vm/kern_lock.c
@@ -70,10 +70,15 @@
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/proc.h>
#include <vm/vm.h>
+/* XXX */
+#include <sys/proc.h>
+typedef void *thread_t;
+#define current_thread() ((thread_t)&curproc->p_thread)
+/* XXX */
+
#if NCPUS > 1
/*
@@ -165,7 +170,7 @@ void lock_init(l, can_sleep)
l->want_upgrade = FALSE;
l->read_count = 0;
l->can_sleep = can_sleep;
- l->thread = (thread_t)-1; /* XXX */
+ l->thread = (char *)-1; /* XXX */
l->recursion_depth = 0;
}
@@ -192,7 +197,7 @@ void lock_write(l)
simple_lock(&l->interlock);
- if (l->thread == (thread_t)&current_thread()) {
+ if (((thread_t)l->thread) == current_thread()) {
/*
* Recursive lock.
*/
@@ -270,7 +275,7 @@ void lock_read(l)
simple_lock(&l->interlock);
- if (l->thread == (thread_t)&current_thread()) {
+ if (((thread_t)l->thread) == current_thread()) {
/*
* Recursive lock.
*/
@@ -317,7 +322,7 @@ boolean_t lock_read_to_write(l)
l->read_count--;
- if (l->thread == (thread_t)&current_thread()) {
+ if (((thread_t)l->thread) == current_thread()) {
/*
* Recursive lock.
*/
@@ -399,7 +404,7 @@ boolean_t lock_try_write(l)
simple_lock(&l->interlock);
- if (l->thread == (thread_t)&current_thread()) {
+ if (((thread_t)l->thread) == current_thread()) {
/*
* Recursive lock
*/
@@ -438,7 +443,7 @@ boolean_t lock_try_read(l)
{
simple_lock(&l->interlock);
- if (l->thread == (thread_t)&current_thread()) {
+ if (((thread_t)l->thread) == current_thread()) {
/*
* Recursive lock
*/
@@ -473,7 +478,7 @@ boolean_t lock_try_read_to_write(l)
simple_lock(&l->interlock);
- if (l->thread == (thread_t)&current_thread()) {
+ if (((thread_t)l->thread) == current_thread()) {
/*
* Recursive lock
*/
@@ -511,7 +516,7 @@ void lock_set_recursive(l)
if (!l->want_write) {
panic("lock_set_recursive: don't have write lock");
}
- l->thread = (thread_t)&current_thread();
+ l->thread = (char *) current_thread();
simple_unlock(&l->interlock);
}
@@ -522,10 +527,10 @@ void lock_clear_recursive(l)
lock_t l;
{
simple_lock(&l->interlock);
- if (l->thread != (thread_t)&current_thread()) {
+ if (((thread_t) l->thread) != current_thread()) {
panic("lock_clear_recursive: wrong thread");
}
if (l->recursion_depth == 0)
- l->thread = (thread_t)-1; /* XXX */
+ l->thread = (char *)-1; /* XXX */
simple_unlock(&l->interlock);
}
diff --git a/sys/vm/lock.h b/sys/vm/lock.h
index a2a518c8ebb..1157b83f356 100644
--- a/sys/vm/lock.h
+++ b/sys/vm/lock.h
@@ -78,7 +78,7 @@
*/
struct slock {
- boolean_t lock_data; /* in general 1 bit is sufficient */
+ int lock_data; /* in general 1 bit is sufficient */
};
typedef struct slock simple_lock_data_t;
@@ -131,7 +131,7 @@ struct lock {
int read_count; /* Number of accepted readers */
#endif /* ns32000 */
#endif /* vax */
- struct thread *thread; /* Thread that has lock, if recursive locking allowed */
+ void *thread; /* Thread that has lock, if recursive locking allowed */
/* (should be thread_t, but but we then have mutually
recursive definitions) */
int recursion_depth;/* Depth of recursion */
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h
index 52aff94165d..5aba64b55d5 100644
--- a/sys/vm/pmap.h
+++ b/sys/vm/pmap.h
@@ -90,7 +90,10 @@ typedef struct pmap_statistics *pmap_statistics_t;
#ifdef _KERNEL
__BEGIN_DECLS
void *pmap_bootstrap_alloc __P((int));
+#if 0
+/* Does not belong here! */
void pmap_bootstrap( /* machine dependent */ );
+#endif
void pmap_change_wiring __P((pmap_t, vm_offset_t, boolean_t));
void pmap_clear_modify __P((vm_offset_t pa));
void pmap_clear_reference __P((vm_offset_t pa));
@@ -103,6 +106,10 @@ void pmap_destroy __P((pmap_t));
void pmap_enter __P((pmap_t,
vm_offset_t, vm_offset_t, vm_prot_t, boolean_t));
vm_offset_t pmap_extract __P((pmap_t, vm_offset_t));
+#ifndef pmap_page_index
+int pmap_page_index __P((vm_offset_t));
+#endif
+
#ifndef MACHINE_NONCONTIG
void pmap_init __P((vm_offset_t, vm_offset_t));
#else
@@ -125,12 +132,11 @@ void pmap_update __P((void));
void pmap_zero_page __P((vm_offset_t));
#ifdef MACHINE_NONCONTIG
-u_int pmap_free_pages __P(());
-void pmap_init __P(());
-boolean_t pmap_next_page __P(());
-void pmap_startup __P(());
-vm_offset_t pmap_steal_memory __P(());
-void pmap_virtual_space __P(());
+u_int pmap_free_pages __P((void));
+boolean_t pmap_next_page __P((vm_offset_t *));
+void pmap_startup __P((vm_offset_t *, vm_offset_t *));
+vm_offset_t pmap_steal_memory __P((vm_size_t));
+void pmap_virtual_space __P((vm_offset_t *, vm_offset_t *));
#endif
__END_DECLS
#endif /* kernel*/
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index f73b05b74f2..e0cbe6bb79a 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -337,7 +337,7 @@ swap_pager_alloc(handle, size, prot, foff)
#ifdef DEBUG
if (swpagerdebug & SDB_ALLOC)
- printf("swpg_alloc: pg_data %x, %x of %x at %x\n",
+ printf("swpg_alloc: pg_data %p, %x of %x at %p\n",
swp, swp->sw_nblocks, swp->sw_bsize, swp->sw_blocks);
#endif
return(pager);
@@ -350,15 +350,14 @@ swap_pager_dealloc(pager)
register int i;
register sw_blk_t bp;
register sw_pager_t swp;
- struct swtab *swt;
int s;
-
#ifdef DEBUG
+ struct swtab *swt;
/* save panic time state */
if ((swpagerdebug & SDB_ANOMPANIC) && panicstr)
return;
if (swpagerdebug & (SDB_FOLLOW|SDB_ALLOC))
- printf("swpg_dealloc(%x)\n", pager);
+ printf("swpg_dealloc(%p)\n", pager);
#endif
/*
* Remove from list right away so lookups will fail if we
@@ -423,7 +422,7 @@ swap_pager_getpage(pager, mlist, npages, sync)
#ifdef DEBUG
if (swpagerdebug & SDB_FOLLOW)
- printf("swpg_getpage(%x, %x, %x, %x)\n",
+ printf("swpg_getpage(%p, %p, %x, %x)\n",
pager, mlist, npages, sync);
#endif
#ifdef DIAGNOSTIC
@@ -457,7 +456,7 @@ swap_pager_putpage(pager, mlist, npages, sync)
#ifdef DEBUG
if (swpagerdebug & SDB_FOLLOW)
- printf("swpg_putpage(%x, %x, %x, %x)\n",
+ printf("swpg_putpage(%p, %p, %x, %x)\n",
pager, mlist, npages, sync);
#endif
if (pager == NULL) {
@@ -482,7 +481,7 @@ swap_pager_haspage(pager, offset)
#ifdef DEBUG
if (swpagerdebug & (SDB_FOLLOW|SDB_ALLOCBLK))
- printf("swpg_haspage(%p, %x) ", pager, offset);
+ printf("swpg_haspage(%p, %lx) ", pager, offset);
#endif
swp = (sw_pager_t) pager->pg_data;
ix = offset / dbtob(swp->sw_bsize);
@@ -499,7 +498,7 @@ swap_pager_haspage(pager, offset)
ix = atop(offset % dbtob(swp->sw_bsize));
#ifdef DEBUG
if (swpagerdebug & SDB_ALLOCBLK)
- printf("%x blk %x+%x ", swp->sw_blocks, swb->swb_block, ix);
+ printf("%p blk %x+%x ", swp->sw_blocks, swb->swb_block, ix);
if (swpagerdebug & (SDB_FOLLOW|SDB_ALLOCBLK))
printf("-> %c\n",
"FT"[swb->swb_block && (swb->swb_mask & (1 << ix))]);
@@ -572,7 +571,7 @@ swap_pager_io(swp, mlist, npages, flags)
if ((swpagerdebug & SDB_ANOMPANIC) && panicstr)
return (VM_PAGER_FAIL); /* XXX: correct return? */
if (swpagerdebug & (SDB_FOLLOW|SDB_IO))
- printf("swpg_io(%x, %x, %x, %x)\n", swp, mlist, npages, flags);
+ printf("swpg_io(%p, %p, %x, %x)\n", swp, mlist, npages, flags);
if (flags & B_READ) {
if (flags & B_ASYNC)
panic("swap_pager_io: cannot do ASYNC reads");
@@ -662,7 +661,7 @@ swap_pager_io(swp, mlist, npages, flags)
}
#ifdef DEBUG
if (swpagerdebug & (SDB_FULL|SDB_ALLOCBLK))
- printf("swpg_io: %x alloc blk %x at ix %x\n",
+ printf("swpg_io: %p alloc blk %x at ix %x\n",
swp->sw_blocks, swb->swb_block, ix);
#endif
}
@@ -688,7 +687,7 @@ swap_pager_io(swp, mlist, npages, flags)
while (bswlist.b_actf == NULL) {
#ifdef DEBUG
if (swpagerdebug & SDB_IO) /* XXX what should this be? */
- printf("swap_pager_io: wait on swbuf for %x (%d)\n",
+ printf("swap_pager_io: wait on swbuf for %p (%d)\n",
m, flags);
#endif
bswlist.b_flags |= B_WANTED;
@@ -722,7 +721,7 @@ swap_pager_io(swp, mlist, npages, flags)
#ifdef DEBUG
swap_pager_poip++;
if (swpagerdebug & SDB_WRITE)
- printf("swpg_io: write: bp=%x swp=%x poip=%d\n",
+ printf("swpg_io: write: bp=%p swp=%p poip=%d\n",
bp, swp, swp->sw_poip);
if ((swpagerdebug & SDB_ALLOCBLK) &&
(swb->swb_mask & mask) != mask)
@@ -780,18 +779,10 @@ swap_pager_io(swp, mlist, npages, flags)
bp, swb->swb_block+btodb(off), kva, VM_PAGE_TO_PHYS(m));
#endif
VOP_STRATEGY(bp);
- if (flags & B_READ) {
- cnt.v_swpin++;
- cnt.v_pswpin += npages;
- }
- else {
- cnt.v_swpout++;
- cnt.v_pswpout += npages;
- }
if ((flags & (B_READ|B_ASYNC)) == B_ASYNC) {
#ifdef DEBUG
if (swpagerdebug & SDB_IO)
- printf("swpg_io: IO started: bp %x\n", bp);
+ printf("swpg_io: IO started: bp %p\n", bp);
#endif
return(VM_PAGER_PEND);
}
@@ -829,7 +820,7 @@ swap_pager_io(swp, mlist, npages, flags)
splx(s);
#ifdef DEBUG
if (swpagerdebug & SDB_IO)
- printf("swpg_io: IO done: bp %x, rv %d\n", bp, rv);
+ printf("swpg_io: IO done: bp %p, rv %d\n", bp, rv);
if ((swpagerdebug & SDB_FAIL) && rv == VM_PAGER_ERROR)
printf("swpg_io: IO error\n");
#endif
@@ -937,7 +928,7 @@ swap_pager_clean(rw)
TAILQ_INSERT_TAIL(&swap_pager_free, spc, spc_list);
#ifdef DEBUG
if (swpagerdebug & SDB_WRITE)
- printf("swpg_clean: free spc %x\n", spc);
+ printf("swpg_clean: free spc %p\n", spc);
#endif
}
}
@@ -968,7 +959,7 @@ swap_pager_clean_check(mlist, npages, rw)
if (m == mlist[i]) {
if (swpagerdebug & SDB_ANOM)
printf(
- "swpg_clean_check: %s: page %x on list, flags %x\n",
+ "swpg_clean_check: %s: page %p on list, flags %x\n",
rw == B_WRITE ? "write" : "read", mlist[i], spc->spc_flags);
bad = TRUE;
}
@@ -993,7 +984,7 @@ swap_pager_iodone(bp)
if ((swpagerdebug & SDB_ANOMPANIC) && panicstr)
return;
if (swpagerdebug & SDB_FOLLOW)
- printf("swpg_iodone(%x)\n", bp);
+ printf("swpg_iodone(%p)\n", bp);
#endif
s = splbio();
for (spc = swap_pager_inuse.tqh_first;
@@ -1016,7 +1007,7 @@ swap_pager_iodone(bp)
#ifdef DEBUG
--swap_pager_poip;
if (swpagerdebug & SDB_WRITE)
- printf("swpg_iodone: bp=%x swp=%x flags=%x spc=%x poip=%x\n",
+ printf("swpg_iodone: bp=%p swp=%p flags=%x spc=%p poip=%x\n",
bp, spc->spc_swp, spc->spc_swp->sw_flags,
spc, spc->spc_swp->sw_poip);
#endif
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c
index d3f818dcba8..83d253b6353 100644
--- a/sys/vm/vm_glue.c
+++ b/sys/vm/vm_glue.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_glue.c,v 1.15 1996/05/22 12:03:13 deraadt Exp $ */
+/* $OpenBSD: vm_glue.c,v 1.16 1996/05/28 12:16:32 deraadt Exp $ */
/* $NetBSD: vm_glue.c,v 1.55 1996/05/19 10:00:38 ragge Exp $ */
/*
@@ -548,6 +548,59 @@ swapout(p)
}
/*
+ * The rest of these routines fake thread handling
+ */
+
+void
+assert_wait(event, ruptible)
+ void *event;
+ boolean_t ruptible;
+{
+#ifdef lint
+ ruptible++;
+#endif
+ curproc->p_thread = event;
+}
+
+void
+thread_block()
+{
+ int s = splhigh();
+
+ if (curproc->p_thread)
+ tsleep(curproc->p_thread, PVM, "thrd_block", 0);
+ splx(s);
+}
+
+void
+thread_sleep(event, lock, ruptible)
+ void *event;
+ simple_lock_t lock;
+ boolean_t ruptible;
+{
+ int s = splhigh();
+
+#ifdef lint
+ ruptible++;
+#endif
+ curproc->p_thread = event;
+ simple_unlock(lock);
+ if (curproc->p_thread)
+ tsleep(event, PVM, "thrd_sleep", 0);
+ splx(s);
+}
+
+void
+thread_wakeup(event)
+ void *event;
+{
+ int s = splhigh();
+
+ wakeup(event);
+ splx(s);
+}
+
+/*
* DEBUG stuff
*/
diff --git a/sys/vm/vm_param.h b/sys/vm/vm_param.h
index 5725fd32f43..236be42c40c 100644
--- a/sys/vm/vm_param.h
+++ b/sys/vm/vm_param.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_param.h,v 1.5 1996/03/24 18:07:59 tholo Exp $ */
+/* $OpenBSD: vm_param.h,v 1.6 1996/05/28 12:16:32 deraadt Exp $ */
/* $NetBSD: vm_param.h,v 1.12 1995/03/26 20:39:16 jtc Exp $ */
/*
@@ -74,14 +74,12 @@
#include <machine/vmparam.h>
-#ifndef _KERNEL /* XXX */
/*
* This belongs in types.h, but breaks too many existing programs.
*/
typedef int boolean_t;
#define TRUE 1
#define FALSE 0
-#endif
/*
* The machine independent pages are refered to as PAGES. A page