diff options
| author | 1996-05-28 12:16:26 +0000 | |
|---|---|---|
| committer | 1996-05-28 12:16:26 +0000 | |
| commit | d4f19e3b4487907f22a8ae9dabf3c2076c3ca4a4 (patch) | |
| tree | c80b234cc709753b44860b9f1e9f3d5d47254ccc | |
| parent | Ignore CRASH directory (diff) | |
| download | wireguard-openbsd-d4f19e3b4487907f22a8ae9dabf3c2076c3ca4a4.tar.xz wireguard-openbsd-d4f19e3b4487907f22a8ae9dabf3c2076c3ca4a4.zip | |
thread changes
| -rw-r--r-- | sys/conf/files | 3 | ||||
| -rw-r--r-- | sys/conf/files.oldconf | 3 | ||||
| -rw-r--r-- | sys/kern/kern_thread.c | 83 | ||||
| -rw-r--r-- | sys/sys/proc.h | 23 | ||||
| -rw-r--r-- | sys/sys/types.h | 10 | ||||
| -rw-r--r-- | sys/vm/device_pager.c | 22 | ||||
| -rw-r--r-- | sys/vm/kern_lock.c | 27 | ||||
| -rw-r--r-- | sys/vm/lock.h | 4 | ||||
| -rw-r--r-- | sys/vm/pmap.h | 18 | ||||
| -rw-r--r-- | sys/vm/swap_pager.c | 43 | ||||
| -rw-r--r-- | sys/vm/vm_glue.c | 55 | ||||
| -rw-r--r-- | sys/vm/vm_param.h | 4 |
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)¤t_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)¤t_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)¤t_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)¤t_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)¤t_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)¤t_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)¤t_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)¤t_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 |
