PERFORCE change 33873 for review
Marcel Moolenaar
marcel at FreeBSD.org
Sun Jun 29 21:53:01 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=33873
Change 33873 by marcel at marcel_nfs on 2003/06/29 21:52:36
IFC @33872
Affected files ...
.. //depot/projects/ia64/lib/libthr/thread/thr_cancel.c#5 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_detach.c#4 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_exit.c#7 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_gc.c#7 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_join.c#7 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_kern.c#8 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_mutex.c#9 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_private.h#8 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_spinlock.c#5 integrate
.. //depot/projects/ia64/rescue/rescue/Makefile#2 integrate
.. //depot/projects/ia64/share/man/man4/urio.4#3 integrate
.. //depot/projects/ia64/sys/alpha/alpha/pmap.c#33 integrate
.. //depot/projects/ia64/sys/amd64/amd64/pmap.c#8 integrate
.. //depot/projects/ia64/sys/boot/common/loader.8#18 integrate
.. //depot/projects/ia64/sys/boot/i386/kgzldr/Makefile#9 integrate
.. //depot/projects/ia64/sys/boot/pc98/kgzldr/Makefile#8 integrate
.. //depot/projects/ia64/sys/dev/wi/if_wi.c#41 integrate
.. //depot/projects/ia64/sys/i386/i386/pmap.c#46 integrate
.. //depot/projects/ia64/sys/ia64/ia64/pmap.c#69 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211.c#3 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_ioctl.c#3 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_node.c#3 integrate
.. //depot/projects/ia64/sys/netipsec/ipsec.c#5 integrate
.. //depot/projects/ia64/sys/netipsec/key.c#6 integrate
.. //depot/projects/ia64/sys/powerpc/powerpc/pmap.c#25 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/pmap.c#39 integrate
.. //depot/projects/ia64/sys/vm/pmap.h#18 integrate
.. //depot/projects/ia64/sys/vm/vm_map.c#57 integrate
.. //depot/projects/ia64/sys/vm/vm_map.h#23 integrate
.. //depot/projects/ia64/sys/vm/vm_pageout.c#41 integrate
.. //depot/projects/ia64/usr.bin/whois/whois.c#10 integrate
Differences ...
==== //depot/projects/ia64/lib/libthr/thread/thr_cancel.c#5 (text+ko) ====
@@ -1,6 +1,6 @@
/*
* David Leonard <d at openbsd.org>, 1999. Public domain.
- * $FreeBSD: src/lib/libthr/thread/thr_cancel.c,v 1.5 2003/05/25 08:48:11 mtm Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_cancel.c,v 1.6 2003/06/29 23:51:04 mtm Exp $
*/
#include <sys/errno.h>
#include <pthread.h>
@@ -80,12 +80,12 @@
* Disconnect the thread from the joinee:
*/
if ((joined = pthread->join_status.thread) != NULL) {
- if (_spintrylock(&joined->lock) == EBUSY) {
+ if (THR_TRYLOCK(&joined->lock) == EBUSY) {
_thread_critical_exit(pthread);
goto retry;
}
pthread->join_status.thread->joiner = NULL;
- _spinunlock(&joined->lock);
+ THR_UNLOCK(&joined->lock);
joined = pthread->join_status.thread = NULL;
}
pthread->cancelflags |= PTHREAD_CANCELLING;
==== //depot/projects/ia64/lib/libthr/thread/thr_detach.c#4 (text+ko) ====
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_detach.c,v 1.4 2003/06/02 11:01:00 mtm Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_detach.c,v 1.5 2003/06/29 23:51:04 mtm Exp $
*/
#include <errno.h>
#include <pthread.h>
@@ -44,10 +44,10 @@
if (pthread == NULL || pthread->magic != PTHREAD_MAGIC)
return (EINVAL);
- _SPINLOCK(&pthread->lock);
+ THR_LOCK(&pthread->lock);
if (pthread->attr.flags & PTHREAD_DETACHED) {
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
return (EINVAL);
}
@@ -73,7 +73,7 @@
_thread_critical_exit(joiner);
}
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
return (0);
}
==== //depot/projects/ia64/lib/libthr/thread/thr_exit.c#7 (text+ko) ====
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.8 2003/05/29 20:46:53 mtm Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.9 2003/06/29 23:51:04 mtm Exp $
*/
#include <errno.h>
#include <unistd.h>
@@ -146,7 +146,7 @@
/* Check if there is a thread joining this one: */
if (curthread->joiner != NULL) {
pthread = curthread->joiner;
- _SPINLOCK(&pthread->lock);
+ THR_LOCK(&pthread->lock);
curthread->joiner = NULL;
/* Make the joining thread runnable: */
@@ -156,7 +156,7 @@
pthread->join_status.ret = curthread->ret;
pthread->join_status.error = 0;
pthread->join_status.thread = NULL;
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
/* Make this thread collectable by the garbage collector. */
PTHREAD_ASSERT(((curthread->attr.flags & PTHREAD_DETACHED) ==
==== //depot/projects/ia64/lib/libthr/thread/thr_gc.c#7 (text+ko) ====
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_gc.c,v 1.6 2003/05/29 20:46:53 mtm Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_gc.c,v 1.7 2003/06/29 23:51:04 mtm Exp $
*
* Garbage collector thread. Frees memory allocated for dead threads.
*
@@ -106,7 +106,7 @@
if (pthread == _thread_initial)
continue;
- _SPINLOCK(&pthread->lock);
+ THR_LOCK(&pthread->lock);
/*
* Check if the stack was not specified by
@@ -128,7 +128,7 @@
* it on the dead thread list.
*/
if ((pthread->attr.flags & PTHREAD_DETACHED) == 0) {
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
continue;
}
@@ -141,7 +141,7 @@
*/
pthread_cln = pthread;
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
/*
* Retire the architecture specific id so it may be
==== //depot/projects/ia64/lib/libthr/thread/thr_join.c#7 (text+ko) ====
@@ -29,10 +29,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_join.c,v 1.8 2003/05/29 20:46:53 mtm Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_join.c,v 1.9 2003/06/29 23:51:04 mtm Exp $
*/
#include <errno.h>
#include <pthread.h>
+#include <stdlib.h>
#include "thr_private.h"
__weak_reference(_pthread_join, pthread_join);
@@ -69,7 +70,7 @@
THREAD_LIST_LOCK;
TAILQ_FOREACH(thread, &_thread_list, tle)
if (thread == pthread) {
- _SPINLOCK(&pthread->lock);
+ THR_LOCK(&pthread->lock);
break;
}
@@ -79,7 +80,7 @@
*/
TAILQ_FOREACH(thread, &_dead_list, dle)
if (thread == pthread) {
- _SPINLOCK(&pthread->lock);
+ THR_LOCK(&pthread->lock);
break;
}
@@ -87,7 +88,7 @@
if (thread == NULL ||
((pthread->attr.flags & PTHREAD_DETACHED) != 0)) {
if (thread != NULL)
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
THREAD_LIST_UNLOCK;
DEAD_LIST_UNLOCK;
ret = ESRCH;
@@ -97,7 +98,7 @@
if (pthread->joiner != NULL) {
/* Multiple joiners are not supported. */
/* XXXTHR - support multiple joiners. */
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
THREAD_LIST_UNLOCK;
DEAD_LIST_UNLOCK;
ret = ENOTSUP;
@@ -109,7 +110,7 @@
if (pthread->state != PS_DEAD) {
/* Set the running thread to be the joiner: */
pthread->joiner = curthread;
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
_thread_critical_enter(curthread);
/* Keep track of which thread we're joining to: */
@@ -159,7 +160,7 @@
/* Make the thread collectable by the garbage collector. */
pthread->attr.flags |= PTHREAD_DETACHED;
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
THREAD_LIST_UNLOCK;
if (pthread_cond_signal(&_gc_cond) != 0)
PANIC("Cannot signal gc cond");
==== //depot/projects/ia64/lib/libthr/thread/thr_kern.c#8 (text+ko) ====
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_kern.c,v 1.9 2003/06/29 15:55:44 jdp Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_kern.c,v 1.11 2003/06/29 23:51:04 mtm Exp $
*/
#include <sys/cdefs.h>
@@ -55,6 +55,20 @@
void
_thread_critical_enter(pthread_t pthread)
{
+ _thread_sigblock();
+ THR_LOCK(&pthread->lock);
+}
+
+void
+_thread_critical_exit(pthread_t pthread)
+{
+ THR_UNLOCK(&pthread->lock);
+ _thread_sigunblock();
+}
+
+void
+_thread_sigblock()
+{
sigset_t set;
sigset_t sav;
@@ -62,18 +76,13 @@
* Block all signals.
*/
SIGFILLSET(set);
+ SIGADDSET(set, SIGTHR);
- /*
- * We can not use the global 'restore' set until after we have
- * acquired the giant lock.
- */
- _SPINLOCK(&pthread->lock);
-
- /* If we are already in a critical section, just up the refcount */
- if (++curthread->crit_ref > 1)
+ /* If we have already blocked signals, just up the refcount */
+ if (++curthread->signest > 1)
return;
- PTHREAD_ASSERT(curthread->crit_ref == 1,
- ("Critical section reference count must be 1!"));
+ PTHREAD_ASSERT(curthread->signest == 1,
+ ("Blocked signal nesting level must be 1!"));
if (__sys_sigprocmask(SIG_SETMASK, &set, &sav)) {
_thread_printf(STDERR_FILENO, "Critical Enter: sig err %d\n",
@@ -84,15 +93,15 @@
}
void
-_thread_critical_exit(pthread_t pthread)
+_thread_sigunblock()
{
sigset_t set;
- /* We might be in a nested critical section */
- if (--curthread->crit_ref > 0)
+ /* We might be in a nested 'blocked signal' section */
+ if (--curthread->signest > 0)
return;
- PTHREAD_ASSERT(curthread->crit_ref == 0,
- ("Non-Zero critical section reference count."));
+ PTHREAD_ASSERT(curthread->signest == 0,
+ ("Non-Zero blocked signal nesting level."));
/*
* Restore signals.
@@ -103,7 +112,6 @@
errno);
abort();
}
- _SPINUNLOCK(&pthread->lock);
}
void
==== //depot/projects/ia64/lib/libthr/thread/thr_mutex.c#9 (text+ko) ====
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.11 2003/06/02 10:04:18 mtm Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.12 2003/06/29 23:51:04 mtm Exp $
*/
#include <stdlib.h>
#include <errno.h>
@@ -1263,9 +1263,9 @@
/* _thread_kern_sig_defer();*/
/* XXX - Necessary to obey lock order */
- _SPINLOCK(&pthread->lock);
+ THR_LOCK(&pthread->lock);
mutex = pthread->data.mutex;
- _SPINUNLOCK(&pthread->lock);
+ THR_UNLOCK(&pthread->lock);
_SPINLOCK(&mutex->lock);
==== //depot/projects/ia64/lib/libthr/thread/thr_private.h#8 (text+ko) ====
@@ -31,7 +31,7 @@
*
* Private thread definitions for the uthread kernel.
*
- * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.17 2003/06/29 15:55:44 jdp Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.19 2003/06/29 23:49:41 mtm Exp $
*/
#ifndef _THR_PRIVATE_H
@@ -81,6 +81,24 @@
#define curthread _get_curthread()
/*
+ * Locking macros
+ */
+#define THR_LOCK(m) \
+ do { \
+ if (umtx_lock((m), curthread->thr_id) != 0) \
+ abort(); \
+ } while (0)
+
+#define THR_TRYLOCK(m) _umtxtrylock((m))
+
+#define THR_UNLOCK(m) \
+ do { \
+ if (umtx_unlock((m), curthread->thr_id) != 0) \
+ abort(); \
+ } while (0)
+
+
+/*
* State change macro without scheduling queue change:
*/
#define PTHREAD_SET_STATE(thrd, newstate) do { \
@@ -426,12 +444,12 @@
u_int64_t uniqueid; /* for gdb */
thr_id_t thr_id;
sigset_t savedsig;
- int crit_ref; /* crit. section netsting level */
+ int signest; /* blocked signal netsting level */
/*
* Lock for accesses to this thread structure.
*/
- spinlock_t lock;
+ struct umtx lock;
/* Queue entry for list of all threads: */
TAILQ_ENTRY(pthread) tle;
@@ -748,7 +766,6 @@
int _pthread_once(pthread_once_t *, void (*) (void));
pthread_t _pthread_self(void);
int _pthread_setspecific(pthread_key_t, const void *);
-int _spintrylock(spinlock_t *);
void _thread_exit(char *, int, char *);
void _thread_exit_cleanup(void);
void *_thread_cleanup(pthread_t);
@@ -766,6 +783,9 @@
int _thread_suspend(pthread_t thread, struct timespec *abstime);
void _thread_critical_enter(pthread_t);
void _thread_critical_exit(pthread_t);
+void _thread_sigblock();
+void _thread_sigunblock();
+int _umtxtrylock(struct umtx *lck);
/* #include <sys/aio.h> */
#ifdef _SYS_AIO_H_
==== //depot/projects/ia64/lib/libthr/thread/thr_spinlock.c#5 (text+ko) ====
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_spinlock.c,v 1.5 2003/06/29 00:12:40 mtm Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_spinlock.c,v 1.6 2003/06/29 23:49:41 mtm Exp $
*
*/
@@ -65,10 +65,10 @@
}
int
-_spintrylock(spinlock_t *lck)
+_umtxtrylock(struct umtx *lck)
{
int error;
- error = umtx_trylock((struct umtx *)lck, curthread->thr_id);
+ error = umtx_trylock(lck, curthread->thr_id);
if (error != 0 && error != EBUSY)
abort();
return (error);
==== //depot/projects/ia64/rescue/rescue/Makefile#2 (text+ko) ====
@@ -1,4 +1,4 @@
-#$FreeBSD: src/rescue/rescue/Makefile,v 1.1 2003/06/29 18:35:37 gordon Exp $
+#$FreeBSD: src/rescue/rescue/Makefile,v 1.2 2003/06/29 20:44:12 gordon Exp $
# @(#)Makefile 8.1 (Berkeley) 6/2/93
PROG= rescue
@@ -133,7 +133,7 @@
CRUNCH_PROGS+= mca gpt
.endif
-.if ${MACHINE_ARCH} == "sparc"
+.if ${MACHINE_ARCH} == "sparc64"
.endif
.if ${MACHINE_ARCH} == "alpha"
==== //depot/projects/ia64/share/man/man4/urio.4#3 (text+ko) ====
@@ -28,7 +28,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man4/urio.4,v 1.8 2003/03/25 15:01:10 keramida Exp $
+.\" $FreeBSD: src/share/man/man4/urio.4,v 1.9 2003/06/30 03:16:41 mph Exp $
.\"
.Dd March 5, 2000
.Dt URIO 4
@@ -74,7 +74,7 @@
utility (see the
.Sx SEE ALSO
section):
-.Dl rio_add_song /usr/local/MP3/TraceyChapman/02-Fast-Car.mp3
+.Dl rio_add_song /usr/local/MP3/TracyChapman/02-Fast-Car.mp3
.Sh SEE ALSO
.Xr ohci 4 ,
.Xr uhci 4 ,
==== //depot/projects/ia64/sys/alpha/alpha/pmap.c#33 (text+ko) ====
@@ -148,7 +148,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.127 2003/06/28 21:21:04 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.128 2003/06/29 21:20:02 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -330,8 +330,6 @@
static void alpha_protection_init(void);
static void pmap_changebit(vm_page_t m, int bit, boolean_t setem);
-static vm_page_t pmap_enter_quick(pmap_t pmap, vm_offset_t va,
- vm_page_t m, vm_page_t mpte);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t* ptq, vm_offset_t sva);
static void pmap_remove_page(struct pmap *pmap, vm_offset_t va);
static int pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va);
@@ -1973,7 +1971,7 @@
* but is *MUCH* faster than pmap_enter...
*/
-static vm_page_t
+vm_page_t
pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte)
{
register pt_entry_t *pte;
==== //depot/projects/ia64/sys/amd64/amd64/pmap.c#8 (text+ko) ====
@@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.417 2003/06/26 01:04:31 peter Exp $
+ * $FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.418 2003/06/29 21:20:03 alc Exp $
*/
/*-
* Copyright (c) 2003 Networks Associates Technology, Inc.
@@ -208,8 +208,6 @@
static void amd64_protection_init(void);
static __inline void pmap_changebit(vm_page_t m, int bit, boolean_t setem);
-static vm_page_t pmap_enter_quick(pmap_t pmap, vm_offset_t va,
- vm_page_t m, vm_page_t mpte);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva);
static void pmap_remove_page(struct pmap *pmap, vm_offset_t va);
static int pmap_remove_entry(struct pmap *pmap, vm_page_t m,
@@ -1951,7 +1949,7 @@
* but is *MUCH* faster than pmap_enter...
*/
-static vm_page_t
+vm_page_t
pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte)
{
pt_entry_t *pte;
==== //depot/projects/ia64/sys/boot/common/loader.8#18 (text+ko) ====
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.56 2003/05/17 22:17:23 ru Exp $
+.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.57 2003/06/29 20:57:55 brueffer Exp $
.\"
.\" Note: The date here should be updated whenever a non-trivial
.\" change is made to the manual page.
@@ -57,7 +57,7 @@
The main drive behind these commands is user-friendliness.
The bigger component is an
.Tn ANS
-Forth compatible Forth interpreter based on ficl, by
+Forth compatible Forth interpreter based on FICL, by
.An John Sadler .
.Pp
During initialization,
==== //depot/projects/ia64/sys/boot/i386/kgzldr/Makefile#9 (text+ko) ====
@@ -1,25 +1,19 @@
-# $FreeBSD: src/sys/boot/i386/kgzldr/Makefile,v 1.15 2003/06/07 17:42:26 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/kgzldr/Makefile,v 1.16 2003/06/30 00:15:38 ru Exp $
-SRCS= boot.c inflate.c lib.c
+SRCS= start.s boot.c inflate.c lib.c crt.s sio.s
OBJS= ${SRCS:N*.h:R:S/$/.o/g}
CFLAGS= -ffreestanding
CFLAGS+=-Os
CFLAGS+=-DKZIP
-LDFLAGS=-nostdlib -static -r
+LDFLAGS=-nostdlib -static -Wl,-r
.PATH: ${.CURDIR}/../../../kern
-.for asm in start crt sio
-OBJS+= ${asm}.o
-${asm}.o: ${asm}.s
- ${AS} ${AFLAGS} -o ${.TARGET} ${.ALLSRC:M*${asm}*}
-.endfor
-
CLEANFILES=kgzldr.o
BOOT_COMCONSOLE_PORT?= 0x3f8
AFLAGS+=--defsym SIO_PRT=${BOOT_COMCONSOLE_PORT}
-all: ${OBJS} kgzldr.o
+all: kgzldr.o
kgzldr.o: ${OBJS}
${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS}
@@ -28,4 +22,4 @@
${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
kgzldr.o ${DESTDIR}${LIBDIR}
-.include <bsd.lib.mk>
+.include <bsd.prog.mk>
==== //depot/projects/ia64/sys/boot/pc98/kgzldr/Makefile#8 (text+ko) ====
@@ -1,28 +1,22 @@
-# $FreeBSD: src/sys/boot/pc98/kgzldr/Makefile,v 1.9 2003/06/07 17:42:26 obrien Exp $
+# $FreeBSD: src/sys/boot/pc98/kgzldr/Makefile,v 1.10 2003/06/30 00:20:28 ru Exp $
-SRCS= boot.c inflate.c lib.c
+SRCS= start.s boot.c inflate.c lib.c crt.s sio.s
OBJS= ${SRCS:N*.h:R:S/$/.o/g}
CFLAGS= -ffreestanding
CFLAGS+=-Os
CFLAGS+=-DKZIP
-LDFLAGS=-nostdlib -static -r
+LDFLAGS=-nostdlib -static -Wl,-r
.PATH: ${.CURDIR}/../../../kern
.PATH: ${.CURDIR}/../../i386/kgzldr
AFLAGS+=--defsym PC98=1
-.for asm in start crt sio
-OBJS+= ${asm}.o
-${asm}.o: ${asm}.s
- ${AS} ${AFLAGS} -o ${.TARGET} ${.ALLSRC:M*${asm}*}
-.endfor
-
CLEANFILES=kgzldr.o
BOOT_COMCONSOLE_PORT?= 0x238
AFLAGS+=--defsym SIO_PRT=${BOOT_COMCONSOLE_PORT}
-all: ${OBJS} kgzldr.o
+all: kgzldr.o
kgzldr.o: ${OBJS}
${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS}
@@ -31,4 +25,4 @@
${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
kgzldr.o ${DESTDIR}${LIBDIR}
-.include <bsd.lib.mk>
+.include <bsd.prog.mk>
==== //depot/projects/ia64/sys/dev/wi/if_wi.c#41 (text+ko) ====
@@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.144 2003/06/28 06:17:26 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.145 2003/06/29 20:14:35 sam Exp $");
#define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */
#define WI_HERMES_STATS_WAR /* Work around stats counter bug. */
@@ -347,6 +347,10 @@
ic->ic_channels[val].ic_flags != 0,
("wi_attach: invalid own channel %u!", val));
ic->ic_ibss_chan = &ic->ic_channels[val];
+ } else {
+ device_printf(dev,
+ "WI_RID_OWN_CHNL failed, using first channel!\n");
+ ic->ic_ibss_chan = &ic->ic_channels[0];
}
/*
==== //depot/projects/ia64/sys/i386/i386/pmap.c#46 (text+ko) ====
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.413 2003/06/27 22:39:13 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.414 2003/06/29 21:20:03 alc Exp $");
/*-
* Copyright (c) 2003 Networks Associates Technology, Inc.
* All rights reserved.
@@ -243,8 +243,6 @@
static void i386_protection_init(void);
static __inline void pmap_changebit(vm_page_t m, int bit, boolean_t setem);
-static vm_page_t pmap_enter_quick(pmap_t pmap, vm_offset_t va,
- vm_page_t m, vm_page_t mpte);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva);
static void pmap_remove_page(struct pmap *pmap, vm_offset_t va);
static int pmap_remove_entry(struct pmap *pmap, vm_page_t m,
@@ -2090,7 +2088,7 @@
* but is *MUCH* faster than pmap_enter...
*/
-static vm_page_t
+vm_page_t
pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte)
{
pt_entry_t *pte;
==== //depot/projects/ia64/sys/ia64/ia64/pmap.c#69 (text+ko) ====
@@ -43,7 +43,7 @@
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
* from: i386 Id: pmap.c,v 1.193 1998/04/19 15:22:48 bde Exp
* with some ideas from NetBSD's alpha pmap
- * $FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.112 2003/06/29 06:10:32 alc Exp $
+ * $FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.113 2003/06/29 21:20:03 alc Exp $
*/
/*
@@ -267,7 +267,6 @@
static pmap_t pmap_install(pmap_t);
static void pmap_invalidate_all(pmap_t pmap);
-static void pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m);
vm_offset_t
pmap_steal_memory(vm_size_t size)
@@ -1709,8 +1708,8 @@
* but is *MUCH* faster than pmap_enter...
*/
-static void
-pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m)
+vm_page_t
+pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte)
{
struct ia64_lpte *pte;
pmap_t oldpmap;
@@ -1719,7 +1718,7 @@
pte = pmap_find_pte(va);
if (pte->pte_p)
- return;
+ goto reinstall;
/*
* Enter on the PV list since its part of our managed memory.
@@ -1737,8 +1736,9 @@
pmap_set_pte(pte, va, VM_PAGE_TO_PHYS(m),
PTE_IG_MANAGED,
PTE_PL_USER, PTE_AR_R);
-
+reinstall:
pmap_install(oldpmap);
+ return (NULL);
}
/*
@@ -1821,7 +1821,8 @@
vm_page_unlock_queues();
VM_OBJECT_UNLOCK(object);
pmap_enter_quick(pmap,
- addr + ia64_ptob(tmpidx), p);
+ addr + ia64_ptob(tmpidx), p,
+ NULL);
VM_OBJECT_LOCK(object);
vm_page_lock_queues();
vm_page_wakeup(p);
@@ -1855,7 +1856,8 @@
vm_page_unlock_queues();
VM_OBJECT_UNLOCK(object);
pmap_enter_quick(pmap,
- addr + ia64_ptob(tmpidx), p);
+ addr + ia64_ptob(tmpidx), p,
+ NULL);
VM_OBJECT_LOCK(object);
vm_page_lock_queues();
vm_page_wakeup(p);
@@ -1951,7 +1953,7 @@
}
vm_page_busy(m);
vm_page_unlock_queues();
- pmap_enter_quick(pmap, addr, m);
+ pmap_enter_quick(pmap, addr, m, NULL);
vm_page_lock_queues();
vm_page_wakeup(m);
}
==== //depot/projects/ia64/sys/net80211/ieee80211.c#3 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.3 2003/06/27 05:13:52 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.4 2003/06/29 20:10:54 sam Exp $");
/*
* IEEE 802.11 generic handler
@@ -197,10 +197,13 @@
return c - ic->ic_channels;
else if (c == IEEE80211_CHAN_ANYC)
return IEEE80211_CHAN_ANY;
- else {
+ else if (c != NULL) {
if_printf(&ic->ic_if, "invalid channel freq %u flags %x\n",
c->ic_freq, c->ic_flags);
return 0; /* XXX */
+ } else {
+ if_printf(&ic->ic_if, "invalid channel (NULL)\n");
+ return 0; /* XXX */
}
}
==== //depot/projects/ia64/sys/net80211/ieee80211_ioctl.c#3 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.2 2003/06/27 05:13:52 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.3 2003/06/29 20:12:17 sam Exp $");
/*
* IEEE 802.11 ioctl support (FreeBSD-specific)
@@ -404,7 +404,7 @@
}
memset(ic->ic_des_essid, 0, sizeof(ic->ic_des_essid));
ic->ic_des_esslen = le16toh(wreq.wi_val[0]) * 2;
- memcpy(ic->ic_des_essid, &wreq.wi_val[1], len);
+ memcpy(ic->ic_des_essid, &wreq.wi_val[1], ic->ic_des_esslen);
error = ENETRESET;
break;
case WI_RID_CURRENT_BSSID:
==== //depot/projects/ia64/sys/net80211/ieee80211_node.c#3 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.2 2003/06/27 05:13:52 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.3 2003/06/29 20:13:38 sam Exp $");
#include "opt_inet.h"
@@ -87,7 +87,8 @@
ic->ic_node_free = ieee80211_node_free;
ic->ic_node_copy = ieee80211_node_copy;
ic->ic_bss = (*ic->ic_node_alloc)(ic);
- /* XXX KASSERT != NULL? */
+ KASSERT(ic->ic_bss != NULL, ("unable to setup inital BSS node"));
+ ic->ic_bss->ni_chan = IEEE80211_CHAN_ANYC;
}
void
==== //depot/projects/ia64/sys/netipsec/ipsec.c#5 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/netipsec/ipsec.c,v 1.4 2003/02/28 20:06:29 sam Exp $ */
+/* $FreeBSD: src/sys/netipsec/ipsec.c,v 1.5 2003/06/29 23:58:38 sam Exp $ */
/* $KAME: ipsec.c,v 1.103 2001/05/24 07:14:18 sakane Exp $ */
/*
@@ -1922,6 +1922,8 @@
{
struct xformsw *xsp;
+ if (sav->tdb_xform != NULL) /* previously initialized */
+ return 0;
for (xsp = xforms; xsp; xsp = xsp->xf_next)
if (xsp->xf_type == xftype)
return (*xsp->xf_init)(sav, xsp);
==== //depot/projects/ia64/sys/netipsec/key.c#6 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/netipsec/key.c,v 1.5 2003/02/19 05:47:36 imp Exp $ */
+/* $FreeBSD: src/sys/netipsec/key.c,v 1.6 2003/06/29 23:58:38 sam Exp $ */
/* $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $ */
/*
@@ -2751,13 +2751,24 @@
if (__LIST_CHAINED(sav))
LIST_REMOVE(sav, chain);
+ /*
+ * Cleanup xform state. Note that zeroize'ing causes the
+ * keys to be cleared; otherwise we must do it ourself.
+ */
+ if (sav->tdb_xform != NULL) {
+ sav->tdb_xform->xf_zeroize(sav);
+ sav->tdb_xform = NULL;
+ } else {
+ if (sav->key_auth != NULL)
+ bzero(_KEYBUF(sav->key_auth), _KEYLEN(sav->key_auth));
+ if (sav->key_enc != NULL)
+ bzero(_KEYBUF(sav->key_enc), _KEYLEN(sav->key_enc));
+ }
if (sav->key_auth != NULL) {
- bzero(_KEYBUF(sav->key_auth), _KEYLEN(sav->key_auth));
KFREE(sav->key_auth);
sav->key_auth = NULL;
}
if (sav->key_enc != NULL) {
- bzero(_KEYBUF(sav->key_enc), _KEYLEN(sav->key_enc));
KFREE(sav->key_enc);
sav->key_enc = NULL;
}
==== //depot/projects/ia64/sys/powerpc/powerpc/pmap.c#25 (text+ko) ====
@@ -91,7 +91,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/pmap.c,v 1.57 2003/06/14 23:23:54 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/pmap.c,v 1.58 2003/06/29 21:20:04 alc Exp $");
/*
* Manages physical address maps.
@@ -1032,6 +1032,14 @@
pmap_syncicache(VM_PAGE_TO_PHYS(m), PAGE_SIZE);
}
+vm_page_t
+pmap_enter_quick(pmap_t pm, vm_offset_t va, vm_page_t m, vm_page_t mpte)
+{
+
+ pmap_enter(pm, va, m, VM_PROT_READ | VM_PROT_EXECUTE, FALSE);
+ return (NULL);
+}
+
vm_offset_t
pmap_extract(pmap_t pm, vm_offset_t va)
{
==== //depot/projects/ia64/sys/sparc64/sparc64/pmap.c#39 (text+ko) ====
@@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/sparc64/sparc64/pmap.c,v 1.115 2003/06/18 17:03:04 jake Exp $
+ * $FreeBSD: src/sys/sparc64/sparc64/pmap.c,v 1.116 2003/06/29 21:20:04 alc Exp $
*/
/*
@@ -1331,6 +1331,14 @@
}
}
+vm_page_t
+pmap_enter_quick(pmap_t pm, vm_offset_t va, vm_page_t m, vm_page_t mpte)
+{
+
+ pmap_enter(pm, va, m, VM_PROT_READ | VM_PROT_EXECUTE, FALSE);
+ return (NULL);
+}
+
void
pmap_object_init_pt(pmap_t pm, vm_offset_t addr, vm_object_t object,
vm_pindex_t pindex, vm_size_t size, int limit)
==== //depot/projects/ia64/sys/vm/pmap.h#18 (text+ko) ====
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $FreeBSD: src/sys/vm/pmap.h,v 1.59 2003/06/14 23:23:55 alc Exp $
+ * $FreeBSD: src/sys/vm/pmap.h,v 1.60 2003/06/29 21:20:04 alc Exp $
*/
/*
@@ -103,6 +103,8 @@
void pmap_copy_page(vm_page_t, vm_page_t);
void pmap_enter(pmap_t, vm_offset_t, vm_page_t, vm_prot_t,
boolean_t);
+vm_page_t pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m,
+ vm_page_t mpte);
vm_paddr_t pmap_extract(pmap_t pmap, vm_offset_t va);
void pmap_growkernel(vm_offset_t);
void pmap_init(vm_paddr_t, vm_paddr_t);
@@ -110,7 +112,7 @@
boolean_t pmap_ts_referenced(vm_page_t m);
vm_offset_t pmap_map(vm_offset_t *, vm_paddr_t, vm_paddr_t, int);
void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
- vm_object_t object, vm_pindex_t pindex, vm_offset_t size,
+ vm_object_t object, vm_pindex_t pindex, vm_size_t size,
int pagelimit);
boolean_t pmap_page_exists_quick(pmap_t pmap, vm_page_t m);
void pmap_page_protect(vm_page_t m, vm_prot_t prot);
==== //depot/projects/ia64/sys/vm/vm_map.c#57 (text+ko) ====
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_map.c,v 1.300 2003/06/27 18:52:49 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_map.c,v 1.301 2003/06/29 23:32:55 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -911,11 +911,9 @@
#endif
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list