From owner-p4-projects@FreeBSD.ORG Sun Nov 9 06:47:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C3BB316A4D0; Sun, 9 Nov 2003 06:47:28 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 994A216A4CE for ; Sun, 9 Nov 2003 06:47:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EAEA143FDF for ; Sun, 9 Nov 2003 06:47:27 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9ElRXJ098664 for ; Sun, 9 Nov 2003 06:47:27 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9ElRG3098661 for perforce@freebsd.org; Sun, 9 Nov 2003 06:47:27 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 06:47:27 -0800 (PST) Message-Id: <200311091447.hA9ElRG3098661@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41799 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 14:47:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=41799 Change 41799 by rwatson@rwatson_paprika on 2003/11/09 06:46:49 As with other objects, move to a (struct label *) pointer in POSIX semaphore structures, rather than a (struct label). Allocate POSIX semaphore labels from the label zone. Further update policies for previous change to pass in a pointer the label as well as a pointer to the semaphore structure, permitting policies to avoid knowledge of the semaphore structure when basing decisions solely on labels. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/uipc_sem.c#16 edit .. //depot/projects/trustedbsd/mac/sys/posix4/ksem.h#4 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_posix_sem.c#7 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#225 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#117 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/uipc_sem.c#16 (text+ko) ==== @@ -55,7 +55,6 @@ #include #include #ifdef MAC -#include #include #include #endif ==== //depot/projects/trustedbsd/mac/sys/posix4/ksem.h#4 (text+ko) ==== @@ -47,8 +47,6 @@ #include #include #include -#include -#include #ifdef _KERNEL @@ -71,7 +69,7 @@ LIST_HEAD(, kuser) ks_users; /* pids using this sem */ struct mtx ks_mtx; /* mutex protecting this semaphore */ int ks_unlinked; /* Whether the named sem is unlinked */ - struct label ks_label; /* MAC label */ + struct label *ks_label; /* MAC label */ }; #endif /* _KERNEL */ ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_posix_sem.c#7 (text+ko) ==== @@ -59,29 +59,45 @@ &nmacposixksems, 0, "number of posix global semaphores inuse"); #endif +static struct label * +mac_posix_ksem_label_alloc(void) +{ + struct label *label; + + label = mac_labelzone_alloc(M_WAITOK); + MAC_PERFORM(init_posix_ksem_label, label); + MAC_DEBUG_COUNTER_INC(&nmacposixksems); + return (label); +} + void mac_init_posix_ksem(struct ksem *ksemptr) { - mac_init_label(&ksemptr->ks_label); - MAC_PERFORM(init_posix_ksem_label, &ksemptr->ks_label); - MAC_DEBUG_COUNTER_INC(&nmacposixksems); + ksemptr->ks_label = mac_posix_ksem_label_alloc(); +} + +static void +mac_posix_ksem_label_free(struct label *label) +{ + + MAC_PERFORM(destroy_posix_ksem_label, label); + MAC_DEBUG_COUNTER_DEC(&nmacposixksems); } void mac_destroy_posix_ksem(struct ksem *ksemptr) { - MAC_PERFORM(destroy_posix_ksem_label, &ksemptr->ks_label); - mac_destroy_label(&ksemptr->ks_label); - MAC_DEBUG_COUNTER_DEC(&nmacposixksems); + mac_posix_ksem_label_free(ksemptr->ks_label); + ksemptr->ks_label = NULL; } void mac_create_posix_ksem(struct ucred *cred, struct ksem *ksemptr) { - MAC_PERFORM(create_posix_ksem, cred, ksemptr, &ksemptr->ks_label); + MAC_PERFORM(create_posix_ksem, cred, ksemptr, ksemptr->ks_label); } int @@ -92,7 +108,7 @@ if (!mac_enforce_posix_sem) return (0); - MAC_CHECK(check_posix_sem_close, cred, ksemptr, &ksemptr->ks_label); + MAC_CHECK(check_posix_sem_close, cred, ksemptr, ksemptr->ks_label); return(error); } @@ -105,8 +121,7 @@ if (!mac_enforce_posix_sem) return (0); - MAC_CHECK(check_posix_sem_destroy, cred, ksemptr, - &ksemptr->ks_label); + MAC_CHECK(check_posix_sem_destroy, cred, ksemptr, ksemptr->ks_label); return(error); } @@ -120,7 +135,7 @@ return (0); MAC_CHECK(check_posix_sem_openexisting, cred, ksemptr, - &ksemptr->ks_label); + ksemptr->ks_label); return(error); } @@ -134,7 +149,7 @@ return (0); MAC_CHECK(check_posix_sem_getvalue, cred, ksemptr, - &ksemptr->ks_label); + ksemptr->ks_label); return(error); } @@ -147,7 +162,7 @@ if (!mac_enforce_posix_sem) return (0); - MAC_CHECK(check_posix_sem_post, cred, ksemptr, &ksemptr->ks_label); + MAC_CHECK(check_posix_sem_post, cred, ksemptr, ksemptr->ks_label); return(error); } @@ -160,7 +175,7 @@ if (!mac_enforce_posix_sem) return (0); - MAC_CHECK(check_posix_sem_unlink, cred, ksemptr, &ksemptr->ks_label); + MAC_CHECK(check_posix_sem_unlink, cred, ksemptr, ksemptr->ks_label); return(error); } @@ -173,7 +188,7 @@ if (!mac_enforce_posix_sem) return (0); - MAC_CHECK(check_posix_sem_wait, cred, ksemptr, &ksemptr->ks_label); + MAC_CHECK(check_posix_sem_wait, cred, ksemptr, ksemptr->ks_label); return(error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#225 (text+ko) ==== @@ -2164,7 +2164,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT((&ksemptr->ks_label)); + obj = SLOT(ks_label); if (!mac_biba_dominate_single(subj, obj)) return (EACCES); @@ -2182,7 +2182,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT((&ksemptr->ks_label)); + obj = SLOT(ks_label); if (!mac_biba_dominate_single(obj, subj)) return (EACCES); ==== //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#117 (text+ko) ==== @@ -1616,7 +1616,7 @@ { ASSERT_CRED_LABEL(cred->cr_label); - ASSERT_POSIX_LABEL(&ksemptr->ks_label); + ASSERT_POSIX_LABEL(ks_label); return (0); } From owner-p4-projects@FreeBSD.ORG Sun Nov 9 08:58:19 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A51816A4D0; Sun, 9 Nov 2003 08:58:19 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B96B16A4CE for ; Sun, 9 Nov 2003 08:58:19 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D839943FB1 for ; Sun, 9 Nov 2003 08:58:17 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9GwHXJ012555 for ; Sun, 9 Nov 2003 08:58:17 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9GwHSF012552 for perforce@freebsd.org; Sun, 9 Nov 2003 08:58:17 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 08:58:17 -0800 (PST) Message-Id: <200311091658.hA9GwHSF012552@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41808 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 16:58:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=41808 Change 41808 by rwatson@rwatson_paprika on 2003/11/09 08:57:37 Do pass labels into policies explicitly for System V IPC. This permits policies basing decisions solely on labels rather than other object properties to be unaware of the structures representing those objects, abstracting the label storager specifics so we can change them. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_msg.c#4 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_sem.c#4 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_shm.c#4 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#226 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#73 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#183 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#10 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#118 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#201 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_msg.c#4 (text+ko) ==== @@ -142,8 +142,8 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &msqkptr->label ?? - MAC_CHECK(check_ipc_msgmsq, cred, msgptr, msqkptr); + MAC_CHECK(check_ipc_msgmsq, cred, msgptr, &msgptr->label, msqkptr, + &msqkptr->label); return(error); } @@ -156,8 +156,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &msqkptr->label ?? - MAC_CHECK(check_ipc_msgrcv, cred, msgptr); + MAC_CHECK(check_ipc_msgrcv, cred, msgptr, &msgptr->label); return(error); } @@ -170,8 +169,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &msqkptr->label ?? - MAC_CHECK(check_ipc_msgrmid, cred, msgptr); + MAC_CHECK(check_ipc_msgrmid, cred, msgptr, &msgptr->label); return(error); } @@ -184,8 +182,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &msqkptr->label ?? - MAC_CHECK(check_ipc_msqget, cred, msqkptr); + MAC_CHECK(check_ipc_msqget, cred, msqkptr, &msqkptr->label); return(error); } @@ -198,8 +195,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &msqkptr->label ?? - MAC_CHECK(check_ipc_msqsnd, cred, msqkptr); + MAC_CHECK(check_ipc_msqsnd, cred, msqkptr, &msqkptr->label); return(error); } @@ -212,8 +208,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &msqkptr->label ?? - MAC_CHECK(check_ipc_msqrcv, cred, msqkptr); + MAC_CHECK(check_ipc_msqrcv, cred, msqkptr, &msqkptr->label); return(error); } @@ -227,8 +222,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &msqkptr->label ?? - MAC_CHECK(check_ipc_msqctl, cred, msqkptr, cmd); + MAC_CHECK(check_ipc_msqctl, cred, msqkptr, &msqkptr->label, cmd); return(error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_sem.c#4 (text+ko) ==== @@ -100,8 +100,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &semakptr->label ?? - MAC_CHECK(check_ipc_semctl, cred, semakptr, cmd); + MAC_CHECK(check_ipc_semctl, cred, semakptr, &semakptr->label, cmd); return(error); } @@ -114,8 +113,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &semakptr->label ?? - MAC_CHECK(check_ipc_semget, cred, semakptr); + MAC_CHECK(check_ipc_semget, cred, semakptr, &semakptr->label); return(error); } @@ -129,8 +127,8 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &semakptr->label ?? - MAC_CHECK(check_ipc_semop, cred, semakptr, accesstype); + MAC_CHECK(check_ipc_semop, cred, semakptr, &semakptr->label, + accesstype); return(error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_shm.c#4 (text+ko) ==== @@ -100,8 +100,8 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &shmsegptr->label ?? - MAC_CHECK(check_ipc_shmat, cred, shmsegptr, shmflg); + MAC_CHECK(check_ipc_shmat, cred, shmsegptr, &shmsegptr->label, + shmflg); return(error); } @@ -115,8 +115,8 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &shmsegptr->label ?? - MAC_CHECK(check_ipc_shmctl, cred, shmsegptr, cmd); + MAC_CHECK(check_ipc_shmctl, cred, shmsegptr, &shmsegptr->label, + cmd); return(error); } @@ -129,8 +129,7 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &shmsegptr->label ?? - MAC_CHECK(check_ipc_shmdt, cred, shmsegptr); + MAC_CHECK(check_ipc_shmdt, cred, shmsegptr, &shmsegptr->label); return(error); } @@ -144,8 +143,8 @@ if (!mac_enforce_sysv) return (0); - //XXX: Should we also pass &shmsegptr->label ?? - MAC_CHECK(check_ipc_shmget, cred, shmsegptr, shmflg); + MAC_CHECK(check_ipc_shmget, cred, shmsegptr, &shmsegptr->label, + shmflg); return(error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#226 (text+ko) ==== @@ -1670,7 +1670,8 @@ } static int -mac_biba_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr) +mac_biba_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { struct mac_biba *subj, *obj; @@ -1678,7 +1679,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msgptr->label); + obj = SLOT(msglabel); if (!mac_biba_dominate_single(obj, subj)) return (EACCES); @@ -1687,7 +1688,8 @@ } static int -mac_biba_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr) +mac_biba_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { struct mac_biba *subj, *obj; @@ -1695,7 +1697,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msgptr->label); + obj = SLOT(msglabel); if (!mac_biba_dominate_single(subj, obj)) return (EACCES); @@ -1704,7 +1706,8 @@ } static int -mac_biba_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_biba_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_biba *subj, *obj; @@ -1712,7 +1715,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_biba_dominate_single(obj, subj)) return (EACCES); @@ -1721,7 +1724,8 @@ } static int -mac_biba_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_biba_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_biba *subj, *obj; @@ -1729,7 +1733,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_biba_dominate_single(subj, obj)) return (EACCES); @@ -1738,7 +1742,8 @@ } static int -mac_biba_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_biba_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_biba *subj, *obj; @@ -1746,7 +1751,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_biba_dominate_single(obj, subj)) return (EACCES); @@ -1757,7 +1762,7 @@ static int mac_biba_check_ipc_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, - int cmd) + struct label *msqklabel, int cmd) { struct mac_biba *subj, *obj; @@ -1765,7 +1770,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); switch(cmd) { case IPC_RMID: @@ -1788,7 +1793,7 @@ static int mac_biba_check_ipc_semctl(struct ucred *cred, struct semid_kernel *semakptr, - int cmd) + struct label *semaklabel, int cmd) { struct mac_biba *subj, *obj; @@ -1796,7 +1801,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); switch(cmd) { case IPC_RMID: @@ -1826,7 +1831,8 @@ static int -mac_biba_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr) +mac_biba_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr, + struct label *semaklabel) { struct mac_biba *subj, *obj; @@ -1834,7 +1840,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); if (!mac_biba_dominate_single(obj, subj)) return (EACCES); @@ -1845,7 +1851,7 @@ static int mac_biba_check_ipc_semop(struct ucred *cred, struct semid_kernel *semakptr, - size_t accesstype) + struct label *semaklabel, size_t accesstype) { struct mac_biba *subj, *obj; @@ -1853,7 +1859,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); if (accesstype & SEM_R) if (!mac_biba_dominate_single(obj, subj)) @@ -1868,7 +1874,7 @@ static int mac_biba_check_ipc_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { struct mac_biba *subj, *obj; @@ -1876,7 +1882,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_biba_dominate_single(obj, subj)) return (EACCES); @@ -1890,7 +1896,7 @@ static int mac_biba_check_ipc_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr, - int cmd) + struct label *shmseglabel, int cmd) { struct mac_biba *subj, *obj; @@ -1898,7 +1904,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); switch(cmd) { case IPC_RMID: @@ -1928,7 +1934,8 @@ * modify/delete the shmseg meta-data and/or the shared segment itself? */ static int -mac_biba_check_ipc_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr) +mac_biba_check_ipc_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr, + struct label *shmseglabel) { struct mac_biba *subj, *obj; @@ -1936,7 +1943,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_biba_dominate_single(subj, obj)) return (EACCES); @@ -1947,7 +1954,7 @@ static int mac_biba_check_ipc_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { struct mac_biba *subj, *obj; @@ -1955,7 +1962,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_biba_dominate_single(obj, subj)) return (EACCES); ==== //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#73 (text+ko) ==== @@ -1843,7 +1843,8 @@ } static int -mac_lomac_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr) +mac_lomac_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { struct mac_lomac *subj, *obj; @@ -1851,7 +1852,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msgptr->label); + obj = SLOT(msglabel); if (!mac_lomac_dominate_single(obj, subj)) return (maybe_demote(subj, obj, "msgrcv", "msg", NULL)); @@ -1860,7 +1861,8 @@ } static int -mac_lomac_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr) +mac_lomac_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { struct mac_lomac *subj, *obj; @@ -1868,7 +1870,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msgptr->label); + obj = SLOT(msglabel); if (!mac_lomac_dominate_single(subj, obj)) return (EACCES); @@ -1877,7 +1879,8 @@ } static int -mac_lomac_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_lomac_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_lomac *subj, *obj; @@ -1885,7 +1888,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_lomac_dominate_single(obj, subj)) return (maybe_demote(subj, obj, "msqget", "msg", NULL)); @@ -1894,7 +1897,8 @@ } static int -mac_lomac_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_lomac_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_lomac *subj, *obj; @@ -1902,7 +1906,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_lomac_dominate_single(subj, obj)) return (EACCES); @@ -1911,7 +1915,8 @@ } static int -mac_lomac_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_lomac_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_lomac *subj, *obj; @@ -1919,7 +1924,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_lomac_dominate_single(obj, subj)) return (maybe_demote(subj, obj, "msqrcv", "msg", NULL)); @@ -1929,7 +1934,7 @@ static int mac_lomac_check_ipc_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, - int cmd) + struct label *msqklabel, int cmd) { struct mac_lomac *subj, *obj; @@ -1937,7 +1942,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); switch(cmd) { case IPC_RMID: @@ -1961,7 +1966,7 @@ static int mac_lomac_check_ipc_semctl(struct ucred *cred, struct semid_kernel *semakptr, - int cmd) + struct label *semaklabel, int cmd) { struct mac_lomac *subj, *obj; @@ -1969,7 +1974,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); switch(cmd) { case IPC_RMID: @@ -1999,7 +2004,8 @@ } static int -mac_lomac_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr) +mac_lomac_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr, + struct label *semaklabel) { struct mac_lomac *subj, *obj; @@ -2007,7 +2013,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); if (!mac_lomac_dominate_single(obj, subj)) return (maybe_demote(subj, obj, "semget", "sem", NULL)); @@ -2017,7 +2023,7 @@ static int mac_lomac_check_ipc_semop(struct ucred *cred, struct semid_kernel *semakptr, - size_t accesstype) + struct label *semaklabel, size_t accesstype) { struct mac_lomac *subj, *obj; @@ -2025,7 +2031,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); if (accesstype & SEM_R) { if (!mac_lomac_dominate_single(obj, subj)) @@ -2043,7 +2049,7 @@ static int mac_lomac_check_ipc_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { struct mac_lomac *subj, *obj; @@ -2051,7 +2057,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_lomac_dominate_single(obj, subj)) return (maybe_demote(subj, obj, "shmat", "shm", @@ -2065,8 +2071,8 @@ } static int -mac_lomac_check_ipc_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr, - int cmd) +mac_lomac_check_ipc_shmctl(struct ucred *cred, + struct shmid_kernel *shmsegptr, struct label *shmseglabel, int cmd) { struct mac_lomac *subj, *obj; @@ -2074,7 +2080,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); switch(cmd) { case IPC_RMID: @@ -2104,7 +2110,8 @@ * modify/delete the shmseg meta-data and/or the shared segment itself? */ static int -mac_lomac_check_ipc_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr) +mac_lomac_check_ipc_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr, + struct label *shmseglabel) { struct mac_lomac *subj, *obj; @@ -2112,7 +2119,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_lomac_dominate_single(subj, obj)) return (EACCES); @@ -2123,7 +2130,7 @@ static int mac_lomac_check_ipc_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { struct mac_lomac *subj, *obj; @@ -2131,7 +2138,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_lomac_dominate_single(obj, subj)) return (maybe_demote(subj, obj, "shmget", "shm", NULL)); ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#183 (text+ko) ==== @@ -1606,7 +1606,8 @@ } static int -mac_mls_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr) +mac_mls_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { struct mac_mls *subj, *obj; @@ -1614,7 +1615,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msgptr->label); + obj = SLOT(msglabel); if (!mac_mls_dominate_single(subj, obj)) return (EACCES); @@ -1623,7 +1624,8 @@ } static int -mac_mls_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr) +mac_mls_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { struct mac_mls *subj, *obj; @@ -1631,7 +1633,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msgptr->label); + obj = SLOT(msglabel); if (!mac_mls_dominate_single(obj, subj)) return (EACCES); @@ -1640,7 +1642,8 @@ } static int -mac_mls_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_mls_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_mls *subj, *obj; @@ -1648,7 +1651,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_mls_dominate_single(subj, obj)) return (EACCES); @@ -1657,7 +1660,8 @@ } static int -mac_mls_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_mls_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_mls *subj, *obj; @@ -1665,7 +1669,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_mls_dominate_single(obj, subj)) return (EACCES); @@ -1674,7 +1678,8 @@ } static int -mac_mls_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr) +mac_mls_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { struct mac_mls *subj, *obj; @@ -1682,7 +1687,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); if (!mac_mls_dominate_single(subj, obj)) return (EACCES); @@ -1692,7 +1697,7 @@ static int mac_mls_check_ipc_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, - int cmd) + struct label *msqklabel, int cmd) { struct mac_mls *subj, *obj; @@ -1700,7 +1705,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&msqkptr->label); + obj = SLOT(msqklabel); switch(cmd) { case IPC_RMID: @@ -1723,7 +1728,7 @@ static int mac_mls_check_ipc_semctl(struct ucred *cred, struct semid_kernel *semakptr, - int cmd) + struct label *semaklabel, int cmd) { struct mac_mls *subj, *obj; @@ -1731,7 +1736,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); switch(cmd) { case IPC_RMID: @@ -1760,7 +1765,8 @@ } static int -mac_mls_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr) +mac_mls_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr, + struct label *semaklabel) { struct mac_mls *subj, *obj; @@ -1768,7 +1774,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); if (!mac_mls_dominate_single(subj, obj)) return (EACCES); @@ -1778,7 +1784,7 @@ static int mac_mls_check_ipc_semop(struct ucred *cred, struct semid_kernel *semakptr, - size_t accesstype) + struct label *semaklabel, size_t accesstype) { struct mac_mls *subj, *obj; @@ -1786,7 +1792,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&semakptr->label); + obj = SLOT(semaklabel); if( accesstype & SEM_R ) if (!mac_mls_dominate_single(subj, obj)) @@ -1801,7 +1807,7 @@ static int mac_mls_check_ipc_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { struct mac_mls *subj, *obj; @@ -1809,7 +1815,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_mls_dominate_single(subj, obj)) return (EACCES); @@ -1822,7 +1828,7 @@ static int mac_mls_check_ipc_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr, - int cmd) + struct label *shmseglabel, int cmd) { struct mac_mls *subj, *obj; @@ -1830,7 +1836,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); switch(cmd) { case IPC_RMID: @@ -1859,7 +1865,8 @@ * modify/delete the shmseg meta-data and/or the shared segment itself? */ static int -mac_mls_check_ipc_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr) +mac_mls_check_ipc_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr, + struct label *shmseglabel) { struct mac_mls *subj, *obj; @@ -1867,7 +1874,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_mls_dominate_single(obj, subj)) return (EACCES); @@ -1878,7 +1885,7 @@ static int mac_mls_check_ipc_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { struct mac_mls *subj, *obj; @@ -1886,7 +1893,7 @@ return (0); subj = SLOT(cred->cr_label); - obj = SLOT(&shmsegptr->label); + obj = SLOT(shmseglabel); if (!mac_mls_dominate_single(obj, subj)) return (EACCES); ==== //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#10 (text+ko) ==== @@ -586,14 +586,16 @@ static int stub_check_ipc_msgmsq(struct ucred *cred, struct msg *msgptr, - struct msqid_kernel *msqkptr) + struct label *msglabel, struct msqid_kernel *msqkptr, + struct label *msqklabel) { return (0); } static int -stub_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr) +stub_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { return (0); @@ -601,7 +603,8 @@ static int -stub_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr) +stub_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { return (0); @@ -609,7 +612,8 @@ static int -stub_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr) +stub_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { return (0); @@ -617,14 +621,16 @@ static int -stub_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr) +stub_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { return (0); } static int -stub_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr) +stub_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { return (0); @@ -633,7 +639,7 @@ static int stub_check_ipc_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, - int cmd) + struct label *msqklabel, int cmd) { return (0); @@ -642,14 +648,15 @@ static int stub_check_ipc_semctl(struct ucred *cred, struct semid_kernel *semakptr, - int cmd) + struct label *semaklabel, int cmd) { return (0); } static int -stub_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr) +stub_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr, + struct label *semaklabel) { return (0); @@ -658,7 +665,7 @@ static int >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 9 09:44:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18E1B16A4D0; Sun, 9 Nov 2003 09:44:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C936A16A4CE for ; Sun, 9 Nov 2003 09:44:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB91C43F93 for ; Sun, 9 Nov 2003 09:44:15 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9HiFXJ015761 for ; Sun, 9 Nov 2003 09:44:15 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9HiFcN015758 for perforce@freebsd.org; Sun, 9 Nov 2003 09:44:15 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 09:44:15 -0800 (PST) Message-Id: <200311091744.hA9HiFcN015758@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41812 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 17:44:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=41812 Change 41812 by rwatson@rwatson_paprika on 2003/11/09 09:43:58 For System V IPC objects, store a (struct label *) instead of a (struct label) to make changes in the size/shape of struct label ABI-clean. Use the label UMA zone to allocate label storage. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/sysv_msg.c#17 edit .. //depot/projects/trustedbsd/mac/sys/kern/sysv_sem.c#18 edit .. //depot/projects/trustedbsd/mac/sys/kern/sysv_shm.c#17 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_msg.c#5 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_sem.c#5 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_shm.c#5 edit .. //depot/projects/trustedbsd/mac/sys/sys/msg.h#7 edit .. //depot/projects/trustedbsd/mac/sys/sys/msg_msg.h#2 edit .. //depot/projects/trustedbsd/mac/sys/sys/sem.h#6 edit .. //depot/projects/trustedbsd/mac/sys/sys/shm.h#6 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/sysv_msg.c#17 (text+ko) ==== @@ -38,7 +38,6 @@ #include #ifdef MAC #include -#include #include #endif ==== //depot/projects/trustedbsd/mac/sys/kern/sysv_sem.c#18 (text+ko) ==== @@ -27,7 +27,6 @@ #include #include #ifdef MAC -#include #include #endif ==== //depot/projects/trustedbsd/mac/sys/kern/sysv_shm.c#17 (text+ko) ==== @@ -53,7 +53,6 @@ #include #include #ifdef MAC -#include #include #endif ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_msg.c#5 (text+ko) ==== @@ -67,40 +67,75 @@ &nmacipcmsqs, 0, "number of sysv ipc message queue identifiers inuse"); #endif +static struct label * +mac_ipc_msgmsg_label_alloc(void) +{ + struct label *label; + + label = mac_labelzone_alloc(M_WAITOK); + MAC_PERFORM(init_ipc_msgmsg_label, label); + MAC_DEBUG_COUNTER_INC(&nmacipcmsgs); + return (label); +} + void mac_init_ipc_msgmsg(struct msg *msgptr) { - mac_init_label(&msgptr->label); - MAC_PERFORM(init_ipc_msgmsg_label, &msgptr->label); - MAC_DEBUG_COUNTER_INC(&nmacipcmsgs); + msgptr->label = mac_ipc_msgmsg_label_alloc(); +} + +static struct label * +mac_ipc_msgqueue_label_alloc(void) +{ + struct label *label; + + label = mac_labelzone_alloc(M_WAITOK); + MAC_PERFORM(init_ipc_msgqueue_label, label); + MAC_DEBUG_COUNTER_INC(&nmacipcmsqs); + return (label); } void mac_init_ipc_msgqueue(struct msqid_kernel *msqkptr) { - mac_init_label(&msqkptr->label); - MAC_PERFORM(init_ipc_msgqueue_label, &msqkptr->label); - MAC_DEBUG_COUNTER_INC(&nmacipcmsqs); + msqkptr->label = mac_ipc_msgqueue_label_alloc(); + msqkptr->label = NULL; +} + +static void +mac_ipc_msgmsg_label_free(struct label *label) +{ + + MAC_PERFORM(destroy_ipc_msgmsg_label, label); + mac_labelzone_free(label); + MAC_DEBUG_COUNTER_DEC(&nmacipcmsgs); } void mac_destroy_ipc_msgmsg(struct msg *msgptr) { - MAC_PERFORM(destroy_ipc_msgmsg_label, &msgptr->label); - mac_destroy_label(&msgptr->label); - MAC_DEBUG_COUNTER_DEC(&nmacipcmsgs); + mac_ipc_msgmsg_label_free(msgptr->label); + msgptr->label = NULL; +} + +static void +mac_ipc_msgqueue_label_free(struct label *label) +{ + + MAC_PERFORM(destroy_ipc_msgqueue_label, label); + mac_labelzone_free(label); + MAC_DEBUG_COUNTER_DEC(&nmacipcmsqs); } void mac_destroy_ipc_msgqueue(struct msqid_kernel *msqkptr) { - MAC_PERFORM(destroy_ipc_msgqueue_label, &msqkptr->label); - mac_destroy_label(&msqkptr->label); - MAC_DEBUG_COUNTER_DEC(&nmacipcmsqs); + mac_ipc_msgqueue_label_free(msqkptr->label); + msqkptr->label = NULL; } void @@ -108,29 +143,29 @@ struct msg *msgptr) { - MAC_PERFORM(create_ipc_msgmsg, cred, msqkptr, &msqkptr->label, - msgptr, &msgptr->label); + MAC_PERFORM(create_ipc_msgmsg, cred, msqkptr, msqkptr->label, + msgptr, msgptr->label); } void mac_create_ipc_msgqueue(struct ucred *cred, struct msqid_kernel *msqkptr) { - MAC_PERFORM(create_ipc_msgqueue, cred, msqkptr, &msqkptr->label); + MAC_PERFORM(create_ipc_msgqueue, cred, msqkptr, msqkptr->label); } void mac_cleanup_ipc_msgmsg(struct msg *msgptr) { - MAC_PERFORM(cleanup_ipc_msgmsg, &msgptr->label); + MAC_PERFORM(cleanup_ipc_msgmsg, msgptr->label); } void mac_cleanup_ipc_msgqueue(struct msqid_kernel *msqkptr) { - MAC_PERFORM(cleanup_ipc_msgqueue, &msqkptr->label); + MAC_PERFORM(cleanup_ipc_msgqueue, msqkptr->label); } int @@ -142,8 +177,8 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_msgmsq, cred, msgptr, &msgptr->label, msqkptr, - &msqkptr->label); + MAC_CHECK(check_ipc_msgmsq, cred, msgptr, msgptr->label, msqkptr, + msqkptr->label); return(error); } @@ -156,7 +191,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_msgrcv, cred, msgptr, &msgptr->label); + MAC_CHECK(check_ipc_msgrcv, cred, msgptr, msgptr->label); return(error); } @@ -169,7 +204,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_msgrmid, cred, msgptr, &msgptr->label); + MAC_CHECK(check_ipc_msgrmid, cred, msgptr, msgptr->label); return(error); } @@ -182,7 +217,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_msqget, cred, msqkptr, &msqkptr->label); + MAC_CHECK(check_ipc_msqget, cred, msqkptr, msqkptr->label); return(error); } @@ -195,7 +230,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_msqsnd, cred, msqkptr, &msqkptr->label); + MAC_CHECK(check_ipc_msqsnd, cred, msqkptr, msqkptr->label); return(error); } @@ -208,7 +243,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_msqrcv, cred, msqkptr, &msqkptr->label); + MAC_CHECK(check_ipc_msqrcv, cred, msqkptr, msqkptr->label); return(error); } @@ -222,7 +257,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_msqctl, cred, msqkptr, &msqkptr->label, cmd); + MAC_CHECK(check_ipc_msqctl, cred, msqkptr, msqkptr->label, cmd); return(error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_sem.c#5 (text+ko) ==== @@ -59,36 +59,53 @@ &nmacipcsemass, 0, "number of sysv ipc semaphore identifiers inuse"); #endif +static struct label * +mac_ipc_sema_label_alloc(void) +{ + struct label *label; + + label = mac_labelzone_alloc(M_WAITOK); + MAC_PERFORM(init_ipc_sema_label, label); + MAC_DEBUG_COUNTER_INC(&nmacipcsemas); + return (label); +} + void mac_init_ipc_sema(struct semid_kernel *semakptr) { - mac_init_label(&semakptr->label); - MAC_PERFORM(init_ipc_sema_label, &semakptr->label); - MAC_DEBUG_COUNTER_INC(&nmacipcsemas); + semakptr->label = mac_ipc_sema_label_alloc(); +} + +static void +mac_ipc_sema_label_free(struct label *label) +{ + + MAC_PERFORM(destroy_ipc_sema_label, label); + mac_labelzone_free(label); + MAC_DEBUG_COUNTER_DEC(&nmacipcsemas); } void mac_destroy_ipc_sema(struct semid_kernel *semakptr) { - MAC_PERFORM(destroy_ipc_sema_label, &semakptr->label); - mac_destroy_label(&semakptr->label); - MAC_DEBUG_COUNTER_DEC(&nmacipcsemas); + mac_ipc_sema_label_free(semakptr->label); + semakptr->label = NULL; } void mac_create_ipc_sema(struct ucred *cred, struct semid_kernel *semakptr) { - MAC_PERFORM(create_ipc_sema, cred, semakptr, &semakptr->label); + MAC_PERFORM(create_ipc_sema, cred, semakptr, semakptr->label); } void mac_cleanup_ipc_sema(struct semid_kernel *semakptr) { - MAC_PERFORM(cleanup_ipc_sema, &semakptr->label); + MAC_PERFORM(cleanup_ipc_sema, semakptr->label); } int @@ -100,7 +117,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_semctl, cred, semakptr, &semakptr->label, cmd); + MAC_CHECK(check_ipc_semctl, cred, semakptr, semakptr->label, cmd); return(error); } @@ -113,7 +130,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_semget, cred, semakptr, &semakptr->label); + MAC_CHECK(check_ipc_semget, cred, semakptr, semakptr->label); return(error); } @@ -127,7 +144,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_semop, cred, semakptr, &semakptr->label, + MAC_CHECK(check_ipc_semop, cred, semakptr, semakptr->label, accesstype); return(error); ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_shm.c#5 (text+ko) ==== @@ -59,36 +59,53 @@ &nmacipcshms, 0, "number of sysv ipc shm identifiers inuse"); #endif +static struct label * +mac_ipc_shm_label_alloc(void) +{ + struct label *label; + + label = mac_labelzone_alloc(M_WAITOK); + MAC_PERFORM(init_ipc_shm_label, label); + MAC_DEBUG_COUNTER_INC(&nmacipcshms); + return (label); +} + void mac_init_ipc_shm(struct shmid_kernel *shmsegptr) { - mac_init_label(&shmsegptr->label); - MAC_PERFORM(init_ipc_shm_label, &shmsegptr->label); - MAC_DEBUG_COUNTER_INC(&nmacipcshms); + shmsegptr->label = mac_ipc_shm_label_alloc(); +} + +static void +mac_ipc_shm_label_free(struct label *label) +{ + + MAC_PERFORM(destroy_ipc_shm_label, label); + mac_labelzone_free(label); + MAC_DEBUG_COUNTER_DEC(&nmacipcshms); } void mac_destroy_ipc_shm(struct shmid_kernel *shmsegptr) { - MAC_PERFORM(destroy_ipc_shm_label, &shmsegptr->label); - mac_destroy_label(&shmsegptr->label); - MAC_DEBUG_COUNTER_DEC(&nmacipcshms); + mac_ipc_shm_label_free(shmsegptr->label); + shmsegptr->label = NULL; } void mac_create_ipc_shm(struct ucred *cred, struct shmid_kernel *shmsegptr) { - MAC_PERFORM(create_ipc_shm, cred, shmsegptr, &shmsegptr->label); + MAC_PERFORM(create_ipc_shm, cred, shmsegptr, shmsegptr->label); } void mac_cleanup_ipc_shm(struct shmid_kernel *shmsegptr) { - MAC_PERFORM(cleanup_ipc_shm, &shmsegptr->label); + MAC_PERFORM(cleanup_ipc_shm, shmsegptr->label); } int @@ -100,7 +117,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_shmat, cred, shmsegptr, &shmsegptr->label, + MAC_CHECK(check_ipc_shmat, cred, shmsegptr, shmsegptr->label, shmflg); return(error); @@ -115,7 +132,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_shmctl, cred, shmsegptr, &shmsegptr->label, + MAC_CHECK(check_ipc_shmctl, cred, shmsegptr, shmsegptr->label, cmd); return(error); @@ -129,7 +146,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_shmdt, cred, shmsegptr, &shmsegptr->label); + MAC_CHECK(check_ipc_shmdt, cred, shmsegptr, shmsegptr->label); return(error); } @@ -143,7 +160,7 @@ if (!mac_enforce_sysv) return (0); - MAC_CHECK(check_ipc_shmget, cred, shmsegptr, &shmsegptr->label, + MAC_CHECK(check_ipc_shmget, cred, shmsegptr, shmsegptr->label, shmflg); return(error); ==== //depot/projects/trustedbsd/mac/sys/sys/msg.h#7 (text+ko) ==== @@ -26,7 +26,6 @@ #include #include #include -#include /* * The MSG_NOERROR identifier value, the msqid_ds struct and the msg struct @@ -126,7 +125,7 @@ { struct msqid_ds u; /* the following are private */ - struct label label; /* MAC label */ + struct label *label; /* MAC label */ }; #else /* !_KERNEL */ ==== //depot/projects/trustedbsd/mac/sys/sys/msg_msg.h#2 (text+ko) ==== @@ -22,7 +22,6 @@ #include #include -#include #ifdef _KERNEL @@ -41,7 +40,7 @@ /* 0 -> free header */ unsigned short msg_ts; /* size of this message */ short msg_spot; /* location of start of msg in buffer */ - struct label label; /* MAC Framework label */ + struct label *label; /* MAC Framework label */ }; #endif /* _KERNEL */ ==== //depot/projects/trustedbsd/mac/sys/sys/sem.h#6 (text+ko) ==== @@ -11,7 +11,6 @@ #define _SYS_SEM_H_ #include -#include struct sem; @@ -89,7 +88,7 @@ struct semid_kernel { struct semid_ds u; /* the following are private */ - struct label label; /* MAC framework label */ + struct label *label; /* MAC framework label */ }; /* internal "mode" bits */ ==== //depot/projects/trustedbsd/mac/sys/sys/shm.h#6 (text+ko) ==== @@ -40,7 +40,6 @@ #define _SYS_SHM_H_ #include -#include #define SHM_RDONLY 010000 /* Attach read-only (else read-write) */ #define SHM_RND 020000 /* Round attach address to SHMLBA */ @@ -93,7 +92,7 @@ struct shmid_kernel { struct shmid_ds u; /* the following are private */ - struct label label; /* MAC label */ + struct label *label; /* MAC label */ }; extern struct shminfo shminfo; From owner-p4-projects@FreeBSD.ORG Sun Nov 9 11:19:14 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D39D916A4D2; Sun, 9 Nov 2003 11:19:13 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AEEB616A4CF for ; Sun, 9 Nov 2003 11:19:13 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2284043FE0 for ; Sun, 9 Nov 2003 11:19:13 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9JJCXJ021816 for ; Sun, 9 Nov 2003 11:19:13 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9JJCSL021813 for perforce@freebsd.org; Sun, 9 Nov 2003 11:19:12 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sun, 9 Nov 2003 11:19:12 -0800 (PST) Message-Id: <200311091919.hA9JJCSL021813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 41815 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 19:19:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=41815 Change 41815 by peter@peter_overcee on 2003/11/09 11:18:13 change MAXCPU to 8 for the SMP case since thats the largest configuration cpu that AMD sells for SMP systems. Affected files ... .. //depot/projects/hammer/sys/amd64/include/param.h#11 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/param.h#11 (text+ko) ==== @@ -84,7 +84,7 @@ #endif #ifdef SMP -#define MAXCPU 16 +#define MAXCPU 8 #else #define MAXCPU 1 #endif From owner-p4-projects@FreeBSD.ORG Sun Nov 9 11:23:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82E5E16A4D2; Sun, 9 Nov 2003 11:23:47 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5BEC016A4CF; Sun, 9 Nov 2003 11:23:47 -0800 (PST) Received: from imf23aec.mail.bellsouth.net (imf23aec.mail.bellsouth.net [205.152.59.71]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F53143FE5; Sun, 9 Nov 2003 11:23:46 -0800 (PST) (envelope-from drhodus@catpa.com) Received: from [192.168.1.96] ([68.209.168.6]) by imf23aec.mail.bellsouth.netESMTP <20031109192345.CBOA1852.imf23aec.mail.bellsouth.net@[192.168.1.96]>; Sun, 9 Nov 2003 14:23:45 -0500 In-Reply-To: <200311091919.hA9JJCSL021813@repoman.freebsd.org> References: <200311091919.hA9JJCSL021813@repoman.freebsd.org> Mime-Version: 1.0 (Apple Message framework v606) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <37E7BF04-12EA-11D8-BF9A-000A959B213E@catpa.com> Content-Transfer-Encoding: 7bit From: David Rhodus Date: Sun, 9 Nov 2003 14:23:37 -0500 To: Peter Wemm X-Mailer: Apple Mail (2.606) cc: Perforce Change Reviews Subject: Re: PERFORCE change 41815 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 19:23:48 -0000 On Nov 9, 2003, at 2:19 PM, Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=41815 > > Change 41815 by peter@peter_overcee on 2003/11/09 11:18:13 > > change MAXCPU to 8 for the SMP case since thats the largest > configuration cpu that AMD sells for SMP systems. Is there any place that is selling these motherboards yet ? I've seen the processors at a few sites but not the boards.... -DR From owner-p4-projects@FreeBSD.ORG Sun Nov 9 12:09:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9601A16A4D0; Sun, 9 Nov 2003 12:09:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7043516A4CE for ; Sun, 9 Nov 2003 12:09:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C89C143FE1 for ; Sun, 9 Nov 2003 12:09:16 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9K9GXJ025639 for ; Sun, 9 Nov 2003 12:09:16 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9K9G9P025636 for perforce@freebsd.org; Sun, 9 Nov 2003 12:09:16 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 12:09:16 -0800 (PST) Message-Id: <200311092009.hA9K9G9P025636@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41818 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 20:09:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=41818 Change 41818 by rwatson@rwatson_paprika on 2003/11/09 12:09:15 In the MAC branch, compile MAC kernels with MAC_DEBUG by default. Affected files ... .. //depot/projects/trustedbsd/mac/sys/i386/conf/MAC#49 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/i386/conf/MAC#49 (text+ko) ==== @@ -32,7 +32,7 @@ options MAC #options MAC_ALWAYS_LABEL_MBUF -#options MAC_DEBUG +options MAC_DEBUG #options MAC_STATIC options UFS_EXTATTR options UFS_EXTATTR_AUTOSTART From owner-p4-projects@FreeBSD.ORG Sun Nov 9 13:45:51 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22D4816A4D0; Sun, 9 Nov 2003 13:45:51 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F14E516A4CE for ; Sun, 9 Nov 2003 13:45:50 -0800 (PST) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 853BD43FBD for ; Sun, 9 Nov 2003 13:45:50 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id 5EB312A8FE; Sun, 9 Nov 2003 13:45:50 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.6.3 04/04/2003 with nmh-1.0.4 To: David Rhodus In-Reply-To: <37E7BF04-12EA-11D8-BF9A-000A959B213E@catpa.com> Date: Sun, 09 Nov 2003 13:45:50 -0800 From: Peter Wemm Message-Id: <20031109214550.5EB312A8FE@canning.wemm.org> cc: Perforce Change Reviews Subject: Re: PERFORCE change 41815 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 21:45:51 -0000 David Rhodus wrote: > > On Nov 9, 2003, at 2:19 PM, Peter Wemm wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=41815 > > > > Change 41815 by peter@peter_overcee on 2003/11/09 11:18:13 > > > > change MAXCPU to 8 for the SMP case since thats the largest > > configuration cpu that AMD sells for SMP systems. > > Is there any place that is selling these motherboards yet ? I've seen > the > processors at a few sites but not the boards.... I don't know. I have a machine in my cube that does 4 way and has remnants of an interconnect for an additional 4 cpus. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 From owner-p4-projects@FreeBSD.ORG Sun Nov 9 13:49:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9999E16A4D4; Sun, 9 Nov 2003 13:49:22 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 75BC416A4D0 for ; Sun, 9 Nov 2003 13:49:22 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E454743FCB for ; Sun, 9 Nov 2003 13:49:21 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9LnLXJ036394 for ; Sun, 9 Nov 2003 13:49:21 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9LnLYZ036391 for perforce@freebsd.org; Sun, 9 Nov 2003 13:49:21 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 13:49:21 -0800 (PST) Message-Id: <200311092149.hA9LnLYZ036391@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41822 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 21:49:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=41822 Change 41822 by rwatson@rwatson_paprika on 2003/11/09 13:48:44 Correct a typo hidden by MAC_DEBUG. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_sem.c#6 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_sysv_sem.c#6 (text+ko) ==== @@ -56,7 +56,7 @@ #ifdef MAC_DEBUG static unsigned int nmacipcsemas; SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, ipc_semas, CTLFLAG_RD, - &nmacipcsemass, 0, "number of sysv ipc semaphore identifiers inuse"); + &nmacipcsemas, 0, "number of sysv ipc semaphore identifiers inuse"); #endif static struct label * From owner-p4-projects@FreeBSD.ORG Sun Nov 9 13:53:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 537EC16A4D1; Sun, 9 Nov 2003 13:53:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2CD2E16A4CE for ; Sun, 9 Nov 2003 13:53:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C7B5243FD7 for ; Sun, 9 Nov 2003 13:53:27 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9LrRXJ036709 for ; Sun, 9 Nov 2003 13:53:27 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9LrRtN036706 for perforce@freebsd.org; Sun, 9 Nov 2003 13:53:27 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sun, 9 Nov 2003 13:53:27 -0800 (PST) Message-Id: <200311092153.hA9LrRtN036706@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 41823 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 21:53:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=41823 Change 41823 by peter@peter_overcee on 2003/11/09 13:53:20 tidy up Affected files ... .. //depot/projects/hammer/amd64mk.sh#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Nov 9 13:58:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8464C16A4D0; Sun, 9 Nov 2003 13:58:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5EC7116A4CE for ; Sun, 9 Nov 2003 13:58:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FF7743FAF for ; Sun, 9 Nov 2003 13:58:34 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9LwYXJ037014 for ; Sun, 9 Nov 2003 13:58:34 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9LwYrc037011 for perforce@freebsd.org; Sun, 9 Nov 2003 13:58:34 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sun, 9 Nov 2003 13:58:34 -0800 (PST) Message-Id: <200311092158.hA9LwYrc037011@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 41824 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 21:58:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=41824 Change 41824 by peter@peter_overcee on 2003/11/09 13:58:26 move some stuff to the done section. Affected files ... .. //depot/projects/hammer/TODO.txt#6 edit Differences ... ==== //depot/projects/hammer/TODO.txt#6 (text+ko) ==== @@ -1,12 +1,9 @@ -$P4: //depot/projects/hammer/TODO.txt#5 $ +$P4: //depot/projects/hammer/TODO.txt#6 $ reread the logs etc and check out the "XXX worry about this later" stuff performance tuning (segment registers etc at context switch time, pmap) -threads (get/setusercontext/swapcontext/makecontext etc and kse kernel bits) -(peter: started work on libc_r, but it crashes still) - USER_LDT (however, there is a syscall to set the %fs and %gs base values to arbitary 64 bit addresses). @@ -14,16 +11,13 @@ kld module support (the elf_machdep.c relocator is wrong, it uses the old value rather than addends like it should. See alpha/sparc64 for clues.) +XXX: can't do this without hacking binutils. finish the missing relocation types in rtld-elf/amd64/reloc.c (easy) -make release (should be mostly there, with the bootblock patches) - -X server - add userland access to hardware debug registers via ptrace/procfs. -gdb (doesn't look *that* hard, once debug regs are done) +gdb6.0 import (FSF build works) ddb (needs a dwarf2 based unwinder to get stack traces and a disassembler) (peter: basic functionality, uses -fno-omit-frame-pointer.. disassembler @@ -38,16 +32,20 @@ SSE/SSE2 support in libc (the fpget/set*() functions need to adjust the SSE MXCSR register as well as the x87 control word - netbsd have already done this, we can look at theirs) +(XXX mostly done. need better libm support still) factor out common compat/freebsd32/* and compat/ia32/* from ia64 and amd64 trees. freebsd32 should be for running 32 bit binaries on a 64 bit kernel, while ia32 is for special MD bits. Lots of missing syscalls. +(XXX: lots done. ia64 MD needed. still some missing syscalls) make ia32 binary support more robust, including things that do important ioctls etc. +(XXX: improving. csh etc work now. execve() was the bug) +(XXX: Need USER_LDT for i386 binaries.) +(XXX: need some ioctl translators and a few syscall translators that + take dense structures with different packing) -revert ppp(8) compiler bug workaround after gcc-3.3 is imported. - ======= DONE ======= ppp(8) (compiler bug, hack in http://people.freebsd.org/~peter/hammer.diff, but gcc-3.3 would be much better) @@ -74,3 +72,12 @@ where it shouldn't, and the direct pte map interface needs to be made aware of it) +threads (get/setusercontext/swapcontext/makecontext etc and kse kernel bits) +(peter: started work on libc_r, but it crashes still) +(David Xu and Dan did the kse bits, libc_r works too. no libthr) + +X server (supported in ports) + +make release (should be mostly there, with the bootblock patches) + +revert ppp(8) compiler bug workaround after gcc-3.3 is imported. From owner-p4-projects@FreeBSD.ORG Sun Nov 9 13:59:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2605216A4D0; Sun, 9 Nov 2003 13:59:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0075316A4CE for ; Sun, 9 Nov 2003 13:59:37 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C1AD43F3F for ; Sun, 9 Nov 2003 13:59:36 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9LxaXJ037044 for ; Sun, 9 Nov 2003 13:59:36 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9LxaN2037041 for perforce@freebsd.org; Sun, 9 Nov 2003 13:59:36 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sun, 9 Nov 2003 13:59:36 -0800 (PST) Message-Id: <200311092159.hA9LxaN2037041@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 41825 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 21:59:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=41825 Change 41825 by peter@peter_overcee on 2003/11/09 13:59:04 note that SMP is almost finished Affected files ... .. //depot/projects/hammer/TODO.txt#7 edit Differences ... ==== //depot/projects/hammer/TODO.txt#7 (text+ko) ==== @@ -1,4 +1,4 @@ -$P4: //depot/projects/hammer/TODO.txt#6 $ +$P4: //depot/projects/hammer/TODO.txt#7 $ reread the logs etc and check out the "XXX worry about this later" stuff @@ -8,6 +8,7 @@ to arbitary 64 bit addresses). SMP (acpi MADT table based etc, ignore mptable stuff) +(XXX: almost finished) kld module support (the elf_machdep.c relocator is wrong, it uses the old value rather than addends like it should. See alpha/sparc64 for clues.) From owner-p4-projects@FreeBSD.ORG Sun Nov 9 14:00:39 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B0A8D16A4D0; Sun, 9 Nov 2003 14:00:39 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8BA9116A4CE for ; Sun, 9 Nov 2003 14:00:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B78E543FE1 for ; Sun, 9 Nov 2003 14:00:38 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9M0cXJ037131 for ; Sun, 9 Nov 2003 14:00:38 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9M0b7O037102 for perforce@freebsd.org; Sun, 9 Nov 2003 14:00:37 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sun, 9 Nov 2003 14:00:37 -0800 (PST) Message-Id: <200311092200.hA9M0b7O037102@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 41826 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 22:00:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=41826 Change 41826 by peter@peter_overcee on 2003/11/09 14:00:26 netstat -i dumps core. This one has me quite puzzled. Affected files ... .. //depot/projects/hammer/TODO.txt#8 edit Differences ... ==== //depot/projects/hammer/TODO.txt#8 (text+ko) ==== @@ -1,4 +1,4 @@ -$P4: //depot/projects/hammer/TODO.txt#7 $ +$P4: //depot/projects/hammer/TODO.txt#8 $ reread the logs etc and check out the "XXX worry about this later" stuff @@ -47,6 +47,9 @@ (XXX: need some ioctl translators and a few syscall translators that take dense structures with different packing) +netstat -i coredumps. Investigate. +Is this a compiler bug or a libkvm or /dev/kmem bug? + ======= DONE ======= ppp(8) (compiler bug, hack in http://people.freebsd.org/~peter/hammer.diff, but gcc-3.3 would be much better) From owner-p4-projects@FreeBSD.ORG Sun Nov 9 14:36:26 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E05516A4D1; Sun, 9 Nov 2003 14:36:26 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 405DD16A4CF for ; Sun, 9 Nov 2003 14:36:26 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CABE43F93 for ; Sun, 9 Nov 2003 14:36:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9MaOXJ040024 for ; Sun, 9 Nov 2003 14:36:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9MaNPZ040013 for perforce@freebsd.org; Sun, 9 Nov 2003 14:36:23 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 14:36:23 -0800 (PST) Message-Id: <200311092236.hA9MaNPZ040013@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 22:36:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=41829 Change 41829 by rwatson@rwatson_paprika on 2003/11/09 14:36:15 Integrate recent changes to trustedbsd_mac branch: move to a zone allocator and externally stored labels in preference to embedded labels inside existing kernel structures. This has several benefits, including reducing the need for policies (and the MAC Framework) to grub around in external data structures, permitting changes in the label structure without breaking the ABI for external data structures, and permitting (in the long term) use of the slab allocator to improve allocation efficiency. This will require further manual resolution of differences due to local changes in the SEBSD branch, so it may be a few hours before it compiles cleanly. Affected files ... .. //depot/projects/trustedbsd/sebsd/MACREADME#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/files#10 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/devfs/devfs.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/conf/MAC#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_exec.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#16 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/sysv_ipc.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/sysv_msg.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/sysv_sem.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/sysv_shm.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/uipc_sem.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/net/bpfdesc.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/net/if_var.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/netinet/ip_var.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/posix4/ksem.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_internal.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_label.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_net.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_posix_sem.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_system.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_sysv_msg.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_sysv_sem.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_sysv_shm.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_vfs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac_biba/mac_biba.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac_lomac/mac_lomac.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac_mls/mac_mls.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac_partition/mac_partition.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac_stub/mac_stub.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac_test/mac_test.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/mac_policy.h#10 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/mount.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/msg.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/msg_msg.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/pipe.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/proc.h#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/sem.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/shm.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/socketvar.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/ucred.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/vnode.h#6 integrate Differences ... ==== //depot/projects/trustedbsd/sebsd/MACREADME#2 (text+ko) ==== @@ -8,6 +8,8 @@ options MAC # Mandatory Access Control #options MAC_DEBUG # Might also be useful +#options MAC_ALWAYS_LABEL_MBUF # Don't conditionally label mbufs +#options MAC_STATIC # Optimize out dynamic loading support Rebuild and reinstall world and kernel. Make sure that login.conf is in sync with that provided in the MAC repository, and that login.conf.db @@ -21,11 +23,13 @@ mac_biba_load="NO" # Biba MAC policy (boot only) mac_bsdextended_load="NO" # BSD/extended MAC policy mac_ifoff="NO" # Interface silencing policy +mac_lomac_load="NO" # Low-Watermark Mandatory Access Control mac_mls_load="NO" # MLS MAC policy (boot only) mac_none_load="NO" # Null MAC policy mac_partition_load="NO" # Partition MAC policy +mac_portacl_load="NO" # IP port access control lists mac_seeotheruids_load="NO" # UID visbility MAC policy -sebsd_load="NO" # Port of SELinux/FLASK (boot only) +mac_test_load="NO" # Regression test module Kernel options known not to work with MAC @@ -73,9 +77,7 @@ The NFS server code in many places currently ignores MAC protection. This may or may not be the best behavior, as in the past NFS could always override discretionary access control due to running in the -kernel as root all the time. However, because NFS sometimes invokes -higher level VFS functionality, such as namei(), MAC protections -may be inconsistently enforced. CODA support is probably in the same +kernel as root all the time. CODA support is probably in the same condition. Client-side NFS locking is known to Do The Wrong Thing, for a variety ==== //depot/projects/trustedbsd/sebsd/sys/conf/files#10 (text+ko) ==== @@ -1598,6 +1598,7 @@ posix4/posix4_mib.c standard kern/uipc_sem.c optional p1003_1b_semaphores security/mac/mac_file.c optional mac +security/mac/mac_label.c optional mac security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_posix_sem.c optional mac ==== //depot/projects/trustedbsd/sebsd/sys/fs/devfs/devfs.h#3 (text+ko) ==== @@ -159,7 +159,7 @@ mode_t de_mode; uid_t de_uid; gid_t de_gid; - struct label de_label; + struct label *de_label; struct timespec de_atime; struct timespec de_mtime; struct timespec de_ctime; ==== //depot/projects/trustedbsd/sebsd/sys/i386/conf/MAC#8 (text+ko) ==== @@ -32,7 +32,7 @@ options MAC #options MAC_ALWAYS_LABEL_MBUF -#options MAC_DEBUG +options MAC_DEBUG #options MAC_STATIC options UFS_EXTATTR options UFS_EXTATTR_AUTOSTART ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_exec.c#7 (text+ko) ==== @@ -341,7 +341,7 @@ NDFREE(ndp, NDF_ONLY_PNBUF); #ifdef MAC mac_init_vnode_label(&interplabel); - mac_copy_vnode_label(&ndp->ni_vp->v_label, &interplabel); + mac_copy_vnode_label(ndp->ni_vp->v_label, &interplabel); interplabelvalid = 1; #endif vput(ndp->ni_vp); ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#16 (text+ko) ==== @@ -270,6 +270,7 @@ LIST_INIT(&mac_static_policy_list); LIST_INIT(&mac_policy_list); + mac_labelzone_init(); #ifndef MAC_STATIC mtx_init(&mac_policy_mtx, "mac_policy_mtx", NULL, MTX_DEF); @@ -588,8 +589,8 @@ } buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); - error = mac_externalize_cred_label(&tcred->cr_label, elements, - buffer, mac.m_buflen, M_WAITOK); + error = mac_externalize_cred_label(tcred->cr_label, elements, + buffer, mac.m_buflen); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -625,8 +626,8 @@ } buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); - error = mac_externalize_cred_label(&td->td_ucred->cr_label, - elements, buffer, mac.m_buflen, M_WAITOK); + error = mac_externalize_cred_label(td->td_ucred->cr_label, + elements, buffer, mac.m_buflen); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -755,7 +756,7 @@ mac_init_vnode_label(&intlabel); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - mac_copy_vnode_label(&vp->v_label, &intlabel); + mac_copy_vnode_label(vp->v_label, &intlabel); VOP_UNLOCK(vp, 0, td); break; @@ -780,12 +781,12 @@ case DTYPE_VNODE: if (error == 0) error = mac_externalize_vnode_label(&intlabel, - elements, buffer, mac.m_buflen, M_WAITOK); + elements, buffer, mac.m_buflen); mac_destroy_vnode_label(&intlabel); break; case DTYPE_PIPE: error = mac_externalize_pipe_label(&intlabel, elements, - buffer, mac.m_buflen, M_WAITOK); + buffer, mac.m_buflen); mac_destroy_pipe_label(&intlabel); break; default: @@ -839,9 +840,9 @@ goto out; mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(&nd.ni_vp->v_label, &intlabel); + mac_copy_vnode_label(nd.ni_vp->v_label, &intlabel); error = mac_externalize_vnode_label(&intlabel, elements, buffer, - mac.m_buflen, M_WAITOK); + mac.m_buflen); NDFREE(&nd, 0); mac_destroy_vnode_label(&intlabel); @@ -894,9 +895,9 @@ goto out; mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(&nd.ni_vp->v_label, &intlabel); + mac_copy_vnode_label(nd.ni_vp->v_label, &intlabel); error = mac_externalize_vnode_label(&intlabel, elements, buffer, - mac.m_buflen, M_WAITOK); + mac.m_buflen); NDFREE(&nd, 0); mac_destroy_vnode_label(&intlabel); ==== //depot/projects/trustedbsd/sebsd/sys/kern/sysv_ipc.c#6 (text+ko) ==== @@ -73,9 +73,9 @@ /* - * Note: The MAC Framework doesnt add any hook to the ipcperm function as + * Note: The MAC Framework doesnt add any hook to the ipcperm function as * fine-grained hooks are inserted throughout the ipc primitives. These hooks - * compliment the ipcperm check. + * compliment the ipcperm check. */ int ==== //depot/projects/trustedbsd/sebsd/sys/kern/sysv_msg.c#8 (text+ko) ==== @@ -39,7 +39,6 @@ #include #ifdef MAC #include -#include #include #endif @@ -57,7 +56,7 @@ #ifdef MAC_DEBUG #define MPRINTF(a) printf(a) #else -#define MPRINTF(a) +#define MPRINTF(a) #endif static void msg_freehdr(struct msg *msghdr); @@ -75,7 +74,7 @@ long msg_type; /* type of this message */ /* >0 -> type of this message */ /* 0 -> free header */ - unsigned short msg_ts; /* size of this message */ + u_short msg_ts; /* size of this message */ short msg_spot; /* location of start of msg in buffer */ }; #endif @@ -168,7 +167,8 @@ msghdrs = malloc(sizeof(struct msg) * msginfo.msgtql, M_MSG, M_WAITOK); if (msghdrs == NULL) panic("msghdrs is NULL"); - msqids = malloc(sizeof(struct msqid_kernel) * msginfo.msgmni, M_MSG, M_WAITOK); + msqids = malloc(sizeof(struct msqid_kernel) * msginfo.msgmni, M_MSG, + M_WAITOK); if (msqids == NULL) panic("msqids is NULL"); @@ -230,14 +230,14 @@ } mtx_init(&msq_mtx, "msq", NULL, MTX_DEF); refcount = 0; - /* - * It is not permissible to pass the same mutex to mtx_init() multiple - * times without intervening calls to mtx_destroy(). - * Since we cannot destroy the refcnt_mtx during msgunload, we check if the - * mtx_init has ever been called. If so, we dont need to do mtx_init as the - * mutex is already initialized. + /* + * It is not permissible to pass the same mutex to mtx_init() + * multiple times without intervening calls to mtx_destroy(). Since + * we cannot destroy the refcnt_mtx during msgunload, we check if the + * mtx_init has ever been called. If so, we dont need to do mtx_init + * as the mutex is already initialized. */ - if ( mtx_initialized(&refcnt_mtx) == 0 ) + if (mtx_initialized(&refcnt_mtx) == 0) mtx_init(&refcnt_mtx, "msgrefcnt", NULL, MTX_DEF); } @@ -247,12 +247,12 @@ struct msqid_kernel *msqkptr; int msqid; - /* - * Make sure that the msgunload maintains the consistency of the msqids - * and msghdrs data structures. This assures that the unload doesn't take - * place if any thread is in any of the code-paths (tinkering with the - * data structures), and also that no thread can enter the code-paths once - * the module is unloaded. + /* + * Make sure that the msgunload maintains the consistency of the + * msqids and msghdrs data structures. This assures that the unload + * doesn't take place if any thread is in any of the code-paths + * (tinkering with the data structures), and also that no thread + * can enter the code-paths once the module is unloaded. */ mtx_lock(&refcnt_mtx); if (refcount > 0) { @@ -282,20 +282,20 @@ #ifdef MAC int i; /* Clean up the MAC label associated with the msg objects. */ - for (i = 0; i < msginfo.msgtql; i++) + for (i = 0; i < msginfo.msgtql; i++) mac_destroy_ipc_msgmsg(&msghdrs[i]); /* Clean up the MAC label associated with the msq objects. */ - for (msqid = 0; msqid < msginfo.msgmni; msqid++) + for (msqid = 0; msqid < msginfo.msgmni; msqid++) mac_destroy_ipc_msgqueue(&msqids[msqid]); -#endif +#endif free(msgpool, M_MSG); free(msgmaps, M_MSG); free(msghdrs, M_MSG); free(msqids, M_MSG); mtx_destroy(&msq_mtx); - /* - * NOTE: We cannot destroy the refcnt_mtx as it is possible that some thread - * might (attempt to) hold the mutex. + /* + * NOTE: We cannot destroy the refcnt_mtx as it is possible that + * some thread might (attempt to) hold the mutex. */ /* mtx_destroy(&refcnt_mtx); */ return (0); @@ -423,7 +423,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -441,7 +444,7 @@ goto done3; } if (cmd == IPC_SET && - (error = copyin(user_msqptr, &msqbuf, sizeof(msqbuf))) != 0) + (error = copyin(user_msqptr, &msqbuf, sizeof(msqbuf))) != 0) goto done3; msqkptr = &msqids[msqid]; @@ -458,9 +461,9 @@ goto done2; } #ifdef MAC - if ((error = mac_check_ipc_msqctl(td->td_ucred,msqkptr,cmd))) - { - MPRINTF(("MAC Framework: mac_check_ipc_msqctl permission denied!\n")); + if ((error = mac_check_ipc_msqctl(td->td_ucred,msqkptr,cmd))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_msqctl permission denied!\n")); goto done2; } #endif @@ -478,22 +481,25 @@ goto done2; #ifdef MAC - /* - * Check that the thread has MAC access permissions to individual - * msghdrs. - * Note: We need to do this in a separate loop because the actual loop - * alters the msq/msghdr info as it progresses, and there is no going - * back if half the way through we discover that the thread cannot free - * a certain msghdr. The msq will get into an inconsistent state. - */ + /* + * Check that the thread has MAC access permissions to + * individual msghdrs. Note: We need to do this in a + * separate loop because the actual loop alters the + * msq/msghdr info as it progresses, and there is no going + * back if half the way through we discover that the + * thread cannot free a certain msghdr. The msq will get + * into an inconsistent state. + */ msghdr = msqkptr->u.msg_first; while (msghdr != NULL) { - if((error = mac_check_ipc_msgrmid(td->td_ucred,msghdr))) { - MPRINTF("MAC Framework: mac_check_ipc_msgrmid permission denied\n"); - /* XXX wakeup(msqkptr); ??? */ - goto done2; - } - msghdr = msghdr->msg_next; + if ((error = mac_check_ipc_msgrmid(td->td_ucred, + msghdr))) { + MPRINTF( + "MAC Framework: mac_check_ipc_msgrmid permission denied\n"); + /* XXX wakeup(msqkptr); ??? */ + goto done2; + } + msghdr = msghdr->msg_next; } #endif @@ -605,7 +611,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -635,8 +644,9 @@ goto done2; } #ifdef MAC - if(( error = mac_check_ipc_msqget(cred, msqkptr) )) { - MPRINTF("MAC Framework: mac_check_ipc_msqget access denied\n"); + if ((error = mac_check_ipc_msqget(cred, msqkptr))) { + MPRINTF( + "MAC Framework: mac_check_ipc_msqget access denied\n"); goto done2; } #endif @@ -733,7 +743,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -769,10 +782,14 @@ goto done2; } -#ifdef MAC - /* Make sure that the thread has access rights to the message queue */ +#ifdef MAC + /* + * Make sure that the thread has access rights to the message + * queue. + */ if ((error = mac_check_ipc_msqsnd(td->td_ucred, msqkptr))) { - MPRINTF(("MAC Framework: mac_check_ipc_msqsnd permission denied\n")); + MPRINTF(( +"MAC Framework: mac_check_ipc_msqsnd permission denied\n")); goto done2; } #endif @@ -892,12 +909,11 @@ msghdr->msg_ts = msgsz; #ifdef MAC mac_create_ipc_msgmsg(td->td_ucred, msqkptr, msghdr); - /* - * XXX: Should the mac_check_ipc_msgmsq check follow here immediately ? - * Or, should it be checked just before the msg is enqueued in the msgq - * (as it is done now) ? + /* + * XXX: Should the mac_check_ipc_msgmsq check follow here + * immediately? Or, should it be checked just before the msg is + * enqueued in the msgq (as it is done now)? */ - #endif /* @@ -1009,17 +1025,19 @@ #ifdef MAC /* - * Note: Since the task/thread allocates the msghdr and usually primes - * it with its own MAC label,for a majority of policies, it won't be - * necessary to check whether the msghdr has access permissions to the - * msgq. The mac_check_ipc_msqsnd check would suffice in that case. - * However, this hook may be required where individual policies derive - * a non-identical label for the msghdr from the current thread label - * and may want to check the msghdr enqueue permissions, along with - * read/write permissions to the msgq. + * Note: Since the task/thread allocates the msghdr and usually + * primes it with its own MAC label,for a majority of policies, it + * won't be necessary to check whether the msghdr has access + * permissions to the msgq. The mac_check_ipc_msqsnd check would + * suffice in that case. However, this hook may be required where + * individual policies derive a non-identical label for the msghdr + * from the current thread label and may want to check the msghdr + * enqueue permissions, along with read/write permissions to the + * msgq. */ - if((error= mac_check_ipc_msgmsq(td->td_ucred,msghdr,msqkptr))) { - MPRINTF(("MAC Framework: mac_check_ipc_msqmsq permission denied\n")); + if ((error = mac_check_ipc_msgmsq(td->td_ucred,msghdr,msqkptr))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_msqmsq permission denied\n")); msg_freehdr(msghdr); wakeup(msqkptr); goto done2; @@ -1085,7 +1103,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -1121,10 +1142,13 @@ goto done2; } -#ifdef MAC - /* Make sure that the thread has access rights to the message queue */ +#ifdef MAC + /* + * Make sure that the thread has access rights to the message queue. + */ if ((error = mac_check_ipc_msqrcv(td->td_ucred, msqkptr))) { - MPRINTF(("MAC Framework: mac_check_ipc_msqrcv permission denied\n")); + MPRINTF(( +"MAC Framework: mac_check_ipc_msqrcv permission denied\n")); goto done2; } #endif @@ -1143,14 +1167,18 @@ goto done2; } #ifdef MAC - /* Make sure that the thread has access rights to the message header */ - if ((error = mac_check_ipc_msgrcv(td->td_ucred, + /* + * Make sure that the thread has access + * rights to the message header. + */ + if ((error = mac_check_ipc_msgrcv(td->td_ucred, msghdr))) { - MPRINTF(("MAC Framework: mac_check_ipc_msgrcv permission denied\n")); + MPRINTF(( + "MAC Framework: mac_check_ipc_msgrcv permission denied\n")); goto done2; } #endif - if (msqkptr->u.msg_first == msqkptr->u.msg_last) { + if (msqkptr->u.msg_first == msqkptr->u.msg_last) { msqkptr->u.msg_first = NULL; msqkptr->u.msg_last = NULL; } else { @@ -1190,9 +1218,16 @@ goto done2; } #ifdef MAC - /* Make sure that the thread has access rights to the message header */ - if ((error = mac_check_ipc_msgrcv(td->td_ucred, msghdr))) { - MPRINTF(("MAC Framework: mac_check_ipc_msgrcv permission denied\n")); + /* + * Make sure that the thread has + * access rights to the message + * header. + */ + if ((error = + mac_check_ipc_msgrcv(td->td_ucred, + msghdr))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_msgrcv permission denied\n")); goto done2; } #endif ==== //depot/projects/trustedbsd/sebsd/sys/kern/sysv_sem.c#8 (text+ko) ==== @@ -27,7 +27,6 @@ #include #include #ifdef MAC -#include #include #endif @@ -41,7 +40,7 @@ #ifdef MAC_DEBUG #define MPRINTF(a) printf(a) #else -#define MPRINTF(a) +#define MPRINTF(a) #endif static void seminit(void); @@ -49,7 +48,7 @@ static int semunload(void); static void semexit_myhook(void *arg, struct proc *p); static int sysctl_sema(SYSCTL_HANDLER_ARGS); -static int semvalid(int semid, struct semid_kernel *semakptr); +static int semvalid(int semid, struct semid_kernel *semakptr); #ifndef _SYS_SYSPROTO_H_ struct __semctl_args; @@ -61,7 +60,7 @@ #endif static struct sem_undo *semu_alloc(struct thread *td); -static int semundo_adjust(struct thread *td, struct sem_undo **supptr, +static int semundo_adjust(struct thread *td, struct sem_undo **supptr, int semid, int semnum, int adjval); static void semundo_clear(int semid, int semnum); @@ -73,7 +72,7 @@ static struct mtx sem_mtx; /* semaphore global lock */ static int semtot = 0; -static struct semid_kernel *sema; /* semaphore id pool */ +static struct semid_kernel *sema; /* semaphore id pool */ static struct mtx *sema_mtx; /* semaphore id pool mutexes*/ static struct sem *sem; /* semaphore pool */ SLIST_HEAD(, sem_undo) semu_list; /* list of active undo structures */ @@ -201,7 +200,7 @@ TUNABLE_INT_FETCH("kern.ipc.semaem", &seminfo.semaem); sem = malloc(sizeof(struct sem) * seminfo.semmns, M_SEM, M_WAITOK); - sema = malloc(sizeof(struct semid_kernel ) * seminfo.semmni, M_SEM, + sema = malloc(sizeof(struct semid_kernel) * seminfo.semmni, M_SEM, M_WAITOK); sema_mtx = malloc(sizeof(struct mtx) * seminfo.semmni, M_SEM, M_WAITOK | M_ZERO); @@ -223,14 +222,14 @@ SLIST_INIT(&semu_list); mtx_init(&sem_mtx, "sem", NULL, MTX_DEF); refcount =0; - /* - * It is not permissible to pass the same mutex to mtx_init() multiple - * times without intervening calls to mtx_destroy(). - * Since we cannot destroy the refcnt_mtx during semunload, we check if - * the mtx_init has ever been called. If so, we dont need to do mtx_init - * as the mutex is already initialized. + /* + * It is not permissible to pass the same mutex to mtx_init() + * multiple times without intervening calls to mtx_destroy(). + * Since we cannot destroy the refcnt_mtx during semunload, we check + * if the mtx_init has ever been called. If so, we dont need to do + * mtx_init as the mutex is already initialized. */ - if ( mtx_initialized(&refcnt_mtx) == 0 ) + if (mtx_initialized(&refcnt_mtx) == 0) mtx_init(&refcnt_mtx, "semrefcnt", NULL, MTX_DEF); semexit_tag = EVENTHANDLER_REGISTER(process_exit, semexit_myhook, NULL, EVENTHANDLER_PRI_ANY); @@ -241,12 +240,12 @@ { int i; - /* - * Make sure that the semunload maintains the consistency of the sem + /* + * Make sure that the semunload maintains the consistency of the sem * and sema data structures. This assures that the unload doesn't take * place if any thread is in any of the code-paths (tinkering with the - * data structures), and also that no thread can enter the code-paths - * once the module is unloaded. + * data structures), and also that no thread can enter the code-paths + * once the module is unloaded. */ mtx_lock(&refcnt_mtx); if ((refcount > 0) || (semtot != 0)) { @@ -258,17 +257,17 @@ EVENTHANDLER_DEREGISTER(process_exit, semexit_tag); #ifdef MAC - for (i = 0; i < seminfo.semmni; i++) + for (i = 0; i < seminfo.semmni; i++) mac_destroy_ipc_sema(&sema[i]); -#endif +#endif free(sem, M_SEM); free(sema, M_SEM); free(semu, M_SEM); for (i = 0; i < seminfo.semmni; i++) mtx_destroy(&sema_mtx[i]); mtx_destroy(&sem_mtx); - /* - * NOTE: We cannot destroy the refcnt_mtx as it is possible that some + /* + * NOTE: We cannot destroy the refcnt_mtx as it is possible that some * thread might (attempt to) hold the mutex. */ /* mtx_destroy(&refcnt_mtx); */ @@ -517,7 +516,7 @@ static int semvalid(semid, semakptr) int semid; - struct semid_kernel *semakptr; + struct semid_kernel *semakptr; { return ((semakptr->u.sem_perm.mode & SEM_ALLOC) == 0 || @@ -553,7 +552,7 @@ struct ucred *cred = td->td_ucred; int i, rval, error; struct semid_ds sbuf; - struct semid_kernel *semakptr; + struct semid_kernel *semakptr; struct mtx *sema_mtxp; u_short usval, count; @@ -562,7 +561,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -576,7 +578,7 @@ switch(cmd) { case SEM_STAT: if (semid < 0 || semid >= seminfo.semmni) { - error = EINVAL; + error = EINVAL; goto done3; } if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0) @@ -591,14 +593,16 @@ if ((error = ipcperm(td, &semakptr->u.sem_perm, IPC_R))) goto done2; #ifdef MAC - if(( error = mac_check_ipc_semctl(cred,semakptr,cmd) )) { - MPRINTF(("MAC Framework: mac_check_ipc_semctl access denied\n")); - goto done2; - } + if ((error = mac_check_ipc_semctl(cred, semakptr, cmd))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_semctl access denied\n")); + goto done2; + } #endif mtx_unlock(sema_mtxp); - error = copyout(&semakptr->u, real_arg.buf, sizeof(struct semid_ds)); - rval = IXSEQ_TO_IPCID(semid,semakptr->u.sem_perm); + error = copyout(&semakptr->u, real_arg.buf, + sizeof(struct semid_ds)); + rval = IXSEQ_TO_IPCID(semid, semakptr->u.sem_perm); if (error == 0) td->td_retval[0] = rval; goto done3; @@ -613,14 +617,15 @@ semakptr = &sema[semid]; sema_mtxp = &sema_mtx[semid]; #ifdef MAC - mtx_lock(sema_mtxp); - /* + mtx_lock(sema_mtxp); + /* * The MAC framework lets the policies decide what type of access * is permitted, based on the cmd. */ - if(( error = mac_check_ipc_semctl(cred,semakptr,cmd) )) { - MPRINTF(("MAC Framework: mac_check_ipc_semctl access denied\n")); - goto done2; + if ((error = mac_check_ipc_semctl(cred, semakptr, cmd))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_semctl access denied\n")); + goto done2; } mtx_unlock(sema_mtxp); #endif @@ -668,8 +673,8 @@ goto done2; semakptr->u.sem_perm.uid = sbuf.sem_perm.uid; semakptr->u.sem_perm.gid = sbuf.sem_perm.gid; - semakptr->u.sem_perm.mode = (semakptr->u.sem_perm.mode & ~0777) | - (sbuf.sem_perm.mode & 0777); + semakptr->u.sem_perm.mode = (semakptr->u.sem_perm.mode & + ~0777) | (sbuf.sem_perm.mode & 0777); semakptr->u.sem_ctime = time_second; break; @@ -862,7 +867,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -894,17 +902,19 @@ error = EEXIST; goto done2; } -#ifdef MAC - if(( error = mac_check_ipc_semget(cred,&sema[semid]) )) { - MPRINTF(("MAC Framework: mac_check_ipc_semget access denied\n")); - goto done2; +#ifdef MAC + if ((error = mac_check_ipc_semget(cred, + &sema[semid]))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_semget access denied\n")); + goto done2; } #endif goto found; } } - DPRINTF(("need to allocate the semid_kernel \n")); + DPRINTF(("need to allocate the semid_kernel\n")); if (key == IPC_PRIVATE || (semflg & IPC_CREAT)) { if (nsems <= 0 || nsems > seminfo.semmsl) { DPRINTF(("nsems out of range (0<%d<=%d)\n", nsems, @@ -924,7 +934,7 @@ break; } if (semid == seminfo.semmni) { - DPRINTF(("no more semid_kernel 's available\n")); + DPRINTF(("no more semid_kernel's available\n")); error = ENOSPC; goto done2; } @@ -947,8 +957,8 @@ #ifdef MAC mac_create_ipc_sema(cred, &sema[semid]); #endif - DPRINTF(("sembase = 0x%x, next = 0x%x\n", sema[semid].u.sem_base, - &sem[semtot])); + DPRINTF(("sembase = 0x%x, next = 0x%x\n", + sema[semid].u.sem_base, &sem[semtot])); } else { DPRINTF(("didn't find it and wasn't asked to create it\n")); error = ENOENT; @@ -984,7 +994,7 @@ int semid = uap->semid; size_t nsops = uap->nsops; struct sembuf *sops; - struct semid_kernel *semakptr; + struct semid_kernel *semakptr; struct sembuf *sopptr = 0; struct sem *semptr = 0; struct sem_undo *suptr; @@ -998,7 +1008,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -1063,12 +1076,14 @@ goto done2; } #ifdef MAC - /* - * The MAC hook checks whether the thread has read ( and possibly write) - * permissions to the semaphore array based on the sopptr->sem_op value. + /* + * The MAC hook checks whether the thread has read (and possibly + * write) permissions to the semaphore array based on the + * sopptr->sem_op value. */ if ((error = mac_check_ipc_semop(td->td_ucred, semakptr, j))) { - MPRINTF(("MAC Framework: mac_check_ipc_semop access denied\n")); + MPRINTF(( + "MAC Framework: mac_check_ipc_semop access denied\n")); goto done2; } #endif @@ -1310,7 +1325,7 @@ int semid = suptr->un_ent[ix].un_id; int semnum = suptr->un_ent[ix].un_num; int adjval = suptr->un_ent[ix].un_adjval; - struct semid_kernel *semakptr; + struct semid_kernel *semakptr; struct mtx *sema_mtxp; semakptr = &sema[semid]; @@ -1330,7 +1345,8 @@ semakptr->u.sem_base[semnum].semval)); if (adjval < 0) { - if (semakptr->u.sem_base[semnum].semval < -adjval) + if (semakptr->u.sem_base[semnum].semval < + -adjval) semakptr->u.sem_base[semnum].semval = 0; else semakptr->u.sem_base[semnum].semval += ==== //depot/projects/trustedbsd/sebsd/sys/kern/sysv_shm.c#8 (text+ko) ==== @@ -53,7 +53,6 @@ #include #include #ifdef MAC -#include #include #endif @@ -279,7 +278,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -305,13 +307,17 @@ goto done2; } #ifdef MAC - /* XXX It might be useful to move this into the shm_delete_mapping function */ + /* + * XXX: It might be useful to move this into the shm_delete_mapping + * function + */ struct shmid_kernel *shmsegptr; shmsegptr = &shmsegs[IPCID_TO_IX(shmmap_s->shmid)]; - if(( error = mac_check_ipc_shmdt(td->td_ucred, shmsegptr) )) { - MPRINTF(("MAC Framework: mac_check_ipc_shmdt access denied\n")); - goto done2; - } + if ((error = mac_check_ipc_shmdt(td->td_ucred, shmsegptr))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_shmdt access denied\n")); + goto done2; + } #endif error = shm_delete_mapping(p->p_vmspace, shmmap_s); done2: @@ -355,7 +361,10 @@ if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - /* Prevent thread from going any further if module is (being) unloaded */ + /* + * Prevent thread from going any further if module is (being) + * unloaded. + */ mtx_lock(&refcnt_mtx); if (refcount < 0 ) { mtx_unlock(&refcnt_mtx); @@ -383,10 +392,11 @@ if (error) goto done2; #ifdef MAC - if(( error = mac_check_ipc_shmat(td->td_ucred, shmseg, shmflg) )) { - MPRINTF(("MAC Framework: mac_check_ipc_shmat access denied\n")); - goto done2; - } + if ((error = mac_check_ipc_shmat(td->td_ucred, shmseg, shmflg))) { + MPRINTF(( + "MAC Framework: mac_check_ipc_shmat access denied\n")); + goto done2; + } #endif for (i = 0; i < shminfo.shmseg; i++) { if (shmmap_s->shmid == -1) @@ -450,7 +460,7 @@ return (error); } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 9 15:09:13 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 153CB16A4D1; Sun, 9 Nov 2003 15:09:13 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D953516A4CF for ; Sun, 9 Nov 2003 15:09:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E31BA44013 for ; Sun, 9 Nov 2003 15:09:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hA9N95XJ042595 for ; Sun, 9 Nov 2003 15:09:05 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hA9N95Ab042592 for perforce@freebsd.org; Sun, 9 Nov 2003 15:09:05 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 15:09:05 -0800 (PST) Message-Id: <200311092309.hA9N95Ab042592@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41832 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2003 23:09:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=41832 Change 41832 by rwatson@rwatson_none on 2003/11/09 15:08:44 Mix and match things a bit due to relatively recent IPv6 updates integrated previously. Revert slightly our capability checking to look more like the original suser checking (cache a privilege decision). I don't really like this, but for now it makes changes easier to merge while IPv6 code is in flux. Also now compiles... Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/netinet6/ip6_output.c#7 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/netinet6/ip6_output.c#7 (text+ko) ==== @@ -1423,7 +1423,7 @@ struct socket *so; struct sockopt *sopt; { - int optdatalen, uproto; + int privileged, optdatalen, uproto; void *optdata; struct inpcb *in6p = sotoinpcb(so); int error, optval; @@ -1442,8 +1442,9 @@ } error = optval = 0; + /* XXX: does CAP_NET_ADMIN or CAP_NET_RAW apply here? */ + privileged = (td == 0 || cap_check(td, CAP_NET_ADMIN)) ? 0 : 1; uproto = (int)so->so_proto->pr_protocol; - /* XXX: does CAP_NET_ADMIN or CAP_NET_RAW apply here? */ if (level == IPPROTO_IPV6) { switch (op) { @@ -1707,14 +1708,12 @@ * Check super-user privilege. * See comments for IPV6_RECVHOPOPTS. */ - if (td == NULL || - cap_check (td, CAP_NET_ADMIN)) + if (!privileged) return (EPERM); OPTSET2292(IN6P_HOPOPTS); break; case IPV6_2292DSTOPTS: - if (td == NULL || - cap_check (td, CAP_NET_ADMIN)) + if (!privileged) return (EPERM); OPTSET2292(IN6P_DSTOPTS|IN6P_RTHDRDSTOPTS); /* XXX */ break; @@ -1845,8 +1844,7 @@ /* XXX: passing privilege flag into another function */ error = ipsec6_set_policy(in6p, optname, req, - len, - td && !cap_check(td,CAP_NET_ADMIN))); + len, privileged); m_freem(m); } break; @@ -2163,7 +2161,7 @@ } /* set options specified by user. */ - if (td && !cap_check(td, CAP_NET_ADMIN)) + if (td != NULL && cap_check(td, CAP_NET_ADMIN) == 0) priv = 1; if ((error = ip6_setpktoptions(m, opt, NULL, priv, 1, so->so_proto->pr_protocol)) != 0) { From owner-p4-projects@FreeBSD.ORG Sun Nov 9 16:03:18 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1785E16A4D0; Sun, 9 Nov 2003 16:03:18 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E1A8316A4CE for ; Sun, 9 Nov 2003 16:03:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C832443F93 for ; Sun, 9 Nov 2003 16:03:16 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA03GXJ046693 for ; Sun, 9 Nov 2003 16:03:16 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA03GUP046690 for perforce@freebsd.org; Sun, 9 Nov 2003 16:03:16 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 16:03:16 -0800 (PST) Message-Id: <200311100003.hAA03GUP046690@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41838 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 00:03:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=41838 Change 41838 by rwatson@rwatson_paprika on 2003/11/09 16:02:36 Update for recent changes in the MAC Framework: labels pointers are now passed in for a various of System V and Posix IPC primitives, rather than requiring the policy to dereference the passed in IPC structures. Credentials now contain a label pointer. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/security/sebsd/sebsd.c#25 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/security/sebsd/sebsd.c#25 (text+ko) ==== @@ -107,7 +107,7 @@ struct task_security_struct *task; struct avc_audit_data ad; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); AVC_AUDIT_DATA_INIT(&ad, CAP); ad.u.cap = cap; @@ -121,8 +121,8 @@ { struct task_security_struct *task, *target; - task = SLOT(&cred->cr_label); - target = SLOT(&proc->p_ucred->cr_label); + task = SLOT(cred->cr_label); + target = SLOT(proc->p_ucred->cr_label); return (avc_has_perm_ref(task->sid, target->sid, SECCLASS_PROCESS, perm, &target->avcr)); @@ -135,8 +135,8 @@ struct mount_security_struct *sbsec; struct task_security_struct *task; - task = SLOT(&cred->cr_label); - sbsec = SLOT(&mp->mnt_mntlabel); + task = SLOT(cred->cr_label); + sbsec = SLOT(mp->mnt_mntlabel); return (avc_has_perm_audit(task->sid, sbsec->sid, SECCLASS_FILESYSTEM, perm, ad)); @@ -147,7 +147,7 @@ { struct task_security_struct *task; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); return (avc_has_perm(task->sid, SECINITSID_KERNEL, SECCLASS_SYSTEM, perm, NULL, NULL)); @@ -158,7 +158,7 @@ { struct task_security_struct *task; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); return (avc_has_perm(task->sid, SECINITSID_SECURITY, SECCLASS_SECURITY, perm, NULL, NULL)); @@ -266,8 +266,8 @@ struct vnode_security_struct *file; struct avc_audit_data ad; - task = SLOT(&cred->cr_label); - file = SLOT(&vp->v_label); + task = SLOT(cred->cr_label); + file = SLOT(vp->v_label); AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; @@ -294,7 +294,7 @@ struct task_security_struct *task; struct vnode_security_struct *file; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); file = SLOT(pipe->pipe_label); /* @@ -524,8 +524,8 @@ if (rc <= 0) return; - parent = SLOT(&cred_parent->cr_label); - task = SLOT(&cred_child->cr_label); + parent = SLOT(cred_parent->cr_label); + task = SLOT(cred_child->cr_label); /* Default to using the attributes from the parent process */ task->osid = parent->osid; @@ -540,7 +540,7 @@ struct task_security_struct *tsec; struct file_security_struct *fsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); fsec = SLOT(label); fsec->sid = tsec->sid; @@ -554,7 +554,7 @@ struct ipc_security_struct *msqsec; struct ipc_security_struct *msgsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); msqsec = SLOT(msqlabel); msgsec = SLOT(msglabel); @@ -580,7 +580,7 @@ struct task_security_struct *tsec; struct ipc_security_struct *ipcsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); ipcsec = SLOT(msqlabel); ipcsec->sid = tsec->sid; @@ -594,7 +594,7 @@ struct task_security_struct *tsec; struct ipc_security_struct *ipcsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); ipcsec = SLOT(semalabel); ipcsec->sid = tsec->sid; @@ -608,7 +608,7 @@ struct task_security_struct *tsec; struct ipc_security_struct *ipcsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); ipcsec = SLOT(shmlabel); ipcsec->sid = tsec->sid; @@ -622,7 +622,7 @@ struct task_security_struct *tsec; struct ipc_security_struct *ipcsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); ipcsec = SLOT(ks_label); ipcsec->sid = tsec->sid; @@ -642,7 +642,7 @@ struct vnode_security_struct *dirent; dirent = SLOT(label); - sbsec = SLOT(&mp->mnt_mntlabel); + sbsec = SLOT(mp->mnt_mntlabel); /* Default to the filesystem SID. */ dirent->sid = sbsec->sid; @@ -663,7 +663,7 @@ /* If there was a creating process (currently only for /dev/pty*), try a type_transition rule. */ if (cr != NULL) { - struct task_security_struct *task = SLOT(&cr->cr_label); + struct task_security_struct *task = SLOT(cr->cr_label); /* XXX: uses the type specified by genfs instead of the parent directory like it should! */ @@ -695,7 +695,7 @@ struct vnode_security_struct *dirent; dirent = SLOT(label); - sbsec = SLOT(&mp->mnt_mntlabel); + sbsec = SLOT(mp->mnt_mntlabel); /* Default to the filesystem SID. */ dirent->sid = sbsec->sid; @@ -738,7 +738,7 @@ dirsec = SLOT(ddlabel); lnksec = SLOT(delabel); - sbsec = SLOT(&mp->mnt_mntlabel); + sbsec = SLOT(mp->mnt_mntlabel); /* Default to the filesystem SID. */ lnksec->sid = dirsec->sid; @@ -774,7 +774,7 @@ struct task_security_struct *tsec; struct vnode_security_struct *vsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); vsec = SLOT(pipelabel); vsec->sid = vsec->task_sid = tsec->sid; @@ -786,7 +786,7 @@ { struct task_security_struct *task; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); task->osid = task->sid = SECINITSID_KERNEL; printf("sebsd_create_proc0:: using SECINITSID_KERNEL = %d\n", SECINITSID_KERNEL); @@ -797,7 +797,7 @@ { struct task_security_struct *task; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); task->osid = SECINITSID_KERNEL; task->sid = SECINITSID_INIT; printf("sebsd_create_proc1:: using SICINITSID_INIT = %d\n", @@ -901,7 +901,7 @@ mtx_unlock(&mntvnode_mtx); vn_lock(vp, LK_INTERLOCK | LK_EXCLUSIVE | LK_RETRY, curthread); (void)sebsd_associate_vnode_extattr(mp, fslabel, vp, - &vp->v_label); + vp->v_label); VOP_UNLOCK(vp, 0, curthread); mtx_lock(&mntvnode_mtx); vp = nvp; @@ -922,7 +922,7 @@ int error; int tclass; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); dir = SLOT(parentlabel); vsec = SLOT(childlabel); tclass = vnode_type_to_security_class (child->v_type); @@ -967,7 +967,7 @@ struct task_security_struct *nsec, *tsec; nsec = SLOT(newlabel); - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); if (nsec != NULL && nsec->sid != tsec->sid) return EPERM; return 0; @@ -985,7 +985,7 @@ struct mount_security_struct *sbsec; vsec = SLOT(vl); - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); rc = vnode_has_perm (cred, vp, FILE__MOUNTON, NULL); if (rc) @@ -1075,7 +1075,7 @@ struct vnode_security_struct *newfile; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); file = SLOT(pipelabel); newfile = SLOT(newlabel); @@ -1160,8 +1160,8 @@ struct task_security_struct *otask, *ntask; struct vnode_security_struct *file; - otask = SLOT(&old->cr_label); - ntask = SLOT(&new->cr_label); + otask = SLOT(old->cr_label); + ntask = SLOT(new->cr_label); if (interpvnodelabel != NULL) file = SLOT(interpvnodelabel); else @@ -1201,7 +1201,7 @@ struct vnode_security_struct *file; security_id_t newsid; - task = SLOT(&old->cr_label); + task = SLOT(old->cr_label); if (interpvnodelabel != NULL) file = SLOT(interpvnodelabel); else @@ -1394,7 +1394,7 @@ struct avc_audit_data ad; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); dir = SLOT(dlabel); tclass = vnode_type_to_security_class(vap->va_type); @@ -1418,7 +1418,7 @@ if (dvp->v_mount) { /* XXX: mpo_check_vnode_create should probably pass the mntlabel */ - sbsec = SLOT (&dvp->v_mount->mnt_mntlabel); + sbsec = SLOT (dvp->v_mount->mnt_mntlabel); rc = avc_has_perm_audit(newsid, sbsec->sid, SECCLASS_FILESYSTEM, FILESYSTEM__ASSOCIATE, &ad); if (rc) @@ -1439,7 +1439,7 @@ access_vector_t av; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); file = SLOT(label); dir = SLOT(dlabel); @@ -1481,7 +1481,7 @@ struct avc_audit_data ad; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); file = SLOT(label); if (execlabel == NULL) { rc = security_transition_sid(task->sid, file->sid, @@ -1559,7 +1559,7 @@ struct avc_audit_data ad; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); file = SLOT(label); dir = SLOT(dlabel); @@ -1640,7 +1640,7 @@ struct avc_audit_data ad; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); old = SLOT(oldlabel); new = SLOT(oldlabel); @@ -1665,7 +1665,7 @@ if (vp->v_mount) { /* XXX: mpo_check_vnode_relabel should probably pass the mntlabel */ - sbsec = SLOT (&vp->v_mount->mnt_mntlabel); + sbsec = SLOT (vp->v_mount->mnt_mntlabel); rc = avc_has_perm_audit (new->sid, sbsec->sid, SECCLASS_FILESYSTEM, FILESYSTEM__ASSOCIATE, &ad); if (rc) @@ -1685,7 +1685,7 @@ struct avc_audit_data ad; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); old_dir = SLOT(dlabel); old_file = SLOT(label); @@ -1722,7 +1722,7 @@ access_vector_t av; int rc; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); new_dir = SLOT(dlabel); #ifdef notdef @@ -1998,7 +1998,7 @@ { struct task_security_struct *tsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); return (avc_has_perm_audit(tsec->sid, tsec->sid, SECCLASS_FD, FD__CREATE, NULL)); } @@ -2015,7 +2015,7 @@ struct task_security_struct *tsec; struct file_security_struct *fsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); fsec = SLOT(fplabel); return (avc_has_perm_audit(tsec->sid, fsec->sid, SECCLASS_FD, FD__USE, NULL)); @@ -2028,7 +2028,7 @@ struct task_security_struct *tsec; struct file_security_struct *fsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); fsec = SLOT(fplabel); return (avc_has_perm_audit(tsec->sid, fsec->sid, SECCLASS_FD, FD__USE, NULL)); @@ -2041,7 +2041,7 @@ struct task_security_struct *tsec; struct file_security_struct *fsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); fsec = SLOT(fplabel); return (avc_has_perm_audit(tsec->sid, fsec->sid, SECCLASS_FD, FD__USE, NULL)); @@ -2054,7 +2054,7 @@ struct task_security_struct *tsec; struct file_security_struct *fsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); fsec = SLOT(fplabel); return (avc_has_perm_audit(tsec->sid, fsec->sid, SECCLASS_FD, FD__USE, NULL)); @@ -2067,7 +2067,7 @@ struct task_security_struct *tsec; struct file_security_struct *fsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); fsec = SLOT(fplabel); return (avc_has_perm_audit(tsec->sid, fsec->sid, SECCLASS_FD, FD__USE, NULL)); @@ -2080,7 +2080,7 @@ struct task_security_struct *tsec; struct file_security_struct *fsec; - tsec = SLOT(&cred->cr_label); + tsec = SLOT(cred->cr_label); fsec = SLOT(fplabel); return (avc_has_perm_audit(tsec->sid, fsec->sid, SECCLASS_FD, FD__USE, NULL)); @@ -2092,7 +2092,7 @@ struct task_security_struct *task; struct ipc_security_struct *ipcsec; - task = SLOT(&cred->cr_label); + task = SLOT(cred->cr_label); ipcsec = SLOT(label); /* @@ -2104,46 +2104,51 @@ } static int -sebsd_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr) +sebsd_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { - return(ipc_has_perm(cred, &msgptr->label, MSG__RECEIVE)); + return(ipc_has_perm(cred, msglabel, MSG__RECEIVE)); } static int -sebsd_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr) +sebsd_check_ipc_msgrmid(struct ucred *cred, struct msg *msgptr, + struct label *msglabel) { - return(ipc_has_perm(cred, &msgptr->label, MSG__DESTROY)); + return(ipc_has_perm(cred, msglabel, MSG__DESTROY)); } static int -sebsd_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr) +sebsd_check_ipc_msqget(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { - return(ipc_has_perm(cred, &msqkptr->label, MSGQ__ASSOCIATE)); + return(ipc_has_perm(cred, msqklabel, MSGQ__ASSOCIATE)); } static int -sebsd_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr) +sebsd_check_ipc_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { /* Can this process write to the queue? */ - return(ipc_has_perm(cred, &msqkptr->label, MSGQ__WRITE)); + return(ipc_has_perm(cred, msqklabel, MSGQ__WRITE)); } static int sebsd_check_ipc_msgmsq(struct ucred *cred, struct msg *msgptr, - struct msqid_kernel *msqkptr) + struct label *msglabel, struct msqid_kernel *msqkptr, + struct label *msqklabel) { int rc; struct task_security_struct *task; struct ipc_security_struct *msgsec; struct ipc_security_struct *msqsec; - task = SLOT(&cred->cr_label); - msgsec = SLOT(&msgptr->label); - msqsec = SLOT(&msqkptr->label); + task = SLOT(cred->cr_label); + msgsec = SLOT(msglabel); + msqsec = SLOT(msqklabel); /* * TBD: No audit information yet @@ -2161,15 +2166,16 @@ } static int -sebsd_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr) +sebsd_check_ipc_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr, + struct label *msqklabel) { - return(ipc_has_perm(cred, &msqkptr->label, MSGQ__READ)); + return(ipc_has_perm(cred, msqklabel, MSGQ__READ)); } static int sebsd_check_ipc_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, - int cmd) + struct label *msqklabel, int cmd) { access_vector_t perm; @@ -2190,12 +2196,12 @@ /* * TBD: No audit information yet */ - return(ipc_has_perm(cred, &msqkptr->label, perm)); + return(ipc_has_perm(cred, msqklabel, perm)); } static int sebsd_check_ipc_semctl(struct ucred *cred, struct semid_kernel *semakptr, - int cmd) + struct label *semaklabel, int cmd) { access_vector_t perm; @@ -2229,19 +2235,20 @@ /* * TBD: No audit information yet */ - return(ipc_has_perm(cred, &semakptr->label, perm)); + return(ipc_has_perm(cred, semaklabel, perm)); } static int -sebsd_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr) +sebsd_check_ipc_semget(struct ucred *cred, struct semid_kernel *semakptr, + struct label *semaklabel) { - return(ipc_has_perm(cred, &semakptr->label, SEM__ASSOCIATE)); + return(ipc_has_perm(cred, semaklabel, SEM__ASSOCIATE)); } static int sebsd_check_ipc_semop(struct ucred *cred, struct semid_kernel *semakptr, - size_t accesstype) + struct label *semaklabel, size_t accesstype) { access_vector_t perm; perm = 0UL; @@ -2251,12 +2258,12 @@ if( accesstype & SEM_A ) perm = SEM__READ | SEM__WRITE; - return(ipc_has_perm(cred, &semakptr->label, perm)); + return(ipc_has_perm(cred, semaklabel, perm)); } static int sebsd_check_ipc_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { access_vector_t perm; @@ -2265,12 +2272,12 @@ else perm = SHM__READ | SHM__WRITE; - return(ipc_has_perm(cred, &shmsegptr->label, perm)); + return(ipc_has_perm(cred, shmseglabel, perm)); } static int sebsd_check_ipc_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr, - int cmd) + struct label *shmseglabel, int cmd) { access_vector_t perm; @@ -2289,65 +2296,72 @@ return (EACCES); } - return(ipc_has_perm(cred, &shmsegptr->label, perm)); + return(ipc_has_perm(cred, shmseglabel, perm)); } static int sebsd_check_ipc_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr, - int shmflg) + struct label *shmseglabel, int shmflg) { - return(ipc_has_perm(cred, &shmsegptr->label, SHM__ASSOCIATE)); + return(ipc_has_perm(cred, shmseglabel, SHM__ASSOCIATE)); } static int -sebsd_check_posix_sem_close(struct ucred *cred, struct ksem *ksemptr) +sebsd_check_posix_sem_close(struct ucred *cred, struct ksem *ksemptr, + struct label *ks_label) { - return(ipc_has_perm(cred, &ksemptr->ks_label, POSIX_SEM__DISASSOCIATE)); + return(ipc_has_perm(cred, ks_label, POSIX_SEM__DISASSOCIATE)); } static int -sebsd_check_posix_sem_destroy(struct ucred *cred, struct ksem *ksemptr) +sebsd_check_posix_sem_destroy(struct ucred *cred, struct ksem *ksemptr, + struct label *ks_label) { - return(ipc_has_perm(cred, &ksemptr->ks_label, POSIX_SEM__DESTROY)); + return(ipc_has_perm(cred, ks_label, POSIX_SEM__DESTROY)); } static int -sebsd_check_posix_sem_getvalue(struct ucred *cred, struct ksem *ksemptr) +sebsd_check_posix_sem_getvalue(struct ucred *cred, struct ksem *ksemptr, + struct label *ks_label) { - return(ipc_has_perm(cred, &ksemptr->ks_label, POSIX_SEM__READ)); + return(ipc_has_perm(cred, ks_label, POSIX_SEM__READ)); } static int -sebsd_check_posix_sem_openexisting(struct ucred *cred, struct ksem *ksemptr) +sebsd_check_posix_sem_openexisting(struct ucred *cred, struct ksem *ksemptr, + struct label *ks_label) { - return(ipc_has_perm(cred, &ksemptr->ks_label, POSIX_SEM__ASSOCIATE)); + return(ipc_has_perm(cred, ks_label, POSIX_SEM__ASSOCIATE)); } static int -sebsd_check_posix_sem_post(struct ucred *cred, struct ksem *ksemptr) +sebsd_check_posix_sem_post(struct ucred *cred, struct ksem *ksemptr, + struct label *ks_label) { - return(ipc_has_perm(cred, &ksemptr->ks_label, POSIX_SEM__WRITE)); + return(ipc_has_perm(cred, ks_label, POSIX_SEM__WRITE)); } static int -sebsd_check_posix_sem_unlink(struct ucred *cred, struct ksem *ksemptr) +sebsd_check_posix_sem_unlink(struct ucred *cred, struct ksem *ksemptr, + struct label *ks_label) { - return(ipc_has_perm(cred, &ksemptr->ks_label, POSIX_SEM__DESTROY)); + return(ipc_has_perm(cred, ks_label, POSIX_SEM__DESTROY)); } static int -sebsd_check_posix_sem_wait(struct ucred *cred, struct ksem *ksemptr) +sebsd_check_posix_sem_wait(struct ucred *cred, struct ksem *ksemptr, + struct label *ks_label) { - return(ipc_has_perm(cred, &ksemptr->ks_label, POSIX_SEM__WRITE)); + return(ipc_has_perm(cred, ks_label, POSIX_SEM__WRITE)); } static struct mac_policy_ops sebsd_ops = { From owner-p4-projects@FreeBSD.ORG Sun Nov 9 16:28:53 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D5C5F16A4D0; Sun, 9 Nov 2003 16:28:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AA3F616A4CE for ; Sun, 9 Nov 2003 16:28:52 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 081CD43FCB for ; Sun, 9 Nov 2003 16:28:52 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA0SpXJ048259 for ; Sun, 9 Nov 2003 16:28:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA0Sp2R048253 for perforce@freebsd.org; Sun, 9 Nov 2003 16:28:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 16:28:51 -0800 (PST) Message-Id: <200311100028.hAA0Sp2R048253@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41844 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 00:28:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=41844 Change 41844 by rwatson@rwatson_paprika on 2003/11/09 16:28:45 Minor cleanup some whitespace: no trailing whitespace, tabs not spaces, et al. Moves us closer to FreeBSD's style(9). Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/security/sebsd/sebsd.c#26 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/security/sebsd/sebsd.c#26 (text+ko) ==== @@ -414,7 +414,7 @@ struct ipc_security_struct *ipcsec; ipcsec = SLOT(label); - bzero(ipcsec, sizeof(struct ipc_security_struct)); + bzero(ipcsec, sizeof(struct ipc_security_struct)); ipcsec->sid = SECINITSID_UNLABELED; } @@ -547,7 +547,7 @@ } static void -sebsd_create_ipc_msgmsg(struct ucred *cred, struct msqid_kernel *msqkptr, +sebsd_create_ipc_msgmsg(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqlabel, struct msg *msgptr, struct label *msglabel) { struct task_security_struct *tsec; @@ -564,9 +564,9 @@ /* XXX should we return an error if security_transition_sid, * Or, should we assign the msg object the thread sid? */ - if(security_transition_sid(tsec->sid, msqsec->sid, + if(security_transition_sid(tsec->sid, msqsec->sid, SECCLASS_MSG, &msgsec->sid) < 0) { - printf("Warning: security_transition_sid failed on" + printf("Warning: security_transition_sid failed on" "create_ipc_msgmsg\n"); printf("Assigning the requesting thread's sid to the msg\n"); msgsec->sid = tsec->sid; @@ -2116,7 +2116,7 @@ struct label *msglabel) { - return(ipc_has_perm(cred, msglabel, MSG__DESTROY)); + return(ipc_has_perm(cred, msglabel, MSG__DESTROY)); } static int @@ -2143,7 +2143,7 @@ { int rc; struct task_security_struct *task; - struct ipc_security_struct *msgsec; + struct ipc_security_struct *msgsec; struct ipc_security_struct *msqsec; task = SLOT(cred->cr_label); @@ -2174,7 +2174,7 @@ } static int -sebsd_check_ipc_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, +sebsd_check_ipc_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqklabel, int cmd) { access_vector_t perm; @@ -2253,9 +2253,9 @@ access_vector_t perm; perm = 0UL; - if( accesstype & SEM_R ) + if (accesstype & SEM_R) perm = SEM__READ; - if( accesstype & SEM_A ) + if (accesstype & SEM_A) perm = SEM__READ | SEM__WRITE; return(ipc_has_perm(cred, semaklabel, perm)); @@ -2373,9 +2373,9 @@ .mpo_init_file_label = sebsd_init_file_label, .mpo_init_ifnet_label = sebsd_init_network_label, .mpo_init_ipc_msgmsg_label = sebsd_init_ipc_label, - .mpo_init_ipc_msgqueue_label = sebsd_init_ipc_label, - .mpo_init_ipc_sema_label = sebsd_init_ipc_label, - .mpo_init_ipc_shm_label = sebsd_init_ipc_label, + .mpo_init_ipc_msgqueue_label = sebsd_init_ipc_label, + .mpo_init_ipc_sema_label = sebsd_init_ipc_label, + .mpo_init_ipc_shm_label = sebsd_init_ipc_label, .mpo_init_ipq_label = sebsd_init_network_label_waitcheck, .mpo_init_mbuf_label = sebsd_init_network_label_waitcheck, .mpo_init_mount_label = sebsd_init_mount_label, @@ -2393,9 +2393,9 @@ .mpo_destroy_devfsdirent_label = sebsd_destroy_label, .mpo_destroy_ifnet_label = sebsd_destroy_label, .mpo_destroy_ipc_msgmsg_label = sebsd_destroy_label, - .mpo_destroy_ipc_msgqueue_label = sebsd_destroy_label, - .mpo_destroy_ipc_sema_label = sebsd_destroy_label, - .mpo_destroy_ipc_shm_label = sebsd_destroy_label, + .mpo_destroy_ipc_msgqueue_label = sebsd_destroy_label, + .mpo_destroy_ipc_sema_label = sebsd_destroy_label, + .mpo_destroy_ipc_shm_label = sebsd_destroy_label, .mpo_destroy_ipq_label = sebsd_destroy_label, .mpo_destroy_mbuf_label = sebsd_destroy_label, .mpo_destroy_file_label = sebsd_destroy_label, @@ -2453,9 +2453,9 @@ .mpo_create_devfs_symlink = sebsd_create_devfs_symlink, .mpo_create_file = sebsd_create_file, .mpo_create_ipc_msgmsg = sebsd_create_ipc_msgmsg, - .mpo_create_ipc_msgqueue = sebsd_create_ipc_msgqueue, - .mpo_create_ipc_sema = sebsd_create_ipc_sema, - .mpo_create_ipc_shm = sebsd_create_ipc_shm, + .mpo_create_ipc_msgqueue = sebsd_create_ipc_msgqueue, + .mpo_create_ipc_sema = sebsd_create_ipc_sema, + .mpo_create_ipc_shm = sebsd_create_ipc_shm, /* .mpo_create_mbuf_from_socket = sebsd_create_mbuf_from_socket, */ .mpo_create_mount = sebsd_create_mount, .mpo_create_pipe = sebsd_create_pipe, @@ -2569,8 +2569,8 @@ /*.mpo_set_socket_peer_from_mbuf = sebsd_set_socket_peer_from_mbuf,*/ /*.mpo_set_socket_peer_from_socket = sebsd_set_socket_peer_from_socket,*/ .mpo_cleanup_ipc_msgmsg = sebsd_cleanup_ipc_label, - .mpo_cleanup_ipc_msgqueue = sebsd_cleanup_ipc_label, - .mpo_cleanup_ipc_sema = sebsd_cleanup_ipc_label, + .mpo_cleanup_ipc_msgqueue = sebsd_cleanup_ipc_label, + .mpo_cleanup_ipc_sema = sebsd_cleanup_ipc_label, .mpo_cleanup_ipc_shm = sebsd_cleanup_ipc_label, .mpo_syscall = sebsd_syscall, }; From owner-p4-projects@FreeBSD.ORG Sun Nov 9 16:30:56 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6F8116A4D0; Sun, 9 Nov 2003 16:30:55 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A14C216A4CE for ; Sun, 9 Nov 2003 16:30:55 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1EC6343F75 for ; Sun, 9 Nov 2003 16:30:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA0UsXJ048490 for ; Sun, 9 Nov 2003 16:30:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA0Usvd048487 for perforce@freebsd.org; Sun, 9 Nov 2003 16:30:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 16:30:54 -0800 (PST) Message-Id: <200311100030.hAA0Usvd048487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 00:30:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=41845 Change 41845 by rwatson@rwatson_paprika on 2003/11/09 16:30:15 Update e-mail address. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/security/sebsd/STATUS#5 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/security/sebsd/STATUS#5 (text+ko) ==== @@ -1,4 +1,4 @@ -## Wed Mar 27 11:29:44 EST 2002 ## cvance@tislabs.com +## Wed Mar 27 11:29:44 EST 2002 ## cvance@nailabs.com This version of SEBSD consists of little more than an initial port of the SELinux access vector cache (AVC) and security server (SS). Adding the "SEBSD" option to kernel build will result in a kernel that From owner-p4-projects@FreeBSD.ORG Sun Nov 9 17:07:49 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF99616A4D3; Sun, 9 Nov 2003 17:07:48 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D8F516A4E4 for ; Sun, 9 Nov 2003 17:07:48 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7723D43FCB for ; Sun, 9 Nov 2003 17:07:46 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA17kXJ056904 for ; Sun, 9 Nov 2003 17:07:46 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA17jmx056901 for perforce@freebsd.org; Sun, 9 Nov 2003 17:07:45 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Sun, 9 Nov 2003 17:07:45 -0800 (PST) Message-Id: <200311100107.hAA17jmx056901@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 41850 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 01:07:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=41850 Change 41850 by jhb@jhb_laptop on 2003/11/09 17:06:45 IFC @41847. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/machdep.c#63 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#15 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_signal.c#6 integrate .. //depot/projects/smpng/sys/boot/ia64/libski/pal_stub.S#2 integrate .. //depot/projects/smpng/sys/boot/ia64/skiload/Makefile#9 integrate .. //depot/projects/smpng/sys/cam/cam_periph.c#15 integrate .. //depot/projects/smpng/sys/cam/cam_xpt.c#17 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#12 integrate .. //depot/projects/smpng/sys/coda/coda_psdev.c#12 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/smpng/sys/compat/ia32/ia32_signal.h#4 integrate .. //depot/projects/smpng/sys/compat/ia32/ia32_sysvec.c#5 integrate .. //depot/projects/smpng/sys/compat/linux/linux_socket.c#13 integrate .. //depot/projects/smpng/sys/dev/aac/aac.c#32 integrate .. //depot/projects/smpng/sys/dev/aha/aha.c#11 integrate .. //depot/projects/smpng/sys/dev/aha/aha_isa.c#6 integrate .. //depot/projects/smpng/sys/dev/aha/aha_mca.c#6 integrate .. //depot/projects/smpng/sys/dev/aha/ahareg.h#2 integrate .. //depot/projects/smpng/sys/dev/ata/ata-raid.c#24 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#14 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cd.c#40 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_core.c#12 integrate .. //depot/projects/smpng/sys/dev/dcons/dcons_crom.c#2 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.c#27 integrate .. //depot/projects/smpng/sys/dev/kbd/kbd.c#10 integrate .. //depot/projects/smpng/sys/dev/nmdm/nmdm.c#16 integrate .. //depot/projects/smpng/sys/dev/random/randomdev.c#16 integrate .. //depot/projects/smpng/sys/dev/sab/sab.c#13 integrate .. //depot/projects/smpng/sys/dev/snp/snp.c#13 integrate .. //depot/projects/smpng/sys/dev/sound/midi/midibuf.c#5 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/channel.c#22 integrate .. //depot/projects/smpng/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/ohci.c#25 integrate .. //depot/projects/smpng/sys/dev/usb/ucom.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/ugen.c#20 integrate .. //depot/projects/smpng/sys/dev/usb/uhci.c#28 integrate .. //depot/projects/smpng/sys/dev/usb/uhid.c#18 integrate .. //depot/projects/smpng/sys/dev/usb/ums.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/usb.c#23 integrate .. //depot/projects/smpng/sys/dev/usb/usb_ethersubr.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/usb_port.h#18 integrate .. //depot/projects/smpng/sys/dev/usb/usbdi.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/uvisor.c#8 integrate .. //depot/projects/smpng/sys/dev/zs/zs.c#10 integrate .. //depot/projects/smpng/sys/i386/bios/apm.c#6 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#67 integrate .. //depot/projects/smpng/sys/i386/isa/asc.c#7 integrate .. //depot/projects/smpng/sys/i386/isa/cx.c#11 integrate .. //depot/projects/smpng/sys/i386/isa/istallion.c#10 integrate .. //depot/projects/smpng/sys/i386/isa/mse.c#9 integrate .. //depot/projects/smpng/sys/i386/isa/spic.c#8 integrate .. //depot/projects/smpng/sys/i386/isa/stallion.c#12 integrate .. //depot/projects/smpng/sys/i4b/driver/i4b_rbch.c#11 integrate .. //depot/projects/smpng/sys/i4b/driver/i4b_tel.c#9 integrate .. //depot/projects/smpng/sys/i4b/layer4/i4b_i4bdrv.c#15 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#35 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC.hints#5 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#69 integrate .. //depot/projects/smpng/sys/ia64/ia64/syscall.S#6 integrate .. //depot/projects/smpng/sys/ia64/ia64/vm_machdep.c#35 integrate .. //depot/projects/smpng/sys/ia64/include/ucontext.h#5 integrate .. //depot/projects/smpng/sys/isa/psm.c#19 integrate .. //depot/projects/smpng/sys/kern/kern_condvar.c#31 integrate .. //depot/projects/smpng/sys/kern/kern_context.c#6 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#22 integrate .. //depot/projects/smpng/sys/kern/kern_poll.c#11 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#17 integrate .. //depot/projects/smpng/sys/kern/subr_log.c#12 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#28 integrate .. //depot/projects/smpng/sys/kern/sys_pipe.c#37 integrate .. //depot/projects/smpng/sys/kern/tty.c#37 integrate .. //depot/projects/smpng/sys/kern/tty_pty.c#26 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#43 integrate .. //depot/projects/smpng/sys/kern/uipc_socket2.c#28 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#62 integrate .. //depot/projects/smpng/sys/net/bpf.c#29 integrate .. //depot/projects/smpng/sys/net/if_ppp.c#22 integrate .. //depot/projects/smpng/sys/net/if_tap.c#22 integrate .. //depot/projects/smpng/sys/net/if_tun.c#27 integrate .. //depot/projects/smpng/sys/net/netisr.c#6 integrate .. //depot/projects/smpng/sys/net/netisr.h#6 integrate .. //depot/projects/smpng/sys/net/route.c#14 integrate .. //depot/projects/smpng/sys/net/route.h#14 integrate .. //depot/projects/smpng/sys/net/rtsock.c#28 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.c#9 integrate .. //depot/projects/smpng/sys/netatalk/aarp.c#9 integrate .. //depot/projects/smpng/sys/netatalk/ddp_input.c#8 integrate .. //depot/projects/smpng/sys/netatalk/ddp_usrreq.c#15 integrate .. //depot/projects/smpng/sys/netatm/atm_subr.c#15 integrate .. //depot/projects/smpng/sys/netgraph/ng_base.c#18 integrate .. //depot/projects/smpng/sys/netinet/if_atm.c#6 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#20 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#36 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#23 integrate .. //depot/projects/smpng/sys/netinet/in_proto.c#11 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#26 integrate .. //depot/projects/smpng/sys/netinet/ip_dummynet.c#23 integrate .. //depot/projects/smpng/sys/netinet/ip_flow.c#5 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#43 integrate .. //depot/projects/smpng/sys/netinet/ip_mroute.c#28 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#45 integrate .. //depot/projects/smpng/sys/netinet/ip_var.h#16 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#30 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#39 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#17 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#37 integrate .. //depot/projects/smpng/sys/netinet/tcp_timer.c#14 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#31 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#16 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#27 integrate .. //depot/projects/smpng/sys/netinet6/ip6_output.c#22 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#16 integrate .. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#10 integrate .. //depot/projects/smpng/sys/netipx/ipx_input.c#9 integrate .. //depot/projects/smpng/sys/netnatm/natm.c#15 integrate .. //depot/projects/smpng/sys/netnatm/natm_proto.c#10 integrate .. //depot/projects/smpng/sys/pc98/i386/machdep.c#61 integrate .. //depot/projects/smpng/sys/pc98/pc98/mse.c#7 integrate .. //depot/projects/smpng/sys/pccard/mecia.c#3 integrate .. //depot/projects/smpng/sys/pccard/pccard.c#21 integrate .. //depot/projects/smpng/sys/pccard/pcic.c#24 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/machdep.c#44 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#58 integrate .. //depot/projects/smpng/sys/sys/condvar.h#5 integrate .. //depot/projects/smpng/sys/sys/selinfo.h#6 integrate .. //depot/projects/smpng/sys/sys/ucontext.h#8 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#30 integrate .. //depot/projects/smpng/sys/vm/vm_kern.c#21 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#47 integrate .. //depot/projects/smpng/sys/vm/vm_map.h#24 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#34 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#47 integrate .. //depot/projects/smpng/sys/vm/vm_object.h#23 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/machdep.c#63 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.213 2003/10/19 02:36:06 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.214 2003/11/09 20:31:02 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2027,14 +2027,14 @@ } int -get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) +get_mcontext(struct thread *td, mcontext_t *mcp, int flags) { /* * Use a trapframe for getsetcontext, so just copy the * threads trapframe. */ bcopy(td->td_frame, &mcp->mc_regs, sizeof(struct trapframe)); - if (clear_ret != 0) { + if (flags & GET_MC_CLEAR_RET) { mcp->mc_regs[FRAME_V0] = 0; mcp->mc_regs[FRAME_A4] = 0; mcp->mc_regs[FRAME_A3] = 0; ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#15 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.596 2003/11/08 04:37:54 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.597 2003/11/09 20:31:02 marcel Exp $"); #include "opt_atalk.h" #include "opt_compat.h" @@ -1441,7 +1441,7 @@ * Get machine context. */ int -get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) +get_mcontext(struct thread *td, mcontext_t *mcp, int flags) { struct trapframe *tp; @@ -1462,7 +1462,7 @@ mcp->mc_rbp = tp->tf_rbp; mcp->mc_rbx = tp->tf_rbx; mcp->mc_rcx = tp->tf_rcx; - if (clear_ret != 0) { + if (flags & GET_MC_CLEAR_RET) { mcp->mc_rax = 0; mcp->mc_rdx = 0; } else { ==== //depot/projects/smpng/sys/amd64/ia32/ia32_signal.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.5 2003/11/08 03:33:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.6 2003/11/08 07:43:44 peter Exp $"); #include "opt_compat.h" @@ -558,3 +558,44 @@ PROC_UNLOCK(p); return (EJUSTRETURN); } + +/* + * Clear registers on exec + */ +void +ia32_setregs(td, entry, stack, ps_strings) + struct thread *td; + u_long entry; + u_long stack; + u_long ps_strings; +{ + struct trapframe *regs = td->td_frame; + struct pcb *pcb = td->td_pcb; + + wrmsr(MSR_FSBASE, 0); + wrmsr(MSR_KGSBASE, 0); /* User value while we're in the kernel */ + pcb->pcb_fsbase = 0; + pcb->pcb_gsbase = 0; + load_ds(_udatasel); + load_es(_udatasel); + load_fs(_udatasel); + load_gs(_udatasel); + pcb->pcb_ds = _udatasel; + pcb->pcb_es = _udatasel; + pcb->pcb_fs = _udatasel; + pcb->pcb_gs = _udatasel; + + bzero((char *)regs, sizeof(struct trapframe)); + regs->tf_rip = entry; + regs->tf_rsp = stack; + regs->tf_rflags = PSL_USER | (regs->tf_rflags & PSL_T); + regs->tf_ss = _udatasel; + regs->tf_cs = _ucode32sel; + regs->tf_rbx = ps_strings; + load_cr0(rcr0() | CR0_MP | CR0_TS); + fpstate_drop(td); + + /* Return via doreti so that we can change to a different %cs */ + pcb->pcb_flags |= PCB_FULLCTX; + td->td_retval[1] = 0; +} ==== //depot/projects/smpng/sys/boot/ia64/libski/pal_stub.S#2 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/libski/pal_stub.S,v 1.2 2003/07/02 11:47:33 ru Exp $ + * $FreeBSD: src/sys/boot/ia64/libski/pal_stub.S,v 1.3 2003/11/09 07:42:16 marcel Exp $ */ #include @@ -41,6 +41,9 @@ cmp.eq p6,p0=14,r28 // PAL_FREQ_RATIOS (p6) br.cond.dptk pal_freq_ratios ;; + cmp.eq p6,p0=29,r28 // PAL_HALT_LIGHT +(p6) br.cond.dptk pal_halt_light + ;; mov r15=66 // EXIT break.i 0x80000 // SSC ;; @@ -62,4 +65,10 @@ movl r10=0x0000000100000001 // bus ratio 1/1 movl r11=0x0000000B00000002 // ITC ratio 11/2 br.sptk b0 +pal_halt_light: + mov r8=0 + mov r9=0 + mov r10=0 + mov r11=0 + br.sptk b0 END(PalProc) ==== //depot/projects/smpng/sys/boot/ia64/skiload/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/ia64/skiload/Makefile,v 1.11 2003/07/17 01:49:59 marcel Exp $ +# $FreeBSD: src/sys/boot/ia64/skiload/Makefile,v 1.12 2003/11/09 06:53:37 marcel Exp $ .PATH: ${.CURDIR}/../common @@ -6,6 +6,7 @@ NOMAN= NEWVERSWHAT= "ia64 SKI boot" ${MACHINE_ARCH} BINDIR?= /boot +STRIP= # We must not strip skiload at install time. SRCS+= conf.c main.c start.S ==== //depot/projects/smpng/sys/cam/cam_periph.c#15 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.55 2003/10/27 06:15:54 ken Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.56 2003/11/08 10:56:57 scottl Exp $"); #include #include @@ -969,13 +969,13 @@ if (sense_key != SSD_KEY_NO_SENSE) { saved_ccb->ccb_h.status |= CAM_AUTOSNS_VALID; +#if 0 xpt_print_path(saved_ccb->ccb_h.path); printf("Recovered Sense\n"); -#if 0 scsi_sense_print(&saved_ccb->csio); -#endif cam_error_print(saved_ccb, CAM_ESF_ALL, CAM_EPF_ALL); +#endif xpt_done_ccb = TRUE; } } ==== //depot/projects/smpng/sys/cam/cam_xpt.c#17 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.134 2003/06/10 17:50:20 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.135 2003/11/09 02:22:33 scottl Exp $"); #include #include @@ -1453,6 +1453,8 @@ int32_t status; struct periph_list *periph_head; + GIANT_REQUIRED; + device = periph->path->device; periph_head = &device->periphs; @@ -1488,6 +1490,8 @@ { struct cam_ed *device; + GIANT_REQUIRED; + device = periph->path->device; if (device != NULL) { @@ -1524,6 +1528,8 @@ u_int mb; int s; + GIANT_REQUIRED; + path = periph->path; /* * To ensure that this is printed in one piece, @@ -1646,6 +1652,8 @@ struct cam_path *path; struct ccb_trans_settings cts; + GIANT_REQUIRED; + path = periph->path; /* * To ensure that this is printed in one piece, @@ -2945,6 +2953,8 @@ { int iopl; + GIANT_REQUIRED; + CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_action\n")); start_ccb->ccb_h.status = CAM_REQ_INPROG; @@ -3578,6 +3588,8 @@ struct cam_devq *devq; struct cam_ed *dev; + GIANT_REQUIRED; + timeout = start_ccb->ccb_h.timeout; sim = start_ccb->ccb_h.path->bus->sim; devq = sim->devq; @@ -3640,6 +3652,8 @@ int s; int runq; + GIANT_REQUIRED; + CAM_DEBUG(perph->path, CAM_DEBUG_TRACE, ("xpt_schedule\n")); device = perph->path->device; s = splsoftcam(); @@ -3936,6 +3950,8 @@ void xpt_merge_ccb(union ccb *master_ccb, union ccb *slave_ccb) { + GIANT_REQUIRED; + /* * Pull fields that are valid for peripheral drivers to set * into the master CCB along with the CCB "payload". @@ -3951,6 +3967,8 @@ void xpt_setup_ccb(struct ccb_hdr *ccb_h, struct cam_path *path, u_int32_t priority) { + GIANT_REQUIRED; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_setup_ccb\n")); ccb_h->pinfo.priority = priority; ccb_h->path = path; @@ -3977,6 +3995,8 @@ struct cam_path *path; cam_status status; + GIANT_REQUIRED; + path = (struct cam_path *)malloc(sizeof(*path), M_DEVBUF, M_NOWAIT); if (path == NULL) { @@ -4087,6 +4107,8 @@ void xpt_free_path(struct cam_path *path) { + GIANT_REQUIRED; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_free_path\n")); xpt_release_path(path); free(path, M_DEVBUF); @@ -4100,6 +4122,8 @@ int xpt_path_comp(struct cam_path *path1, struct cam_path *path2) { + GIANT_REQUIRED; + int retval = 0; if (path1->bus != path2->bus) { @@ -4134,6 +4158,8 @@ void xpt_print_path(struct cam_path *path) { + GIANT_REQUIRED; + if (path == NULL) printf("(nopath): "); else { @@ -4167,6 +4193,8 @@ { struct sbuf sb; + GIANT_REQUIRED; + sbuf_new(&sb, str, str_len, 0); if (path == NULL) @@ -4203,12 +4231,16 @@ path_id_t xpt_path_path_id(struct cam_path *path) { + GIANT_REQUIRED; + return(path->bus->path_id); } target_id_t xpt_path_target_id(struct cam_path *path) { + GIANT_REQUIRED; + if (path->target != NULL) return (path->target->target_id); else @@ -4218,6 +4250,8 @@ lun_id_t xpt_path_lun_id(struct cam_path *path) { + GIANT_REQUIRED; + if (path->device != NULL) return (path->device->lun_id); else @@ -4227,12 +4261,16 @@ struct cam_sim * xpt_path_sim(struct cam_path *path) { + GIANT_REQUIRED; + return (path->bus->sim); } struct cam_periph* xpt_path_periph(struct cam_path *path) { + GIANT_REQUIRED; + return (path->periph); } @@ -4250,6 +4288,8 @@ struct cam_ed *device; struct cam_eb *bus; + GIANT_REQUIRED; + CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_release_ccb\n")); path = free_ccb->ccb_h.path; device = path->device; @@ -4293,6 +4333,8 @@ struct ccb_pathinq cpi; int s; + GIANT_REQUIRED; + sim->bus_id = bus; new_bus = (struct cam_eb *)malloc(sizeof(*new_bus), M_DEVBUF, M_NOWAIT); @@ -4347,6 +4389,8 @@ struct cam_path bus_path; cam_status status; + GIANT_REQUIRED; + status = xpt_compile_path(&bus_path, NULL, pathid, CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD); if (status != CAM_REQ_CMP) @@ -4443,6 +4487,8 @@ struct cam_ed *device, *next_device; int s; + GIANT_REQUIRED; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_async\n")); /* @@ -4608,6 +4654,8 @@ int s; struct ccb_hdr *ccbh; + GIANT_REQUIRED; + s = splcam(); path->device->qfrozen_cnt += count; @@ -4634,6 +4682,8 @@ u_int32_t xpt_freeze_simq(struct cam_sim *sim, u_int count) { + GIANT_REQUIRED; + sim->devq->send_queue.qfrozen_cnt += count; if (sim->devq->active_dev != NULL) { struct ccb_hdr *ccbh; @@ -4659,6 +4709,8 @@ void xpt_release_devq(struct cam_path *path, u_int count, int run_queue) { + GIANT_REQUIRED; + xpt_release_devq_device(path->device, count, run_queue); } @@ -4717,6 +4769,8 @@ int s; struct camq *sendq; + GIANT_REQUIRED; + sendq = &(sim->devq->send_queue); s = splcam(); if (sendq->qfrozen_cnt > 0) { @@ -4765,6 +4819,8 @@ { int s; + GIANT_REQUIRED; + s = splcam(); CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_done\n")); @@ -4796,6 +4852,8 @@ { union ccb *new_ccb; + GIANT_REQUIRED; + new_ccb = malloc(sizeof(*new_ccb), M_DEVBUF, M_WAITOK); return (new_ccb); } ==== //depot/projects/smpng/sys/cam/scsi/scsi_target.c#12 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.57 2003/10/02 08:56:14 simokawa Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.58 2003/11/09 09:17:20 tanimura Exp $"); #include #include @@ -1119,7 +1119,7 @@ * Notify users sleeping via poll(), kqueue(), and * blocking read(). */ - selwakeup(&softc->read_select); + selwakeuppri(&softc->read_select, PRIBIO); KNOTE(&softc->read_select.si_note, 0); wakeup(&softc->user_ccb_queue); } ==== //depot/projects/smpng/sys/coda/coda_psdev.c#12 (text+ko) ==== @@ -49,7 +49,7 @@ /* These routines are the device entry points for Venus. */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_psdev.c,v 1.28 2003/09/10 01:41:15 tjr Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_psdev.c,v 1.29 2003/11/09 09:17:20 tanimura Exp $"); extern int coda_nc_initialized; /* Set if cache has been initialized */ @@ -526,7 +526,7 @@ /* Append msg to request queue and poke Venus. */ INSQUE(vmp->vm_chain, vcp->vc_requests); - selwakeup(&(vcp->vc_selproc)); + selwakeuppri(&(vcp->vc_selproc), coda_call_sleep); /* We can be interrupted while we wait for Venus to process * our request. If the interrupt occurs before Venus has read @@ -664,7 +664,7 @@ /* insert at head of queue! */ INSQUE(svmp->vm_chain, vcp->vc_requests); - selwakeup(&(vcp->vc_selproc)); + selwakeuppri(&(vcp->vc_selproc), coda_call_sleep); } } ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.13 2003/11/07 20:30:30 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.25 2003/11/07 20:29:53 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.14 2003/11/08 07:31:49 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.13 2003/11/07 20:30:30 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.25 2003/11/07 20:29:53 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.14 2003/11/08 07:31:49 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp */ #define FREEBSD32_SYS_syscall 0 @@ -67,7 +67,7 @@ /* 63 is obsolete ogetkerninfo */ /* 64 is obsolete ogetpagesize */ /* 65 is obsolete omsync */ - /* 66 is obsolete ovfork */ +#define FREEBSD32_SYS_vfork 66 /* 67 is obsolete vread */ /* 68 is obsolete vwrite */ #define FREEBSD32_SYS_sbrk 69 ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.4 2003/11/07 20:30:30 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.25 2003/11/07 20:29:53 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.5 2003/11/08 07:31:49 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp */ const char *freebsd32_syscallnames[] = { @@ -73,7 +73,7 @@ "obs_ogetkerninfo", /* 63 = obsolete ogetkerninfo */ "obs_ogetpagesize", /* 64 = obsolete ogetpagesize */ "obs_omsync", /* 65 = obsolete omsync */ - "obs_ovfork", /* 66 = obsolete ovfork */ + "vfork", /* 66 = vfork */ "obs_vread", /* 67 = obsolete vread */ "obs_vwrite", /* 68 = obsolete vwrite */ "sbrk", /* 69 = sbrk */ ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.14 2003/11/07 20:30:30 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.25 2003/11/07 20:29:53 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.15 2003/11/08 07:31:49 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp */ #include "opt_compat.h" @@ -91,7 +91,7 @@ { 0, (sy_call_t *)nosys }, /* 63 = obsolete ogetkerninfo */ { 0, (sy_call_t *)nosys }, /* 64 = obsolete ogetpagesize */ { 0, (sy_call_t *)nosys }, /* 65 = obsolete omsync */ - { 0, (sy_call_t *)nosys }, /* 66 = obsolete ovfork */ + { SYF_MPSAFE | 0, (sy_call_t *)vfork }, /* 66 = vfork */ { 0, (sy_call_t *)nosys }, /* 67 = obsolete vread */ { 0, (sy_call_t *)nosys }, /* 68 = obsolete vwrite */ { SYF_MPSAFE | AS(sbrk_args), (sy_call_t *)sbrk }, /* 69 = sbrk */ ==== //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.25 2003/11/07 20:29:53 jhb Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -81,6 +81,7 @@ 25 MNOPROTO POSIX { uid_t geteuid(void); } 26 MNOPROTO BSD { int ptrace(int req, pid_t pid, caddr_t addr, \ int data); } +; XXX implement 27 UNIMPL BSD recvmsg 28 MNOPROTO BSD { int sendmsg(int s, caddr_t msg, int flags); } 29 MNOPROTO BSD { int recvfrom(int s, caddr_t buf, size_t len, \ @@ -124,8 +125,9 @@ 62 OBSOL POSIX ofstat 63 OBSOL BSD ogetkerninfo 64 OBSOL BSD ogetpagesize +; XXX implement (not OBSOL at all) 65 OBSOL BSD omsync -66 OBSOL BSD ovfork +66 MNOPROTO BSD { int vfork(void); } 67 OBSOL NOHIDE vread 68 OBSOL NOHIDE vwrite 69 MNOPROTO BSD { int sbrk(int incr); } @@ -148,7 +150,9 @@ struct itimerval32 *itv, \ struct itimerval32 *oitv); } 84 OBSOL BSD owait +; XXX implement 85 OBSOL BSD oswapon +; XXX implement 86 OBSOL BSD ogetitimer 87 OBSOL BSD ogethostname 88 OBSOL BSD osethostname @@ -499,7 +503,9 @@ 343 MNOPROTO POSIX { int sigpending(sigset_t *set); } 344 MCOMPAT4 BSD { int freebsd32_sigreturn( \ const struct __ucontext *sigcntxp); } +; XXX implement 345 UNIMPL NOHIDE sigtimedwait +; XXX implement 346 UNIMPL NOHIDE sigwaitinfo 347 MNOPROTO BSD { int __acl_get_file(const char *path, \ acl_type_t type, struct acl *aclp); } @@ -581,6 +587,7 @@ 397 UNIMPL NOHIDE nosys 398 UNIMPL NOHIDE nosys 399 UNIMPL NOHIDE nosys +; XXX implement these? 400 UNIMPL NOHIDE ksem_close 401 UNIMPL NOHIDE ksem_post 402 UNIMPL NOHIDE ksem_wait @@ -605,14 +612,18 @@ 418 UNIMPL BSD __xstat 419 UNIMPL BSD __xfstat 420 UNIMPL BSD __xlstat +; XXX implement 421 UNIMPL BSD getcontext +; XXX implement 422 UNIMPL BSD setcontext +; XXX implement 423 UNIMPL BSD swapcontext 424 UNIMPL BSD swapoff 425 UNIMPL BSD __acl_get_link 426 UNIMPL BSD __acl_set_link 427 UNIMPL BSD __acl_delete_link 428 UNIMPL BSD __acl_aclcheck_link +; XXX implement 429 UNIMPL NOHIDE sigwait 430 MNOPROTO BSD { int thr_create(ucontext_t *ctx, thr_id_t *id, \ int flag s); } ==== //depot/projects/smpng/sys/compat/ia32/ia32_signal.h#4 (text+ko) ==== @@ -26,7 +26,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/sys/compat/ia32/ia32_signal.h,v 1.3 2003/11/08 02:36:05 peter Exp $ + * $FreeBSD: src/sys/compat/ia32/ia32_signal.h,v 1.4 2003/11/08 07:43:44 peter Exp $ */ struct ia32_sigaltstack { @@ -160,3 +160,5 @@ extern int sz_ia32_sigcode; extern int sz_freebsd4_ia32_sigcode; extern void ia32_sendsig(sig_t, int, sigset_t *, u_long); +extern void ia32_setregs(struct thread *td, u_long entry, u_long stack, + u_long ps_strings); ==== //depot/projects/smpng/sys/compat/ia32/ia32_sysvec.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.11 2003/11/08 03:35:06 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.12 2003/11/08 07:43:44 peter Exp $"); #include "opt_compat.h" @@ -86,8 +86,6 @@ #endif static register_t *ia32_copyout_strings(struct image_params *imgp); -static void ia32_setregs(struct thread *td, u_long entry, u_long stack, - u_long ps_strings); static void ia32_fixlimits(struct image_params *imgp); extern struct sysent freebsd32_sysent[]; @@ -244,49 +242,6 @@ return ((register_t *)stack_base); } -/* - * Clear registers on exec - * XXX backend MD - */ -extern int _ucode32sel, _udatasel; -void -ia32_setregs(td, entry, stack, ps_strings) - struct thread *td; - u_long entry; - u_long stack; - u_long ps_strings; -{ - struct trapframe *regs = td->td_frame; - struct pcb *pcb = td->td_pcb; - - wrmsr(MSR_FSBASE, 0); - wrmsr(MSR_KGSBASE, 0); /* User value while we're in the kernel */ - pcb->pcb_fsbase = 0; - pcb->pcb_gsbase = 0; - load_ds(_udatasel); - load_es(_udatasel); - load_fs(_udatasel); - load_gs(_udatasel); - pcb->pcb_ds = _udatasel; - pcb->pcb_es = _udatasel; - pcb->pcb_fs = _udatasel; - pcb->pcb_gs = _udatasel; - - bzero((char *)regs, sizeof(struct trapframe)); - regs->tf_rip = entry; - regs->tf_rsp = stack; - regs->tf_rflags = PSL_USER | (regs->tf_rflags & PSL_T); - regs->tf_ss = _udatasel; - regs->tf_cs = _ucode32sel; - regs->tf_rbx = ps_strings; - load_cr0(rcr0() | CR0_MP | CR0_TS); - fpstate_drop(td); - - /* Return via doreti so that we can change to a different %cs */ - pcb->pcb_flags |= PCB_FULLCTX; - td->td_retval[1] = 0; -} - static u_long ia32_maxdsiz = IA32_MAXDSIZ; SYSCTL_ULONG(_compat_ia32, OID_AUTO, maxdsiz, CTLFLAG_RW, &ia32_maxdsiz, 0, ""); static u_long ia32_maxssiz = IA32_MAXSSIZ; ==== //depot/projects/smpng/sys/compat/linux/linux_socket.c#13 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.43 2003/10/11 15:08:32 iwasaki Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.44 2003/11/09 17:04:04 dwmalone Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -333,39 +334,6 @@ return ret_flags; } -/* - * Allocate stackgap and put the converted sockaddr structure - * there, address on stackgap returned in sap. - */ -static int -linux_sa_get(caddr_t *sgp, struct sockaddr **sap, - const struct osockaddr *osa, int *osalen) -{ - struct sockaddr *sa, *usa; - int alloclen, error; - - alloclen = *osalen; - error = do_sa_get(&sa, osa, &alloclen, M_TEMP); - if (error) - return (error); - - usa = (struct sockaddr *) stackgap_alloc(sgp, alloclen); - if (!usa) { - error = ENOMEM; - goto out; - } - - if ((error = copyout(sa, usa, alloclen))) - goto out; - - *sap = usa; - *osalen = alloclen; - -out: - FREE(sa, M_TEMP); - return (error); -} - static int linux_sa_put(struct osockaddr *osa) { @@ -392,6 +360,46 @@ return (0); } +static int +linux_sendit(struct thread *td, int s, struct msghdr *mp, int flags) +{ + struct mbuf *control; + struct sockaddr *to; + int error; + + if (mp->msg_name != NULL) { + error = linux_getsockaddr(&to, mp->msg_name, mp->msg_namelen); + if (error) + return (error); + mp->msg_name = to; + } else + to = NULL; + + if (mp->msg_control != NULL) { + struct cmsghdr *cmsg; + + if (mp->msg_controllen < sizeof(struct cmsghdr)) { + error = EINVAL; + goto bad; + } + error = sockargs(&control, mp->msg_control, + mp->msg_controllen, MT_CONTROL); + if (error) + goto bad; + + cmsg = mtod(control, struct cmsghdr *); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 9 17:30:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B74C16A4D1; Sun, 9 Nov 2003 17:30:21 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2F10116A4CF for ; Sun, 9 Nov 2003 17:30:21 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 47CB74400B for ; Sun, 9 Nov 2003 17:30:14 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA1UEXJ057807 for ; Sun, 9 Nov 2003 17:30:14 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA1UDpV057800 for perforce@freebsd.org; Sun, 9 Nov 2003 17:30:13 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 17:30:13 -0800 (PST) Message-Id: <200311100130.hAA1UDpV057800@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41851 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 01:30:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=41851 Change 41851 by rwatson@rwatson_paprika on 2003/11/09 17:29:33 Use the UMA zone allocator to allocate temporary labels for the socket and ifnet code, rather than using the stack. This permits us to GC some of the older init/destroy functions for sockets and ifnets, reducing code duplication. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#7 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#7 (text+ko) ==== @@ -124,15 +124,6 @@ bpf_d->bd_label = mac_bpfdesc_label_alloc(); } -static void -mac_init_ifnet_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_ifnet_label, label); - MAC_DEBUG_COUNTER_INC(&nmacifnets); -} - static struct label * mac_ifnet_label_alloc(void) { @@ -229,24 +220,6 @@ return (0); } -static int -mac_init_socket_label(struct label *label, int flag) -{ - int error; - - mac_init_label(label); - - MAC_CHECK(init_socket_label, label, flag); - if (error) { - MAC_PERFORM(destroy_socket_label, label); - mac_destroy_label(label); - } else { - MAC_DEBUG_COUNTER_INC(&nmacsockets); - } - - return (error); -} - static struct label * mac_socket_label_alloc(int flag) { @@ -320,15 +293,6 @@ } static void -mac_destroy_ifnet_label(struct label *label) -{ - - MAC_PERFORM(destroy_ifnet_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacifnets); -} - -static void mac_ifnet_label_free(struct label *label) { @@ -372,15 +336,6 @@ } static void -mac_destroy_socket_label(struct label *label) -{ - - MAC_PERFORM(destroy_socket_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacsockets); -} - -static void mac_socket_label_free(struct label *label) { @@ -891,7 +846,7 @@ mac_ioctl_ifnet_set(struct ucred *cred, struct ifreq *ifr, struct ifnet *ifnet) { - struct label intlabel; + struct label *intlabel; struct mac mac; char *buffer; int error; @@ -911,11 +866,11 @@ return (error); } - mac_init_ifnet_label(&intlabel); - error = mac_internalize_ifnet_label(&intlabel, buffer); + intlabel = mac_ifnet_label_alloc(); + error = mac_internalize_ifnet_label(intlabel, buffer); free(buffer, M_MACTEMP); if (error) { - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (error); } @@ -926,20 +881,20 @@ */ error = suser_cred(cred, 0); if (error) { - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (error); } MAC_CHECK(check_ifnet_relabel, cred, ifnet, ifnet->if_label, - &intlabel); + intlabel); if (error) { - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (error); } - MAC_PERFORM(relabel_ifnet, cred, ifnet, ifnet->if_label, &intlabel); + MAC_PERFORM(relabel_ifnet, cred, ifnet, ifnet->if_label, intlabel); - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (0); } @@ -947,7 +902,7 @@ mac_setsockopt_label_set(struct ucred *cred, struct socket *so, struct mac *mac) { - struct label intlabel; + struct label *intlabel; char *buffer; int error; @@ -962,23 +917,23 @@ return (error); } - mac_init_socket_label(&intlabel, M_WAITOK); - error = mac_internalize_socket_label(&intlabel, buffer); + intlabel = mac_socket_label_alloc(M_WAITOK); + error = mac_internalize_socket_label(intlabel, buffer); free(buffer, M_MACTEMP); if (error) { - mac_destroy_socket_label(&intlabel); + mac_socket_label_free(intlabel); return (error); } - mac_check_socket_relabel(cred, so, &intlabel); + mac_check_socket_relabel(cred, so, intlabel); if (error) { - mac_destroy_socket_label(&intlabel); + mac_socket_label_free(intlabel); return (error); } - mac_relabel_socket(cred, so, &intlabel); + mac_relabel_socket(cred, so, intlabel); - mac_destroy_socket_label(&intlabel); + mac_socket_label_free(intlabel); return (0); } From owner-p4-projects@FreeBSD.ORG Sun Nov 9 19:35:59 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3857B16A4D0; Sun, 9 Nov 2003 19:35:59 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E705416A4CE for ; Sun, 9 Nov 2003 19:35:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E416243FBF for ; Sun, 9 Nov 2003 19:35:57 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA3ZvXJ065540 for ; Sun, 9 Nov 2003 19:35:57 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA3ZvlF065537 for perforce@freebsd.org; Sun, 9 Nov 2003 19:35:57 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 19:35:57 -0800 (PST) Message-Id: <200311100335.hAA3ZvlF065537@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41856 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 03:35:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=41856 Change 41856 by rwatson@rwatson_paprika on 2003/11/09 19:35:42 Move to zone allocated credential, pipe, and vnode temporary labels. This actually observably simplifies some of the exec label contortions we go through, removing one of the arguments to mac_execve_enter(), and simplifying the interpreter label code. Remove old init/destroy interfaces from the MAC framework. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_exec.c#66 edit .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#425 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_internal.h#12 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#8 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_pipe.c#9 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_process.c#7 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_vfs.c#6 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#227 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#249 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_exec.c#66 (text+ko) ==== @@ -167,9 +167,8 @@ int credential_changing; int textset; #ifdef MAC - struct label interplabel; /* label of the interpreted vnode */ - struct label execlabel; /* optional label argument */ - int will_transition, interplabelvalid = 0; + struct label *interplabel = NULL; + int will_transition; #endif imgp = &image_params; @@ -222,7 +221,7 @@ imgp->auxarg_size = 0; #ifdef MAC - error = mac_execve_enter(imgp, mac_p, &execlabel); + error = mac_execve_enter(imgp, mac_p); if (error) { mtx_lock(&Giant); goto exec_fail; @@ -339,9 +338,8 @@ /* free name buffer and old vnode */ NDFREE(ndp, NDF_ONLY_PNBUF); #ifdef MAC - mac_init_vnode_label(&interplabel); - mac_copy_vnode_label(ndp->ni_vp->v_label, &interplabel); - interplabelvalid = 1; + interplabel = mac_cred_label_alloc(); + mac_copy_vnode_label(ndp->ni_vp->v_label, interplabel); #endif vput(ndp->ni_vp); vm_object_deallocate(imgp->object); @@ -455,7 +453,7 @@ attr.va_gid; #ifdef MAC will_transition = mac_execve_will_transition(oldcred, imgp->vp, - interplabelvalid ? &interplabel : NULL, imgp); + interplabel, imgp); credential_changing |= will_transition; #endif @@ -505,7 +503,7 @@ #ifdef MAC if (will_transition) { mac_execve_transition(oldcred, newcred, imgp->vp, - interplabelvalid ? &interplabel : NULL, imgp); + interplabel, imgp); } #endif /* @@ -657,8 +655,8 @@ /* sorry, no more process anymore. exit gracefully */ #ifdef MAC mac_execve_exit(imgp); - if (interplabelvalid) - mac_destroy_vnode_label(&interplabel); + if (interplabel != NULL) + mac_vnode_label_free(interplabel); #endif exit1(td, W_EXITCODE(0, SIGABRT)); /* NOT REACHED */ @@ -667,8 +665,8 @@ done2: #ifdef MAC mac_execve_exit(imgp); - if (interplabelvalid) - mac_destroy_vnode_label(&interplabel); + if (interplabel != NULL) + mac_vnode_label_free(interplabel); #endif mtx_unlock(&Giant); return (error); ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#425 (text+ko) ==== @@ -643,7 +643,7 @@ __mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) { struct ucred *newcred, *oldcred; - struct label intlabel; + struct label *intlabel; struct proc *p; struct mac mac; char *buffer; @@ -664,13 +664,11 @@ return (error); } - mac_init_cred_label(&intlabel); - error = mac_internalize_cred_label(&intlabel, buffer); + intlabel = mac_cred_label_alloc(); + error = mac_internalize_cred_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_cred_label(&intlabel); - return (error); - } + if (error) + goto out; newcred = crget(); @@ -678,7 +676,7 @@ PROC_LOCK(p); oldcred = p->p_ucred; - error = mac_check_cred_relabel(oldcred, &intlabel); + error = mac_check_cred_relabel(oldcred, intlabel); if (error) { PROC_UNLOCK(p); crfree(newcred); @@ -687,7 +685,7 @@ setsugid(p); crcopy(newcred, oldcred); - mac_relabel_cred(newcred, &intlabel); + mac_relabel_cred(newcred, intlabel); p->p_ucred = newcred; /* @@ -707,7 +705,7 @@ crfree(oldcred); out: - mac_destroy_cred_label(&intlabel); + mac_cred_label_free(intlabel); return (error); } @@ -718,7 +716,7 @@ __mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) { char *elements, *buffer; - struct label intlabel; + struct label *intlabel; struct file *fp; struct mac mac; struct vnode *vp; @@ -753,20 +751,20 @@ case DTYPE_VNODE: vp = fp->f_vnode; - mac_init_vnode_label(&intlabel); + intlabel = mac_vnode_label_alloc(); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - mac_copy_vnode_label(vp->v_label, &intlabel); + mac_copy_vnode_label(vp->v_label, intlabel); VOP_UNLOCK(vp, 0, td); break; case DTYPE_PIPE: pipe = fp->f_data; - mac_init_pipe_label(&intlabel); + intlabel = mac_pipe_label_alloc(); PIPE_LOCK(pipe); - mac_copy_pipe_label(pipe->pipe_label, &intlabel); + mac_copy_pipe_label(pipe->pipe_label, intlabel); PIPE_UNLOCK(pipe); break; default: @@ -780,14 +778,14 @@ case DTYPE_FIFO: case DTYPE_VNODE: if (error == 0) - error = mac_externalize_vnode_label(&intlabel, + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: - error = mac_externalize_pipe_label(&intlabel, elements, + error = mac_externalize_pipe_label(intlabel, elements, buffer, mac.m_buflen); - mac_destroy_pipe_label(&intlabel); + mac_pipe_label_free(intlabel); break; default: panic("__mac_get_fd: corrupted label_type"); @@ -812,7 +810,7 @@ { char *elements, *buffer; struct nameidata nd; - struct label intlabel; + struct label *intlabel; struct mac mac; int error; @@ -839,13 +837,13 @@ if (error) goto out; - mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(nd.ni_vp->v_label, &intlabel); - error = mac_externalize_vnode_label(&intlabel, elements, buffer, + intlabel = mac_vnode_label_alloc(); + mac_copy_vnode_label(nd.ni_vp->v_label, intlabel); + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); NDFREE(&nd, 0); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -867,7 +865,7 @@ { char *elements, *buffer; struct nameidata nd; - struct label intlabel; + struct label *intlabel; struct mac mac; int error; @@ -894,12 +892,12 @@ if (error) goto out; - mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(nd.ni_vp->v_label, &intlabel); - error = mac_externalize_vnode_label(&intlabel, elements, buffer, + intlabel = mac_vnode_label_alloc(); + mac_copy_vnode_label(nd.ni_vp->v_label, intlabel); + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); NDFREE(&nd, 0); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -919,7 +917,7 @@ int __mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) { - struct label intlabel; + struct label *intlabel; struct pipe *pipe; struct file *fp; struct mount *mp; @@ -952,40 +950,38 @@ switch (fp->f_type) { case DTYPE_FIFO: case DTYPE_VNODE: - mac_init_vnode_label(&intlabel); - error = mac_internalize_vnode_label(&intlabel, buffer); + intlabel = mac_vnode_label_alloc(); + error = mac_internalize_vnode_label(intlabel, buffer); if (error) { - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; } vp = fp->f_vnode; error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error != 0) { - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; } vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - error = vn_setlabel(vp, &intlabel, td->td_ucred); + error = vn_setlabel(vp, intlabel, td->td_ucred); VOP_UNLOCK(vp, 0, td); vn_finished_write(mp); - - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: - mac_init_pipe_label(&intlabel); - error = mac_internalize_pipe_label(&intlabel, buffer); + intlabel = mac_pipe_label_alloc(); + error = mac_internalize_pipe_label(intlabel, buffer); if (error == 0) { pipe = fp->f_data; PIPE_LOCK(pipe); error = mac_pipe_label_set(td->td_ucred, pipe, - &intlabel); + intlabel); PIPE_UNLOCK(pipe); } - - mac_destroy_pipe_label(&intlabel); + mac_pipe_label_free(intlabel); break; default: @@ -1007,7 +1003,7 @@ int __mac_set_file(struct thread *td, struct __mac_set_file_args *uap) { - struct label intlabel; + struct label *intlabel; struct nameidata nd; struct mount *mp; struct mac mac; @@ -1029,13 +1025,11 @@ return (error); } - mac_init_vnode_label(&intlabel); - error = mac_internalize_vnode_label(&intlabel, buffer); + intlabel = mac_vnode_label_alloc(); + error = mac_internalize_vnode_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_vnode_label(&intlabel); - return (error); - } + if (error) + goto out; mtx_lock(&Giant); /* VFS */ @@ -1045,15 +1039,16 @@ if (error == 0) { error = vn_start_write(nd.ni_vp, &mp, V_WAIT | PCATCH); if (error == 0) - error = vn_setlabel(nd.ni_vp, &intlabel, + error = vn_setlabel(nd.ni_vp, intlabel, td->td_ucred); vn_finished_write(mp); } NDFREE(&nd, 0); mtx_unlock(&Giant); /* VFS */ - mac_destroy_vnode_label(&intlabel); +out: + mac_vnode_label_free(intlabel); return (error); } @@ -1063,7 +1058,7 @@ int __mac_set_link(struct thread *td, struct __mac_set_link_args *uap) { - struct label intlabel; + struct label *intlabel; struct nameidata nd; struct mount *mp; struct mac mac; @@ -1085,13 +1080,11 @@ return (error); } - mac_init_vnode_label(&intlabel); - error = mac_internalize_vnode_label(&intlabel, buffer); + intlabel = mac_vnode_label_alloc(); + error = mac_internalize_vnode_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_vnode_label(&intlabel); - return (error); - } + if (error) + goto out; mtx_lock(&Giant); /* VFS */ @@ -1101,15 +1094,15 @@ if (error == 0) { error = vn_start_write(nd.ni_vp, &mp, V_WAIT | PCATCH); if (error == 0) - error = vn_setlabel(nd.ni_vp, &intlabel, + error = vn_setlabel(nd.ni_vp, intlabel, td->td_ucred); vn_finished_write(mp); } NDFREE(&nd, 0); mtx_unlock(&Giant); /* VFS */ - mac_destroy_vnode_label(&intlabel); - +out: + mac_vnode_label_free(intlabel); return (error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_internal.h#12 (text+ko) ==== @@ -103,19 +103,18 @@ * the namespaces, etc, should work for these, so for now, sort by * object type. */ +struct label *mac_pipe_label_alloc(void); +void mac_pipe_label_free(struct label *label); + int mac_check_cred_relabel(struct ucred *cred, struct label *newlabel); -void mac_destroy_cred_label(struct label *label); int mac_externalize_cred_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); -void mac_init_cred_label(struct label *label); int mac_internalize_cred_label(struct label *label, char *string); void mac_relabel_cred(struct ucred *cred, struct label *newlabel); void mac_copy_pipe_label(struct label *src, struct label *dest); -void mac_destroy_pipe_label(struct label *label); int mac_externalize_pipe_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); -void mac_init_pipe_label(struct label *label); int mac_internalize_pipe_label(struct label *label, char *string); int mac_externalize_vnode_label(struct label *label, char *elements, ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#8 (text+ko) ==== ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_pipe.c#9 (text+ko) ==== @@ -61,16 +61,7 @@ &nmacpipes, 0, "number of pipes in use"); #endif -void -mac_init_pipe_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_pipe_label, label); - MAC_DEBUG_COUNTER_INC(&nmacpipes); -} - -static struct label * +struct label * mac_pipe_label_alloc(void) { struct label *label; @@ -90,15 +81,6 @@ } void -mac_destroy_pipe_label(struct label *label) -{ - - MAC_PERFORM(destroy_pipe_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacpipes); -} - -static void mac_pipe_label_free(struct label *label) { ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_process.c#7 (text+ko) ==== @@ -96,16 +96,7 @@ static void mac_cred_mmapped_drop_perms_recurse(struct thread *td, struct ucred *cred, struct vm_map *map); -void -mac_init_cred_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_cred_label, label); - MAC_DEBUG_COUNTER_INC(&nmaccreds); -} - -static struct label * +struct label * mac_cred_label_alloc(void) { struct label *label; @@ -141,7 +132,7 @@ p->p_label = mac_proc_label_alloc(); } -static void +void mac_cred_label_free(struct label *label) { @@ -151,15 +142,6 @@ } void -mac_destroy_cred_label(struct label *label) -{ - - MAC_PERFORM(destroy_cred_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmaccreds); -} - -void mac_destroy_cred(struct ucred *cred) { @@ -247,9 +229,9 @@ } int -mac_execve_enter(struct image_params *imgp, struct mac *mac_p, - struct label *execlabelstorage) +mac_execve_enter(struct image_params *imgp, struct mac *mac_p) { + struct label *label; struct mac mac; char *buffer; int error; @@ -272,22 +254,24 @@ return (error); } - mac_init_cred_label(execlabelstorage); - error = mac_internalize_cred_label(execlabelstorage, buffer); + label = mac_cred_label_alloc(); + error = mac_internalize_cred_label(label, buffer); free(buffer, M_MACTEMP); if (error) { - mac_destroy_cred_label(execlabelstorage); + mac_cred_label_free(label); return (error); } - imgp->execlabel = execlabelstorage; + imgp->execlabel = label; return (0); } void mac_execve_exit(struct image_params *imgp) { - if (imgp->execlabel != NULL) - mac_destroy_cred_label(imgp->execlabel); + if (imgp->execlabel != NULL) { + mac_cred_label_free(imgp->execlabel); + imgp->execlabel = NULL; + } } /* ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_vfs.c#6 (text+ko) ==== @@ -148,16 +148,7 @@ mp->mnt_fslabel = mac_mount_fs_label_alloc(); } -void -mac_init_vnode_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_vnode_label, label); - MAC_DEBUG_COUNTER_INC(&nmacvnodes); -} - -static struct label * +struct label * mac_vnode_label_alloc(void) { struct label *label; @@ -221,15 +212,6 @@ } void -mac_destroy_vnode_label(struct label *label) -{ - - MAC_PERFORM(destroy_vnode_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacvnodes); -} - -static void mac_vnode_label_free(struct label *label) { ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#227 (text+ko) ==== ==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#249 (text+ko) ==== @@ -155,7 +155,6 @@ void mac_init_mount(struct mount *); void mac_init_proc(struct proc *); void mac_init_vnode(struct vnode *); -void mac_init_vnode_label(struct label *); void mac_copy_mbuf_tag(struct m_tag *, struct m_tag *); void mac_copy_vnode_label(struct label *, struct label *label); void mac_destroy_bpfdesc(struct bpf_d *); @@ -174,7 +173,11 @@ void mac_destroy_mbuf_tag(struct m_tag *); void mac_destroy_mount(struct mount *); void mac_destroy_vnode(struct vnode *); -void mac_destroy_vnode_label(struct label *); + +struct label *mac_cred_label_alloc(void); +void mac_cred_label_free(struct label *label); +struct label *mac_vnode_label_alloc(void); +void mac_vnode_label_free(struct label *label); /* * Labeling event operations: file system objects, and things that @@ -256,8 +259,7 @@ * Labeling event operations: processes. */ void mac_create_cred(struct ucred *cred_parent, struct ucred *cred_child); -int mac_execve_enter(struct image_params *imgp, struct mac *mac_p, - struct label *execlabel); +int mac_execve_enter(struct image_params *imgp, struct mac *mac_p); void mac_execve_exit(struct image_params *imgp); void mac_execve_transition(struct ucred *old, struct ucred *new, struct vnode *vp, struct label *interpvnodelabel, From owner-p4-projects@FreeBSD.ORG Sun Nov 9 19:40:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D41CD16A4D0; Sun, 9 Nov 2003 19:40:04 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AB18916A4CF for ; Sun, 9 Nov 2003 19:40:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AD64B43FE3 for ; Sun, 9 Nov 2003 19:40:03 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA3e3XJ065720 for ; Sun, 9 Nov 2003 19:40:03 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA3e3tO065716 for perforce@freebsd.org; Sun, 9 Nov 2003 19:40:03 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 19:40:03 -0800 (PST) Message-Id: <200311100340.hAA3e3tO065716@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41857 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 03:40:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=41857 Change 41857 by rwatson@rwatson_paprika on 2003/11/09 19:39:46 SEBSD-specific updates for struct->struct* changes for labels. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#17 edit .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_vfs.c#5 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#17 (text+ko) ==== @@ -949,7 +949,7 @@ mp = nd.ni_vp->v_mount; mac_init_mount_label(&intlabel); - mac_copy_mount_label(&mp->mnt_mntlabel, &intlabel); + mac_copy_mount_label(mp->mnt_mntlabel, &intlabel); error = mac_externalize_mount_label(&intlabel, elements, buffer, mac.m_buflen, M_WAITOK); ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_vfs.c#5 (text+ko) ==== @@ -468,7 +468,7 @@ if (!mac_enforce_fs) return (0); - MAC_CHECK(check_mount, cred, vp, &vp->v_label, vfc_name, mntlabel); + MAC_CHECK(check_mount, cred, vp, vp->v_label, vfc_name, mntlabel); return (error); } @@ -480,7 +480,7 @@ if (!mac_enforce_fs) return (0); - MAC_CHECK(check_umount, cred, mp, &mp->mnt_mntlabel); + MAC_CHECK(check_umount, cred, mp, mp->mnt_mntlabel); return (error); } @@ -494,7 +494,7 @@ if (!mac_enforce_fs) return (0); - MAC_CHECK(check_remount, cred, mp, &mp->mnt_mntlabel, + MAC_CHECK(check_remount, cred, mp, mp->mnt_mntlabel, mount_arg_label); return (error); From owner-p4-projects@FreeBSD.ORG Sun Nov 9 19:46:14 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9D9116A4D0; Sun, 9 Nov 2003 19:46:13 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 73FEC16A4CE for ; Sun, 9 Nov 2003 19:46:13 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 55DD643F85 for ; Sun, 9 Nov 2003 19:46:12 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA3kCXJ066159 for ; Sun, 9 Nov 2003 19:46:12 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA3kBAq066156 for perforce@freebsd.org; Sun, 9 Nov 2003 19:46:11 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 19:46:11 -0800 (PST) Message-Id: <200311100346.hAA3kBAq066156@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41858 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 03:46:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=41858 Change 41858 by rwatson@rwatson_paprika on 2003/11/09 19:45:50 Integrate the TrustedBSD SEBSD branch with recent changes from the TrustedBSD MAC branch: - Use zone allocated temporary labels rather than stack-allocated storage for credentials, pipes, vnodes, during query/set/ transition/... - Simplify mac_execve_enter() API and interpreter code. - Remove old _init() and _destroy() APIs for caller-owned memory initialization/destruction. GC. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_exec.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#18 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_internal.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_net.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_pipe.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_process.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_vfs.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/security/mac_biba/mac_biba.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/sys/mac.h#11 integrate Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_exec.c#8 (text+ko) ==== @@ -168,9 +168,8 @@ int credential_changing; int textset; #ifdef MAC - struct label interplabel; /* label of the interpreted vnode */ - struct label execlabel; /* optional label argument */ - int will_transition, interplabelvalid = 0; + struct label *interplabel = NULL; + int will_transition; #endif imgp = &image_params; @@ -223,7 +222,7 @@ imgp->auxarg_size = 0; #ifdef MAC - error = mac_execve_enter(imgp, mac_p, &execlabel); + error = mac_execve_enter(imgp, mac_p); if (error) { mtx_lock(&Giant); goto exec_fail; @@ -340,9 +339,8 @@ /* free name buffer and old vnode */ NDFREE(ndp, NDF_ONLY_PNBUF); #ifdef MAC - mac_init_vnode_label(&interplabel); - mac_copy_vnode_label(ndp->ni_vp->v_label, &interplabel); - interplabelvalid = 1; + interplabel = mac_cred_label_alloc(); + mac_copy_vnode_label(ndp->ni_vp->v_label, interplabel); #endif vput(ndp->ni_vp); vm_object_deallocate(imgp->object); @@ -456,7 +454,7 @@ attr.va_gid; #ifdef MAC will_transition = mac_execve_will_transition(oldcred, imgp->vp, - interplabelvalid ? &interplabel : NULL, imgp); + interplabel, imgp); credential_changing |= will_transition; #endif @@ -506,7 +504,7 @@ #ifdef MAC if (will_transition) { mac_execve_transition(oldcred, newcred, imgp->vp, - interplabelvalid ? &interplabel : NULL, imgp); + interplabel, imgp); } #endif /* @@ -658,8 +656,8 @@ /* sorry, no more process anymore. exit gracefully */ #ifdef MAC mac_execve_exit(imgp); - if (interplabelvalid) - mac_destroy_vnode_label(&interplabel); + if (interplabel != NULL) + mac_vnode_label_free(interplabel); #endif exit1(td, W_EXITCODE(0, SIGABRT)); /* NOT REACHED */ @@ -668,8 +666,8 @@ done2: #ifdef MAC mac_execve_exit(imgp); - if (interplabelvalid) - mac_destroy_vnode_label(&interplabel); + if (interplabel != NULL) + mac_vnode_label_free(interplabel); #endif mtx_unlock(&Giant); return (error); ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#18 (text+ko) ==== @@ -643,7 +643,7 @@ __mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) { struct ucred *newcred, *oldcred; - struct label intlabel; + struct label *intlabel; struct proc *p; struct mac mac; char *buffer; @@ -664,13 +664,11 @@ return (error); } - mac_init_cred_label(&intlabel); - error = mac_internalize_cred_label(&intlabel, buffer); + intlabel = mac_cred_label_alloc(); + error = mac_internalize_cred_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_cred_label(&intlabel); - return (error); - } + if (error) + goto out; newcred = crget(); @@ -678,7 +676,7 @@ PROC_LOCK(p); oldcred = p->p_ucred; - error = mac_check_cred_relabel(oldcred, &intlabel); + error = mac_check_cred_relabel(oldcred, intlabel); if (error) { PROC_UNLOCK(p); crfree(newcred); @@ -687,7 +685,7 @@ setsugid(p); crcopy(newcred, oldcred); - mac_relabel_cred(newcred, &intlabel); + mac_relabel_cred(newcred, intlabel); p->p_ucred = newcred; /* @@ -707,7 +705,7 @@ crfree(oldcred); out: - mac_destroy_cred_label(&intlabel); + mac_cred_label_free(intlabel); return (error); } @@ -718,7 +716,7 @@ __mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) { char *elements, *buffer; - struct label intlabel; + struct label *intlabel; struct file *fp; struct mac mac; struct vnode *vp; @@ -753,20 +751,20 @@ case DTYPE_VNODE: vp = fp->f_vnode; - mac_init_vnode_label(&intlabel); + intlabel = mac_vnode_label_alloc(); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - mac_copy_vnode_label(vp->v_label, &intlabel); + mac_copy_vnode_label(vp->v_label, intlabel); VOP_UNLOCK(vp, 0, td); break; case DTYPE_PIPE: pipe = fp->f_data; - mac_init_pipe_label(&intlabel); + intlabel = mac_pipe_label_alloc(); PIPE_LOCK(pipe); - mac_copy_pipe_label(pipe->pipe_label, &intlabel); + mac_copy_pipe_label(pipe->pipe_label, intlabel); PIPE_UNLOCK(pipe); break; default: @@ -780,14 +778,14 @@ case DTYPE_FIFO: case DTYPE_VNODE: if (error == 0) - error = mac_externalize_vnode_label(&intlabel, + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: - error = mac_externalize_pipe_label(&intlabel, elements, + error = mac_externalize_pipe_label(intlabel, elements, buffer, mac.m_buflen); - mac_destroy_pipe_label(&intlabel); + mac_pipe_label_free(intlabel); break; default: panic("__mac_get_fd: corrupted label_type"); @@ -812,7 +810,7 @@ { char *elements, *buffer; struct nameidata nd; - struct label intlabel; + struct label *intlabel; struct mac mac; int error; @@ -839,13 +837,13 @@ if (error) goto out; - mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(nd.ni_vp->v_label, &intlabel); - error = mac_externalize_vnode_label(&intlabel, elements, buffer, + intlabel = mac_vnode_label_alloc(); + mac_copy_vnode_label(nd.ni_vp->v_label, intlabel); + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); NDFREE(&nd, 0); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -867,7 +865,7 @@ { char *elements, *buffer; struct nameidata nd; - struct label intlabel; + struct label *intlabel; struct mac mac; int error; @@ -894,12 +892,12 @@ if (error) goto out; - mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(nd.ni_vp->v_label, &intlabel); - error = mac_externalize_vnode_label(&intlabel, elements, buffer, + intlabel = mac_vnode_label_alloc(); + mac_copy_vnode_label(nd.ni_vp->v_label, intlabel); + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); NDFREE(&nd, 0); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -974,7 +972,7 @@ int __mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) { - struct label intlabel; + struct label *intlabel; struct pipe *pipe; struct file *fp; struct mount *mp; @@ -1007,40 +1005,38 @@ switch (fp->f_type) { case DTYPE_FIFO: case DTYPE_VNODE: - mac_init_vnode_label(&intlabel); - error = mac_internalize_vnode_label(&intlabel, buffer); + intlabel = mac_vnode_label_alloc(); + error = mac_internalize_vnode_label(intlabel, buffer); if (error) { - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; } vp = fp->f_vnode; error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error != 0) { - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; } vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - error = vn_setlabel(vp, &intlabel, td->td_ucred); + error = vn_setlabel(vp, intlabel, td->td_ucred); VOP_UNLOCK(vp, 0, td); vn_finished_write(mp); - - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: - mac_init_pipe_label(&intlabel); - error = mac_internalize_pipe_label(&intlabel, buffer); + intlabel = mac_pipe_label_alloc(); + error = mac_internalize_pipe_label(intlabel, buffer); if (error == 0) { pipe = fp->f_data; PIPE_LOCK(pipe); error = mac_pipe_label_set(td->td_ucred, pipe, - &intlabel); + intlabel); PIPE_UNLOCK(pipe); } - - mac_destroy_pipe_label(&intlabel); + mac_pipe_label_free(intlabel); break; default: @@ -1062,7 +1058,7 @@ int __mac_set_file(struct thread *td, struct __mac_set_file_args *uap) { - struct label intlabel; + struct label *intlabel; struct nameidata nd; struct mount *mp; struct mac mac; @@ -1084,13 +1080,11 @@ return (error); } - mac_init_vnode_label(&intlabel); - error = mac_internalize_vnode_label(&intlabel, buffer); + intlabel = mac_vnode_label_alloc(); + error = mac_internalize_vnode_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_vnode_label(&intlabel); - return (error); - } + if (error) + goto out; mtx_lock(&Giant); /* VFS */ @@ -1100,15 +1094,16 @@ if (error == 0) { error = vn_start_write(nd.ni_vp, &mp, V_WAIT | PCATCH); if (error == 0) - error = vn_setlabel(nd.ni_vp, &intlabel, + error = vn_setlabel(nd.ni_vp, intlabel, td->td_ucred); vn_finished_write(mp); } NDFREE(&nd, 0); mtx_unlock(&Giant); /* VFS */ - mac_destroy_vnode_label(&intlabel); +out: + mac_vnode_label_free(intlabel); return (error); } @@ -1118,7 +1113,7 @@ int __mac_set_link(struct thread *td, struct __mac_set_link_args *uap) { - struct label intlabel; + struct label *intlabel; struct nameidata nd; struct mount *mp; struct mac mac; @@ -1140,13 +1135,11 @@ return (error); } - mac_init_vnode_label(&intlabel); - error = mac_internalize_vnode_label(&intlabel, buffer); + intlabel = mac_vnode_label_alloc(); + error = mac_internalize_vnode_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_vnode_label(&intlabel); - return (error); - } + if (error) + goto out; mtx_lock(&Giant); /* VFS */ @@ -1156,15 +1149,15 @@ if (error == 0) { error = vn_start_write(nd.ni_vp, &mp, V_WAIT | PCATCH); if (error == 0) - error = vn_setlabel(nd.ni_vp, &intlabel, + error = vn_setlabel(nd.ni_vp, intlabel, td->td_ucred); vn_finished_write(mp); } NDFREE(&nd, 0); mtx_unlock(&Giant); /* VFS */ - mac_destroy_vnode_label(&intlabel); - +out: + mac_vnode_label_free(intlabel); return (error); } ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_internal.h#7 (text+ko) ==== @@ -103,11 +103,12 @@ * the namespaces, etc, should work for these, so for now, sort by * object type. */ +struct label *mac_pipe_label_alloc(void); +void mac_pipe_label_free(struct label *label); + int mac_check_cred_relabel(struct ucred *cred, struct label *newlabel); -void mac_destroy_cred_label(struct label *label); int mac_externalize_cred_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); -void mac_init_cred_label(struct label *label); int mac_internalize_cred_label(struct label *label, char *string); void mac_relabel_cred(struct ucred *cred, struct label *newlabel); @@ -116,10 +117,8 @@ int mac_internalize_mount_label(struct label *label, char *string); void mac_copy_pipe_label(struct label *src, struct label *dest); -void mac_destroy_pipe_label(struct label *label); int mac_externalize_pipe_label(struct label *label, char *elements, char *outbuf, size_t outbuflen); -void mac_init_pipe_label(struct label *label); int mac_internalize_pipe_label(struct label *label, char *string); int mac_externalize_vnode_label(struct label *label, char *elements, ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_net.c#4 (text+ko) ==== @@ -124,15 +124,6 @@ bpf_d->bd_label = mac_bpfdesc_label_alloc(); } -static void -mac_init_ifnet_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_ifnet_label, label); - MAC_DEBUG_COUNTER_INC(&nmacifnets); -} - static struct label * mac_ifnet_label_alloc(void) { @@ -229,24 +220,6 @@ return (0); } -static int -mac_init_socket_label(struct label *label, int flag) -{ - int error; - - mac_init_label(label); - - MAC_CHECK(init_socket_label, label, flag); - if (error) { - MAC_PERFORM(destroy_socket_label, label); - mac_destroy_label(label); - } else { - MAC_DEBUG_COUNTER_INC(&nmacsockets); - } - - return (error); -} - static struct label * mac_socket_label_alloc(int flag) { @@ -320,15 +293,6 @@ } static void -mac_destroy_ifnet_label(struct label *label) -{ - - MAC_PERFORM(destroy_ifnet_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacifnets); -} - -static void mac_ifnet_label_free(struct label *label) { @@ -372,15 +336,6 @@ } static void -mac_destroy_socket_label(struct label *label) -{ - - MAC_PERFORM(destroy_socket_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacsockets); -} - -static void mac_socket_label_free(struct label *label) { @@ -891,7 +846,7 @@ mac_ioctl_ifnet_set(struct ucred *cred, struct ifreq *ifr, struct ifnet *ifnet) { - struct label intlabel; + struct label *intlabel; struct mac mac; char *buffer; int error; @@ -911,11 +866,11 @@ return (error); } - mac_init_ifnet_label(&intlabel); - error = mac_internalize_ifnet_label(&intlabel, buffer); + intlabel = mac_ifnet_label_alloc(); + error = mac_internalize_ifnet_label(intlabel, buffer); free(buffer, M_MACTEMP); if (error) { - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (error); } @@ -926,20 +881,20 @@ */ error = suser_cred(cred, 0); if (error) { - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (error); } MAC_CHECK(check_ifnet_relabel, cred, ifnet, ifnet->if_label, - &intlabel); + intlabel); if (error) { - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (error); } - MAC_PERFORM(relabel_ifnet, cred, ifnet, ifnet->if_label, &intlabel); + MAC_PERFORM(relabel_ifnet, cred, ifnet, ifnet->if_label, intlabel); - mac_destroy_ifnet_label(&intlabel); + mac_ifnet_label_free(intlabel); return (0); } @@ -947,7 +902,7 @@ mac_setsockopt_label_set(struct ucred *cred, struct socket *so, struct mac *mac) { - struct label intlabel; + struct label *intlabel; char *buffer; int error; @@ -962,23 +917,23 @@ return (error); } - mac_init_socket_label(&intlabel, M_WAITOK); - error = mac_internalize_socket_label(&intlabel, buffer); + intlabel = mac_socket_label_alloc(M_WAITOK); + error = mac_internalize_socket_label(intlabel, buffer); free(buffer, M_MACTEMP); if (error) { - mac_destroy_socket_label(&intlabel); + mac_socket_label_free(intlabel); return (error); } - mac_check_socket_relabel(cred, so, &intlabel); + mac_check_socket_relabel(cred, so, intlabel); if (error) { - mac_destroy_socket_label(&intlabel); + mac_socket_label_free(intlabel); return (error); } - mac_relabel_socket(cred, so, &intlabel); + mac_relabel_socket(cred, so, intlabel); - mac_destroy_socket_label(&intlabel); + mac_socket_label_free(intlabel); return (0); } ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_pipe.c#4 (text+ko) ==== @@ -61,16 +61,7 @@ &nmacpipes, 0, "number of pipes in use"); #endif -void -mac_init_pipe_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_pipe_label, label); - MAC_DEBUG_COUNTER_INC(&nmacpipes); -} - -static struct label * +struct label * mac_pipe_label_alloc(void) { struct label *label; @@ -90,15 +81,6 @@ } void -mac_destroy_pipe_label(struct label *label) -{ - - MAC_PERFORM(destroy_pipe_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacpipes); -} - -static void mac_pipe_label_free(struct label *label) { ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_process.c#4 (text+ko) ==== @@ -96,16 +96,7 @@ static void mac_cred_mmapped_drop_perms_recurse(struct thread *td, struct ucred *cred, struct vm_map *map); -void -mac_init_cred_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_cred_label, label); - MAC_DEBUG_COUNTER_INC(&nmaccreds); -} - -static struct label * +struct label * mac_cred_label_alloc(void) { struct label *label; @@ -141,7 +132,7 @@ p->p_label = mac_proc_label_alloc(); } -static void +void mac_cred_label_free(struct label *label) { @@ -151,15 +142,6 @@ } void -mac_destroy_cred_label(struct label *label) -{ - - MAC_PERFORM(destroy_cred_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmaccreds); -} - -void mac_destroy_cred(struct ucred *cred) { @@ -247,9 +229,9 @@ } int -mac_execve_enter(struct image_params *imgp, struct mac *mac_p, - struct label *execlabelstorage) +mac_execve_enter(struct image_params *imgp, struct mac *mac_p) { + struct label *label; struct mac mac; char *buffer; int error; @@ -272,22 +254,24 @@ return (error); } - mac_init_cred_label(execlabelstorage); - error = mac_internalize_cred_label(execlabelstorage, buffer); + label = mac_cred_label_alloc(); + error = mac_internalize_cred_label(label, buffer); free(buffer, M_MACTEMP); if (error) { - mac_destroy_cred_label(execlabelstorage); + mac_cred_label_free(label); return (error); } - imgp->execlabel = execlabelstorage; + imgp->execlabel = label; return (0); } void mac_execve_exit(struct image_params *imgp) { - if (imgp->execlabel != NULL) - mac_destroy_cred_label(imgp->execlabel); + if (imgp->execlabel != NULL) { + mac_cred_label_free(imgp->execlabel); + imgp->execlabel = NULL; + } } /* ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_vfs.c#6 (text+ko) ==== @@ -156,16 +156,7 @@ mp->mnt_fslabel = mac_mount_fs_label_alloc(); } -void -mac_init_vnode_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_vnode_label, label); - MAC_DEBUG_COUNTER_INC(&nmacvnodes); -} - -static struct label * +struct label * mac_vnode_label_alloc(void) { struct label *label; @@ -237,15 +228,6 @@ } void -mac_destroy_vnode_label(struct label *label) -{ - - MAC_PERFORM(destroy_vnode_label, label); - mac_destroy_label(label); - MAC_DEBUG_COUNTER_DEC(&nmacvnodes); -} - -static void mac_vnode_label_free(struct label *label) { ==== //depot/projects/trustedbsd/sebsd/sys/security/mac_biba/mac_biba.c#8 (text+ko) ==== ==== //depot/projects/trustedbsd/sebsd/sys/sys/mac.h#11 (text+ko) ==== @@ -158,7 +158,6 @@ void mac_init_mount(struct mount *); void mac_init_proc(struct proc *); void mac_init_vnode(struct vnode *); -void mac_init_vnode_label(struct label *); void mac_init_mount_label(struct label *); void mac_copy_mbuf_tag(struct m_tag *, struct m_tag *); void mac_copy_vnode_label(struct label *, struct label *label); @@ -180,9 +179,13 @@ void mac_destroy_mbuf_tag(struct m_tag *); void mac_destroy_mount(struct mount *); void mac_destroy_vnode(struct vnode *); -void mac_destroy_vnode_label(struct label *); void mac_destroy_mount_label(struct label *); +struct label *mac_cred_label_alloc(void); +void mac_cred_label_free(struct label *label); +struct label *mac_vnode_label_alloc(void); +void mac_vnode_label_free(struct label *label); + /* * Labeling event operations: file system objects, and things that * look a lot like file system objects. @@ -264,8 +267,7 @@ * Labeling event operations: processes. */ void mac_create_cred(struct ucred *cred_parent, struct ucred *cred_child); -int mac_execve_enter(struct image_params *imgp, struct mac *mac_p, - struct label *execlabel); +int mac_execve_enter(struct image_params *imgp, struct mac *mac_p); void mac_execve_exit(struct image_params *imgp); void mac_execve_transition(struct ucred *old, struct ucred *new, struct vnode *vp, struct label *interpvnodelabel, From owner-p4-projects@FreeBSD.ORG Sun Nov 9 19:52:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98F0A16A4D0; Sun, 9 Nov 2003 19:52:21 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 59D4F16A4CE for ; Sun, 9 Nov 2003 19:52:21 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AEF3F43FA3 for ; Sun, 9 Nov 2003 19:52:20 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA3qKXJ066594 for ; Sun, 9 Nov 2003 19:52:20 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA3qJO9066591 for perforce@freebsd.org; Sun, 9 Nov 2003 19:52:19 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 19:52:19 -0800 (PST) Message-Id: <200311100352.hAA3qJO9066591@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 03:52:22 -0000 X-List-Received-Date: Mon, 10 Nov 2003 03:52:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=41859 Change 41859 by rwatson@rwatson_paprika on 2003/11/09 19:51:22 Use zone-allocated temporary label storage for mac_get_fs() and lmount(), rather than stack-allocated storage. GC old interfaces. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#19 edit .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_internal.h#8 edit .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_vfs.c#7 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_mac.c#19 (text+ko) ==== @@ -916,7 +916,7 @@ { char *elements, *buffer; struct nameidata nd; - struct label intlabel; + struct label *intlabel; struct mac mac; int error; struct mount *mp; @@ -946,13 +946,13 @@ mp = nd.ni_vp->v_mount; - mac_init_mount_label(&intlabel); - mac_copy_mount_label(mp->mnt_mntlabel, &intlabel); - error = mac_externalize_mount_label(&intlabel, elements, buffer, + intlabel = mac_mount_label_alloc(); + mac_copy_mount_label(mp->mnt_mntlabel, intlabel); + error = mac_externalize_mount_label(intlabel, elements, buffer, mac.m_buflen, M_WAITOK); NDFREE(&nd, 0); - mac_destroy_mount_label(&intlabel); + mac_mount_label_free(intlabel); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -1215,7 +1215,7 @@ char *buffer; int error; struct mac mac; - struct label intlabel; + struct label *intlabel; error = copyin(uap->mac_p, &mac, sizeof(mac)); if (error) @@ -1232,13 +1232,11 @@ return (error); } - mac_init_mount_label(&intlabel); - error = mac_internalize_mount_label(&intlabel, buffer); + intlabel = mac_mount_label_alloc(); + error = mac_internalize_mount_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_mount_label(&intlabel); - return (error); - } + if (error) + goto out; fstype = malloc(MFSNAMELEN, M_TEMP, M_WAITOK); fspath = malloc(MNAMELEN, M_TEMP, M_WAITOK); @@ -1251,9 +1249,12 @@ if (error == 0) error = copyinstr(uap->path, fspath, MNAMELEN, NULL); if (error == 0) - error = vfs_mount(td, fstype, fspath, uap->flags, uap->data, &intlabel); + error = vfs_mount(td, fstype, fspath, uap->flags, uap->data, + intlabel); free(fstype, M_TEMP); free(fspath, M_TEMP); +out: + mac_mount_label_free(intlabel); return (error); } ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_internal.h#8 (text+ko) ==== @@ -103,6 +103,8 @@ * the namespaces, etc, should work for these, so for now, sort by * object type. */ +struct label *mac_mount_label_alloc(void); +void mac_mount_label_free(struct label *label); struct label *mac_pipe_label_alloc(void); void mac_pipe_label_free(struct label *label); ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_vfs.c#7 (text+ko) ==== @@ -118,7 +118,7 @@ de->de_label = mac_devfsdirent_label_alloc(); } -static struct label * +struct label * mac_mount_label_alloc(void) { struct label *label; @@ -141,14 +141,6 @@ } void -mac_init_mount_label(struct label *label) -{ - - mac_init_label(label); - MAC_PERFORM(init_mount_label, label); -} - -void mac_init_mount(struct mount *mp) { @@ -191,7 +183,7 @@ de->de_label = NULL; } -static void +void mac_mount_label_free(struct label *label) { @@ -210,14 +202,6 @@ } void -mac_destroy_mount_label(struct label *label) -{ - - MAC_PERFORM(destroy_mount_label, label); - mac_destroy_label(label); -} - -void mac_destroy_mount(struct mount *mp) { From owner-p4-projects@FreeBSD.ORG Sun Nov 9 19:52:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FDBC16A4CF; Sun, 9 Nov 2003 19:52:22 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0737B16A4D2 for ; Sun, 9 Nov 2003 19:52:22 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7668443FA3 for ; Sun, 9 Nov 2003 19:52:21 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA3qLXJ066600 for ; Sun, 9 Nov 2003 19:52:21 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA3qKPL066597 for perforce@freebsd.org; Sun, 9 Nov 2003 19:52:20 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 19:52:20 -0800 (PST) Message-Id: <200311100352.hAA3qKPL066597@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41860 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 03:52:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=41860 Change 41860 by rwatson@rwatson_paprika on 2003/11/09 19:51:52 Further GC of old MAC mount label interfaces. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/sys/mac.h#12 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/sys/mac.h#12 (text+ko) ==== @@ -158,7 +158,6 @@ void mac_init_mount(struct mount *); void mac_init_proc(struct proc *); void mac_init_vnode(struct vnode *); -void mac_init_mount_label(struct label *); void mac_copy_mbuf_tag(struct m_tag *, struct m_tag *); void mac_copy_vnode_label(struct label *, struct label *label); void mac_copy_mount_label(struct label *, struct label *label); @@ -179,7 +178,6 @@ void mac_destroy_mbuf_tag(struct m_tag *); void mac_destroy_mount(struct mount *); void mac_destroy_vnode(struct vnode *); -void mac_destroy_mount_label(struct label *); struct label *mac_cred_label_alloc(void); void mac_cred_label_free(struct label *label); From owner-p4-projects@FreeBSD.ORG Sun Nov 9 20:09:45 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8050C16A4D0; Sun, 9 Nov 2003 20:09:45 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B1B416A4CE for ; Sun, 9 Nov 2003 20:09:45 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C2AFD43F75 for ; Sun, 9 Nov 2003 20:09:44 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA49iXJ068147 for ; Sun, 9 Nov 2003 20:09:44 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA49ieX068144 for perforce@freebsd.org; Sun, 9 Nov 2003 20:09:44 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 20:09:44 -0800 (PST) Message-Id: <200311100409.hAA49ieX068144@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41863 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 04:09:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=41863 Change 41863 by rwatson@rwatson_paprika on 2003/11/09 20:09:09 Compress mac_get_fd() logic a bit: only need one switch statement. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#426 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#426 (text+ko) ==== @@ -752,53 +752,34 @@ vp = fp->f_vnode; intlabel = mac_vnode_label_alloc(); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); mac_copy_vnode_label(vp->v_label, intlabel); VOP_UNLOCK(vp, 0, td); - + error = mac_externalize_vnode_label(intlabel, elements, + buffer, mac.m_buflen); + mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: pipe = fp->f_data; intlabel = mac_pipe_label_alloc(); - PIPE_LOCK(pipe); mac_copy_pipe_label(pipe->pipe_label, intlabel); PIPE_UNLOCK(pipe); - break; - default: - error = EINVAL; - fdrop(fp, td); - goto out; - } - fdrop(fp, td); - - switch (label_type) { - case DTYPE_FIFO: - case DTYPE_VNODE: - if (error == 0) - error = mac_externalize_vnode_label(intlabel, - elements, buffer, mac.m_buflen); - mac_vnode_label_free(intlabel); - break; - case DTYPE_PIPE: error = mac_externalize_pipe_label(intlabel, elements, buffer, mac.m_buflen); mac_pipe_label_free(intlabel); break; default: - panic("__mac_get_fd: corrupted label_type"); + error = EINVAL; } - + fdrop(fp, td); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); - out: mtx_unlock(&Giant); /* VFS */ free(buffer, M_MACTEMP); free(elements, M_MACTEMP); - return (error); } From owner-p4-projects@FreeBSD.ORG Sun Nov 9 20:11:49 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B594E16A4D0; Sun, 9 Nov 2003 20:11:48 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8EAE016A4CE for ; Sun, 9 Nov 2003 20:11:48 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E174943F93 for ; Sun, 9 Nov 2003 20:11:47 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA4BlXJ068354 for ; Sun, 9 Nov 2003 20:11:47 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA4Bl3n068351 for perforce@freebsd.org; Sun, 9 Nov 2003 20:11:47 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Sun, 9 Nov 2003 20:11:47 -0800 (PST) Message-Id: <200311100411.hAA4Bl3n068351@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 41864 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 04:11:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=41864 Change 41864 by jmallett@jmallett_dalek on 2003/11/09 20:11:23 1) Damnation to whoever decided to omit binary notation from C. 2) Foolish me for 0x11 when I meant 0x03. 3) Macroify TLB EntryHi generation, XXX the macro names suck. 4) Make tlb_invalidate_page() DWIM. 5) Write CP0's Wired register a 1, soon there will be more wired mappings, once I get past weird, deterministic stuff I'm seeing, and I do software page tables at a fixed VA. Affected files ... .. //depot/projects/mips/sys/mips/include/pte.h#14 edit .. //depot/projects/mips/sys/mips/mips/tlb.c#14 edit Differences ... ==== //depot/projects/mips/sys/mips/include/pte.h#14 (text+ko) ==== @@ -70,13 +70,17 @@ #ifdef LOCORE #define MIPS_HI_R_USER (0x00 << MIPS_HI_R_SHIFT) #define MIPS_HI_R_SUPERVISOR (0x01 << MIPS_HI_R_SHIFT) -#define MIPS_HI_R_KERNEL (0x11 << MIPS_HI_R_SHIFT) +#define MIPS_HI_R_KERNEL (0x03 << MIPS_HI_R_SHIFT) #else #define MIPS_HI_R_USER (0x00UL << MIPS_HI_R_SHIFT) #define MIPS_HI_R_SUPERVISOR (0x01UL << MIPS_HI_R_SHIFT) -#define MIPS_HI_R_KERNEL (0x11UL << MIPS_HI_R_SHIFT) +#define MIPS_HI_R_KERNEL (0x03UL << MIPS_HI_R_SHIFT) #endif +#define MIPS_HI_R_MASK (MIPS_HI_R_USER | MIPS_HI_R_SUPERVISOR | MIPS_HI_R_KERNEL) +#define MIPS_HI_VA_R(va) ((va) & MIPS_HI_R_MASK) #define MIPS_HI_FILL_SHIFT 40 +#define MIPS_HI_FILL_MASK ((0x800000UL - 1) << MIPS_HI_FILL_SHIFT) +#define MIPS_HI_VA_FILL(va) ((((va) & (1ULL << 63)) != 0 ? MIPS_HI_FILL_MASK : 0)) #define MIPS_HI_VPN2_SHIFT 13 #ifdef LOCORE #define MIPS_HI_VPN2_BMASK 0xFFFFFFF @@ -85,6 +89,10 @@ #endif #define MIPS_HI_VPN2_MASK (MIPS_HI_VPN2_BMASK << MIPS_HI_VPN2_SHIFT) #define MIPS_HI_VA_TO_VPN2(va) ((va) & MIPS_HI_VPN2_MASK) +#define MIPS_HI_ENTRY(va, asid) ((MIPS_HI_VA_R((va))) /* Region. */ | \ + (MIPS_HI_VA_FILL((va))) /* Fill. */ | \ + (MIPS_HI_VA_TO_VPN2((va))) /* VPN2. */ | \ + ((asid))) /* * TLB flags managed in hardware: ==== //depot/projects/mips/sys/mips/mips/tlb.c#14 (text+ko) ==== @@ -93,6 +93,11 @@ */ mips_wr_entryhi(0); tlb_invalidate_all(); + + /* + * Just one wired TLB entry. + */ + mips_wr_wired(1); } void @@ -154,12 +159,7 @@ int i; va &= ~PAGE_MASK; - ehi = 0; - ehi |= (va & (1UL << 63 | 1UL << 62)); - if ((va & (1UL << 63)) != 0) - ehi |= (0x800000UL - 1) << 40; - ehi |= MIPS_HI_VA_TO_VPN2(va); - ehi |= /* asid */0; + ehi = MIPS_HI_ENTRY(va, /*asid*/0); mips_wr_entryhi(ehi); mips_tlbp(); i = mips_rd_index(); @@ -199,8 +199,18 @@ void tlb_invalidate_page(vm_offset_t va) { + u_long ehi; + int i; + va &= ~PAGE_MASK; - tlb_invalidate_all(); + ehi = MIPS_HI_ENTRY(va, /*asid*/0); + mips_wr_entryhi(ehi); + mips_tlbp(); + i = mips_rd_index(); + if (i < 0) + printf("%s: %#lx not in tlb\n", __func__, va); + else + tlb_invalidate_one(va); } void From owner-p4-projects@FreeBSD.ORG Sun Nov 9 20:12:50 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF68E16A4D0; Sun, 9 Nov 2003 20:12:50 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 855DA16A4CE for ; Sun, 9 Nov 2003 20:12:50 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D6CB643FBF for ; Sun, 9 Nov 2003 20:12:49 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA4CnXJ068406 for ; Sun, 9 Nov 2003 20:12:49 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA4Cnc0068403 for perforce@freebsd.org; Sun, 9 Nov 2003 20:12:49 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 20:12:49 -0800 (PST) Message-Id: <200311100412.hAA4Cnc0068403@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41865 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 04:12:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=41865 Change 41865 by rwatson@rwatson_paprika on 2003/11/09 20:11:58 Push Giant further into mac_get_fd() and mac_set_fd(): only Grab Giant for VFS stuff, it's not needed for file descriptors or pipes. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#427 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#427 (text+ko) ==== @@ -740,7 +740,6 @@ } buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); - mtx_lock(&Giant); /* VFS */ error = fget(td, uap->fd, &fp); if (error) goto out; @@ -751,6 +750,7 @@ case DTYPE_VNODE: vp = fp->f_vnode; + mtx_lock(&Giant); /* VFS */ intlabel = mac_vnode_label_alloc(); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); mac_copy_vnode_label(vp->v_label, intlabel); @@ -758,6 +758,7 @@ error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); mac_vnode_label_free(intlabel); + mtx_unlock(&Giant); /* VFS */ break; case DTYPE_PIPE: pipe = fp->f_data; @@ -777,7 +778,6 @@ if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); out: - mtx_unlock(&Giant); /* VFS */ free(buffer, M_MACTEMP); free(elements, M_MACTEMP); return (error); @@ -922,8 +922,6 @@ return (error); } - mtx_lock(&Giant); /* VFS */ - error = fget(td, uap->fd, &fp); if (error) goto out; @@ -939,6 +937,7 @@ } vp = fp->f_vnode; + mtx_lock(&Giant); /* VFS */ error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error != 0) { mac_vnode_label_free(intlabel); @@ -950,6 +949,7 @@ VOP_UNLOCK(vp, 0, td); vn_finished_write(mp); mac_vnode_label_free(intlabel); + mtx_unlock(&Giant); /* VFS */ break; case DTYPE_PIPE: @@ -968,13 +968,9 @@ default: error = EINVAL; } - fdrop(fp, td); out: - mtx_unlock(&Giant); /* VFS */ - free(buffer, M_MACTEMP); - return (error); } From owner-p4-projects@FreeBSD.ORG Sun Nov 9 20:53:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A8F016A4D0; Sun, 9 Nov 2003 20:53:28 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2302016A4CE for ; Sun, 9 Nov 2003 20:53:28 -0800 (PST) Received: from dragon.nuxi.com (trang.nuxi.com [66.93.134.19]) by mx1.FreeBSD.org (Postfix) with ESMTP id 508ED43FD7 for ; Sun, 9 Nov 2003 20:53:27 -0800 (PST) (envelope-from obrien@dragon.nuxi.com) Received: from dragon.nuxi.com (obrien@localhost [127.0.0.1]) by dragon.nuxi.com (8.12.9/8.12.9) with ESMTP id hAA4qofY062475; Sun, 9 Nov 2003 20:52:50 -0800 (PST) (envelope-from obrien@dragon.nuxi.com) Received: (from obrien@localhost) by dragon.nuxi.com (8.12.10/8.12.9/Submit) id hAA4qnsj062474; Sun, 9 Nov 2003 20:52:49 -0800 (PST) (envelope-from obrien) Date: Sun, 9 Nov 2003 20:52:48 -0800 From: "David O'Brien" To: David Rhodus Message-ID: <20031110045248.GA52008@dragon.nuxi.com> References: <200311091919.hA9JJCSL021813@repoman.freebsd.org> <37E7BF04-12EA-11D8-BF9A-000A959B213E@catpa.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <37E7BF04-12EA-11D8-BF9A-000A959B213E@catpa.com> User-Agent: Mutt/1.4.1i X-Operating-System: FreeBSD 5.1-CURRENT Organization: The NUXI BSD Group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 cc: Perforce Change Reviews Subject: Re: PERFORCE change 41815 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: obrien@freebsd.org List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 04:53:28 -0000 On Sun, Nov 09, 2003 at 02:23:37PM -0500, David Rhodus wrote: > > On Nov 9, 2003, at 2:19 PM, Peter Wemm wrote: > > >http://perforce.freebsd.org/chv.cgi?CH=41815 > > > >Change 41815 by peter@peter_overcee on 2003/11/09 11:18:13 > > > > change MAXCPU to 8 for the SMP case since thats the largest > > configuration cpu that AMD sells for SMP systems. > > Is there any place that is selling these motherboards yet ? I've seen > the > processors at a few sites but not the boards.... Selling Opteron, or 8-way systems? AMD does not give out (sell) >4 way systems. 8-way is the max "glueless" system you can make -- that is a big deal of the AMD architecture -- that you don't need a custom chipset to build an 8-way system. -- -- David (obrien@FreeBSD.org) From owner-p4-projects@FreeBSD.ORG Sun Nov 9 21:02:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65B5E16A4D0; Sun, 9 Nov 2003 21:02:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3EDDE16A4CE for ; Sun, 9 Nov 2003 21:02:52 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 919A243FF2 for ; Sun, 9 Nov 2003 21:02:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA52pXJ076276 for ; Sun, 9 Nov 2003 21:02:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA52pJZ076273 for perforce@freebsd.org; Sun, 9 Nov 2003 21:02:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 21:02:51 -0800 (PST) Message-Id: <200311100502.hAA52pJZ076273@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41867 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 05:02:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=41867 Change 41867 by rwatson@rwatson_paprika on 2003/11/09 21:02:17 Change f_label in struct file from a struct label to a struct label *: allocate file entry labels using the label UMA zone instead of storage in the parent structure. This greatly reduces the memory overhead of a struct file in the non-MAC case, and permits us to change the size and shape of struct mac without changing the binary storage of struct file. No changes to policies or MAC Framework entry points required. With this size reduction, it should now be feasible to merge struct file labeling into the main FreeBSD tree. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_descrip.c#9 edit .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_file.c#3 edit .. //depot/projects/trustedbsd/sebsd/sys/sys/file.h#6 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_descrip.c#9 (text+ko) ==== ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_file.c#3 (text+ko) ==== @@ -65,22 +65,39 @@ &nmacfiles, 0, "number of files in use"); #endif +static struct label * +mac_file_label_alloc(void) +{ + struct label *label; + + label = mac_labelzone_alloc(M_WAITOK); + MAC_PERFORM(init_file_label, label); + MAC_DEBUG_COUNTER_INC(&nmacfiles); + return (label); +} + void mac_init_file(struct file *fp) { - mac_init_label(&fp->f_label); - MAC_PERFORM(init_file_label, &fp->f_label); - MAC_DEBUG_COUNTER_INC(&nmacfiles); + fp->f_label = mac_file_label_alloc(); +} + +static void +mac_file_label_free(struct label *label) +{ + + MAC_PERFORM(destroy_file_label, label); + mac_labelzone_free(label); + MAC_DEBUG_COUNTER_DEC(&nmacfiles); } void mac_destroy_file(struct file *fp) { - MAC_PERFORM(destroy_file_label, &fp->f_label); - mac_destroy_label(&fp->f_label); - MAC_DEBUG_COUNTER_DEC(&nmacfiles); + mac_file_label_free(fp->f_label); + fp->f_label = NULL; } int @@ -101,7 +118,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_dup, cred, fp, &fp->f_label, newfd); + MAC_CHECK(check_file_dup, cred, fp, fp->f_label, newfd); return (error); } @@ -112,7 +129,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_ioctl, cred, fp, &fp->f_label, com); + MAC_CHECK(check_file_ioctl, cred, fp, fp->f_label, com); return (error); } @@ -123,7 +140,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_inherit, cred, fp, &fp->f_label); + MAC_CHECK(check_file_inherit, cred, fp, fp->f_label); return (error); } @@ -134,7 +151,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_receive, cred, fp, &fp->f_label); + MAC_CHECK(check_file_receive, cred, fp, fp->f_label); return (error); } @@ -145,7 +162,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_get_flags, cred, fp, &fp->f_label, flags); + MAC_CHECK(check_file_get_flags, cred, fp, fp->f_label, flags); return (error); } @@ -156,7 +173,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_get_ofileflags, cred, fp, &fp->f_label, flags); + MAC_CHECK(check_file_get_ofileflags, cred, fp, fp->f_label, flags); return (error); } @@ -168,7 +185,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_change_flags, cred, fp, &fp->f_label, oldflags, + MAC_CHECK(check_file_change_flags, cred, fp, fp->f_label, oldflags, newflags); return (error); } @@ -181,7 +198,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_change_ofileflags, cred, fp, &fp->f_label, + MAC_CHECK(check_file_change_ofileflags, cred, fp, fp->f_label, oldflags, newflags); return (error); } @@ -193,7 +210,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_get_offset, cred, fp, &fp->f_label); + MAC_CHECK(check_file_get_offset, cred, fp, fp->f_label); return (error); } @@ -204,7 +221,7 @@ if (!mac_enforce_file) return (0); - MAC_CHECK(check_file_change_offset, cred, fp, &fp->f_label); + MAC_CHECK(check_file_change_offset, cred, fp, fp->f_label); return (error); } @@ -212,5 +229,5 @@ mac_create_file(struct ucred *cred, struct file *fp) { - MAC_PERFORM(create_file, cred, fp, &fp->f_label); + MAC_PERFORM(create_file, cred, fp, fp->f_label); } ==== //depot/projects/trustedbsd/sebsd/sys/sys/file.h#6 (text+ko) ==== @@ -45,7 +45,6 @@ #include #include #include -#include struct stat; struct thread; @@ -136,7 +135,7 @@ off_t f_nextoff; /* * offset of next expected read or write */ - struct label f_label; /* MAC label */ + struct label *f_label; /* MAC label */ }; #endif /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Sun Nov 9 21:07:59 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 184B416A4D0; Sun, 9 Nov 2003 21:07:59 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E7BFD16A4CE for ; Sun, 9 Nov 2003 21:07:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63CAD43FBD for ; Sun, 9 Nov 2003 21:07:58 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA57wXJ077360 for ; Sun, 9 Nov 2003 21:07:58 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA57vWx077357 for perforce@freebsd.org; Sun, 9 Nov 2003 21:07:57 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 21:07:57 -0800 (PST) Message-Id: <200311100507.hAA57vWx077357@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41868 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 05:07:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=41868 Change 41868 by rwatson@rwatson_paprika on 2003/11/09 21:07:13 Interplabel is a vnode label, not a cred label. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_exec.c#67 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_exec.c#67 (text+ko) ==== @@ -338,7 +338,7 @@ /* free name buffer and old vnode */ NDFREE(ndp, NDF_ONLY_PNBUF); #ifdef MAC - interplabel = mac_cred_label_alloc(); + interplabel = mac_vnode_label_alloc(); mac_copy_vnode_label(ndp->ni_vp->v_label, interplabel); #endif vput(ndp->ni_vp); From owner-p4-projects@FreeBSD.ORG Sun Nov 9 21:10:04 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 32E1216A4D0; Sun, 9 Nov 2003 21:10:04 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0DE2916A4CE for ; Sun, 9 Nov 2003 21:10:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7372A43FF2 for ; Sun, 9 Nov 2003 21:10:01 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAA5A1XJ077436 for ; Sun, 9 Nov 2003 21:10:01 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAA5A1DZ077433 for perforce@freebsd.org; Sun, 9 Nov 2003 21:10:01 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 9 Nov 2003 21:10:01 -0800 (PST) Message-Id: <200311100510.hAA5A1DZ077433@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41869 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 05:10:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=41869 Change 41869 by rwatson@rwatson_paprika on 2003/11/09 21:09:32 Integ fix from MAC: interplabel is a vnode label, not a cred label. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_exec.c#9 integrate Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_exec.c#9 (text+ko) ==== @@ -339,7 +339,7 @@ /* free name buffer and old vnode */ NDFREE(ndp, NDF_ONLY_PNBUF); #ifdef MAC - interplabel = mac_cred_label_alloc(); + interplabel = mac_vnode_label_alloc(); mac_copy_vnode_label(ndp->ni_vp->v_label, interplabel); #endif vput(ndp->ni_vp); From owner-p4-projects@FreeBSD.ORG Mon Nov 10 07:01:13 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B43D916A4D0; Mon, 10 Nov 2003 07:01:12 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8CAA216A4CE for ; Mon, 10 Nov 2003 07:01:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0ED014400B for ; Mon, 10 Nov 2003 07:01:12 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAAF1BXJ024695 for ; Mon, 10 Nov 2003 07:01:11 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAAF1B7S024692 for perforce@freebsd.org; Mon, 10 Nov 2003 07:01:11 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Mon, 10 Nov 2003 07:01:11 -0800 (PST) Message-Id: <200311101501.hAAF1B7S024692@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 41895 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 15:01:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=41895 Change 41895 by areisse@areisse_ibook on 2003/11/10 07:00:55 extattr syscall wrappers and utilities Affected files ... .. //depot/projects/trustedbsd/sedarwin/extattr_cmds/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin/extattr_cmds/extattrcmds.c#1 add .. //depot/projects/trustedbsd/sedarwin/libextattr/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin/libextattr/extattr.c#1 add .. //depot/projects/trustedbsd/sedarwin/libmac/mac_set.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/libmac/mac_set.c#3 (text+ko) ==== @@ -49,13 +49,13 @@ int mac_set_file(const char *path, struct mac *label) { - return ENOSYS; + return syscall (344, path, label); } int mac_set_link(const char *path, struct mac *label) { - return ENOSYS; + return syscall (345, path, label); } int From owner-p4-projects@FreeBSD.ORG Mon Nov 10 07:28:48 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE10816A4E3; Mon, 10 Nov 2003 07:28:47 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 76B1416A4D9 for ; Mon, 10 Nov 2003 07:28:47 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DB4DA43FAF for ; Mon, 10 Nov 2003 07:28:46 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAAFSkXJ027048 for ; Mon, 10 Nov 2003 07:28:46 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAAFSjDM027045 for perforce@freebsd.org; Mon, 10 Nov 2003 07:28:45 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Mon, 10 Nov 2003 07:28:45 -0800 (PST) Message-Id: <200311101528.hAAFSjDM027045@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 41896 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 15:28:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=41896 Change 41896 by areisse@areisse_ibook on 2003/11/10 07:28:10 darwin has pam, but with a different include directory Affected files ... .. //depot/projects/trustedbsd/sedarwin/libsebsd/query_user_context.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/libsebsd/query_user_context.c#3 (text+ko) ==== @@ -34,13 +34,13 @@ * $FreeBSD$ */ -#ifdef USE_PAM +#ifndef DONT_USE_PAM #include #include #include -#include +#include #include "sebsd.h" From owner-p4-projects@FreeBSD.ORG Mon Nov 10 08:38:24 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A60316A4D0; Mon, 10 Nov 2003 08:38:24 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5157116A4CE for ; Mon, 10 Nov 2003 08:38:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A15143FBD for ; Mon, 10 Nov 2003 08:38:20 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAAGcKXJ031352 for ; Mon, 10 Nov 2003 08:38:20 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAAGcJ97031349 for perforce@freebsd.org; Mon, 10 Nov 2003 08:38:19 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Mon, 10 Nov 2003 08:38:19 -0800 (PST) Message-Id: <200311101638.hAAGcJ97031349@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 41903 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 16:38:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=41903 Change 41903 by jhb@jhb_laptop on 2003/11/10 08:38:16 IFC @41902. Affected files ... .. //depot/projects/smpng/sys/conf/files#91 integrate .. //depot/projects/smpng/sys/crypto/rijndael/rijndael-alg-fst.c#4 integrate .. //depot/projects/smpng/sys/crypto/rijndael/rijndael-alg-fst.h#3 integrate .. //depot/projects/smpng/sys/crypto/rijndael/rijndael-api-fst.c#7 integrate .. //depot/projects/smpng/sys/crypto/rijndael/rijndael-api-fst.h#4 integrate .. //depot/projects/smpng/sys/dev/aha/aha.c#12 integrate .. //depot/projects/smpng/sys/dev/aha/aha_isa.c#7 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#28 integrate .. //depot/projects/smpng/sys/dev/sn/if_sn.c#11 integrate .. //depot/projects/smpng/sys/dev/sn/if_sn_isa.c#4 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#68 integrate .. //depot/projects/smpng/sys/i386/i386/initcpu.c#21 integrate .. //depot/projects/smpng/sys/i4b/driver/i4b_rbch.c#12 integrate .. //depot/projects/smpng/sys/i4b/driver/i4b_tel.c#10 integrate .. //depot/projects/smpng/sys/i4b/driver/i4b_trace.c#11 integrate .. //depot/projects/smpng/sys/i4b/include/i4b_global.h#3 integrate .. //depot/projects/smpng/sys/i4b/layer4/i4b_i4bdrv.c#16 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#70 integrate .. //depot/projects/smpng/sys/kern/sysv_sem.c#23 integrate .. //depot/projects/smpng/sys/modules/netgraph/etf/Makefile#3 integrate .. //depot/projects/smpng/sys/netinet6/ah_core.c#5 integrate .. //depot/projects/smpng/sys/netinet6/esp_core.c#8 integrate .. //depot/projects/smpng/sys/netinet6/esp_rijndael.h#3 integrate .. //depot/projects/smpng/sys/sys/signalvar.h#20 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#35 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#48 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#35 integrate Differences ... ==== //depot/projects/smpng/sys/conf/files#91 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.845 2003/11/07 09:18:52 harti Exp $ +# $FreeBSD: src/sys/conf/files,v 1.846 2003/11/10 10:39:14 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -208,7 +208,7 @@ crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec crypto/rijndael/rijndael-api-fst.c optional ipsec -opencrypto/rmd160.c optional ipsec +opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec ddb/db_access.c optional ddb @@ -1462,12 +1462,12 @@ netinet/tcp_timer.c optional inet netinet/tcp_usrreq.c optional inet netinet/udp_usrreq.c optional inet -#netinet6/ah_aesxcbcmac.c optional ipsec +netinet6/ah_aesxcbcmac.c optional ipsec netinet6/ah_core.c optional ipsec netinet6/ah_input.c optional ipsec netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 -#netinet6/esp_aesctr.c optional ipsec ipsec_esp +netinet6/esp_aesctr.c optional ipsec ipsec_esp netinet6/esp_core.c optional ipsec ipsec_esp netinet6/esp_input.c optional ipsec ipsec_esp netinet6/esp_output.c optional ipsec ipsec_esp ==== //depot/projects/smpng/sys/crypto/rijndael/rijndael-alg-fst.c#4 (text+ko) ==== @@ -1,19 +1,31 @@ -/* $KAME: rijndael-alg-fst.c,v 1.7 2001/05/27 00:23:23 itojun Exp $ */ - -/* - * rijndael-alg-fst.c v2.3 April '2000 +/* $KAME: rijndael-alg-fst.c,v 1.10 2003/07/15 10:47:16 itojun Exp $ */ +/** + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) * - * Optimised ANSI C code + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto * - * authors: v1.0: Antoon Bosselaers - * v2.0: Vincent Rijmen - * v2.3: Paulo Barreto + * This code is hereby placed in the public domain. * - * This code is placed in the public domain. + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - #include -__FBSDID("$FreeBSD: src/sys/crypto/rijndael/rijndael-alg-fst.c,v 1.6 2003/10/19 21:28:33 ume Exp $"); +__FBSDID("$FreeBSD: src/sys/crypto/rijndael/rijndael-alg-fst.c,v 1.7 2003/11/10 10:33:39 ume Exp $"); #include #include @@ -22,1426 +34,1186 @@ #else #include #endif + #include #include -const u8 S[256] = { - 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, -202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, -183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, - 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, - 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, - 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, -208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, - 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, -205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, - 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, -224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, -231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, -186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, -112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, -225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, -140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22 -}; +/* +Te0[x] = S [x].[02, 01, 01, 03]; +Te1[x] = S [x].[03, 02, 01, 01]; +Te2[x] = S [x].[01, 03, 02, 01]; +Te3[x] = S [x].[01, 01, 03, 02]; +Te4[x] = S [x].[01, 01, 01, 01]; -#ifdef INTERMEDIATE_VALUE_KAT -static const u8 Si[256] = { - 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, -124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, - 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, - 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, -114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, -108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, -144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, -208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, - 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, -150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, - 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, -252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, - 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, - 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, -160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, - 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125 -}; -#endif /* INTERMEDIATE_VALUE_KAT */ +Td0[x] = Si[x].[0e, 09, 0d, 0b]; +Td1[x] = Si[x].[0b, 0e, 09, 0d]; +Td2[x] = Si[x].[0d, 0b, 0e, 09]; +Td3[x] = Si[x].[09, 0d, 0b, 0e]; +Td4[x] = Si[x].[01, 01, 01, 01]; +*/ -union xtab { - u32 xt32[256]; - u8 xt8[256][4]; +static const u32 Te0[256] = { + 0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU, + 0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U, + 0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU, + 0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU, + 0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U, + 0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU, + 0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU, + 0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU, + 0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU, + 0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU, + 0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U, + 0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU, + 0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU, + 0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U, + 0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU, + 0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU, + 0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU, + 0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU, + 0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU, + 0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U, + 0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU, + 0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU, + 0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU, + 0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU, + 0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U, + 0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U, + 0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U, + 0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U, + 0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU, + 0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U, + 0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U, + 0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU, + 0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU, + 0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U, + 0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U, + 0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U, + 0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU, + 0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U, + 0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU, + 0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U, + 0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU, + 0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U, + 0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U, + 0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU, + 0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U, + 0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U, + 0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U, + 0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U, + 0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U, + 0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U, + 0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U, + 0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U, + 0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU, + 0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U, + 0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U, + 0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U, + 0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U, + 0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U, + 0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U, + 0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU, + 0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U, + 0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U, + 0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U, + 0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU, }; - -static const union xtab xT1 = { - .xt8 = { -{0xc6,0x63,0x63,0xa5}, {0xf8,0x7c,0x7c,0x84}, {0xee,0x77,0x77,0x99}, {0xf6,0x7b,0x7b,0x8d}, -{0xff,0xf2,0xf2,0x0d}, {0xd6,0x6b,0x6b,0xbd}, {0xde,0x6f,0x6f,0xb1}, {0x91,0xc5,0xc5,0x54}, -{0x60,0x30,0x30,0x50}, {0x02,0x01,0x01,0x03}, {0xce,0x67,0x67,0xa9}, {0x56,0x2b,0x2b,0x7d}, -{0xe7,0xfe,0xfe,0x19}, {0xb5,0xd7,0xd7,0x62}, {0x4d,0xab,0xab,0xe6}, {0xec,0x76,0x76,0x9a}, -{0x8f,0xca,0xca,0x45}, {0x1f,0x82,0x82,0x9d}, {0x89,0xc9,0xc9,0x40}, {0xfa,0x7d,0x7d,0x87}, -{0xef,0xfa,0xfa,0x15}, {0xb2,0x59,0x59,0xeb}, {0x8e,0x47,0x47,0xc9}, {0xfb,0xf0,0xf0,0x0b}, -{0x41,0xad,0xad,0xec}, {0xb3,0xd4,0xd4,0x67}, {0x5f,0xa2,0xa2,0xfd}, {0x45,0xaf,0xaf,0xea}, -{0x23,0x9c,0x9c,0xbf}, {0x53,0xa4,0xa4,0xf7}, {0xe4,0x72,0x72,0x96}, {0x9b,0xc0,0xc0,0x5b}, -{0x75,0xb7,0xb7,0xc2}, {0xe1,0xfd,0xfd,0x1c}, {0x3d,0x93,0x93,0xae}, {0x4c,0x26,0x26,0x6a}, -{0x6c,0x36,0x36,0x5a}, {0x7e,0x3f,0x3f,0x41}, {0xf5,0xf7,0xf7,0x02}, {0x83,0xcc,0xcc,0x4f}, -{0x68,0x34,0x34,0x5c}, {0x51,0xa5,0xa5,0xf4}, {0xd1,0xe5,0xe5,0x34}, {0xf9,0xf1,0xf1,0x08}, -{0xe2,0x71,0x71,0x93}, {0xab,0xd8,0xd8,0x73}, {0x62,0x31,0x31,0x53}, {0x2a,0x15,0x15,0x3f}, -{0x08,0x04,0x04,0x0c}, {0x95,0xc7,0xc7,0x52}, {0x46,0x23,0x23,0x65}, {0x9d,0xc3,0xc3,0x5e}, -{0x30,0x18,0x18,0x28}, {0x37,0x96,0x96,0xa1}, {0x0a,0x05,0x05,0x0f}, {0x2f,0x9a,0x9a,0xb5}, -{0x0e,0x07,0x07,0x09}, {0x24,0x12,0x12,0x36}, {0x1b,0x80,0x80,0x9b}, {0xdf,0xe2,0xe2,0x3d}, -{0xcd,0xeb,0xeb,0x26}, {0x4e,0x27,0x27,0x69}, {0x7f,0xb2,0xb2,0xcd}, {0xea,0x75,0x75,0x9f}, -{0x12,0x09,0x09,0x1b}, {0x1d,0x83,0x83,0x9e}, {0x58,0x2c,0x2c,0x74}, {0x34,0x1a,0x1a,0x2e}, -{0x36,0x1b,0x1b,0x2d}, {0xdc,0x6e,0x6e,0xb2}, {0xb4,0x5a,0x5a,0xee}, {0x5b,0xa0,0xa0,0xfb}, -{0xa4,0x52,0x52,0xf6}, {0x76,0x3b,0x3b,0x4d}, {0xb7,0xd6,0xd6,0x61}, {0x7d,0xb3,0xb3,0xce}, -{0x52,0x29,0x29,0x7b}, {0xdd,0xe3,0xe3,0x3e}, {0x5e,0x2f,0x2f,0x71}, {0x13,0x84,0x84,0x97}, -{0xa6,0x53,0x53,0xf5}, {0xb9,0xd1,0xd1,0x68}, {0x00,0x00,0x00,0x00}, {0xc1,0xed,0xed,0x2c}, -{0x40,0x20,0x20,0x60}, {0xe3,0xfc,0xfc,0x1f}, {0x79,0xb1,0xb1,0xc8}, {0xb6,0x5b,0x5b,0xed}, -{0xd4,0x6a,0x6a,0xbe}, {0x8d,0xcb,0xcb,0x46}, {0x67,0xbe,0xbe,0xd9}, {0x72,0x39,0x39,0x4b}, -{0x94,0x4a,0x4a,0xde}, {0x98,0x4c,0x4c,0xd4}, {0xb0,0x58,0x58,0xe8}, {0x85,0xcf,0xcf,0x4a}, -{0xbb,0xd0,0xd0,0x6b}, {0xc5,0xef,0xef,0x2a}, {0x4f,0xaa,0xaa,0xe5}, {0xed,0xfb,0xfb,0x16}, -{0x86,0x43,0x43,0xc5}, {0x9a,0x4d,0x4d,0xd7}, {0x66,0x33,0x33,0x55}, {0x11,0x85,0x85,0x94}, -{0x8a,0x45,0x45,0xcf}, {0xe9,0xf9,0xf9,0x10}, {0x04,0x02,0x02,0x06}, {0xfe,0x7f,0x7f,0x81}, -{0xa0,0x50,0x50,0xf0}, {0x78,0x3c,0x3c,0x44}, {0x25,0x9f,0x9f,0xba}, {0x4b,0xa8,0xa8,0xe3}, -{0xa2,0x51,0x51,0xf3}, {0x5d,0xa3,0xa3,0xfe}, {0x80,0x40,0x40,0xc0}, {0x05,0x8f,0x8f,0x8a}, -{0x3f,0x92,0x92,0xad}, {0x21,0x9d,0x9d,0xbc}, {0x70,0x38,0x38,0x48}, {0xf1,0xf5,0xf5,0x04}, -{0x63,0xbc,0xbc,0xdf}, {0x77,0xb6,0xb6,0xc1}, {0xaf,0xda,0xda,0x75}, {0x42,0x21,0x21,0x63}, -{0x20,0x10,0x10,0x30}, {0xe5,0xff,0xff,0x1a}, {0xfd,0xf3,0xf3,0x0e}, {0xbf,0xd2,0xd2,0x6d}, -{0x81,0xcd,0xcd,0x4c}, {0x18,0x0c,0x0c,0x14}, {0x26,0x13,0x13,0x35}, {0xc3,0xec,0xec,0x2f}, -{0xbe,0x5f,0x5f,0xe1}, {0x35,0x97,0x97,0xa2}, {0x88,0x44,0x44,0xcc}, {0x2e,0x17,0x17,0x39}, -{0x93,0xc4,0xc4,0x57}, {0x55,0xa7,0xa7,0xf2}, {0xfc,0x7e,0x7e,0x82}, {0x7a,0x3d,0x3d,0x47}, -{0xc8,0x64,0x64,0xac}, {0xba,0x5d,0x5d,0xe7}, {0x32,0x19,0x19,0x2b}, {0xe6,0x73,0x73,0x95}, -{0xc0,0x60,0x60,0xa0}, {0x19,0x81,0x81,0x98}, {0x9e,0x4f,0x4f,0xd1}, {0xa3,0xdc,0xdc,0x7f}, -{0x44,0x22,0x22,0x66}, {0x54,0x2a,0x2a,0x7e}, {0x3b,0x90,0x90,0xab}, {0x0b,0x88,0x88,0x83}, -{0x8c,0x46,0x46,0xca}, {0xc7,0xee,0xee,0x29}, {0x6b,0xb8,0xb8,0xd3}, {0x28,0x14,0x14,0x3c}, -{0xa7,0xde,0xde,0x79}, {0xbc,0x5e,0x5e,0xe2}, {0x16,0x0b,0x0b,0x1d}, {0xad,0xdb,0xdb,0x76}, -{0xdb,0xe0,0xe0,0x3b}, {0x64,0x32,0x32,0x56}, {0x74,0x3a,0x3a,0x4e}, {0x14,0x0a,0x0a,0x1e}, -{0x92,0x49,0x49,0xdb}, {0x0c,0x06,0x06,0x0a}, {0x48,0x24,0x24,0x6c}, {0xb8,0x5c,0x5c,0xe4}, -{0x9f,0xc2,0xc2,0x5d}, {0xbd,0xd3,0xd3,0x6e}, {0x43,0xac,0xac,0xef}, {0xc4,0x62,0x62,0xa6}, -{0x39,0x91,0x91,0xa8}, {0x31,0x95,0x95,0xa4}, {0xd3,0xe4,0xe4,0x37}, {0xf2,0x79,0x79,0x8b}, -{0xd5,0xe7,0xe7,0x32}, {0x8b,0xc8,0xc8,0x43}, {0x6e,0x37,0x37,0x59}, {0xda,0x6d,0x6d,0xb7}, -{0x01,0x8d,0x8d,0x8c}, {0xb1,0xd5,0xd5,0x64}, {0x9c,0x4e,0x4e,0xd2}, {0x49,0xa9,0xa9,0xe0}, -{0xd8,0x6c,0x6c,0xb4}, {0xac,0x56,0x56,0xfa}, {0xf3,0xf4,0xf4,0x07}, {0xcf,0xea,0xea,0x25}, -{0xca,0x65,0x65,0xaf}, {0xf4,0x7a,0x7a,0x8e}, {0x47,0xae,0xae,0xe9}, {0x10,0x08,0x08,0x18}, -{0x6f,0xba,0xba,0xd5}, {0xf0,0x78,0x78,0x88}, {0x4a,0x25,0x25,0x6f}, {0x5c,0x2e,0x2e,0x72}, -{0x38,0x1c,0x1c,0x24}, {0x57,0xa6,0xa6,0xf1}, {0x73,0xb4,0xb4,0xc7}, {0x97,0xc6,0xc6,0x51}, -{0xcb,0xe8,0xe8,0x23}, {0xa1,0xdd,0xdd,0x7c}, {0xe8,0x74,0x74,0x9c}, {0x3e,0x1f,0x1f,0x21}, -{0x96,0x4b,0x4b,0xdd}, {0x61,0xbd,0xbd,0xdc}, {0x0d,0x8b,0x8b,0x86}, {0x0f,0x8a,0x8a,0x85}, -{0xe0,0x70,0x70,0x90}, {0x7c,0x3e,0x3e,0x42}, {0x71,0xb5,0xb5,0xc4}, {0xcc,0x66,0x66,0xaa}, -{0x90,0x48,0x48,0xd8}, {0x06,0x03,0x03,0x05}, {0xf7,0xf6,0xf6,0x01}, {0x1c,0x0e,0x0e,0x12}, -{0xc2,0x61,0x61,0xa3}, {0x6a,0x35,0x35,0x5f}, {0xae,0x57,0x57,0xf9}, {0x69,0xb9,0xb9,0xd0}, -{0x17,0x86,0x86,0x91}, {0x99,0xc1,0xc1,0x58}, {0x3a,0x1d,0x1d,0x27}, {0x27,0x9e,0x9e,0xb9}, -{0xd9,0xe1,0xe1,0x38}, {0xeb,0xf8,0xf8,0x13}, {0x2b,0x98,0x98,0xb3}, {0x22,0x11,0x11,0x33}, -{0xd2,0x69,0x69,0xbb}, {0xa9,0xd9,0xd9,0x70}, {0x07,0x8e,0x8e,0x89}, {0x33,0x94,0x94,0xa7}, -{0x2d,0x9b,0x9b,0xb6}, {0x3c,0x1e,0x1e,0x22}, {0x15,0x87,0x87,0x92}, {0xc9,0xe9,0xe9,0x20}, -{0x87,0xce,0xce,0x49}, {0xaa,0x55,0x55,0xff}, {0x50,0x28,0x28,0x78}, {0xa5,0xdf,0xdf,0x7a}, -{0x03,0x8c,0x8c,0x8f}, {0x59,0xa1,0xa1,0xf8}, {0x09,0x89,0x89,0x80}, {0x1a,0x0d,0x0d,0x17}, -{0x65,0xbf,0xbf,0xda}, {0xd7,0xe6,0xe6,0x31}, {0x84,0x42,0x42,0xc6}, {0xd0,0x68,0x68,0xb8}, -{0x82,0x41,0x41,0xc3}, {0x29,0x99,0x99,0xb0}, {0x5a,0x2d,0x2d,0x77}, {0x1e,0x0f,0x0f,0x11}, -{0x7b,0xb0,0xb0,0xcb}, {0xa8,0x54,0x54,0xfc}, {0x6d,0xbb,0xbb,0xd6}, {0x2c,0x16,0x16,0x3a} - } +static const u32 Te1[256] = { + 0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU, + 0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U, + 0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU, + 0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U, + 0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU, + 0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U, + 0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU, + 0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U, + 0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U, + 0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU, + 0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U, + 0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U, + 0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U, + 0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU, + 0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U, + 0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U, + 0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU, + 0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U, + 0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U, + 0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U, + 0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU, + 0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU, + 0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U, + 0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU, + 0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU, + 0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U, + 0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU, + 0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U, + 0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU, + 0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5f5U, + 0xdf63bcbcU, 0xc177b6b6U, 0x75afdadaU, 0x63422121U, + 0x30201010U, 0x1ae5ffffU, 0x0efdf3f3U, 0x6dbfd2d2U, + 0x4c81cdcdU, 0x14180c0cU, 0x35261313U, 0x2fc3ececU, + 0xe1be5f5fU, 0xa2359797U, 0xcc884444U, 0x392e1717U, + 0x5793c4c4U, 0xf255a7a7U, 0x82fc7e7eU, 0x477a3d3dU, + 0xacc86464U, 0xe7ba5d5dU, 0x2b321919U, 0x95e67373U, + 0xa0c06060U, 0x98198181U, 0xd19e4f4fU, 0x7fa3dcdcU, + 0x66442222U, 0x7e542a2aU, 0xab3b9090U, 0x830b8888U, + 0xca8c4646U, 0x29c7eeeeU, 0xd36bb8b8U, 0x3c281414U, + 0x79a7dedeU, 0xe2bc5e5eU, 0x1d160b0bU, 0x76addbdbU, + 0x3bdbe0e0U, 0x56643232U, 0x4e743a3aU, 0x1e140a0aU, + 0xdb924949U, 0x0a0c0606U, 0x6c482424U, 0xe4b85c5cU, + 0x5d9fc2c2U, 0x6ebdd3d3U, 0xef43acacU, 0xa6c46262U, + 0xa8399191U, 0xa4319595U, 0x37d3e4e4U, 0x8bf27979U, + 0x32d5e7e7U, 0x438bc8c8U, 0x596e3737U, 0xb7da6d6dU, + 0x8c018d8dU, 0x64b1d5d5U, 0xd29c4e4eU, 0xe049a9a9U, + 0xb4d86c6cU, 0xfaac5656U, 0x07f3f4f4U, 0x25cfeaeaU, + 0xafca6565U, 0x8ef47a7aU, 0xe947aeaeU, 0x18100808U, + 0xd56fbabaU, 0x88f07878U, 0x6f4a2525U, 0x725c2e2eU, + 0x24381c1cU, 0xf157a6a6U, 0xc773b4b4U, 0x5197c6c6U, + 0x23cbe8e8U, 0x7ca1ddddU, 0x9ce87474U, 0x213e1f1fU, + 0xdd964b4bU, 0xdc61bdbdU, 0x860d8b8bU, 0x850f8a8aU, + 0x90e07070U, 0x427c3e3eU, 0xc471b5b5U, 0xaacc6666U, + 0xd8904848U, 0x05060303U, 0x01f7f6f6U, 0x121c0e0eU, + 0xa3c26161U, 0x5f6a3535U, 0xf9ae5757U, 0xd069b9b9U, + 0x91178686U, 0x5899c1c1U, 0x273a1d1dU, 0xb9279e9eU, + 0x38d9e1e1U, 0x13ebf8f8U, 0xb32b9898U, 0x33221111U, + 0xbbd26969U, 0x70a9d9d9U, 0x89078e8eU, 0xa7339494U, + 0xb62d9b9bU, 0x223c1e1eU, 0x92158787U, 0x20c9e9e9U, + 0x4987ceceU, 0xffaa5555U, 0x78502828U, 0x7aa5dfdfU, + 0x8f038c8cU, 0xf859a1a1U, 0x80098989U, 0x171a0d0dU, + 0xda65bfbfU, 0x31d7e6e6U, 0xc6844242U, 0xb8d06868U, + 0xc3824141U, 0xb0299999U, 0x775a2d2dU, 0x111e0f0fU, + 0xcb7bb0b0U, 0xfca85454U, 0xd66dbbbbU, 0x3a2c1616U, }; -#define T1 xT1.xt8 - -static const union xtab xT2 = { - .xt8 = { -{0xa5,0xc6,0x63,0x63}, {0x84,0xf8,0x7c,0x7c}, {0x99,0xee,0x77,0x77}, {0x8d,0xf6,0x7b,0x7b}, -{0x0d,0xff,0xf2,0xf2}, {0xbd,0xd6,0x6b,0x6b}, {0xb1,0xde,0x6f,0x6f}, {0x54,0x91,0xc5,0xc5}, -{0x50,0x60,0x30,0x30}, {0x03,0x02,0x01,0x01}, {0xa9,0xce,0x67,0x67}, {0x7d,0x56,0x2b,0x2b}, -{0x19,0xe7,0xfe,0xfe}, {0x62,0xb5,0xd7,0xd7}, {0xe6,0x4d,0xab,0xab}, {0x9a,0xec,0x76,0x76}, -{0x45,0x8f,0xca,0xca}, {0x9d,0x1f,0x82,0x82}, {0x40,0x89,0xc9,0xc9}, {0x87,0xfa,0x7d,0x7d}, -{0x15,0xef,0xfa,0xfa}, {0xeb,0xb2,0x59,0x59}, {0xc9,0x8e,0x47,0x47}, {0x0b,0xfb,0xf0,0xf0}, -{0xec,0x41,0xad,0xad}, {0x67,0xb3,0xd4,0xd4}, {0xfd,0x5f,0xa2,0xa2}, {0xea,0x45,0xaf,0xaf}, -{0xbf,0x23,0x9c,0x9c}, {0xf7,0x53,0xa4,0xa4}, {0x96,0xe4,0x72,0x72}, {0x5b,0x9b,0xc0,0xc0}, -{0xc2,0x75,0xb7,0xb7}, {0x1c,0xe1,0xfd,0xfd}, {0xae,0x3d,0x93,0x93}, {0x6a,0x4c,0x26,0x26}, -{0x5a,0x6c,0x36,0x36}, {0x41,0x7e,0x3f,0x3f}, {0x02,0xf5,0xf7,0xf7}, {0x4f,0x83,0xcc,0xcc}, -{0x5c,0x68,0x34,0x34}, {0xf4,0x51,0xa5,0xa5}, {0x34,0xd1,0xe5,0xe5}, {0x08,0xf9,0xf1,0xf1}, -{0x93,0xe2,0x71,0x71}, {0x73,0xab,0xd8,0xd8}, {0x53,0x62,0x31,0x31}, {0x3f,0x2a,0x15,0x15}, -{0x0c,0x08,0x04,0x04}, {0x52,0x95,0xc7,0xc7}, {0x65,0x46,0x23,0x23}, {0x5e,0x9d,0xc3,0xc3}, -{0x28,0x30,0x18,0x18}, {0xa1,0x37,0x96,0x96}, {0x0f,0x0a,0x05,0x05}, {0xb5,0x2f,0x9a,0x9a}, -{0x09,0x0e,0x07,0x07}, {0x36,0x24,0x12,0x12}, {0x9b,0x1b,0x80,0x80}, {0x3d,0xdf,0xe2,0xe2}, -{0x26,0xcd,0xeb,0xeb}, {0x69,0x4e,0x27,0x27}, {0xcd,0x7f,0xb2,0xb2}, {0x9f,0xea,0x75,0x75}, -{0x1b,0x12,0x09,0x09}, {0x9e,0x1d,0x83,0x83}, {0x74,0x58,0x2c,0x2c}, {0x2e,0x34,0x1a,0x1a}, -{0x2d,0x36,0x1b,0x1b}, {0xb2,0xdc,0x6e,0x6e}, {0xee,0xb4,0x5a,0x5a}, {0xfb,0x5b,0xa0,0xa0}, -{0xf6,0xa4,0x52,0x52}, {0x4d,0x76,0x3b,0x3b}, {0x61,0xb7,0xd6,0xd6}, {0xce,0x7d,0xb3,0xb3}, -{0x7b,0x52,0x29,0x29}, {0x3e,0xdd,0xe3,0xe3}, {0x71,0x5e,0x2f,0x2f}, {0x97,0x13,0x84,0x84}, -{0xf5,0xa6,0x53,0x53}, {0x68,0xb9,0xd1,0xd1}, {0x00,0x00,0x00,0x00}, {0x2c,0xc1,0xed,0xed}, -{0x60,0x40,0x20,0x20}, {0x1f,0xe3,0xfc,0xfc}, {0xc8,0x79,0xb1,0xb1}, {0xed,0xb6,0x5b,0x5b}, -{0xbe,0xd4,0x6a,0x6a}, {0x46,0x8d,0xcb,0xcb}, {0xd9,0x67,0xbe,0xbe}, {0x4b,0x72,0x39,0x39}, -{0xde,0x94,0x4a,0x4a}, {0xd4,0x98,0x4c,0x4c}, {0xe8,0xb0,0x58,0x58}, {0x4a,0x85,0xcf,0xcf}, -{0x6b,0xbb,0xd0,0xd0}, {0x2a,0xc5,0xef,0xef}, {0xe5,0x4f,0xaa,0xaa}, {0x16,0xed,0xfb,0xfb}, -{0xc5,0x86,0x43,0x43}, {0xd7,0x9a,0x4d,0x4d}, {0x55,0x66,0x33,0x33}, {0x94,0x11,0x85,0x85}, -{0xcf,0x8a,0x45,0x45}, {0x10,0xe9,0xf9,0xf9}, {0x06,0x04,0x02,0x02}, {0x81,0xfe,0x7f,0x7f}, -{0xf0,0xa0,0x50,0x50}, {0x44,0x78,0x3c,0x3c}, {0xba,0x25,0x9f,0x9f}, {0xe3,0x4b,0xa8,0xa8}, -{0xf3,0xa2,0x51,0x51}, {0xfe,0x5d,0xa3,0xa3}, {0xc0,0x80,0x40,0x40}, {0x8a,0x05,0x8f,0x8f}, -{0xad,0x3f,0x92,0x92}, {0xbc,0x21,0x9d,0x9d}, {0x48,0x70,0x38,0x38}, {0x04,0xf1,0xf5,0xf5}, -{0xdf,0x63,0xbc,0xbc}, {0xc1,0x77,0xb6,0xb6}, {0x75,0xaf,0xda,0xda}, {0x63,0x42,0x21,0x21}, -{0x30,0x20,0x10,0x10}, {0x1a,0xe5,0xff,0xff}, {0x0e,0xfd,0xf3,0xf3}, {0x6d,0xbf,0xd2,0xd2}, -{0x4c,0x81,0xcd,0xcd}, {0x14,0x18,0x0c,0x0c}, {0x35,0x26,0x13,0x13}, {0x2f,0xc3,0xec,0xec}, -{0xe1,0xbe,0x5f,0x5f}, {0xa2,0x35,0x97,0x97}, {0xcc,0x88,0x44,0x44}, {0x39,0x2e,0x17,0x17}, -{0x57,0x93,0xc4,0xc4}, {0xf2,0x55,0xa7,0xa7}, {0x82,0xfc,0x7e,0x7e}, {0x47,0x7a,0x3d,0x3d}, -{0xac,0xc8,0x64,0x64}, {0xe7,0xba,0x5d,0x5d}, {0x2b,0x32,0x19,0x19}, {0x95,0xe6,0x73,0x73}, -{0xa0,0xc0,0x60,0x60}, {0x98,0x19,0x81,0x81}, {0xd1,0x9e,0x4f,0x4f}, {0x7f,0xa3,0xdc,0xdc}, -{0x66,0x44,0x22,0x22}, {0x7e,0x54,0x2a,0x2a}, {0xab,0x3b,0x90,0x90}, {0x83,0x0b,0x88,0x88}, -{0xca,0x8c,0x46,0x46}, {0x29,0xc7,0xee,0xee}, {0xd3,0x6b,0xb8,0xb8}, {0x3c,0x28,0x14,0x14}, -{0x79,0xa7,0xde,0xde}, {0xe2,0xbc,0x5e,0x5e}, {0x1d,0x16,0x0b,0x0b}, {0x76,0xad,0xdb,0xdb}, -{0x3b,0xdb,0xe0,0xe0}, {0x56,0x64,0x32,0x32}, {0x4e,0x74,0x3a,0x3a}, {0x1e,0x14,0x0a,0x0a}, -{0xdb,0x92,0x49,0x49}, {0x0a,0x0c,0x06,0x06}, {0x6c,0x48,0x24,0x24}, {0xe4,0xb8,0x5c,0x5c}, -{0x5d,0x9f,0xc2,0xc2}, {0x6e,0xbd,0xd3,0xd3}, {0xef,0x43,0xac,0xac}, {0xa6,0xc4,0x62,0x62}, -{0xa8,0x39,0x91,0x91}, {0xa4,0x31,0x95,0x95}, {0x37,0xd3,0xe4,0xe4}, {0x8b,0xf2,0x79,0x79}, -{0x32,0xd5,0xe7,0xe7}, {0x43,0x8b,0xc8,0xc8}, {0x59,0x6e,0x37,0x37}, {0xb7,0xda,0x6d,0x6d}, -{0x8c,0x01,0x8d,0x8d}, {0x64,0xb1,0xd5,0xd5}, {0xd2,0x9c,0x4e,0x4e}, {0xe0,0x49,0xa9,0xa9}, -{0xb4,0xd8,0x6c,0x6c}, {0xfa,0xac,0x56,0x56}, {0x07,0xf3,0xf4,0xf4}, {0x25,0xcf,0xea,0xea}, -{0xaf,0xca,0x65,0x65}, {0x8e,0xf4,0x7a,0x7a}, {0xe9,0x47,0xae,0xae}, {0x18,0x10,0x08,0x08}, -{0xd5,0x6f,0xba,0xba}, {0x88,0xf0,0x78,0x78}, {0x6f,0x4a,0x25,0x25}, {0x72,0x5c,0x2e,0x2e}, -{0x24,0x38,0x1c,0x1c}, {0xf1,0x57,0xa6,0xa6}, {0xc7,0x73,0xb4,0xb4}, {0x51,0x97,0xc6,0xc6}, -{0x23,0xcb,0xe8,0xe8}, {0x7c,0xa1,0xdd,0xdd}, {0x9c,0xe8,0x74,0x74}, {0x21,0x3e,0x1f,0x1f}, -{0xdd,0x96,0x4b,0x4b}, {0xdc,0x61,0xbd,0xbd}, {0x86,0x0d,0x8b,0x8b}, {0x85,0x0f,0x8a,0x8a}, -{0x90,0xe0,0x70,0x70}, {0x42,0x7c,0x3e,0x3e}, {0xc4,0x71,0xb5,0xb5}, {0xaa,0xcc,0x66,0x66}, -{0xd8,0x90,0x48,0x48}, {0x05,0x06,0x03,0x03}, {0x01,0xf7,0xf6,0xf6}, {0x12,0x1c,0x0e,0x0e}, -{0xa3,0xc2,0x61,0x61}, {0x5f,0x6a,0x35,0x35}, {0xf9,0xae,0x57,0x57}, {0xd0,0x69,0xb9,0xb9}, -{0x91,0x17,0x86,0x86}, {0x58,0x99,0xc1,0xc1}, {0x27,0x3a,0x1d,0x1d}, {0xb9,0x27,0x9e,0x9e}, -{0x38,0xd9,0xe1,0xe1}, {0x13,0xeb,0xf8,0xf8}, {0xb3,0x2b,0x98,0x98}, {0x33,0x22,0x11,0x11}, -{0xbb,0xd2,0x69,0x69}, {0x70,0xa9,0xd9,0xd9}, {0x89,0x07,0x8e,0x8e}, {0xa7,0x33,0x94,0x94}, -{0xb6,0x2d,0x9b,0x9b}, {0x22,0x3c,0x1e,0x1e}, {0x92,0x15,0x87,0x87}, {0x20,0xc9,0xe9,0xe9}, -{0x49,0x87,0xce,0xce}, {0xff,0xaa,0x55,0x55}, {0x78,0x50,0x28,0x28}, {0x7a,0xa5,0xdf,0xdf}, -{0x8f,0x03,0x8c,0x8c}, {0xf8,0x59,0xa1,0xa1}, {0x80,0x09,0x89,0x89}, {0x17,0x1a,0x0d,0x0d}, -{0xda,0x65,0xbf,0xbf}, {0x31,0xd7,0xe6,0xe6}, {0xc6,0x84,0x42,0x42}, {0xb8,0xd0,0x68,0x68}, -{0xc3,0x82,0x41,0x41}, {0xb0,0x29,0x99,0x99}, {0x77,0x5a,0x2d,0x2d}, {0x11,0x1e,0x0f,0x0f}, -{0xcb,0x7b,0xb0,0xb0}, {0xfc,0xa8,0x54,0x54}, {0xd6,0x6d,0xbb,0xbb}, {0x3a,0x2c,0x16,0x16} - } +static const u32 Te2[256] = { + 0x63a5c663U, 0x7c84f87cU, 0x7799ee77U, 0x7b8df67bU, + 0xf20dfff2U, 0x6bbdd66bU, 0x6fb1de6fU, 0xc55491c5U, + 0x30506030U, 0x01030201U, 0x67a9ce67U, 0x2b7d562bU, + 0xfe19e7feU, 0xd762b5d7U, 0xabe64dabU, 0x769aec76U, + 0xca458fcaU, 0x829d1f82U, 0xc94089c9U, 0x7d87fa7dU, + 0xfa15effaU, 0x59ebb259U, 0x47c98e47U, 0xf00bfbf0U, + 0xadec41adU, 0xd467b3d4U, 0xa2fd5fa2U, 0xafea45afU, + 0x9cbf239cU, 0xa4f753a4U, 0x7296e472U, 0xc05b9bc0U, + 0xb7c275b7U, 0xfd1ce1fdU, 0x93ae3d93U, 0x266a4c26U, + 0x365a6c36U, 0x3f417e3fU, 0xf702f5f7U, 0xcc4f83ccU, + 0x345c6834U, 0xa5f451a5U, 0xe534d1e5U, 0xf108f9f1U, + 0x7193e271U, 0xd873abd8U, 0x31536231U, 0x153f2a15U, + 0x040c0804U, 0xc75295c7U, 0x23654623U, 0xc35e9dc3U, + 0x18283018U, 0x96a13796U, 0x050f0a05U, 0x9ab52f9aU, + 0x07090e07U, 0x12362412U, 0x809b1b80U, 0xe23ddfe2U, + 0xeb26cdebU, 0x27694e27U, 0xb2cd7fb2U, 0x759fea75U, + 0x091b1209U, 0x839e1d83U, 0x2c74582cU, 0x1a2e341aU, + 0x1b2d361bU, 0x6eb2dc6eU, 0x5aeeb45aU, 0xa0fb5ba0U, + 0x52f6a452U, 0x3b4d763bU, 0xd661b7d6U, 0xb3ce7db3U, + 0x297b5229U, 0xe33edde3U, 0x2f715e2fU, 0x84971384U, + 0x53f5a653U, 0xd168b9d1U, 0x00000000U, 0xed2cc1edU, + 0x20604020U, 0xfc1fe3fcU, 0xb1c879b1U, 0x5bedb65bU, + 0x6abed46aU, 0xcb468dcbU, 0xbed967beU, 0x394b7239U, + 0x4ade944aU, 0x4cd4984cU, 0x58e8b058U, 0xcf4a85cfU, + 0xd06bbbd0U, 0xef2ac5efU, 0xaae54faaU, 0xfb16edfbU, + 0x43c58643U, 0x4dd79a4dU, 0x33556633U, 0x85941185U, + 0x45cf8a45U, 0xf910e9f9U, 0x02060402U, 0x7f81fe7fU, + 0x50f0a050U, 0x3c44783cU, 0x9fba259fU, 0xa8e34ba8U, + 0x51f3a251U, 0xa3fe5da3U, 0x40c08040U, 0x8f8a058fU, + 0x92ad3f92U, 0x9dbc219dU, 0x38487038U, 0xf504f1f5U, + 0xbcdf63bcU, 0xb6c177b6U, 0xda75afdaU, 0x21634221U, + 0x10302010U, 0xff1ae5ffU, 0xf30efdf3U, 0xd26dbfd2U, + 0xcd4c81cdU, 0x0c14180cU, 0x13352613U, 0xec2fc3ecU, + 0x5fe1be5fU, 0x97a23597U, 0x44cc8844U, 0x17392e17U, + 0xc45793c4U, 0xa7f255a7U, 0x7e82fc7eU, 0x3d477a3dU, + 0x64acc864U, 0x5de7ba5dU, 0x192b3219U, 0x7395e673U, + 0x60a0c060U, 0x81981981U, 0x4fd19e4fU, 0xdc7fa3dcU, + 0x22664422U, 0x2a7e542aU, 0x90ab3b90U, 0x88830b88U, + 0x46ca8c46U, 0xee29c7eeU, 0xb8d36bb8U, 0x143c2814U, + 0xde79a7deU, 0x5ee2bc5eU, 0x0b1d160bU, 0xdb76addbU, + 0xe03bdbe0U, 0x32566432U, 0x3a4e743aU, 0x0a1e140aU, + 0x49db9249U, 0x060a0c06U, 0x246c4824U, 0x5ce4b85cU, + 0xc25d9fc2U, 0xd36ebdd3U, 0xacef43acU, 0x62a6c462U, + 0x91a83991U, 0x95a43195U, 0xe437d3e4U, 0x798bf279U, + 0xe732d5e7U, 0xc8438bc8U, 0x37596e37U, 0x6db7da6dU, + 0x8d8c018dU, 0xd564b1d5U, 0x4ed29c4eU, 0xa9e049a9U, + 0x6cb4d86cU, 0x56faac56U, 0xf407f3f4U, 0xea25cfeaU, + 0x65afca65U, 0x7a8ef47aU, 0xaee947aeU, 0x08181008U, + 0xbad56fbaU, 0x7888f078U, 0x256f4a25U, 0x2e725c2eU, + 0x1c24381cU, 0xa6f157a6U, 0xb4c773b4U, 0xc65197c6U, + 0xe823cbe8U, 0xdd7ca1ddU, 0x749ce874U, 0x1f213e1fU, + 0x4bdd964bU, 0xbddc61bdU, 0x8b860d8bU, 0x8a850f8aU, + 0x7090e070U, 0x3e427c3eU, 0xb5c471b5U, 0x66aacc66U, + 0x48d89048U, 0x03050603U, 0xf601f7f6U, 0x0e121c0eU, + 0x61a3c261U, 0x355f6a35U, 0x57f9ae57U, 0xb9d069b9U, + 0x86911786U, 0xc15899c1U, 0x1d273a1dU, 0x9eb9279eU, + 0xe138d9e1U, 0xf813ebf8U, 0x98b32b98U, 0x11332211U, + 0x69bbd269U, 0xd970a9d9U, 0x8e89078eU, 0x94a73394U, + 0x9bb62d9bU, 0x1e223c1eU, 0x87921587U, 0xe920c9e9U, + 0xce4987ceU, 0x55ffaa55U, 0x28785028U, 0xdf7aa5dfU, + 0x8c8f038cU, 0xa1f859a1U, 0x89800989U, 0x0d171a0dU, + 0xbfda65bfU, 0xe631d7e6U, 0x42c68442U, 0x68b8d068U, + 0x41c38241U, 0x99b02999U, 0x2d775a2dU, 0x0f111e0fU, + 0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U, }; -#define T2 xT2.xt8 +static const u32 Te3[256] = { -static const union xtab xT3 = { - .xt8 = { -{0x63,0xa5,0xc6,0x63}, {0x7c,0x84,0xf8,0x7c}, {0x77,0x99,0xee,0x77}, {0x7b,0x8d,0xf6,0x7b}, -{0xf2,0x0d,0xff,0xf2}, {0x6b,0xbd,0xd6,0x6b}, {0x6f,0xb1,0xde,0x6f}, {0xc5,0x54,0x91,0xc5}, -{0x30,0x50,0x60,0x30}, {0x01,0x03,0x02,0x01}, {0x67,0xa9,0xce,0x67}, {0x2b,0x7d,0x56,0x2b}, -{0xfe,0x19,0xe7,0xfe}, {0xd7,0x62,0xb5,0xd7}, {0xab,0xe6,0x4d,0xab}, {0x76,0x9a,0xec,0x76}, -{0xca,0x45,0x8f,0xca}, {0x82,0x9d,0x1f,0x82}, {0xc9,0x40,0x89,0xc9}, {0x7d,0x87,0xfa,0x7d}, -{0xfa,0x15,0xef,0xfa}, {0x59,0xeb,0xb2,0x59}, {0x47,0xc9,0x8e,0x47}, {0xf0,0x0b,0xfb,0xf0}, -{0xad,0xec,0x41,0xad}, {0xd4,0x67,0xb3,0xd4}, {0xa2,0xfd,0x5f,0xa2}, {0xaf,0xea,0x45,0xaf}, -{0x9c,0xbf,0x23,0x9c}, {0xa4,0xf7,0x53,0xa4}, {0x72,0x96,0xe4,0x72}, {0xc0,0x5b,0x9b,0xc0}, -{0xb7,0xc2,0x75,0xb7}, {0xfd,0x1c,0xe1,0xfd}, {0x93,0xae,0x3d,0x93}, {0x26,0x6a,0x4c,0x26}, -{0x36,0x5a,0x6c,0x36}, {0x3f,0x41,0x7e,0x3f}, {0xf7,0x02,0xf5,0xf7}, {0xcc,0x4f,0x83,0xcc}, -{0x34,0x5c,0x68,0x34}, {0xa5,0xf4,0x51,0xa5}, {0xe5,0x34,0xd1,0xe5}, {0xf1,0x08,0xf9,0xf1}, -{0x71,0x93,0xe2,0x71}, {0xd8,0x73,0xab,0xd8}, {0x31,0x53,0x62,0x31}, {0x15,0x3f,0x2a,0x15}, -{0x04,0x0c,0x08,0x04}, {0xc7,0x52,0x95,0xc7}, {0x23,0x65,0x46,0x23}, {0xc3,0x5e,0x9d,0xc3}, -{0x18,0x28,0x30,0x18}, {0x96,0xa1,0x37,0x96}, {0x05,0x0f,0x0a,0x05}, {0x9a,0xb5,0x2f,0x9a}, -{0x07,0x09,0x0e,0x07}, {0x12,0x36,0x24,0x12}, {0x80,0x9b,0x1b,0x80}, {0xe2,0x3d,0xdf,0xe2}, -{0xeb,0x26,0xcd,0xeb}, {0x27,0x69,0x4e,0x27}, {0xb2,0xcd,0x7f,0xb2}, {0x75,0x9f,0xea,0x75}, -{0x09,0x1b,0x12,0x09}, {0x83,0x9e,0x1d,0x83}, {0x2c,0x74,0x58,0x2c}, {0x1a,0x2e,0x34,0x1a}, -{0x1b,0x2d,0x36,0x1b}, {0x6e,0xb2,0xdc,0x6e}, {0x5a,0xee,0xb4,0x5a}, {0xa0,0xfb,0x5b,0xa0}, -{0x52,0xf6,0xa4,0x52}, {0x3b,0x4d,0x76,0x3b}, {0xd6,0x61,0xb7,0xd6}, {0xb3,0xce,0x7d,0xb3}, -{0x29,0x7b,0x52,0x29}, {0xe3,0x3e,0xdd,0xe3}, {0x2f,0x71,0x5e,0x2f}, {0x84,0x97,0x13,0x84}, -{0x53,0xf5,0xa6,0x53}, {0xd1,0x68,0xb9,0xd1}, {0x00,0x00,0x00,0x00}, {0xed,0x2c,0xc1,0xed}, -{0x20,0x60,0x40,0x20}, {0xfc,0x1f,0xe3,0xfc}, {0xb1,0xc8,0x79,0xb1}, {0x5b,0xed,0xb6,0x5b}, -{0x6a,0xbe,0xd4,0x6a}, {0xcb,0x46,0x8d,0xcb}, {0xbe,0xd9,0x67,0xbe}, {0x39,0x4b,0x72,0x39}, -{0x4a,0xde,0x94,0x4a}, {0x4c,0xd4,0x98,0x4c}, {0x58,0xe8,0xb0,0x58}, {0xcf,0x4a,0x85,0xcf}, -{0xd0,0x6b,0xbb,0xd0}, {0xef,0x2a,0xc5,0xef}, {0xaa,0xe5,0x4f,0xaa}, {0xfb,0x16,0xed,0xfb}, -{0x43,0xc5,0x86,0x43}, {0x4d,0xd7,0x9a,0x4d}, {0x33,0x55,0x66,0x33}, {0x85,0x94,0x11,0x85}, -{0x45,0xcf,0x8a,0x45}, {0xf9,0x10,0xe9,0xf9}, {0x02,0x06,0x04,0x02}, {0x7f,0x81,0xfe,0x7f}, -{0x50,0xf0,0xa0,0x50}, {0x3c,0x44,0x78,0x3c}, {0x9f,0xba,0x25,0x9f}, {0xa8,0xe3,0x4b,0xa8}, -{0x51,0xf3,0xa2,0x51}, {0xa3,0xfe,0x5d,0xa3}, {0x40,0xc0,0x80,0x40}, {0x8f,0x8a,0x05,0x8f}, -{0x92,0xad,0x3f,0x92}, {0x9d,0xbc,0x21,0x9d}, {0x38,0x48,0x70,0x38}, {0xf5,0x04,0xf1,0xf5}, -{0xbc,0xdf,0x63,0xbc}, {0xb6,0xc1,0x77,0xb6}, {0xda,0x75,0xaf,0xda}, {0x21,0x63,0x42,0x21}, -{0x10,0x30,0x20,0x10}, {0xff,0x1a,0xe5,0xff}, {0xf3,0x0e,0xfd,0xf3}, {0xd2,0x6d,0xbf,0xd2}, -{0xcd,0x4c,0x81,0xcd}, {0x0c,0x14,0x18,0x0c}, {0x13,0x35,0x26,0x13}, {0xec,0x2f,0xc3,0xec}, -{0x5f,0xe1,0xbe,0x5f}, {0x97,0xa2,0x35,0x97}, {0x44,0xcc,0x88,0x44}, {0x17,0x39,0x2e,0x17}, -{0xc4,0x57,0x93,0xc4}, {0xa7,0xf2,0x55,0xa7}, {0x7e,0x82,0xfc,0x7e}, {0x3d,0x47,0x7a,0x3d}, -{0x64,0xac,0xc8,0x64}, {0x5d,0xe7,0xba,0x5d}, {0x19,0x2b,0x32,0x19}, {0x73,0x95,0xe6,0x73}, -{0x60,0xa0,0xc0,0x60}, {0x81,0x98,0x19,0x81}, {0x4f,0xd1,0x9e,0x4f}, {0xdc,0x7f,0xa3,0xdc}, -{0x22,0x66,0x44,0x22}, {0x2a,0x7e,0x54,0x2a}, {0x90,0xab,0x3b,0x90}, {0x88,0x83,0x0b,0x88}, -{0x46,0xca,0x8c,0x46}, {0xee,0x29,0xc7,0xee}, {0xb8,0xd3,0x6b,0xb8}, {0x14,0x3c,0x28,0x14}, -{0xde,0x79,0xa7,0xde}, {0x5e,0xe2,0xbc,0x5e}, {0x0b,0x1d,0x16,0x0b}, {0xdb,0x76,0xad,0xdb}, -{0xe0,0x3b,0xdb,0xe0}, {0x32,0x56,0x64,0x32}, {0x3a,0x4e,0x74,0x3a}, {0x0a,0x1e,0x14,0x0a}, -{0x49,0xdb,0x92,0x49}, {0x06,0x0a,0x0c,0x06}, {0x24,0x6c,0x48,0x24}, {0x5c,0xe4,0xb8,0x5c}, -{0xc2,0x5d,0x9f,0xc2}, {0xd3,0x6e,0xbd,0xd3}, {0xac,0xef,0x43,0xac}, {0x62,0xa6,0xc4,0x62}, -{0x91,0xa8,0x39,0x91}, {0x95,0xa4,0x31,0x95}, {0xe4,0x37,0xd3,0xe4}, {0x79,0x8b,0xf2,0x79}, -{0xe7,0x32,0xd5,0xe7}, {0xc8,0x43,0x8b,0xc8}, {0x37,0x59,0x6e,0x37}, {0x6d,0xb7,0xda,0x6d}, -{0x8d,0x8c,0x01,0x8d}, {0xd5,0x64,0xb1,0xd5}, {0x4e,0xd2,0x9c,0x4e}, {0xa9,0xe0,0x49,0xa9}, -{0x6c,0xb4,0xd8,0x6c}, {0x56,0xfa,0xac,0x56}, {0xf4,0x07,0xf3,0xf4}, {0xea,0x25,0xcf,0xea}, -{0x65,0xaf,0xca,0x65}, {0x7a,0x8e,0xf4,0x7a}, {0xae,0xe9,0x47,0xae}, {0x08,0x18,0x10,0x08}, -{0xba,0xd5,0x6f,0xba}, {0x78,0x88,0xf0,0x78}, {0x25,0x6f,0x4a,0x25}, {0x2e,0x72,0x5c,0x2e}, -{0x1c,0x24,0x38,0x1c}, {0xa6,0xf1,0x57,0xa6}, {0xb4,0xc7,0x73,0xb4}, {0xc6,0x51,0x97,0xc6}, -{0xe8,0x23,0xcb,0xe8}, {0xdd,0x7c,0xa1,0xdd}, {0x74,0x9c,0xe8,0x74}, {0x1f,0x21,0x3e,0x1f}, -{0x4b,0xdd,0x96,0x4b}, {0xbd,0xdc,0x61,0xbd}, {0x8b,0x86,0x0d,0x8b}, {0x8a,0x85,0x0f,0x8a}, -{0x70,0x90,0xe0,0x70}, {0x3e,0x42,0x7c,0x3e}, {0xb5,0xc4,0x71,0xb5}, {0x66,0xaa,0xcc,0x66}, -{0x48,0xd8,0x90,0x48}, {0x03,0x05,0x06,0x03}, {0xf6,0x01,0xf7,0xf6}, {0x0e,0x12,0x1c,0x0e}, -{0x61,0xa3,0xc2,0x61}, {0x35,0x5f,0x6a,0x35}, {0x57,0xf9,0xae,0x57}, {0xb9,0xd0,0x69,0xb9}, -{0x86,0x91,0x17,0x86}, {0xc1,0x58,0x99,0xc1}, {0x1d,0x27,0x3a,0x1d}, {0x9e,0xb9,0x27,0x9e}, -{0xe1,0x38,0xd9,0xe1}, {0xf8,0x13,0xeb,0xf8}, {0x98,0xb3,0x2b,0x98}, {0x11,0x33,0x22,0x11}, -{0x69,0xbb,0xd2,0x69}, {0xd9,0x70,0xa9,0xd9}, {0x8e,0x89,0x07,0x8e}, {0x94,0xa7,0x33,0x94}, -{0x9b,0xb6,0x2d,0x9b}, {0x1e,0x22,0x3c,0x1e}, {0x87,0x92,0x15,0x87}, {0xe9,0x20,0xc9,0xe9}, -{0xce,0x49,0x87,0xce}, {0x55,0xff,0xaa,0x55}, {0x28,0x78,0x50,0x28}, {0xdf,0x7a,0xa5,0xdf}, -{0x8c,0x8f,0x03,0x8c}, {0xa1,0xf8,0x59,0xa1}, {0x89,0x80,0x09,0x89}, {0x0d,0x17,0x1a,0x0d}, -{0xbf,0xda,0x65,0xbf}, {0xe6,0x31,0xd7,0xe6}, {0x42,0xc6,0x84,0x42}, {0x68,0xb8,0xd0,0x68}, -{0x41,0xc3,0x82,0x41}, {0x99,0xb0,0x29,0x99}, {0x2d,0x77,0x5a,0x2d}, {0x0f,0x11,0x1e,0x0f}, -{0xb0,0xcb,0x7b,0xb0}, {0x54,0xfc,0xa8,0x54}, {0xbb,0xd6,0x6d,0xbb}, {0x16,0x3a,0x2c,0x16} - } + 0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U, + 0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U, + 0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U, + 0xfefe19e7U, 0xd7d762b5U, 0xababe64dU, 0x76769aecU, + 0xcaca458fU, 0x82829d1fU, 0xc9c94089U, 0x7d7d87faU, + 0xfafa15efU, 0x5959ebb2U, 0x4747c98eU, 0xf0f00bfbU, + 0xadadec41U, 0xd4d467b3U, 0xa2a2fd5fU, 0xafafea45U, + 0x9c9cbf23U, 0xa4a4f753U, 0x727296e4U, 0xc0c05b9bU, + 0xb7b7c275U, 0xfdfd1ce1U, 0x9393ae3dU, 0x26266a4cU, + 0x36365a6cU, 0x3f3f417eU, 0xf7f702f5U, 0xcccc4f83U, + 0x34345c68U, 0xa5a5f451U, 0xe5e534d1U, 0xf1f108f9U, + 0x717193e2U, 0xd8d873abU, 0x31315362U, 0x15153f2aU, + 0x04040c08U, 0xc7c75295U, 0x23236546U, 0xc3c35e9dU, + 0x18182830U, 0x9696a137U, 0x05050f0aU, 0x9a9ab52fU, + 0x0707090eU, 0x12123624U, 0x80809b1bU, 0xe2e23ddfU, + 0xebeb26cdU, 0x2727694eU, 0xb2b2cd7fU, 0x75759feaU, + 0x09091b12U, 0x83839e1dU, 0x2c2c7458U, 0x1a1a2e34U, + 0x1b1b2d36U, 0x6e6eb2dcU, 0x5a5aeeb4U, 0xa0a0fb5bU, + 0x5252f6a4U, 0x3b3b4d76U, 0xd6d661b7U, 0xb3b3ce7dU, + 0x29297b52U, 0xe3e33eddU, 0x2f2f715eU, 0x84849713U, + 0x5353f5a6U, 0xd1d168b9U, 0x00000000U, 0xeded2cc1U, + 0x20206040U, 0xfcfc1fe3U, 0xb1b1c879U, 0x5b5bedb6U, + 0x6a6abed4U, 0xcbcb468dU, 0xbebed967U, 0x39394b72U, + 0x4a4ade94U, 0x4c4cd498U, 0x5858e8b0U, 0xcfcf4a85U, + 0xd0d06bbbU, 0xefef2ac5U, 0xaaaae54fU, 0xfbfb16edU, + 0x4343c586U, 0x4d4dd79aU, 0x33335566U, 0x85859411U, + 0x4545cf8aU, 0xf9f910e9U, 0x02020604U, 0x7f7f81feU, + 0x5050f0a0U, 0x3c3c4478U, 0x9f9fba25U, 0xa8a8e34bU, + 0x5151f3a2U, 0xa3a3fe5dU, 0x4040c080U, 0x8f8f8a05U, + 0x9292ad3fU, 0x9d9dbc21U, 0x38384870U, 0xf5f504f1U, + 0xbcbcdf63U, 0xb6b6c177U, 0xdada75afU, 0x21216342U, + 0x10103020U, 0xffff1ae5U, 0xf3f30efdU, 0xd2d26dbfU, + 0xcdcd4c81U, 0x0c0c1418U, 0x13133526U, 0xecec2fc3U, + 0x5f5fe1beU, 0x9797a235U, 0x4444cc88U, 0x1717392eU, + 0xc4c45793U, 0xa7a7f255U, 0x7e7e82fcU, 0x3d3d477aU, + 0x6464acc8U, 0x5d5de7baU, 0x19192b32U, 0x737395e6U, + 0x6060a0c0U, 0x81819819U, 0x4f4fd19eU, 0xdcdc7fa3U, + 0x22226644U, 0x2a2a7e54U, 0x9090ab3bU, 0x8888830bU, + 0x4646ca8cU, 0xeeee29c7U, 0xb8b8d36bU, 0x14143c28U, + 0xdede79a7U, 0x5e5ee2bcU, 0x0b0b1d16U, 0xdbdb76adU, + 0xe0e03bdbU, 0x32325664U, 0x3a3a4e74U, 0x0a0a1e14U, + 0x4949db92U, 0x06060a0cU, 0x24246c48U, 0x5c5ce4b8U, + 0xc2c25d9fU, 0xd3d36ebdU, 0xacacef43U, 0x6262a6c4U, + 0x9191a839U, 0x9595a431U, 0xe4e437d3U, 0x79798bf2U, + 0xe7e732d5U, 0xc8c8438bU, 0x3737596eU, 0x6d6db7daU, + 0x8d8d8c01U, 0xd5d564b1U, 0x4e4ed29cU, 0xa9a9e049U, + 0x6c6cb4d8U, 0x5656faacU, 0xf4f407f3U, 0xeaea25cfU, + 0x6565afcaU, 0x7a7a8ef4U, 0xaeaee947U, 0x08081810U, + 0xbabad56fU, 0x787888f0U, 0x25256f4aU, 0x2e2e725cU, + 0x1c1c2438U, 0xa6a6f157U, 0xb4b4c773U, 0xc6c65197U, + 0xe8e823cbU, 0xdddd7ca1U, 0x74749ce8U, 0x1f1f213eU, + 0x4b4bdd96U, 0xbdbddc61U, 0x8b8b860dU, 0x8a8a850fU, + 0x707090e0U, 0x3e3e427cU, 0xb5b5c471U, 0x6666aaccU, + 0x4848d890U, 0x03030506U, 0xf6f601f7U, 0x0e0e121cU, + 0x6161a3c2U, 0x35355f6aU, 0x5757f9aeU, 0xb9b9d069U, + 0x86869117U, 0xc1c15899U, 0x1d1d273aU, 0x9e9eb927U, + 0xe1e138d9U, 0xf8f813ebU, 0x9898b32bU, 0x11113322U, + 0x6969bbd2U, 0xd9d970a9U, 0x8e8e8907U, 0x9494a733U, + 0x9b9bb62dU, 0x1e1e223cU, 0x87879215U, 0xe9e920c9U, + 0xcece4987U, 0x5555ffaaU, 0x28287850U, 0xdfdf7aa5U, + 0x8c8c8f03U, 0xa1a1f859U, 0x89898009U, 0x0d0d171aU, + 0xbfbfda65U, 0xe6e631d7U, 0x4242c684U, 0x6868b8d0U, + 0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU, + 0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU, }; -#define T3 xT3.xt8 - -static const union xtab xT4 = { - .xt8 = { -{0x63,0x63,0xa5,0xc6}, {0x7c,0x7c,0x84,0xf8}, {0x77,0x77,0x99,0xee}, {0x7b,0x7b,0x8d,0xf6}, -{0xf2,0xf2,0x0d,0xff}, {0x6b,0x6b,0xbd,0xd6}, {0x6f,0x6f,0xb1,0xde}, {0xc5,0xc5,0x54,0x91}, -{0x30,0x30,0x50,0x60}, {0x01,0x01,0x03,0x02}, {0x67,0x67,0xa9,0xce}, {0x2b,0x2b,0x7d,0x56}, -{0xfe,0xfe,0x19,0xe7}, {0xd7,0xd7,0x62,0xb5}, {0xab,0xab,0xe6,0x4d}, {0x76,0x76,0x9a,0xec}, -{0xca,0xca,0x45,0x8f}, {0x82,0x82,0x9d,0x1f}, {0xc9,0xc9,0x40,0x89}, {0x7d,0x7d,0x87,0xfa}, -{0xfa,0xfa,0x15,0xef}, {0x59,0x59,0xeb,0xb2}, {0x47,0x47,0xc9,0x8e}, {0xf0,0xf0,0x0b,0xfb}, -{0xad,0xad,0xec,0x41}, {0xd4,0xd4,0x67,0xb3}, {0xa2,0xa2,0xfd,0x5f}, {0xaf,0xaf,0xea,0x45}, -{0x9c,0x9c,0xbf,0x23}, {0xa4,0xa4,0xf7,0x53}, {0x72,0x72,0x96,0xe4}, {0xc0,0xc0,0x5b,0x9b}, -{0xb7,0xb7,0xc2,0x75}, {0xfd,0xfd,0x1c,0xe1}, {0x93,0x93,0xae,0x3d}, {0x26,0x26,0x6a,0x4c}, -{0x36,0x36,0x5a,0x6c}, {0x3f,0x3f,0x41,0x7e}, {0xf7,0xf7,0x02,0xf5}, {0xcc,0xcc,0x4f,0x83}, -{0x34,0x34,0x5c,0x68}, {0xa5,0xa5,0xf4,0x51}, {0xe5,0xe5,0x34,0xd1}, {0xf1,0xf1,0x08,0xf9}, -{0x71,0x71,0x93,0xe2}, {0xd8,0xd8,0x73,0xab}, {0x31,0x31,0x53,0x62}, {0x15,0x15,0x3f,0x2a}, -{0x04,0x04,0x0c,0x08}, {0xc7,0xc7,0x52,0x95}, {0x23,0x23,0x65,0x46}, {0xc3,0xc3,0x5e,0x9d}, -{0x18,0x18,0x28,0x30}, {0x96,0x96,0xa1,0x37}, {0x05,0x05,0x0f,0x0a}, {0x9a,0x9a,0xb5,0x2f}, -{0x07,0x07,0x09,0x0e}, {0x12,0x12,0x36,0x24}, {0x80,0x80,0x9b,0x1b}, {0xe2,0xe2,0x3d,0xdf}, -{0xeb,0xeb,0x26,0xcd}, {0x27,0x27,0x69,0x4e}, {0xb2,0xb2,0xcd,0x7f}, {0x75,0x75,0x9f,0xea}, -{0x09,0x09,0x1b,0x12}, {0x83,0x83,0x9e,0x1d}, {0x2c,0x2c,0x74,0x58}, {0x1a,0x1a,0x2e,0x34}, -{0x1b,0x1b,0x2d,0x36}, {0x6e,0x6e,0xb2,0xdc}, {0x5a,0x5a,0xee,0xb4}, {0xa0,0xa0,0xfb,0x5b}, -{0x52,0x52,0xf6,0xa4}, {0x3b,0x3b,0x4d,0x76}, {0xd6,0xd6,0x61,0xb7}, {0xb3,0xb3,0xce,0x7d}, -{0x29,0x29,0x7b,0x52}, {0xe3,0xe3,0x3e,0xdd}, {0x2f,0x2f,0x71,0x5e}, {0x84,0x84,0x97,0x13}, -{0x53,0x53,0xf5,0xa6}, {0xd1,0xd1,0x68,0xb9}, {0x00,0x00,0x00,0x00}, {0xed,0xed,0x2c,0xc1}, -{0x20,0x20,0x60,0x40}, {0xfc,0xfc,0x1f,0xe3}, {0xb1,0xb1,0xc8,0x79}, {0x5b,0x5b,0xed,0xb6}, -{0x6a,0x6a,0xbe,0xd4}, {0xcb,0xcb,0x46,0x8d}, {0xbe,0xbe,0xd9,0x67}, {0x39,0x39,0x4b,0x72}, -{0x4a,0x4a,0xde,0x94}, {0x4c,0x4c,0xd4,0x98}, {0x58,0x58,0xe8,0xb0}, {0xcf,0xcf,0x4a,0x85}, -{0xd0,0xd0,0x6b,0xbb}, {0xef,0xef,0x2a,0xc5}, {0xaa,0xaa,0xe5,0x4f}, {0xfb,0xfb,0x16,0xed}, -{0x43,0x43,0xc5,0x86}, {0x4d,0x4d,0xd7,0x9a}, {0x33,0x33,0x55,0x66}, {0x85,0x85,0x94,0x11}, -{0x45,0x45,0xcf,0x8a}, {0xf9,0xf9,0x10,0xe9}, {0x02,0x02,0x06,0x04}, {0x7f,0x7f,0x81,0xfe}, -{0x50,0x50,0xf0,0xa0}, {0x3c,0x3c,0x44,0x78}, {0x9f,0x9f,0xba,0x25}, {0xa8,0xa8,0xe3,0x4b}, -{0x51,0x51,0xf3,0xa2}, {0xa3,0xa3,0xfe,0x5d}, {0x40,0x40,0xc0,0x80}, {0x8f,0x8f,0x8a,0x05}, -{0x92,0x92,0xad,0x3f}, {0x9d,0x9d,0xbc,0x21}, {0x38,0x38,0x48,0x70}, {0xf5,0xf5,0x04,0xf1}, -{0xbc,0xbc,0xdf,0x63}, {0xb6,0xb6,0xc1,0x77}, {0xda,0xda,0x75,0xaf}, {0x21,0x21,0x63,0x42}, -{0x10,0x10,0x30,0x20}, {0xff,0xff,0x1a,0xe5}, {0xf3,0xf3,0x0e,0xfd}, {0xd2,0xd2,0x6d,0xbf}, -{0xcd,0xcd,0x4c,0x81}, {0x0c,0x0c,0x14,0x18}, {0x13,0x13,0x35,0x26}, {0xec,0xec,0x2f,0xc3}, -{0x5f,0x5f,0xe1,0xbe}, {0x97,0x97,0xa2,0x35}, {0x44,0x44,0xcc,0x88}, {0x17,0x17,0x39,0x2e}, -{0xc4,0xc4,0x57,0x93}, {0xa7,0xa7,0xf2,0x55}, {0x7e,0x7e,0x82,0xfc}, {0x3d,0x3d,0x47,0x7a}, -{0x64,0x64,0xac,0xc8}, {0x5d,0x5d,0xe7,0xba}, {0x19,0x19,0x2b,0x32}, {0x73,0x73,0x95,0xe6}, -{0x60,0x60,0xa0,0xc0}, {0x81,0x81,0x98,0x19}, {0x4f,0x4f,0xd1,0x9e}, {0xdc,0xdc,0x7f,0xa3}, -{0x22,0x22,0x66,0x44}, {0x2a,0x2a,0x7e,0x54}, {0x90,0x90,0xab,0x3b}, {0x88,0x88,0x83,0x0b}, -{0x46,0x46,0xca,0x8c}, {0xee,0xee,0x29,0xc7}, {0xb8,0xb8,0xd3,0x6b}, {0x14,0x14,0x3c,0x28}, -{0xde,0xde,0x79,0xa7}, {0x5e,0x5e,0xe2,0xbc}, {0x0b,0x0b,0x1d,0x16}, {0xdb,0xdb,0x76,0xad}, -{0xe0,0xe0,0x3b,0xdb}, {0x32,0x32,0x56,0x64}, {0x3a,0x3a,0x4e,0x74}, {0x0a,0x0a,0x1e,0x14}, -{0x49,0x49,0xdb,0x92}, {0x06,0x06,0x0a,0x0c}, {0x24,0x24,0x6c,0x48}, {0x5c,0x5c,0xe4,0xb8}, -{0xc2,0xc2,0x5d,0x9f}, {0xd3,0xd3,0x6e,0xbd}, {0xac,0xac,0xef,0x43}, {0x62,0x62,0xa6,0xc4}, -{0x91,0x91,0xa8,0x39}, {0x95,0x95,0xa4,0x31}, {0xe4,0xe4,0x37,0xd3}, {0x79,0x79,0x8b,0xf2}, -{0xe7,0xe7,0x32,0xd5}, {0xc8,0xc8,0x43,0x8b}, {0x37,0x37,0x59,0x6e}, {0x6d,0x6d,0xb7,0xda}, -{0x8d,0x8d,0x8c,0x01}, {0xd5,0xd5,0x64,0xb1}, {0x4e,0x4e,0xd2,0x9c}, {0xa9,0xa9,0xe0,0x49}, -{0x6c,0x6c,0xb4,0xd8}, {0x56,0x56,0xfa,0xac}, {0xf4,0xf4,0x07,0xf3}, {0xea,0xea,0x25,0xcf}, -{0x65,0x65,0xaf,0xca}, {0x7a,0x7a,0x8e,0xf4}, {0xae,0xae,0xe9,0x47}, {0x08,0x08,0x18,0x10}, -{0xba,0xba,0xd5,0x6f}, {0x78,0x78,0x88,0xf0}, {0x25,0x25,0x6f,0x4a}, {0x2e,0x2e,0x72,0x5c}, -{0x1c,0x1c,0x24,0x38}, {0xa6,0xa6,0xf1,0x57}, {0xb4,0xb4,0xc7,0x73}, {0xc6,0xc6,0x51,0x97}, -{0xe8,0xe8,0x23,0xcb}, {0xdd,0xdd,0x7c,0xa1}, {0x74,0x74,0x9c,0xe8}, {0x1f,0x1f,0x21,0x3e}, -{0x4b,0x4b,0xdd,0x96}, {0xbd,0xbd,0xdc,0x61}, {0x8b,0x8b,0x86,0x0d}, {0x8a,0x8a,0x85,0x0f}, -{0x70,0x70,0x90,0xe0}, {0x3e,0x3e,0x42,0x7c}, {0xb5,0xb5,0xc4,0x71}, {0x66,0x66,0xaa,0xcc}, -{0x48,0x48,0xd8,0x90}, {0x03,0x03,0x05,0x06}, {0xf6,0xf6,0x01,0xf7}, {0x0e,0x0e,0x12,0x1c}, -{0x61,0x61,0xa3,0xc2}, {0x35,0x35,0x5f,0x6a}, {0x57,0x57,0xf9,0xae}, {0xb9,0xb9,0xd0,0x69}, -{0x86,0x86,0x91,0x17}, {0xc1,0xc1,0x58,0x99}, {0x1d,0x1d,0x27,0x3a}, {0x9e,0x9e,0xb9,0x27}, -{0xe1,0xe1,0x38,0xd9}, {0xf8,0xf8,0x13,0xeb}, {0x98,0x98,0xb3,0x2b}, {0x11,0x11,0x33,0x22}, -{0x69,0x69,0xbb,0xd2}, {0xd9,0xd9,0x70,0xa9}, {0x8e,0x8e,0x89,0x07}, {0x94,0x94,0xa7,0x33}, -{0x9b,0x9b,0xb6,0x2d}, {0x1e,0x1e,0x22,0x3c}, {0x87,0x87,0x92,0x15}, {0xe9,0xe9,0x20,0xc9}, -{0xce,0xce,0x49,0x87}, {0x55,0x55,0xff,0xaa}, {0x28,0x28,0x78,0x50}, {0xdf,0xdf,0x7a,0xa5}, -{0x8c,0x8c,0x8f,0x03}, {0xa1,0xa1,0xf8,0x59}, {0x89,0x89,0x80,0x09}, {0x0d,0x0d,0x17,0x1a}, -{0xbf,0xbf,0xda,0x65}, {0xe6,0xe6,0x31,0xd7}, {0x42,0x42,0xc6,0x84}, {0x68,0x68,0xb8,0xd0}, -{0x41,0x41,0xc3,0x82}, {0x99,0x99,0xb0,0x29}, {0x2d,0x2d,0x77,0x5a}, {0x0f,0x0f,0x11,0x1e}, -{0xb0,0xb0,0xcb,0x7b}, {0x54,0x54,0xfc,0xa8}, {0xbb,0xbb,0xd6,0x6d}, {0x16,0x16,0x3a,0x2c} - } +static const u32 Te4[256] = { + 0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU, + 0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U, + 0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU, + 0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U, + 0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU, + 0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U, + 0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU, + 0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U, + 0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U, + 0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU, + 0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U, + 0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U, + 0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U, + 0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU, + 0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U, + 0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U, + 0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU, + 0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U, + 0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U, + 0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U, + 0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU, + 0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU, + 0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U, + 0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU, + 0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU, + 0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U, + 0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU, + 0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U, + 0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU, + 0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U, + 0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U, + 0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U, + 0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU, + 0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U, + 0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU, + 0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U, + 0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU, + 0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U, + 0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U, + 0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU, + 0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU, + 0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU, + 0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U, + 0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U, + 0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU, + 0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U, + 0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU, + 0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U, + 0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU, + 0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U, + 0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU, + 0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU, + 0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U, + 0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU, + 0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U, + 0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU, + 0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U, + 0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U, + 0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U, + 0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU, + 0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU, + 0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U, + 0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU, + 0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U, }; -#define T4 xT4.xt8 - -static const union xtab xT5 = { - .xt8 = { -{0x51,0xf4,0xa7,0x50}, {0x7e,0x41,0x65,0x53}, {0x1a,0x17,0xa4,0xc3}, {0x3a,0x27,0x5e,0x96}, -{0x3b,0xab,0x6b,0xcb}, {0x1f,0x9d,0x45,0xf1}, {0xac,0xfa,0x58,0xab}, {0x4b,0xe3,0x03,0x93}, -{0x20,0x30,0xfa,0x55}, {0xad,0x76,0x6d,0xf6}, {0x88,0xcc,0x76,0x91}, {0xf5,0x02,0x4c,0x25}, -{0x4f,0xe5,0xd7,0xfc}, {0xc5,0x2a,0xcb,0xd7}, {0x26,0x35,0x44,0x80}, {0xb5,0x62,0xa3,0x8f}, -{0xde,0xb1,0x5a,0x49}, {0x25,0xba,0x1b,0x67}, {0x45,0xea,0x0e,0x98}, {0x5d,0xfe,0xc0,0xe1}, -{0xc3,0x2f,0x75,0x02}, {0x81,0x4c,0xf0,0x12}, {0x8d,0x46,0x97,0xa3}, {0x6b,0xd3,0xf9,0xc6}, -{0x03,0x8f,0x5f,0xe7}, {0x15,0x92,0x9c,0x95}, {0xbf,0x6d,0x7a,0xeb}, {0x95,0x52,0x59,0xda}, -{0xd4,0xbe,0x83,0x2d}, {0x58,0x74,0x21,0xd3}, {0x49,0xe0,0x69,0x29}, {0x8e,0xc9,0xc8,0x44}, -{0x75,0xc2,0x89,0x6a}, {0xf4,0x8e,0x79,0x78}, {0x99,0x58,0x3e,0x6b}, {0x27,0xb9,0x71,0xdd}, -{0xbe,0xe1,0x4f,0xb6}, {0xf0,0x88,0xad,0x17}, {0xc9,0x20,0xac,0x66}, {0x7d,0xce,0x3a,0xb4}, -{0x63,0xdf,0x4a,0x18}, {0xe5,0x1a,0x31,0x82}, {0x97,0x51,0x33,0x60}, {0x62,0x53,0x7f,0x45}, -{0xb1,0x64,0x77,0xe0}, {0xbb,0x6b,0xae,0x84}, {0xfe,0x81,0xa0,0x1c}, {0xf9,0x08,0x2b,0x94}, -{0x70,0x48,0x68,0x58}, {0x8f,0x45,0xfd,0x19}, {0x94,0xde,0x6c,0x87}, {0x52,0x7b,0xf8,0xb7}, -{0xab,0x73,0xd3,0x23}, {0x72,0x4b,0x02,0xe2}, {0xe3,0x1f,0x8f,0x57}, {0x66,0x55,0xab,0x2a}, -{0xb2,0xeb,0x28,0x07}, {0x2f,0xb5,0xc2,0x03}, {0x86,0xc5,0x7b,0x9a}, {0xd3,0x37,0x08,0xa5}, -{0x30,0x28,0x87,0xf2}, {0x23,0xbf,0xa5,0xb2}, {0x02,0x03,0x6a,0xba}, {0xed,0x16,0x82,0x5c}, -{0x8a,0xcf,0x1c,0x2b}, {0xa7,0x79,0xb4,0x92}, {0xf3,0x07,0xf2,0xf0}, {0x4e,0x69,0xe2,0xa1}, -{0x65,0xda,0xf4,0xcd}, {0x06,0x05,0xbe,0xd5}, {0xd1,0x34,0x62,0x1f}, {0xc4,0xa6,0xfe,0x8a}, -{0x34,0x2e,0x53,0x9d}, {0xa2,0xf3,0x55,0xa0}, {0x05,0x8a,0xe1,0x32}, {0xa4,0xf6,0xeb,0x75}, -{0x0b,0x83,0xec,0x39}, {0x40,0x60,0xef,0xaa}, {0x5e,0x71,0x9f,0x06}, {0xbd,0x6e,0x10,0x51}, -{0x3e,0x21,0x8a,0xf9}, {0x96,0xdd,0x06,0x3d}, {0xdd,0x3e,0x05,0xae}, {0x4d,0xe6,0xbd,0x46}, -{0x91,0x54,0x8d,0xb5}, {0x71,0xc4,0x5d,0x05}, {0x04,0x06,0xd4,0x6f}, {0x60,0x50,0x15,0xff}, -{0x19,0x98,0xfb,0x24}, {0xd6,0xbd,0xe9,0x97}, {0x89,0x40,0x43,0xcc}, {0x67,0xd9,0x9e,0x77}, -{0xb0,0xe8,0x42,0xbd}, {0x07,0x89,0x8b,0x88}, {0xe7,0x19,0x5b,0x38}, {0x79,0xc8,0xee,0xdb}, -{0xa1,0x7c,0x0a,0x47}, {0x7c,0x42,0x0f,0xe9}, {0xf8,0x84,0x1e,0xc9}, {0x00,0x00,0x00,0x00}, -{0x09,0x80,0x86,0x83}, {0x32,0x2b,0xed,0x48}, {0x1e,0x11,0x70,0xac}, {0x6c,0x5a,0x72,0x4e}, -{0xfd,0x0e,0xff,0xfb}, {0x0f,0x85,0x38,0x56}, {0x3d,0xae,0xd5,0x1e}, {0x36,0x2d,0x39,0x27}, -{0x0a,0x0f,0xd9,0x64}, {0x68,0x5c,0xa6,0x21}, {0x9b,0x5b,0x54,0xd1}, {0x24,0x36,0x2e,0x3a}, -{0x0c,0x0a,0x67,0xb1}, {0x93,0x57,0xe7,0x0f}, {0xb4,0xee,0x96,0xd2}, {0x1b,0x9b,0x91,0x9e}, -{0x80,0xc0,0xc5,0x4f}, {0x61,0xdc,0x20,0xa2}, {0x5a,0x77,0x4b,0x69}, {0x1c,0x12,0x1a,0x16}, -{0xe2,0x93,0xba,0x0a}, {0xc0,0xa0,0x2a,0xe5}, {0x3c,0x22,0xe0,0x43}, {0x12,0x1b,0x17,0x1d}, -{0x0e,0x09,0x0d,0x0b}, {0xf2,0x8b,0xc7,0xad}, {0x2d,0xb6,0xa8,0xb9}, {0x14,0x1e,0xa9,0xc8}, -{0x57,0xf1,0x19,0x85}, {0xaf,0x75,0x07,0x4c}, {0xee,0x99,0xdd,0xbb}, {0xa3,0x7f,0x60,0xfd}, -{0xf7,0x01,0x26,0x9f}, {0x5c,0x72,0xf5,0xbc}, {0x44,0x66,0x3b,0xc5}, {0x5b,0xfb,0x7e,0x34}, -{0x8b,0x43,0x29,0x76}, {0xcb,0x23,0xc6,0xdc}, {0xb6,0xed,0xfc,0x68}, {0xb8,0xe4,0xf1,0x63}, -{0xd7,0x31,0xdc,0xca}, {0x42,0x63,0x85,0x10}, {0x13,0x97,0x22,0x40}, {0x84,0xc6,0x11,0x20}, -{0x85,0x4a,0x24,0x7d}, {0xd2,0xbb,0x3d,0xf8}, {0xae,0xf9,0x32,0x11}, {0xc7,0x29,0xa1,0x6d}, -{0x1d,0x9e,0x2f,0x4b}, {0xdc,0xb2,0x30,0xf3}, {0x0d,0x86,0x52,0xec}, {0x77,0xc1,0xe3,0xd0}, -{0x2b,0xb3,0x16,0x6c}, {0xa9,0x70,0xb9,0x99}, {0x11,0x94,0x48,0xfa}, {0x47,0xe9,0x64,0x22}, -{0xa8,0xfc,0x8c,0xc4}, {0xa0,0xf0,0x3f,0x1a}, {0x56,0x7d,0x2c,0xd8}, {0x22,0x33,0x90,0xef}, -{0x87,0x49,0x4e,0xc7}, {0xd9,0x38,0xd1,0xc1}, {0x8c,0xca,0xa2,0xfe}, {0x98,0xd4,0x0b,0x36}, -{0xa6,0xf5,0x81,0xcf}, {0xa5,0x7a,0xde,0x28}, {0xda,0xb7,0x8e,0x26}, {0x3f,0xad,0xbf,0xa4}, -{0x2c,0x3a,0x9d,0xe4}, {0x50,0x78,0x92,0x0d}, {0x6a,0x5f,0xcc,0x9b}, {0x54,0x7e,0x46,0x62}, -{0xf6,0x8d,0x13,0xc2}, {0x90,0xd8,0xb8,0xe8}, {0x2e,0x39,0xf7,0x5e}, {0x82,0xc3,0xaf,0xf5}, -{0x9f,0x5d,0x80,0xbe}, {0x69,0xd0,0x93,0x7c}, {0x6f,0xd5,0x2d,0xa9}, {0xcf,0x25,0x12,0xb3}, -{0xc8,0xac,0x99,0x3b}, {0x10,0x18,0x7d,0xa7}, {0xe8,0x9c,0x63,0x6e}, {0xdb,0x3b,0xbb,0x7b}, -{0xcd,0x26,0x78,0x09}, {0x6e,0x59,0x18,0xf4}, {0xec,0x9a,0xb7,0x01}, {0x83,0x4f,0x9a,0xa8}, -{0xe6,0x95,0x6e,0x65}, {0xaa,0xff,0xe6,0x7e}, {0x21,0xbc,0xcf,0x08}, {0xef,0x15,0xe8,0xe6}, -{0xba,0xe7,0x9b,0xd9}, {0x4a,0x6f,0x36,0xce}, {0xea,0x9f,0x09,0xd4}, {0x29,0xb0,0x7c,0xd6}, -{0x31,0xa4,0xb2,0xaf}, {0x2a,0x3f,0x23,0x31}, {0xc6,0xa5,0x94,0x30}, {0x35,0xa2,0x66,0xc0}, -{0x74,0x4e,0xbc,0x37}, {0xfc,0x82,0xca,0xa6}, {0xe0,0x90,0xd0,0xb0}, {0x33,0xa7,0xd8,0x15}, -{0xf1,0x04,0x98,0x4a}, {0x41,0xec,0xda,0xf7}, {0x7f,0xcd,0x50,0x0e}, {0x17,0x91,0xf6,0x2f}, -{0x76,0x4d,0xd6,0x8d}, {0x43,0xef,0xb0,0x4d}, {0xcc,0xaa,0x4d,0x54}, {0xe4,0x96,0x04,0xdf}, -{0x9e,0xd1,0xb5,0xe3}, {0x4c,0x6a,0x88,0x1b}, {0xc1,0x2c,0x1f,0xb8}, {0x46,0x65,0x51,0x7f}, -{0x9d,0x5e,0xea,0x04}, {0x01,0x8c,0x35,0x5d}, {0xfa,0x87,0x74,0x73}, {0xfb,0x0b,0x41,0x2e}, -{0xb3,0x67,0x1d,0x5a}, {0x92,0xdb,0xd2,0x52}, {0xe9,0x10,0x56,0x33}, {0x6d,0xd6,0x47,0x13}, -{0x9a,0xd7,0x61,0x8c}, {0x37,0xa1,0x0c,0x7a}, {0x59,0xf8,0x14,0x8e}, {0xeb,0x13,0x3c,0x89}, -{0xce,0xa9,0x27,0xee}, {0xb7,0x61,0xc9,0x35}, {0xe1,0x1c,0xe5,0xed}, {0x7a,0x47,0xb1,0x3c}, -{0x9c,0xd2,0xdf,0x59}, {0x55,0xf2,0x73,0x3f}, {0x18,0x14,0xce,0x79}, {0x73,0xc7,0x37,0xbf}, -{0x53,0xf7,0xcd,0xea}, {0x5f,0xfd,0xaa,0x5b}, {0xdf,0x3d,0x6f,0x14}, {0x78,0x44,0xdb,0x86}, -{0xca,0xaf,0xf3,0x81}, {0xb9,0x68,0xc4,0x3e}, {0x38,0x24,0x34,0x2c}, {0xc2,0xa3,0x40,0x5f}, -{0x16,0x1d,0xc3,0x72}, {0xbc,0xe2,0x25,0x0c}, {0x28,0x3c,0x49,0x8b}, {0xff,0x0d,0x95,0x41}, -{0x39,0xa8,0x01,0x71}, {0x08,0x0c,0xb3,0xde}, {0xd8,0xb4,0xe4,0x9c}, {0x64,0x56,0xc1,0x90}, -{0x7b,0xcb,0x84,0x61}, {0xd5,0x32,0xb6,0x70}, {0x48,0x6c,0x5c,0x74}, {0xd0,0xb8,0x57,0x42} - } +static const u32 Td0[256] = { + 0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U, + 0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U, + 0x2030fa55U, 0xad766df6U, 0x88cc7691U, 0xf5024c25U, + 0x4fe5d7fcU, 0xc52acbd7U, 0x26354480U, 0xb562a38fU, + 0xdeb15a49U, 0x25ba1b67U, 0x45ea0e98U, 0x5dfec0e1U, + 0xc32f7502U, 0x814cf012U, 0x8d4697a3U, 0x6bd3f9c6U, + 0x038f5fe7U, 0x15929c95U, 0xbf6d7aebU, 0x955259daU, + 0xd4be832dU, 0x587421d3U, 0x49e06929U, 0x8ec9c844U, + 0x75c2896aU, 0xf48e7978U, 0x99583e6bU, 0x27b971ddU, + 0xbee14fb6U, 0xf088ad17U, 0xc920ac66U, 0x7dce3ab4U, + 0x63df4a18U, 0xe51a3182U, 0x97513360U, 0x62537f45U, + 0xb16477e0U, 0xbb6bae84U, 0xfe81a01cU, 0xf9082b94U, + 0x70486858U, 0x8f45fd19U, 0x94de6c87U, 0x527bf8b7U, + 0xab73d323U, 0x724b02e2U, 0xe31f8f57U, 0x6655ab2aU, + 0xb2eb2807U, 0x2fb5c203U, 0x86c57b9aU, 0xd33708a5U, + 0x302887f2U, 0x23bfa5b2U, 0x02036abaU, 0xed16825cU, + 0x8acf1c2bU, 0xa779b492U, 0xf307f2f0U, 0x4e69e2a1U, + 0x65daf4cdU, 0x0605bed5U, 0xd134621fU, 0xc4a6fe8aU, + 0x342e539dU, 0xa2f355a0U, 0x058ae132U, 0xa4f6eb75U, + 0x0b83ec39U, 0x4060efaaU, 0x5e719f06U, 0xbd6e1051U, + 0x3e218af9U, 0x96dd063dU, 0xdd3e05aeU, 0x4de6bd46U, + 0x91548db5U, 0x71c45d05U, 0x0406d46fU, 0x605015ffU, + 0x1998fb24U, 0xd6bde997U, 0x894043ccU, 0x67d99e77U, + 0xb0e842bdU, 0x07898b88U, 0xe7195b38U, 0x79c8eedbU, + 0xa17c0a47U, 0x7c420fe9U, 0xf8841ec9U, 0x00000000U, + 0x09808683U, 0x322bed48U, 0x1e1170acU, 0x6c5a724eU, + 0xfd0efffbU, 0x0f853856U, 0x3daed51eU, 0x362d3927U, + 0x0a0fd964U, 0x685ca621U, 0x9b5b54d1U, 0x24362e3aU, + 0x0c0a67b1U, 0x9357e70fU, 0xb4ee96d2U, 0x1b9b919eU, + 0x80c0c54fU, 0x61dc20a2U, 0x5a774b69U, 0x1c121a16U, + 0xe293ba0aU, 0xc0a02ae5U, 0x3c22e043U, 0x121b171dU, + 0x0e090d0bU, 0xf28bc7adU, 0x2db6a8b9U, 0x141ea9c8U, + 0x57f11985U, 0xaf75074cU, 0xee99ddbbU, 0xa37f60fdU, + 0xf701269fU, 0x5c72f5bcU, 0x44663bc5U, 0x5bfb7e34U, + 0x8b432976U, 0xcb23c6dcU, 0xb6edfc68U, 0xb8e4f163U, + 0xd731dccaU, 0x42638510U, 0x13972240U, 0x84c61120U, + 0x854a247dU, 0xd2bb3df8U, 0xaef93211U, 0xc729a16dU, + 0x1d9e2f4bU, 0xdcb230f3U, 0x0d8652ecU, 0x77c1e3d0U, + 0x2bb3166cU, 0xa970b999U, 0x119448faU, 0x47e96422U, + 0xa8fc8cc4U, 0xa0f03f1aU, 0x567d2cd8U, 0x223390efU, + 0x87494ec7U, 0xd938d1c1U, 0x8ccaa2feU, 0x98d40b36U, + 0xa6f581cfU, 0xa57ade28U, 0xdab78e26U, 0x3fadbfa4U, + 0x2c3a9de4U, 0x5078920dU, 0x6a5fcc9bU, 0x547e4662U, + 0xf68d13c2U, 0x90d8b8e8U, 0x2e39f75eU, 0x82c3aff5U, + 0x9f5d80beU, 0x69d0937cU, 0x6fd52da9U, 0xcf2512b3U, + 0xc8ac993bU, 0x10187da7U, 0xe89c636eU, 0xdb3bbb7bU, + 0xcd267809U, 0x6e5918f4U, 0xec9ab701U, 0x834f9aa8U, + 0xe6956e65U, 0xaaffe67eU, 0x21bccf08U, 0xef15e8e6U, + 0xbae79bd9U, 0x4a6f36ceU, 0xea9f09d4U, 0x29b07cd6U, + 0x31a4b2afU, 0x2a3f2331U, 0xc6a59430U, 0x35a266c0U, + 0x744ebc37U, 0xfc82caa6U, 0xe090d0b0U, 0x33a7d815U, + 0xf104984aU, 0x41ecdaf7U, 0x7fcd500eU, 0x1791f62fU, + 0x764dd68dU, 0x43efb04dU, 0xccaa4d54U, 0xe49604dfU, + 0x9ed1b5e3U, 0x4c6a881bU, 0xc12c1fb8U, 0x4665517fU, + 0x9d5eea04U, 0x018c355dU, 0xfa877473U, 0xfb0b412eU, + 0xb3671d5aU, 0x92dbd252U, 0xe9105633U, 0x6dd64713U, + 0x9ad7618cU, 0x37a10c7aU, 0x59f8148eU, 0xeb133c89U, + 0xcea927eeU, 0xb761c935U, 0xe11ce5edU, 0x7a47b13cU, + 0x9cd2df59U, 0x55f2733fU, 0x1814ce79U, 0x73c737bfU, + 0x53f7cdeaU, 0x5ffdaa5bU, 0xdf3d6f14U, 0x7844db86U, + 0xcaaff381U, 0xb968c43eU, 0x3824342cU, 0xc2a3405fU, + 0x161dc372U, 0xbce2250cU, 0x283c498bU, 0xff0d9541U, + 0x39a80171U, 0x080cb3deU, 0xd8b4e49cU, 0x6456c190U, + 0x7bcb8461U, 0xd532b670U, 0x486c5c74U, 0xd0b85742U, }; -#define T5 xT5.xt8 - -static const union xtab xT6 = { - .xt8 = { -{0x50,0x51,0xf4,0xa7}, {0x53,0x7e,0x41,0x65}, {0xc3,0x1a,0x17,0xa4}, {0x96,0x3a,0x27,0x5e}, -{0xcb,0x3b,0xab,0x6b}, {0xf1,0x1f,0x9d,0x45}, {0xab,0xac,0xfa,0x58}, {0x93,0x4b,0xe3,0x03}, -{0x55,0x20,0x30,0xfa}, {0xf6,0xad,0x76,0x6d}, {0x91,0x88,0xcc,0x76}, {0x25,0xf5,0x02,0x4c}, -{0xfc,0x4f,0xe5,0xd7}, {0xd7,0xc5,0x2a,0xcb}, {0x80,0x26,0x35,0x44}, {0x8f,0xb5,0x62,0xa3}, -{0x49,0xde,0xb1,0x5a}, {0x67,0x25,0xba,0x1b}, {0x98,0x45,0xea,0x0e}, {0xe1,0x5d,0xfe,0xc0}, -{0x02,0xc3,0x2f,0x75}, {0x12,0x81,0x4c,0xf0}, {0xa3,0x8d,0x46,0x97}, {0xc6,0x6b,0xd3,0xf9}, -{0xe7,0x03,0x8f,0x5f}, {0x95,0x15,0x92,0x9c}, {0xeb,0xbf,0x6d,0x7a}, {0xda,0x95,0x52,0x59}, -{0x2d,0xd4,0xbe,0x83}, {0xd3,0x58,0x74,0x21}, {0x29,0x49,0xe0,0x69}, {0x44,0x8e,0xc9,0xc8}, -{0x6a,0x75,0xc2,0x89}, {0x78,0xf4,0x8e,0x79}, {0x6b,0x99,0x58,0x3e}, {0xdd,0x27,0xb9,0x71}, -{0xb6,0xbe,0xe1,0x4f}, {0x17,0xf0,0x88,0xad}, {0x66,0xc9,0x20,0xac}, {0xb4,0x7d,0xce,0x3a}, -{0x18,0x63,0xdf,0x4a}, {0x82,0xe5,0x1a,0x31}, {0x60,0x97,0x51,0x33}, {0x45,0x62,0x53,0x7f}, -{0xe0,0xb1,0x64,0x77}, {0x84,0xbb,0x6b,0xae}, {0x1c,0xfe,0x81,0xa0}, {0x94,0xf9,0x08,0x2b}, -{0x58,0x70,0x48,0x68}, {0x19,0x8f,0x45,0xfd}, {0x87,0x94,0xde,0x6c}, {0xb7,0x52,0x7b,0xf8}, -{0x23,0xab,0x73,0xd3}, {0xe2,0x72,0x4b,0x02}, {0x57,0xe3,0x1f,0x8f}, {0x2a,0x66,0x55,0xab}, -{0x07,0xb2,0xeb,0x28}, {0x03,0x2f,0xb5,0xc2}, {0x9a,0x86,0xc5,0x7b}, {0xa5,0xd3,0x37,0x08}, -{0xf2,0x30,0x28,0x87}, {0xb2,0x23,0xbf,0xa5}, {0xba,0x02,0x03,0x6a}, {0x5c,0xed,0x16,0x82}, -{0x2b,0x8a,0xcf,0x1c}, {0x92,0xa7,0x79,0xb4}, {0xf0,0xf3,0x07,0xf2}, {0xa1,0x4e,0x69,0xe2}, -{0xcd,0x65,0xda,0xf4}, {0xd5,0x06,0x05,0xbe}, {0x1f,0xd1,0x34,0x62}, {0x8a,0xc4,0xa6,0xfe}, -{0x9d,0x34,0x2e,0x53}, {0xa0,0xa2,0xf3,0x55}, {0x32,0x05,0x8a,0xe1}, {0x75,0xa4,0xf6,0xeb}, -{0x39,0x0b,0x83,0xec}, {0xaa,0x40,0x60,0xef}, {0x06,0x5e,0x71,0x9f}, {0x51,0xbd,0x6e,0x10}, -{0xf9,0x3e,0x21,0x8a}, {0x3d,0x96,0xdd,0x06}, {0xae,0xdd,0x3e,0x05}, {0x46,0x4d,0xe6,0xbd}, -{0xb5,0x91,0x54,0x8d}, {0x05,0x71,0xc4,0x5d}, {0x6f,0x04,0x06,0xd4}, {0xff,0x60,0x50,0x15}, -{0x24,0x19,0x98,0xfb}, {0x97,0xd6,0xbd,0xe9}, {0xcc,0x89,0x40,0x43}, {0x77,0x67,0xd9,0x9e}, -{0xbd,0xb0,0xe8,0x42}, {0x88,0x07,0x89,0x8b}, {0x38,0xe7,0x19,0x5b}, {0xdb,0x79,0xc8,0xee}, -{0x47,0xa1,0x7c,0x0a}, {0xe9,0x7c,0x42,0x0f}, {0xc9,0xf8,0x84,0x1e}, {0x00,0x00,0x00,0x00}, -{0x83,0x09,0x80,0x86}, {0x48,0x32,0x2b,0xed}, {0xac,0x1e,0x11,0x70}, {0x4e,0x6c,0x5a,0x72}, -{0xfb,0xfd,0x0e,0xff}, {0x56,0x0f,0x85,0x38}, {0x1e,0x3d,0xae,0xd5}, {0x27,0x36,0x2d,0x39}, -{0x64,0x0a,0x0f,0xd9}, {0x21,0x68,0x5c,0xa6}, {0xd1,0x9b,0x5b,0x54}, {0x3a,0x24,0x36,0x2e}, -{0xb1,0x0c,0x0a,0x67}, {0x0f,0x93,0x57,0xe7}, {0xd2,0xb4,0xee,0x96}, {0x9e,0x1b,0x9b,0x91}, -{0x4f,0x80,0xc0,0xc5}, {0xa2,0x61,0xdc,0x20}, {0x69,0x5a,0x77,0x4b}, {0x16,0x1c,0x12,0x1a}, -{0x0a,0xe2,0x93,0xba}, {0xe5,0xc0,0xa0,0x2a}, {0x43,0x3c,0x22,0xe0}, {0x1d,0x12,0x1b,0x17}, -{0x0b,0x0e,0x09,0x0d}, {0xad,0xf2,0x8b,0xc7}, {0xb9,0x2d,0xb6,0xa8}, {0xc8,0x14,0x1e,0xa9}, -{0x85,0x57,0xf1,0x19}, {0x4c,0xaf,0x75,0x07}, {0xbb,0xee,0x99,0xdd}, {0xfd,0xa3,0x7f,0x60}, -{0x9f,0xf7,0x01,0x26}, {0xbc,0x5c,0x72,0xf5}, {0xc5,0x44,0x66,0x3b}, {0x34,0x5b,0xfb,0x7e}, -{0x76,0x8b,0x43,0x29}, {0xdc,0xcb,0x23,0xc6}, {0x68,0xb6,0xed,0xfc}, {0x63,0xb8,0xe4,0xf1}, -{0xca,0xd7,0x31,0xdc}, {0x10,0x42,0x63,0x85}, {0x40,0x13,0x97,0x22}, {0x20,0x84,0xc6,0x11}, -{0x7d,0x85,0x4a,0x24}, {0xf8,0xd2,0xbb,0x3d}, {0x11,0xae,0xf9,0x32}, {0x6d,0xc7,0x29,0xa1}, -{0x4b,0x1d,0x9e,0x2f}, {0xf3,0xdc,0xb2,0x30}, {0xec,0x0d,0x86,0x52}, {0xd0,0x77,0xc1,0xe3}, -{0x6c,0x2b,0xb3,0x16}, {0x99,0xa9,0x70,0xb9}, {0xfa,0x11,0x94,0x48}, {0x22,0x47,0xe9,0x64}, -{0xc4,0xa8,0xfc,0x8c}, {0x1a,0xa0,0xf0,0x3f}, {0xd8,0x56,0x7d,0x2c}, {0xef,0x22,0x33,0x90}, -{0xc7,0x87,0x49,0x4e}, {0xc1,0xd9,0x38,0xd1}, {0xfe,0x8c,0xca,0xa2}, {0x36,0x98,0xd4,0x0b}, -{0xcf,0xa6,0xf5,0x81}, {0x28,0xa5,0x7a,0xde}, {0x26,0xda,0xb7,0x8e}, {0xa4,0x3f,0xad,0xbf}, -{0xe4,0x2c,0x3a,0x9d}, {0x0d,0x50,0x78,0x92}, {0x9b,0x6a,0x5f,0xcc}, {0x62,0x54,0x7e,0x46}, -{0xc2,0xf6,0x8d,0x13}, {0xe8,0x90,0xd8,0xb8}, {0x5e,0x2e,0x39,0xf7}, {0xf5,0x82,0xc3,0xaf}, -{0xbe,0x9f,0x5d,0x80}, {0x7c,0x69,0xd0,0x93}, {0xa9,0x6f,0xd5,0x2d}, {0xb3,0xcf,0x25,0x12}, -{0x3b,0xc8,0xac,0x99}, {0xa7,0x10,0x18,0x7d}, {0x6e,0xe8,0x9c,0x63}, {0x7b,0xdb,0x3b,0xbb}, -{0x09,0xcd,0x26,0x78}, {0xf4,0x6e,0x59,0x18}, {0x01,0xec,0x9a,0xb7}, {0xa8,0x83,0x4f,0x9a}, -{0x65,0xe6,0x95,0x6e}, {0x7e,0xaa,0xff,0xe6}, {0x08,0x21,0xbc,0xcf}, {0xe6,0xef,0x15,0xe8}, -{0xd9,0xba,0xe7,0x9b}, {0xce,0x4a,0x6f,0x36}, {0xd4,0xea,0x9f,0x09}, {0xd6,0x29,0xb0,0x7c}, -{0xaf,0x31,0xa4,0xb2}, {0x31,0x2a,0x3f,0x23}, {0x30,0xc6,0xa5,0x94}, {0xc0,0x35,0xa2,0x66}, -{0x37,0x74,0x4e,0xbc}, {0xa6,0xfc,0x82,0xca}, {0xb0,0xe0,0x90,0xd0}, {0x15,0x33,0xa7,0xd8}, -{0x4a,0xf1,0x04,0x98}, {0xf7,0x41,0xec,0xda}, {0x0e,0x7f,0xcd,0x50}, {0x2f,0x17,0x91,0xf6}, -{0x8d,0x76,0x4d,0xd6}, {0x4d,0x43,0xef,0xb0}, {0x54,0xcc,0xaa,0x4d}, {0xdf,0xe4,0x96,0x04}, -{0xe3,0x9e,0xd1,0xb5}, {0x1b,0x4c,0x6a,0x88}, {0xb8,0xc1,0x2c,0x1f}, {0x7f,0x46,0x65,0x51}, -{0x04,0x9d,0x5e,0xea}, {0x5d,0x01,0x8c,0x35}, {0x73,0xfa,0x87,0x74}, {0x2e,0xfb,0x0b,0x41}, -{0x5a,0xb3,0x67,0x1d}, {0x52,0x92,0xdb,0xd2}, {0x33,0xe9,0x10,0x56}, {0x13,0x6d,0xd6,0x47}, -{0x8c,0x9a,0xd7,0x61}, {0x7a,0x37,0xa1,0x0c}, {0x8e,0x59,0xf8,0x14}, {0x89,0xeb,0x13,0x3c}, -{0xee,0xce,0xa9,0x27}, {0x35,0xb7,0x61,0xc9}, {0xed,0xe1,0x1c,0xe5}, {0x3c,0x7a,0x47,0xb1}, -{0x59,0x9c,0xd2,0xdf}, {0x3f,0x55,0xf2,0x73}, {0x79,0x18,0x14,0xce}, {0xbf,0x73,0xc7,0x37}, -{0xea,0x53,0xf7,0xcd}, {0x5b,0x5f,0xfd,0xaa}, {0x14,0xdf,0x3d,0x6f}, {0x86,0x78,0x44,0xdb}, -{0x81,0xca,0xaf,0xf3}, {0x3e,0xb9,0x68,0xc4}, {0x2c,0x38,0x24,0x34}, {0x5f,0xc2,0xa3,0x40}, -{0x72,0x16,0x1d,0xc3}, {0x0c,0xbc,0xe2,0x25}, {0x8b,0x28,0x3c,0x49}, {0x41,0xff,0x0d,0x95}, -{0x71,0x39,0xa8,0x01}, {0xde,0x08,0x0c,0xb3}, {0x9c,0xd8,0xb4,0xe4}, {0x90,0x64,0x56,0xc1}, -{0x61,0x7b,0xcb,0x84}, {0x70,0xd5,0x32,0xb6}, {0x74,0x48,0x6c,0x5c}, {0x42,0xd0,0xb8,0x57} - } +static const u32 Td1[256] = { + 0x5051f4a7U, 0x537e4165U, 0xc31a17a4U, 0x963a275eU, + 0xcb3bab6bU, 0xf11f9d45U, 0xabacfa58U, 0x934be303U, + 0x552030faU, 0xf6ad766dU, 0x9188cc76U, 0x25f5024cU, + 0xfc4fe5d7U, 0xd7c52acbU, 0x80263544U, 0x8fb562a3U, + 0x49deb15aU, 0x6725ba1bU, 0x9845ea0eU, 0xe15dfec0U, + 0x02c32f75U, 0x12814cf0U, 0xa38d4697U, 0xc66bd3f9U, + 0xe7038f5fU, 0x9515929cU, 0xebbf6d7aU, 0xda955259U, + 0x2dd4be83U, 0xd3587421U, 0x2949e069U, 0x448ec9c8U, + 0x6a75c289U, 0x78f48e79U, 0x6b99583eU, 0xdd27b971U, + 0xb6bee14fU, 0x17f088adU, 0x66c920acU, 0xb47dce3aU, + 0x1863df4aU, 0x82e51a31U, 0x60975133U, 0x4562537fU, + 0xe0b16477U, 0x84bb6baeU, 0x1cfe81a0U, 0x94f9082bU, + 0x58704868U, 0x198f45fdU, 0x8794de6cU, 0xb7527bf8U, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Nov 10 08:53:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E24F16A4D0; Mon, 10 Nov 2003 08:53:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD99B16A4CE for ; Mon, 10 Nov 2003 08:53:51 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE12843F75 for ; Mon, 10 Nov 2003 08:53:50 -0800 (PST) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAAGroXJ037771 for ; Mon, 10 Nov 2003 08:53:50 -0800 (PST) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAAGrolc037768 for perforce@freebsd.org; Mon, 10 Nov 2003 08:53:50 -0800 (PST) (envelope-from cvance@nailabs.com) Date: Mon, 10 Nov 2003 08:53:50 -0800 (PST) Message-Id: <200311101653.hAAGrolc037768@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 41911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 16:53:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=41911 Change 41911 by cvance@cvance_osx_laptop on 2003/11/10 08:53:44 Add the number of arguments to extattr syscall declarations. Add prototypes for extattr list functions. Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/init_sysent.c#6 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/extattr.h#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#8 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/init_sysent.c#6 (text+ko) ==== @@ -765,18 +765,18 @@ syss(nosys,0), /* 348 */ syss(nosys,0), /* 349 */ - syss(extattrctl,0), /* 350 */ - syss(extattr_set_file,0), /* 351 */ - syss(extattr_get_file,0), /* 352 */ - syss(extattr_delete_file,0), /* 353 */ - syss(extattr_set_fd,0), /* 354 */ - syss(extattr_get_fd,0), /* 355 */ - syss(extattr_delete_fd,0), /* 356 */ - syss(extattr_set_link,0), /* 357 */ - syss(extattr_get_link,0), /* 358 */ - syss(extattr_delete_link,0), /* 359 */ - syss(extattr_list_fd,0), /* 360 */ - syss(extattr_list_file,0), /* 361 */ - syss(extattr_list_link,0) /* 362 */ + syss(extattrctl,5), /* 350 */ + syss(extattr_set_file,5), /* 351 */ + syss(extattr_get_file,5), /* 352 */ + syss(extattr_delete_file,3), /* 353 */ + syss(extattr_set_fd,5), /* 354 */ + syss(extattr_get_fd,5), /* 355 */ + syss(extattr_delete_fd,3), /* 356 */ + syss(extattr_set_link,5), /* 357 */ + syss(extattr_get_link,5), /* 358 */ + syss(extattr_delete_link,3), /* 359 */ + syss(extattr_list_fd,4), /* 360 */ + syss(extattr_list_file,4), /* 361 */ + syss(extattr_list_link,4) /* 362 */ }; int nsysent = sizeof(sysent) / sizeof(sysent[0]); ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/extattr.h#3 (text+ko) ==== @@ -68,6 +68,12 @@ const char *_attrname, void *_data, size_t _nbytes); ssize_t extattr_get_link(const char *_path, int _attrnamespace, const char *_attrname, void *_data, size_t _nbytes); +ssize_t extattr_list_fd(int _fd, int _attrnamespace, void *_data, + size_t _nbytes); +ssize_t extattr_list_file(const char *_path, int _attrnamespace, void *_data, + size_t _nbytes); +ssize_t extattr_list_link(const char *_path, int _attrnamespace, void *_data, + size_t _nbytes); int extattr_set_fd(int _fd, int _attrnamespace, const char *_attrname, const void *_data, size_t _nbytes); int extattr_set_file(const char *_path, int _attrnamespace, ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#8 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Nov 10 13:00:06 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7542F16A4D0; Mon, 10 Nov 2003 13:00:06 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 37FE816A4CE for ; Mon, 10 Nov 2003 13:00:06 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78F3B43FD7 for ; Mon, 10 Nov 2003 13:00:05 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAAL05XJ060422 for ; Mon, 10 Nov 2003 13:00:05 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAAL04SK060419 for perforce@freebsd.org; Mon, 10 Nov 2003 13:00:04 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 10 Nov 2003 13:00:04 -0800 (PST) Message-Id: <200311102100.hAAL04SK060419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 41927 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 21:00:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=41927 Change 41927 by sam@sam_ebb on 2003/11/10 12:59:48 o add missing inpcb locking o add locking assertions for globally visible routines Affected files ... .. //depot/projects/netperf/sys/netinet/tcp_syncache.c#9 edit Differences ... ==== //depot/projects/netperf/sys/netinet/tcp_syncache.c#9 (text+ko) ==== @@ -288,13 +288,14 @@ struct syncache_head *sch; { struct syncache *sc2; - int s, i; + int i; + + INP_INFO_WLOCK_ASSERT(&tcbinfo); /* * Make sure that we don't overflow the per-bucket * limit or the total cache size limit. */ - s = splnet(); if (sch->sch_length >= tcp_syncache.bucket_limit) { /* * The bucket is full, toss the oldest element. @@ -328,7 +329,6 @@ sch->sch_length++; tcp_syncache.cache_count++; tcpstat.tcps_sc_added++; - splx(s); } static void @@ -336,7 +336,7 @@ struct syncache *sc; struct syncache_head *sch; { - int s; + INP_INFO_WLOCK_ASSERT(&tcbinfo); if (sch == NULL) { #ifdef INET6 @@ -351,8 +351,6 @@ } } - s = splnet(); - TAILQ_REMOVE(&sch->sch_bucket, sc, sc_hash); sch->sch_length--; tcp_syncache.cache_count--; @@ -360,7 +358,6 @@ TAILQ_REMOVE(&tcp_syncache.timerq[sc->sc_rxtslot], sc, sc_timerq); if (TAILQ_EMPTY(&tcp_syncache.timerq[sc->sc_rxtslot])) callout_stop(&tcp_syncache.tt_timerq[sc->sc_rxtslot]); - splx(s); syncache_free(sc); } @@ -376,14 +373,12 @@ intptr_t slot = (intptr_t)xslot; struct syncache *sc, *nsc; struct inpcb *inp; - int s; - s = splnet(); INP_INFO_WLOCK(&tcbinfo); if (callout_pending(&tcp_syncache.tt_timerq[slot]) || !callout_active(&tcp_syncache.tt_timerq[slot])) { - INP_INFO_WUNLOCK(&tcbinfo); - splx(s); + /* XXX can this happen? */ + INP_INFO_WLOCK(&tcbinfo); return; } callout_deactivate(&tcp_syncache.tt_timerq[slot]); @@ -420,8 +415,7 @@ if (nsc != NULL) callout_reset(&tcp_syncache.tt_timerq[slot], nsc->sc_rxttime - ticks, syncache_timer, (void *)(slot)); - INP_INFO_WUNLOCK(&tcbinfo); - splx(s); + INP_INFO_WLOCK(&tcbinfo); } /* @@ -434,39 +428,32 @@ { struct syncache *sc; struct syncache_head *sch; - int s; + + INP_INFO_WLOCK_ASSERT(&tcbinfo); #ifdef INET6 if (inc->inc_isipv6) { sch = &tcp_syncache.hashbase[ SYNCACHE_HASH6(inc, tcp_syncache.hashmask)]; *schp = sch; - s = splnet(); TAILQ_FOREACH(sc, &sch->sch_bucket, sc_hash) { - if (ENDPTS6_EQ(&inc->inc_ie, &sc->sc_inc.inc_ie)) { - splx(s); + if (ENDPTS6_EQ(&inc->inc_ie, &sc->sc_inc.inc_ie)) return (sc); - } } - splx(s); } else #endif { sch = &tcp_syncache.hashbase[ SYNCACHE_HASH(inc, tcp_syncache.hashmask)]; *schp = sch; - s = splnet(); TAILQ_FOREACH(sc, &sch->sch_bucket, sc_hash) { #ifdef INET6 if (sc->sc_inc.inc_isipv6) continue; #endif - if (ENDPTS_EQ(&inc->inc_ie, &sc->sc_inc.inc_ie)) { - splx(s); + if (ENDPTS_EQ(&inc->inc_ie, &sc->sc_inc.inc_ie)) return (sc); - } } - splx(s); } return (NULL); } @@ -484,6 +471,8 @@ struct syncache *sc; struct syncache_head *sch; + INP_INFO_WLOCK_ASSERT(&tcbinfo); + sc = syncache_lookup(inc, &sch); if (sc == NULL) return; @@ -514,6 +503,8 @@ struct syncache *sc; struct syncache_head *sch; + INP_INFO_WLOCK_ASSERT(&tcbinfo); + sc = syncache_lookup(inc, &sch); if (sc != NULL) { syncache_drop(sc, sch); @@ -529,6 +520,8 @@ struct syncache *sc; struct syncache_head *sch; + INP_INFO_WLOCK_ASSERT(&tcbinfo); + /* we are called at splnet() here */ sc = syncache_lookup(inc, &sch); if (sc == NULL) @@ -567,6 +560,9 @@ struct socket *so; struct tcpcb *tp; + GIANT_REQUIRED; /* XXX until socket locking */ + INP_INFO_WLOCK_ASSERT(&tcbinfo); + /* * Ok, create the full blown connection, and set things up * as they would have been set up if we had created the @@ -580,13 +576,14 @@ * retransmits the ACK, */ tcpstat.tcps_listendrop++; - goto abort; + goto abort2; } #ifdef MAC mac_set_socket_peer_from_mbuf(m, so); #endif inp = sotoinpcb(so); + INP_LOCK(inp); /* * Insert new socket into hash list. @@ -744,10 +741,14 @@ tp->snd_cwnd = tp->t_maxseg; callout_reset(tp->tt_keep, tcp_keepinit, tcp_timer_keep, tp); + INP_UNLOCK(inp); + tcpstat.tcps_accepts++; return (so); abort: + INP_UNLOCK(inp); +abort2: if (so != NULL) (void) soabort(so); return (NULL); @@ -771,6 +772,8 @@ struct syncache_head *sch; struct socket *so; + INP_INFO_WLOCK_ASSERT(&tcbinfo); + sc = syncache_lookup(inc, &sch); if (sc == NULL) { /* @@ -846,7 +849,9 @@ struct syncache_head *sch; struct mbuf *ipopts = NULL; struct rmxp_tao *taop; - int i, s, win; + int i, win; + + INP_INFO_WLOCK_ASSERT(&tcbinfo); so = *sop; tp = sototcpcb(so); @@ -894,11 +899,10 @@ #else if (syncache_respond(sc, m) == 0) { #endif - s = splnet(); + /* NB: guarded by INP_INFO_WLOCK(&tcbinfo) */ TAILQ_REMOVE(&tcp_syncache.timerq[sc->sc_rxtslot], sc, sc_timerq); SYNCACHE_TIMEOUT(sc, sc->sc_rxtslot); - splx(s); tcpstat.tcps_sndacks++; tcpstat.tcps_sndtotal++; } @@ -913,7 +917,7 @@ * Treat this as if the cache was full; drop the oldest * entry and insert the new one. */ - s = splnet(); + /* NB: guarded by INP_INFO_WLOCK(&tcbinfo) */ for (i = SYNCACHE_MAXREXMTS; i >= 0; i--) { sc = TAILQ_FIRST(&tcp_syncache.timerq[i]); if (sc != NULL) @@ -921,7 +925,6 @@ } sc->sc_tp->ts_recent = ticks; syncache_drop(sc, NULL); - splx(s); tcpstat.tcps_sc_zonefail++; sc = uma_zalloc(tcp_syncache.zone, M_NOWAIT); if (sc == NULL) { @@ -1085,6 +1088,7 @@ struct ip *ip = NULL; struct rtentry *rt; struct tcphdr *th; + struct inpcb *inp; #ifdef INET6 struct ip6_hdr *ip6 = NULL; #endif @@ -1141,8 +1145,10 @@ m->m_len = tlen; m->m_pkthdr.len = tlen; m->m_pkthdr.rcvif = NULL; + inp = sc->sc_tp->t_inpcb; + INP_LOCK(inp); #ifdef MAC - mac_create_mbuf_from_socket(sc->sc_tp->t_inpcb->inp_socket, m); + mac_create_mbuf_from_socket(inp->inp_socket, m); #endif #ifdef INET6 @@ -1170,8 +1176,8 @@ ip->ip_p = IPPROTO_TCP; ip->ip_src = sc->sc_inc.inc_laddr; ip->ip_dst = sc->sc_inc.inc_faddr; - ip->ip_ttl = sc->sc_tp->t_inpcb->inp_ip_ttl; /* XXX */ - ip->ip_tos = sc->sc_tp->t_inpcb->inp_ip_tos; /* XXX */ + ip->ip_ttl = inp->inp_ip_ttl; /* XXX */ + ip->ip_tos = inp->inp_ip_tos; /* XXX */ /* * See if we should do MTU discovery. Route lookups are @@ -1243,8 +1249,7 @@ th->th_sum = in6_cksum(m, IPPROTO_TCP, hlen, tlen - hlen); ip6->ip6_hlim = in6_selecthlim(NULL, ro6->ro_rt ? ro6->ro_rt->rt_ifp : NULL); - error = ip6_output(m, NULL, ro6, 0, NULL, NULL, - sc->sc_tp->t_inpcb); + error = ip6_output(m, NULL, ro6, 0, NULL, NULL, inp); } else #endif { @@ -1262,9 +1267,9 @@ mtod(m, void *), th, 0); } #endif - error = ip_output(m, sc->sc_ipopts, &sc->sc_route, 0, NULL, - sc->sc_tp->t_inpcb); + error = ip_output(m, sc->sc_ipopts, &sc->sc_route, 0, NULL,inp); } + INP_UNLOCK(inp); return (error); } @@ -1331,6 +1336,8 @@ int idx, i; struct md5_add add; + /* NB: single threaded; could add INP_INFO_WLOCK_ASSERT(&tcbinfo) */ + idx = ((ticks << SYNCOOKIE_TIMESHIFT) / hz) & SYNCOOKIE_WNDMASK; if (tcp_secret[idx].ts_expire < ticks) { for (i = 0; i < 4; i++) @@ -1379,6 +1386,8 @@ int wnd, idx; struct md5_add add; + /* NB: single threaded; could add INP_INFO_WLOCK_ASSERT(&tcbinfo) */ + data = (th->th_ack - 1) ^ (th->th_seq - 1); /* remove ISS */ idx = data & SYNCOOKIE_WNDMASK; if (tcp_secret[idx].ts_expire < ticks || From owner-p4-projects@FreeBSD.ORG Mon Nov 10 14:24:55 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF85116A4D0; Mon, 10 Nov 2003 14:24:54 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 896C516A4CE for ; Mon, 10 Nov 2003 14:24:54 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F303343FE3 for ; Mon, 10 Nov 2003 14:24:53 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAAMOrXJ066146 for ; Mon, 10 Nov 2003 14:24:53 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAAMOrWJ066143 for perforce@freebsd.org; Mon, 10 Nov 2003 14:24:53 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 10 Nov 2003 14:24:53 -0800 (PST) Message-Id: <200311102224.hAAMOrWJ066143@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41936 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 22:24:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=41936 Change 41936 by rwatson@rwatson_tislabs on 2003/11/10 14:24:07 Insert missing calls to mac_labelzone_free(), and NULL'ing of pointers for safety purposes. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#9 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#9 (text+ko) ==== @@ -281,6 +281,7 @@ { MAC_PERFORM(destroy_bpfdesc_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacbpfdescs); } @@ -297,6 +298,7 @@ { MAC_PERFORM(destroy_ifnet_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacifnets); } @@ -313,6 +315,7 @@ { MAC_PERFORM(destroy_ipq_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacipqs); } @@ -321,6 +324,7 @@ { mac_ipq_label_free(ipq->ipq_label); + ipq->ipq_label = NULL; } void @@ -340,6 +344,7 @@ { MAC_PERFORM(destroy_socket_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacsockets); } @@ -348,6 +353,7 @@ { MAC_PERFORM(destroy_socket_peer_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacsockets); } From owner-p4-projects@FreeBSD.ORG Mon Nov 10 14:29:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1112B16A4F6; Mon, 10 Nov 2003 14:29:01 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D993916A4F4 for ; Mon, 10 Nov 2003 14:29:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4EB8743F85 for ; Mon, 10 Nov 2003 14:29:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAAMT0XJ066428 for ; Mon, 10 Nov 2003 14:29:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAAMSxKc066425 for perforce@freebsd.org; Mon, 10 Nov 2003 14:28:59 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 10 Nov 2003 14:28:59 -0800 (PST) Message-Id: <200311102228.hAAMSxKc066425@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 41938 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 22:29:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=41938 Change 41938 by rwatson@rwatson_tislabs on 2003/11/10 14:27:59 Integrate mac_labelzone_free() calls from trustedbsd_mac. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_net.c#5 integrate Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/security/mac/mac_net.c#5 (text+ko) ==== @@ -281,6 +281,7 @@ { MAC_PERFORM(destroy_bpfdesc_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacbpfdescs); } @@ -297,6 +298,7 @@ { MAC_PERFORM(destroy_ifnet_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacifnets); } @@ -313,6 +315,7 @@ { MAC_PERFORM(destroy_ipq_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacipqs); } @@ -321,6 +324,7 @@ { mac_ipq_label_free(ipq->ipq_label); + ipq->ipq_label = NULL; } void @@ -340,6 +344,7 @@ { MAC_PERFORM(destroy_socket_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacsockets); } @@ -348,6 +353,7 @@ { MAC_PERFORM(destroy_socket_peer_label, label); + mac_labelzone_free(label); MAC_DEBUG_COUNTER_DEC(&nmacsockets); } From owner-p4-projects@FreeBSD.ORG Mon Nov 10 15:26:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13C6B16A4D0; Mon, 10 Nov 2003 15:26:22 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C82D516A4CE for ; Mon, 10 Nov 2003 15:26:21 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C8E743FBF for ; Mon, 10 Nov 2003 15:26:19 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAANQJXJ070277 for ; Mon, 10 Nov 2003 15:26:19 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAANQHlM070271 for perforce@freebsd.org; Mon, 10 Nov 2003 15:26:17 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 10 Nov 2003 15:26:17 -0800 (PST) Message-Id: <200311102326.hAANQHlM070271@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 41948 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 23:26:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=41948 Change 41948 by sam@sam_ebb on 2003/11/10 15:25:53 IFC @ 41947 Affected files ... .. //depot/projects/netperf/sys/alpha/alpha/machdep.c#7 integrate .. //depot/projects/netperf/sys/amd64/amd64/machdep.c#8 integrate .. //depot/projects/netperf/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/netperf/sys/boot/ia64/libski/pal_stub.S#2 integrate .. //depot/projects/netperf/sys/boot/ia64/skiload/Makefile#2 integrate .. //depot/projects/netperf/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/netperf/sys/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/netperf/sys/coda/coda_psdev.c#3 integrate .. //depot/projects/netperf/sys/compat/linux/linux_socket.c#3 integrate .. //depot/projects/netperf/sys/conf/files#23 edit .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.c#4 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.h#4 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-api-fst.c#6 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-api-fst.h#4 integrate .. //depot/projects/netperf/sys/dev/aac/aac.c#8 integrate .. //depot/projects/netperf/sys/dev/aha/aha.c#4 integrate .. //depot/projects/netperf/sys/dev/aha/aha_isa.c#4 integrate .. //depot/projects/netperf/sys/dev/aha/aha_mca.c#4 integrate .. //depot/projects/netperf/sys/dev/aha/ahareg.h#3 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cam.c#8 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cd.c#12 integrate .. //depot/projects/netperf/sys/dev/bktr/bktr_core.c#7 integrate .. //depot/projects/netperf/sys/dev/firewire/firewire.c#8 integrate .. //depot/projects/netperf/sys/dev/firewire/sbp.c#10 integrate .. //depot/projects/netperf/sys/dev/kbd/kbd.c#4 integrate .. //depot/projects/netperf/sys/dev/nmdm/nmdm.c#4 integrate .. //depot/projects/netperf/sys/dev/random/randomdev.c#4 integrate .. //depot/projects/netperf/sys/dev/sab/sab.c#4 integrate .. //depot/projects/netperf/sys/dev/sn/if_sn.c#5 integrate .. //depot/projects/netperf/sys/dev/sn/if_sn_isa.c#3 integrate .. //depot/projects/netperf/sys/dev/snp/snp.c#3 integrate .. //depot/projects/netperf/sys/dev/sound/midi/midibuf.c#2 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/channel.c#4 integrate .. //depot/projects/netperf/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/netperf/sys/dev/usb/ohci.c#3 integrate .. //depot/projects/netperf/sys/dev/usb/ucom.c#4 integrate .. //depot/projects/netperf/sys/dev/usb/ugen.c#7 integrate .. //depot/projects/netperf/sys/dev/usb/uhci.c#3 integrate .. //depot/projects/netperf/sys/dev/usb/uhid.c#6 integrate .. //depot/projects/netperf/sys/dev/usb/ums.c#6 integrate .. //depot/projects/netperf/sys/dev/usb/usb.c#5 integrate .. //depot/projects/netperf/sys/dev/usb/usb_port.h#3 integrate .. //depot/projects/netperf/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/netperf/sys/dev/zs/zs.c#4 integrate .. //depot/projects/netperf/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/netperf/sys/i386/acpica/madt.c#4 integrate .. //depot/projects/netperf/sys/i386/bios/apm.c#2 integrate .. //depot/projects/netperf/sys/i386/conf/NOTES#9 integrate .. //depot/projects/netperf/sys/i386/i386/initcpu.c#5 integrate .. //depot/projects/netperf/sys/i386/i386/machdep.c#11 integrate .. //depot/projects/netperf/sys/i386/i386/mp_machdep.c#11 integrate .. //depot/projects/netperf/sys/i386/i386/mptable.c#3 integrate .. //depot/projects/netperf/sys/i386/isa/asc.c#2 integrate .. //depot/projects/netperf/sys/i386/isa/cx.c#3 integrate .. //depot/projects/netperf/sys/i386/isa/istallion.c#2 integrate .. //depot/projects/netperf/sys/i386/isa/mse.c#2 integrate .. //depot/projects/netperf/sys/i386/isa/spic.c#3 integrate .. //depot/projects/netperf/sys/i386/isa/stallion.c#3 integrate .. //depot/projects/netperf/sys/i4b/driver/i4b_rbch.c#2 integrate .. //depot/projects/netperf/sys/i4b/driver/i4b_tel.c#2 integrate .. //depot/projects/netperf/sys/i4b/driver/i4b_trace.c#2 integrate .. //depot/projects/netperf/sys/i4b/include/i4b_global.h#2 integrate .. //depot/projects/netperf/sys/i4b/layer4/i4b_i4bdrv.c#2 integrate .. //depot/projects/netperf/sys/ia64/ia64/machdep.c#16 integrate .. //depot/projects/netperf/sys/ia64/ia64/syscall.S#6 integrate .. //depot/projects/netperf/sys/ia64/ia64/vm_machdep.c#8 integrate .. //depot/projects/netperf/sys/ia64/include/ucontext.h#4 integrate .. //depot/projects/netperf/sys/isa/psm.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_condvar.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_context.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_event.c#4 integrate .. //depot/projects/netperf/sys/kern/sched_4bsd.c#9 integrate .. //depot/projects/netperf/sys/kern/subr_log.c#2 integrate .. //depot/projects/netperf/sys/kern/subr_taskqueue.c#5 integrate .. //depot/projects/netperf/sys/kern/sys_generic.c#4 integrate .. //depot/projects/netperf/sys/kern/sys_pipe.c#11 integrate .. //depot/projects/netperf/sys/kern/sysv_sem.c#5 integrate .. //depot/projects/netperf/sys/kern/tty.c#2 integrate .. //depot/projects/netperf/sys/kern/tty_pty.c#3 integrate .. //depot/projects/netperf/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/netperf/sys/kern/uipc_socket2.c#6 integrate .. //depot/projects/netperf/sys/kern/vfs_subr.c#11 integrate .. //depot/projects/netperf/sys/modules/Makefile#10 edit .. //depot/projects/netperf/sys/modules/netgraph/etf/Makefile#2 integrate .. //depot/projects/netperf/sys/net/bpf.c#9 integrate .. //depot/projects/netperf/sys/net/if_tap.c#3 integrate .. //depot/projects/netperf/sys/net/if_tun.c#5 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_node.c#15 integrate .. //depot/projects/netperf/sys/netinet/in_pcb.c#14 integrate .. //depot/projects/netperf/sys/netinet/tcp_syncache.c#10 integrate .. //depot/projects/netperf/sys/netinet6/ah_core.c#7 integrate .. //depot/projects/netperf/sys/netinet6/esp_core.c#7 integrate .. //depot/projects/netperf/sys/netinet6/esp_rijndael.h#3 integrate .. //depot/projects/netperf/sys/pc98/i386/machdep.c#9 integrate .. //depot/projects/netperf/sys/pc98/pc98/mse.c#2 integrate .. //depot/projects/netperf/sys/pccard/mecia.c#2 integrate .. //depot/projects/netperf/sys/pccard/pccard.c#2 integrate .. //depot/projects/netperf/sys/pccard/pcic.c#4 integrate .. //depot/projects/netperf/sys/powerpc/powerpc/machdep.c#4 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/machdep.c#6 integrate .. //depot/projects/netperf/sys/sys/condvar.h#2 integrate .. //depot/projects/netperf/sys/sys/selinfo.h#2 integrate .. //depot/projects/netperf/sys/sys/signalvar.h#3 integrate .. //depot/projects/netperf/sys/sys/ucontext.h#2 integrate .. //depot/projects/netperf/sys/vm/vm_fault.c#8 integrate .. //depot/projects/netperf/sys/vm/vm_glue.c#6 integrate .. //depot/projects/netperf/sys/vm/vm_kern.c#8 integrate .. //depot/projects/netperf/sys/vm/vm_map.c#13 integrate .. //depot/projects/netperf/sys/vm/vm_map.h#8 integrate .. //depot/projects/netperf/sys/vm/vm_mmap.c#7 integrate .. //depot/projects/netperf/sys/vm/vm_object.c#11 integrate .. //depot/projects/netperf/sys/vm/vm_object.h#4 integrate Differences ... ==== //depot/projects/netperf/sys/alpha/alpha/machdep.c#7 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.213 2003/10/19 02:36:06 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.214 2003/11/09 20:31:02 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2027,14 +2027,14 @@ } int -get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) +get_mcontext(struct thread *td, mcontext_t *mcp, int flags) { /* * Use a trapframe for getsetcontext, so just copy the * threads trapframe. */ bcopy(td->td_frame, &mcp->mc_regs, sizeof(struct trapframe)); - if (clear_ret != 0) { + if (flags & GET_MC_CLEAR_RET) { mcp->mc_regs[FRAME_V0] = 0; mcp->mc_regs[FRAME_A4] = 0; mcp->mc_regs[FRAME_A3] = 0; ==== //depot/projects/netperf/sys/amd64/amd64/machdep.c#8 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.596 2003/11/08 04:37:54 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.597 2003/11/09 20:31:02 marcel Exp $"); #include "opt_atalk.h" #include "opt_compat.h" @@ -1441,7 +1441,7 @@ * Get machine context. */ int -get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) +get_mcontext(struct thread *td, mcontext_t *mcp, int flags) { struct trapframe *tp; @@ -1462,7 +1462,7 @@ mcp->mc_rbp = tp->tf_rbp; mcp->mc_rbx = tp->tf_rbx; mcp->mc_rcx = tp->tf_rcx; - if (clear_ret != 0) { + if (flags & GET_MC_CLEAR_RET) { mcp->mc_rax = 0; mcp->mc_rdx = 0; } else { ==== //depot/projects/netperf/sys/boot/i386/boot2/boot2.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.64 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.65 2003/11/10 19:06:09 bde Exp $"); #include #include @@ -51,7 +51,7 @@ #define RBX_NOINTR 0x1c /* -n */ #define RBX_DUAL 0x1d /* -D */ #define RBX_PROBEKBD 0x1e /* -P */ -/* 0x1f is reserved for the historical RB_BOOTINFO option */ +/* 0x1f is reserved for the RB_BOOTINFO flag. */ /* pass: -a, -s, -r, -d, -c, -v, -h, -C, -g, -m, -p, -D */ #define RBX_MASK 0x2005ffff @@ -359,7 +359,7 @@ bootinfo.bi_esymtab = VTOP(p); bootinfo.bi_kernelname = VTOP(kname); bootinfo.bi_bios_dev = dsk.drive; - __exec((caddr_t)addr, opts & RBX_MASK, + __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK), MAKEBOOTDEV(dev_maj[dsk.type], 0, dsk.slice, dsk.unit, dsk.part), 0, 0, 0, VTOP(&bootinfo)); } ==== //depot/projects/netperf/sys/boot/ia64/libski/pal_stub.S#2 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/libski/pal_stub.S,v 1.2 2003/07/02 11:47:33 ru Exp $ + * $FreeBSD: src/sys/boot/ia64/libski/pal_stub.S,v 1.3 2003/11/09 07:42:16 marcel Exp $ */ #include @@ -41,6 +41,9 @@ cmp.eq p6,p0=14,r28 // PAL_FREQ_RATIOS (p6) br.cond.dptk pal_freq_ratios ;; + cmp.eq p6,p0=29,r28 // PAL_HALT_LIGHT +(p6) br.cond.dptk pal_halt_light + ;; mov r15=66 // EXIT break.i 0x80000 // SSC ;; @@ -62,4 +65,10 @@ movl r10=0x0000000100000001 // bus ratio 1/1 movl r11=0x0000000B00000002 // ITC ratio 11/2 br.sptk b0 +pal_halt_light: + mov r8=0 + mov r9=0 + mov r10=0 + mov r11=0 + br.sptk b0 END(PalProc) ==== //depot/projects/netperf/sys/boot/ia64/skiload/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/ia64/skiload/Makefile,v 1.11 2003/07/17 01:49:59 marcel Exp $ +# $FreeBSD: src/sys/boot/ia64/skiload/Makefile,v 1.12 2003/11/09 06:53:37 marcel Exp $ .PATH: ${.CURDIR}/../common @@ -6,6 +6,7 @@ NOMAN= NEWVERSWHAT= "ia64 SKI boot" ${MACHINE_ARCH} BINDIR?= /boot +STRIP= # We must not strip skiload at install time. SRCS+= conf.c main.c start.S ==== //depot/projects/netperf/sys/cam/cam_xpt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.134 2003/06/10 17:50:20 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.135 2003/11/09 02:22:33 scottl Exp $"); #include #include @@ -1453,6 +1453,8 @@ int32_t status; struct periph_list *periph_head; + GIANT_REQUIRED; + device = periph->path->device; periph_head = &device->periphs; @@ -1488,6 +1490,8 @@ { struct cam_ed *device; + GIANT_REQUIRED; + device = periph->path->device; if (device != NULL) { @@ -1524,6 +1528,8 @@ u_int mb; int s; + GIANT_REQUIRED; + path = periph->path; /* * To ensure that this is printed in one piece, @@ -1646,6 +1652,8 @@ struct cam_path *path; struct ccb_trans_settings cts; + GIANT_REQUIRED; + path = periph->path; /* * To ensure that this is printed in one piece, @@ -2945,6 +2953,8 @@ { int iopl; + GIANT_REQUIRED; + CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_action\n")); start_ccb->ccb_h.status = CAM_REQ_INPROG; @@ -3578,6 +3588,8 @@ struct cam_devq *devq; struct cam_ed *dev; + GIANT_REQUIRED; + timeout = start_ccb->ccb_h.timeout; sim = start_ccb->ccb_h.path->bus->sim; devq = sim->devq; @@ -3640,6 +3652,8 @@ int s; int runq; + GIANT_REQUIRED; + CAM_DEBUG(perph->path, CAM_DEBUG_TRACE, ("xpt_schedule\n")); device = perph->path->device; s = splsoftcam(); @@ -3936,6 +3950,8 @@ void xpt_merge_ccb(union ccb *master_ccb, union ccb *slave_ccb) { + GIANT_REQUIRED; + /* * Pull fields that are valid for peripheral drivers to set * into the master CCB along with the CCB "payload". @@ -3951,6 +3967,8 @@ void xpt_setup_ccb(struct ccb_hdr *ccb_h, struct cam_path *path, u_int32_t priority) { + GIANT_REQUIRED; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_setup_ccb\n")); ccb_h->pinfo.priority = priority; ccb_h->path = path; @@ -3977,6 +3995,8 @@ struct cam_path *path; cam_status status; + GIANT_REQUIRED; + path = (struct cam_path *)malloc(sizeof(*path), M_DEVBUF, M_NOWAIT); if (path == NULL) { @@ -4087,6 +4107,8 @@ void xpt_free_path(struct cam_path *path) { + GIANT_REQUIRED; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_free_path\n")); xpt_release_path(path); free(path, M_DEVBUF); @@ -4100,6 +4122,8 @@ int xpt_path_comp(struct cam_path *path1, struct cam_path *path2) { + GIANT_REQUIRED; + int retval = 0; if (path1->bus != path2->bus) { @@ -4134,6 +4158,8 @@ void xpt_print_path(struct cam_path *path) { + GIANT_REQUIRED; + if (path == NULL) printf("(nopath): "); else { @@ -4167,6 +4193,8 @@ { struct sbuf sb; + GIANT_REQUIRED; + sbuf_new(&sb, str, str_len, 0); if (path == NULL) @@ -4203,12 +4231,16 @@ path_id_t xpt_path_path_id(struct cam_path *path) { + GIANT_REQUIRED; + return(path->bus->path_id); } target_id_t xpt_path_target_id(struct cam_path *path) { + GIANT_REQUIRED; + if (path->target != NULL) return (path->target->target_id); else @@ -4218,6 +4250,8 @@ lun_id_t xpt_path_lun_id(struct cam_path *path) { + GIANT_REQUIRED; + if (path->device != NULL) return (path->device->lun_id); else @@ -4227,12 +4261,16 @@ struct cam_sim * xpt_path_sim(struct cam_path *path) { + GIANT_REQUIRED; + return (path->bus->sim); } struct cam_periph* xpt_path_periph(struct cam_path *path) { + GIANT_REQUIRED; + return (path->periph); } @@ -4250,6 +4288,8 @@ struct cam_ed *device; struct cam_eb *bus; + GIANT_REQUIRED; + CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_release_ccb\n")); path = free_ccb->ccb_h.path; device = path->device; @@ -4293,6 +4333,8 @@ struct ccb_pathinq cpi; int s; + GIANT_REQUIRED; + sim->bus_id = bus; new_bus = (struct cam_eb *)malloc(sizeof(*new_bus), M_DEVBUF, M_NOWAIT); @@ -4347,6 +4389,8 @@ struct cam_path bus_path; cam_status status; + GIANT_REQUIRED; + status = xpt_compile_path(&bus_path, NULL, pathid, CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD); if (status != CAM_REQ_CMP) @@ -4443,6 +4487,8 @@ struct cam_ed *device, *next_device; int s; + GIANT_REQUIRED; + CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_async\n")); /* @@ -4608,6 +4654,8 @@ int s; struct ccb_hdr *ccbh; + GIANT_REQUIRED; + s = splcam(); path->device->qfrozen_cnt += count; @@ -4634,6 +4682,8 @@ u_int32_t xpt_freeze_simq(struct cam_sim *sim, u_int count) { + GIANT_REQUIRED; + sim->devq->send_queue.qfrozen_cnt += count; if (sim->devq->active_dev != NULL) { struct ccb_hdr *ccbh; @@ -4659,6 +4709,8 @@ void xpt_release_devq(struct cam_path *path, u_int count, int run_queue) { + GIANT_REQUIRED; + xpt_release_devq_device(path->device, count, run_queue); } @@ -4717,6 +4769,8 @@ int s; struct camq *sendq; + GIANT_REQUIRED; + sendq = &(sim->devq->send_queue); s = splcam(); if (sendq->qfrozen_cnt > 0) { @@ -4765,6 +4819,8 @@ { int s; + GIANT_REQUIRED; + s = splcam(); CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_done\n")); @@ -4796,6 +4852,8 @@ { union ccb *new_ccb; + GIANT_REQUIRED; + new_ccb = malloc(sizeof(*new_ccb), M_DEVBUF, M_WAITOK); return (new_ccb); } ==== //depot/projects/netperf/sys/cam/scsi/scsi_target.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.57 2003/10/02 08:56:14 simokawa Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.58 2003/11/09 09:17:20 tanimura Exp $"); #include #include @@ -1119,7 +1119,7 @@ * Notify users sleeping via poll(), kqueue(), and * blocking read(). */ - selwakeup(&softc->read_select); + selwakeuppri(&softc->read_select, PRIBIO); KNOTE(&softc->read_select.si_note, 0); wakeup(&softc->user_ccb_queue); } ==== //depot/projects/netperf/sys/coda/coda_psdev.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ /* These routines are the device entry points for Venus. */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_psdev.c,v 1.28 2003/09/10 01:41:15 tjr Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_psdev.c,v 1.29 2003/11/09 09:17:20 tanimura Exp $"); extern int coda_nc_initialized; /* Set if cache has been initialized */ @@ -526,7 +526,7 @@ /* Append msg to request queue and poke Venus. */ INSQUE(vmp->vm_chain, vcp->vc_requests); - selwakeup(&(vcp->vc_selproc)); + selwakeuppri(&(vcp->vc_selproc), coda_call_sleep); /* We can be interrupted while we wait for Venus to process * our request. If the interrupt occurs before Venus has read @@ -664,7 +664,7 @@ /* insert at head of queue! */ INSQUE(svmp->vm_chain, vcp->vc_requests); - selwakeup(&(vcp->vc_selproc)); + selwakeuppri(&(vcp->vc_selproc), coda_call_sleep); } } ==== //depot/projects/netperf/sys/compat/linux/linux_socket.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.43 2003/10/11 15:08:32 iwasaki Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.44 2003/11/09 17:04:04 dwmalone Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -333,39 +334,6 @@ return ret_flags; } -/* - * Allocate stackgap and put the converted sockaddr structure - * there, address on stackgap returned in sap. - */ -static int -linux_sa_get(caddr_t *sgp, struct sockaddr **sap, - const struct osockaddr *osa, int *osalen) -{ - struct sockaddr *sa, *usa; - int alloclen, error; - - alloclen = *osalen; - error = do_sa_get(&sa, osa, &alloclen, M_TEMP); - if (error) - return (error); - - usa = (struct sockaddr *) stackgap_alloc(sgp, alloclen); - if (!usa) { - error = ENOMEM; - goto out; - } - - if ((error = copyout(sa, usa, alloclen))) - goto out; - - *sap = usa; - *osalen = alloclen; - -out: - FREE(sa, M_TEMP); - return (error); -} - static int linux_sa_put(struct osockaddr *osa) { @@ -392,6 +360,46 @@ return (0); } +static int +linux_sendit(struct thread *td, int s, struct msghdr *mp, int flags) +{ + struct mbuf *control; + struct sockaddr *to; + int error; + + if (mp->msg_name != NULL) { + error = linux_getsockaddr(&to, mp->msg_name, mp->msg_namelen); + if (error) + return (error); + mp->msg_name = to; + } else + to = NULL; + + if (mp->msg_control != NULL) { + struct cmsghdr *cmsg; + + if (mp->msg_controllen < sizeof(struct cmsghdr)) { + error = EINVAL; + goto bad; + } + error = sockargs(&control, mp->msg_control, + mp->msg_controllen, MT_CONTROL); + if (error) + goto bad; + + cmsg = mtod(control, struct cmsghdr *); + cmsg->cmsg_level = linux_to_bsd_sockopt_level(cmsg->cmsg_level); + } else + control = NULL; + + error = kern_sendit(td, s, mp, linux_to_bsd_msg_flags(flags), control); + +bad: + if (to) + FREE(to, M_SONAME); + return (error); +} + /* Return 0 if IP_HDRINCL is set for the given socket. */ static int linux_check_hdrincl(struct thread *td, caddr_t *sg, int s) @@ -428,12 +436,21 @@ return (optval == 0); } +struct linux_sendto_args { + int s; + void *msg; + int len; + int flags; + caddr_t to; + int tolen; +}; + /* * Updated sendto() when IP_HDRINCL is set: * tweak endian-dependent fields in the IP packet. */ static int -linux_sendto_hdrincl(struct thread *td, caddr_t *sg, struct sendto_args *bsd_args) +linux_sendto_hdrincl(struct thread *td, caddr_t *sg, struct linux_sendto_args *linux_args) { /* * linux_ip_copysize defines how many bytes we should copy @@ -444,55 +461,43 @@ #define linux_ip_copysize 8 struct ip *packet; - struct msghdr *msg; - struct iovec *iov; - + struct msghdr msg; + struct iovec aiov[2]; int error; - struct sendmsg_args /* { - int s; - caddr_t msg; - int flags; - } */ sendmsg_args; /* Check the packet isn't too small before we mess with it */ - if (bsd_args->len < linux_ip_copysize) + if (linux_args->len < linux_ip_copysize) return (EINVAL); /* * Tweaking the user buffer in place would be bad manners. * We create a corrected IP header with just the needed length, * then use an iovec to glue it to the rest of the user packet - * when calling sendmsg(). + * when calling sendit(). */ packet = (struct ip *)stackgap_alloc(sg, linux_ip_copysize); - msg = (struct msghdr *)stackgap_alloc(sg, sizeof(*msg)); - iov = (struct iovec *)stackgap_alloc(sg, sizeof(*iov)*2); /* Make a copy of the beginning of the packet to be sent */ - if ((error = copyin(bsd_args->buf, packet, linux_ip_copysize))) + if ((error = copyin(linux_args->msg, packet, linux_ip_copysize))) return (error); /* Convert fields from Linux to BSD raw IP socket format */ - packet->ip_len = bsd_args->len; + packet->ip_len = linux_args->len; packet->ip_off = ntohs(packet->ip_off); /* Prepare the msghdr and iovec structures describing the new packet */ - msg->msg_name = bsd_args->to; - msg->msg_namelen = bsd_args->tolen; - msg->msg_iov = iov; - msg->msg_iovlen = 2; - msg->msg_control = NULL; - msg->msg_controllen = 0; - msg->msg_flags = 0; - iov[0].iov_base = (char *)packet; - iov[0].iov_len = linux_ip_copysize; - iov[1].iov_base = (char *)(bsd_args->buf) + linux_ip_copysize; - iov[1].iov_len = bsd_args->len - linux_ip_copysize; - - sendmsg_args.s = bsd_args->s; - sendmsg_args.msg = (caddr_t)msg; - sendmsg_args.flags = bsd_args->flags; - return (sendmsg(td, &sendmsg_args)); + msg.msg_name = linux_args->to; + msg.msg_namelen = linux_args->tolen; + msg.msg_iov = aiov; + msg.msg_iovlen = 2; + msg.msg_control = NULL; + msg.msg_flags = 0; + aiov[0].iov_base = (char *)packet; + aiov[0].iov_len = linux_ip_copysize; + aiov[1].iov_base = (char *)(linux_args->msg) + linux_ip_copysize; + aiov[1].iov_len = linux_args->len - linux_ip_copysize; + error = linux_sendit(td, linux_args->s, &msg, linux_args->flags); + return (error); } struct linux_socket_args { @@ -895,55 +900,32 @@ return (orecv(td, &bsd_args)); } -struct linux_sendto_args { - int s; - void *msg; - int len; - int flags; - caddr_t to; - int tolen; -}; - static int linux_sendto(struct thread *td, struct linux_sendto_args *args) { struct linux_sendto_args linux_args; - struct sendto_args /* { - int s; - caddr_t buf; - size_t len; - int flags; - caddr_t to; - int tolen; - } */ bsd_args; + struct msghdr msg; + struct iovec aiov; caddr_t sg = stackgap_init(); - struct sockaddr *to; - int tolen, error; + int error; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); - tolen = linux_args.tolen; - if (linux_args.to) { - error = linux_sa_get(&sg, &to, - (struct osockaddr *) linux_args.to, &tolen); - if (error) - return (error); - } else - to = NULL; - - bsd_args.s = linux_args.s; - bsd_args.buf = linux_args.msg; - bsd_args.len = linux_args.len; - bsd_args.flags = linux_args.flags; - bsd_args.to = (caddr_t) to; - bsd_args.tolen = (unsigned int) tolen; - if (linux_check_hdrincl(td, &sg, linux_args.s) == 0) /* IP_HDRINCL set, tweak the packet before sending */ - return (linux_sendto_hdrincl(td, &sg, &bsd_args)); + return (linux_sendto_hdrincl(td, &sg, &linux_args)); - return (sendto(td, &bsd_args)); + msg.msg_name = linux_args.to; + msg.msg_namelen = linux_args.tolen; + msg.msg_iov = &aiov; + msg.msg_iovlen = 1; + msg.msg_control = NULL; + msg.msg_flags = 0; + aiov.iov_base = linux_args.msg; + aiov.iov_len = linux_args.len; + error = linux_sendit(td, linux_args.s, &msg, linux_args.flags); + return (error); } struct linux_recvfrom_args { @@ -999,16 +981,9 @@ linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args) { struct linux_sendmsg_args linux_args; - struct sendmsg_args /* { - int s; - const struct msghdr *msg; - int flags; - } */ bsd_args; struct msghdr msg; - struct msghdr *nmsg = NULL; - struct cmsghdr *cmsg; + struct iovec aiov[UIO_SMALLIOV], *iov; int error; - caddr_t sg; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); @@ -1016,41 +991,27 @@ error = copyin(linux_args.msg, &msg, sizeof(msg)); if (error) return (error); - - sg = stackgap_init(); - nmsg = (struct msghdr *)stackgap_alloc(&sg, sizeof(struct msghdr)); - if (nmsg == NULL) - return (ENOMEM); - - bcopy(&msg, nmsg, sizeof(struct msghdr)); - - if (msg.msg_name != NULL) { - struct sockaddr *sa; - - error = linux_sa_get(&sg, &sa, - (struct osockaddr *) msg.msg_name, &msg.msg_namelen); - if (error) - return (error); - - nmsg->msg_name = sa; + if ((u_int)msg.msg_iovlen >= UIO_SMALLIOV) { + if ((u_int)msg.msg_iovlen >= UIO_MAXIOV) + return (EMSGSIZE); + MALLOC(iov, struct iovec *, + sizeof(struct iovec) * (u_int)msg.msg_iovlen, M_IOV, + M_WAITOK); + } else { + iov = aiov; } + if (msg.msg_iovlen && + (error = copyin(msg.msg_iov, iov, + (unsigned)(msg.msg_iovlen * sizeof (struct iovec))))) + goto done; + msg.msg_iov = iov; + msg.msg_flags = 0; - if (msg.msg_control != NULL) { - nmsg->msg_control = (struct cmsghdr *)stackgap_alloc(&sg, - msg.msg_controllen); - if (nmsg->msg_control == NULL) - return (ENOMEM); - - bcopy(msg.msg_control, nmsg->msg_control, msg.msg_controllen); - cmsg = (struct cmsghdr*)nmsg->msg_control; - - cmsg->cmsg_level = linux_to_bsd_sockopt_level(cmsg->cmsg_level); - } - - bsd_args.s = linux_args.s; - bsd_args.msg = (caddr_t)nmsg; - bsd_args.flags = linux_to_bsd_msg_flags(linux_args.flags); - return (sendmsg(td, &bsd_args)); + error = linux_sendit(td, linux_args.s, &msg, linux_args.flags); +done: + if (iov != aiov) + FREE(iov, M_IOV); + return (error); } struct linux_recvmsg_args { ==== //depot/projects/netperf/sys/conf/files#23 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.845 2003/11/07 09:18:52 harti Exp $ +# $FreeBSD: src/sys/conf/files,v 1.846 2003/11/10 10:39:14 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -208,7 +208,7 @@ crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec crypto/rijndael/rijndael-api-fst.c optional ipsec -opencrypto/rmd160.c optional ipsec +opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec ddb/db_access.c optional ddb @@ -495,6 +495,7 @@ dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa dev/joy/joy_pccard.c optional joy pccard +dev/kttcp/kttcp.c optional kttcp dev/led/led.c optional cpu_soekris dev/lge/if_lge.c optional lge dev/lmc/if_lmc.c optional lmc nowerror @@ -1462,12 +1463,12 @@ netinet/tcp_timer.c optional inet netinet/tcp_usrreq.c optional inet netinet/udp_usrreq.c optional inet -#netinet6/ah_aesxcbcmac.c optional ipsec +netinet6/ah_aesxcbcmac.c optional ipsec netinet6/ah_core.c optional ipsec netinet6/ah_input.c optional ipsec netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 -#netinet6/esp_aesctr.c optional ipsec ipsec_esp +netinet6/esp_aesctr.c optional ipsec ipsec_esp netinet6/esp_core.c optional ipsec ipsec_esp netinet6/esp_input.c optional ipsec ipsec_esp netinet6/esp_output.c optional ipsec ipsec_esp ==== //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.c#4 (text+ko) ==== @@ -1,19 +1,31 @@ -/* $KAME: rijndael-alg-fst.c,v 1.7 2001/05/27 00:23:23 itojun Exp $ */ - -/* - * rijndael-alg-fst.c v2.3 April '2000 +/* $KAME: rijndael-alg-fst.c,v 1.10 2003/07/15 10:47:16 itojun Exp $ */ +/** + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) * - * Optimised ANSI C code + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto * - * authors: v1.0: Antoon Bosselaers - * v2.0: Vincent Rijmen - * v2.3: Paulo Barreto + * This code is hereby placed in the public domain. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Nov 10 15:35:33 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02CE516A4D0; Mon, 10 Nov 2003 15:35:33 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D17E616A4CE for ; Mon, 10 Nov 2003 15:35:32 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4408E43FE5 for ; Mon, 10 Nov 2003 15:35:32 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAANZWXJ070775 for ; Mon, 10 Nov 2003 15:35:32 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAANZVqk070772 for perforce@freebsd.org; Mon, 10 Nov 2003 15:35:31 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 10 Nov 2003 15:35:31 -0800 (PST) Message-Id: <200311102335.hAANZVqk070772@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 41950 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 23:35:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=41950 Change 41950 by sam@sam_ebb on 2003/11/10 15:34:52 kernel TTCP performance testing tool (kernel part) Affected files ... .. //depot/projects/netperf/sys/dev/kttcp/kttcp.c#1 add .. //depot/projects/netperf/sys/dev/kttcp/kttcpio.h#1 add .. //depot/projects/netperf/sys/modules/kttcp/Makefile#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Nov 10 21:17:32 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BD5FF16A4D0; Mon, 10 Nov 2003 21:17:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 815C016A4CE for ; Mon, 10 Nov 2003 21:17:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 02DCE43FDD for ; Mon, 10 Nov 2003 21:17:31 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAB5HUXJ001410 for ; Mon, 10 Nov 2003 21:17:30 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAB5HUlZ001407 for perforce@freebsd.org; Mon, 10 Nov 2003 21:17:30 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Mon, 10 Nov 2003 21:17:30 -0800 (PST) Message-Id: <200311110517.hAB5HUlZ001407@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 41960 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 05:17:32 -0000 X-List-Received-Date: Tue, 11 Nov 2003 05:17:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=41960 Change 41960 by jmallett@jmallett_dalek on 2003/11/10 21:17:17 Repeat after me: shifting right N bits minus enough to offset is not the same as shifting right N bits and then left an offset. It's important not to get those alignment errors. While here, allow one of the TLBLo's to be invalid. Arrrrrrrrrrrrrgh! Now get to pmap_pinit(). Affected files ... .. //depot/projects/mips/sys/mips/mips/exception.S#9 edit Differences ... ==== //depot/projects/mips/sys/mips/mips/exception.S#9 (text+ko) ==== @@ -180,7 +180,8 @@ * Shift right logical to get a page index, but leaving * enough bits to index an array of 64 bit values. */ - dsrl k0, PAGE_SHIFT - 3 + dsrl k0, PAGE_SHIFT + dsll k0, 3 dla k1, kptmap /* * Find the page table, and index it. @@ -189,27 +190,26 @@ addu k1, k0 ld k0, 0(k1) /* Even PTE. */ andi k0, PG_V /* Check validity. */ + bne k0, zero, 2f /* Valid. */ + nop + ld k0, 8(k1) /* Odd PTE. */ + andi k0, PG_V /* Check validity. */ beq k0, zero, 1f /* Invalid. */ nop /* * Valid PTE. Write the pair. */ - ld k0, 0(k1) /* Even PTE. */ +2: ld k0, 0(k1) /* Even PTE. */ ld k1, 8(k1) /* Odd PTE. */ /* * Write TLB entry. */ dmtc0 k0, MIPS_COP_0_TLB_LO0 - nop - nop dmtc0 k1, MIPS_COP_0_TLB_LO1 - nop - nop tlbwr nop nop nop - nop eret 1: j BadPTE nop From owner-p4-projects@FreeBSD.ORG Mon Nov 10 21:18:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF59916A4D1; Mon, 10 Nov 2003 21:18:34 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9444E16A4CF for ; Mon, 10 Nov 2003 21:18:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D504743FB1 for ; Mon, 10 Nov 2003 21:18:32 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAB5IWXJ001431 for ; Mon, 10 Nov 2003 21:18:32 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAB5IWTn001428 for perforce@freebsd.org; Mon, 10 Nov 2003 21:18:32 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Mon, 10 Nov 2003 21:18:32 -0800 (PST) Message-Id: <200311110518.hAB5IWTn001428@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 41961 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 05:18:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=41961 Change 41961 by jmallett@jmallett_dalek on 2003/11/10 21:18:21 tlb_invalidate_page is more than welcome to invalidate pages not currently in the tlb, remove a printf so i could know if i was exercising things well. Affected files ... .. //depot/projects/mips/sys/mips/mips/tlb.c#15 edit Differences ... ==== //depot/projects/mips/sys/mips/mips/tlb.c#15 (text+ko) ==== @@ -207,9 +207,7 @@ mips_wr_entryhi(ehi); mips_tlbp(); i = mips_rd_index(); - if (i < 0) - printf("%s: %#lx not in tlb\n", __func__, va); - else + if (i >= 0) tlb_invalidate_one(va); } From owner-p4-projects@FreeBSD.ORG Tue Nov 11 00:15:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E89BE16A4D1; Tue, 11 Nov 2003 00:15:16 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C23A416A4CE for ; Tue, 11 Nov 2003 00:15:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 858EF43FBD for ; Tue, 11 Nov 2003 00:15:15 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAB8FFXJ012001 for ; Tue, 11 Nov 2003 00:15:15 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAB8FFYG011998 for perforce@freebsd.org; Tue, 11 Nov 2003 00:15:15 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Tue, 11 Nov 2003 00:15:15 -0800 (PST) Message-Id: <200311110815.hAB8FFYG011998@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 41975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 08:15:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=41975 Change 41975 by jmallett@jmallett_dalek on 2003/11/11 00:14:14 Ignore obsessive-compulsive desire to sort includes and just commit something which further desorts and happens to make the kvtop command available. Affected files ... .. //depot/projects/mips/sys/mips/mips/db_interface.c#9 edit Differences ... ==== //depot/projects/mips/sys/mips/mips/db_interface.c#9 (text+ko) ==== @@ -44,6 +44,9 @@ #include #include +#include +#include + #include #include #include @@ -301,23 +304,14 @@ } } -#if 0 /* XXX notyet */ -DB_COMMAND(kvtob, db_kvtophys_cmd) +DB_COMMAND(kvtop, db_kvtophys_cmd) { if (!have_addr) return; - if (MIPS_KSEG2_START <= addr) { - /* - * Cast the physical address -- some platforms, while - * being ILP32, may be using 64-bit paddr_t's. - */ - db_printf("0x%lx -> 0x%qx\n", addr, - (unsigned long long) kvtophys(addr)); - } else - printf("not a kernel virtual address\n"); + db_printf("%#lx -> %#lx\n", (u_long)addr, + (u_long)pmap_kextract(addr)); } -#endif #define FLDWIDTH 10 #define SHOW32(reg, name) \ From owner-p4-projects@FreeBSD.ORG Tue Nov 11 03:13:44 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D448716A4D0; Tue, 11 Nov 2003 03:13:43 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 975E516A4CE; Tue, 11 Nov 2003 03:13:43 -0800 (PST) Received: from westhost42.westhost.net (westhost42.westhost.net [216.71.84.238]) by mx1.FreeBSD.org (Postfix) with ESMTP id 97F7343FDD; Tue, 11 Nov 2003 03:13:42 -0800 (PST) (envelope-from mini@freebsd.org) Received: from [172.16.0.241] (mulder.f5.com [205.229.151.150]) by westhost42.westhost.net (8.11.6/8.11.6) with ESMTP id hABBDeo30424; Tue, 11 Nov 2003 05:13:41 -0600 In-Reply-To: <200311110815.hAB8FFYG011998@repoman.freebsd.org> References: <200311110815.hAB8FFYG011998@repoman.freebsd.org> Mime-Version: 1.0 (Apple Message framework v606) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <1E3D0F61-1438-11D8-87D8-000A95CD3CF8@freebsd.org> Content-Transfer-Encoding: 7bit From: Jonathan Mini Date: Tue, 11 Nov 2003 03:13:46 -0800 To: Juli Mallett X-Mailer: Apple Mail (2.606) cc: Perforce Change Reviews Subject: Re: PERFORCE change 41975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 11:13:44 -0000 I will only wash my hands once... I will only wash my hands once... I will only wash my hands once... I will only wash my hands once... Ugh, this keyboard is disgusting! On Nov 11, 2003, at 12:15 AM, Juli Mallett wrote: > http://perforce.freebsd.org/chv.cgi?CH=41975 > > Change 41975 by jmallett@jmallett_dalek on 2003/11/11 00:14:14 > > Ignore obsessive-compulsive desire to sort includes and just > commit something which further desorts and happens to make > the kvtop command available. > > Affected files ... > > .. //depot/projects/mips/sys/mips/mips/db_interface.c#9 edit > > Differences ... > > ==== //depot/projects/mips/sys/mips/mips/db_interface.c#9 (text+ko) > ==== > > @@ -44,6 +44,9 @@ > #include > #include > > +#include > +#include > + > #include > #include > #include > @@ -301,23 +304,14 @@ > } > } > > -#if 0 /* XXX notyet */ > -DB_COMMAND(kvtob, db_kvtophys_cmd) > +DB_COMMAND(kvtop, db_kvtophys_cmd) > { > > if (!have_addr) > return; > - if (MIPS_KSEG2_START <= addr) { > - /* > - * Cast the physical address -- some platforms, while > - * being ILP32, may be using 64-bit paddr_t's. > - */ > - db_printf("0x%lx -> 0x%qx\n", addr, > - (unsigned long long) kvtophys(addr)); > - } else > - printf("not a kernel virtual address\n"); > + db_printf("%#lx -> %#lx\n", (u_long)addr, > + (u_long)pmap_kextract(addr)); > } > -#endif > > #define FLDWIDTH 10 > #define SHOW32(reg, name) \ > > -- Jonathan Mini mini@freebsd.org http://www.freebsd.org From owner-p4-projects@FreeBSD.ORG Tue Nov 11 11:11:41 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4040E16A4D0; Tue, 11 Nov 2003 11:11:41 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EC7CB16A4CE for ; Tue, 11 Nov 2003 11:11:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C436743FAF for ; Tue, 11 Nov 2003 11:11:35 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABJBZXJ068531 for ; Tue, 11 Nov 2003 11:11:35 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABJBBHE068184 for perforce@freebsd.org; Tue, 11 Nov 2003 11:11:11 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 11:11:11 -0800 (PST) Message-Id: <200311111911.hABJBBHE068184@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42014 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 19:11:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=42014 Change 42014 by rwatson@rwatson_tislabs on 2003/11/11 11:10:46 Integ the TrustedBSD base branch from FreeBSD vendor branch. Bring in ATM fixes, minor gcc upgrade, lukemftp upgrade, many KAME upgrades, network stack locking improvements, M:N threading fixes, i386 interrupt routing stuff, loopback of some minor MAC bits. Affected files ... .. //depot/projects/trustedbsd/base/Makefile#29 integrate .. //depot/projects/trustedbsd/base/Makefile.inc1#46 integrate .. //depot/projects/trustedbsd/base/UPDATING#39 integrate .. //depot/projects/trustedbsd/base/bin/Makefile.inc#8 integrate .. //depot/projects/trustedbsd/base/bin/chmod/chmod.c#8 integrate .. //depot/projects/trustedbsd/base/bin/rm/rm.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/bsnmp/FREEBSD-upgrade#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/NEWS#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/README#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/TODO#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/VERSION#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/gensnmptree/gensnmptree.1#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/gensnmptree/gensnmptree.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/asn1.3#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/asn1.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/asn1.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/bsnmpagent.3#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/bsnmpclient.3#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/bsnmplib.3#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/snmp.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/snmp.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/snmpagent.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/snmpagent.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/snmpclient.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/snmpclient.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/lib/snmppriv.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_ifmib.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_ifstack.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_ip.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_nettomedia.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_rcvaddr.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_route.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_tcp.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_tree.def#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII_udp.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/snmp_mibII.3#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/snmp_mibII.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/.gdbinit#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/BEGEMOT-MIB.txt#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/FOKUS-MIB.txt#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/action.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/bsnmpd.1#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/config.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/export.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/main.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/snmpd.config#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/snmpd.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/snmpd.sh#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/snmpmod.3#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/snmpmod.h#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/trap.c#1 branch .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmpd/tree.def#1 branch .. //depot/projects/trustedbsd/base/contrib/diff/util.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/ChangeLog#14 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/Makefile.in#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/aclocal.m4#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/alias.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/builtins.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/c-decl.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/c-lex.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/c-objc-common.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/c-typeck.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/calls.c#14 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cfgcleanup.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cfgloop.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cfgrtl.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/collect2.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/combine.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config.gcc#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config.in#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/alpha/alpha.c#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/alpha/alpha.h#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/alpha/alpha.md#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/alpha/linux.h#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/arm/linux-elf.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/darwin.h#3 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/freebsd-spec.h#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/emmintrin.h#1 branch .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/i386.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/i386.h#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/i386.md#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/mmintrin.h#5 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/pmmintrin.h#1 branch .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/sco5.h#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/sol2.h#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/t-sco5#5 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/i386/xmmintrin.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/hpux.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/ia64-protos.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/ia64.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/ia64.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/ia64.md#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/ia64intrin.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/libgcc-ia64.ver#4 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/ia64/unwind-ia64.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/linux.h#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/rs6000/linux.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/rs6000/linux64.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/rs6000/rs6000.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/rs6000/rs6000.md#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/rs6000/sysv4.h#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/sparc/linux.h#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/sparc/linux64.h#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/sparc/sol2-c1.asm#2 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/sparc/sparc.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/sparc/sparc.md#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/t-darwin#2 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/config/t-libunwind#1 branch .. //depot/projects/trustedbsd/base/contrib/gcc/configure#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/configure.in#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/ChangeLog#14 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/call.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/class.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/cp-tree.h#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/decl.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/decl2.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/friend.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/init.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/pt.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/search.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/tree.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/typeck.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cp/typeck2.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cppinit.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cpplib.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cppmain.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/cse.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/dbxout.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/doc/contrib.texi#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/doc/extend.texi#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/doc/include/gcc-common.texi#5 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/doc/invoke.texi#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/doc/tm.texi#9 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/dwarf2out.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/expr.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/f/ChangeLog#13 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/function.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/gcc.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/libgcc-std.ver#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/loop.c#15 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/loop.h#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/mklibgcc.in#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/mkmap-symver.awk#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/real.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/reg-stack.c#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/reorg.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/scan-decls.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/stmt.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/stor-layout.c#8 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/tlink.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/toplev.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/tree.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/tree.h#11 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/unroll.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/unwind-dw2.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/unwind-libunwind.c#1 branch .. //depot/projects/trustedbsd/base/contrib/gcc/unwind.h#5 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/varasm.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/gcc/version.c#14 integrate .. //depot/projects/trustedbsd/base/contrib/groff/src/roff/nroff/nroff.man#4 integrate .. //depot/projects/trustedbsd/base/contrib/groff/src/roff/nroff/nroff.sh#5 integrate .. //depot/projects/trustedbsd/base/contrib/libf2c/ChangeLog#10 integrate .. //depot/projects/trustedbsd/base/contrib/libf2c/configure#7 integrate .. //depot/projects/trustedbsd/base/contrib/libobjc/ChangeLog#12 integrate .. //depot/projects/trustedbsd/base/contrib/libobjc/configure#8 integrate .. //depot/projects/trustedbsd/base/contrib/libpcap/gencode.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libpcap/pcap.3#4 integrate .. //depot/projects/trustedbsd/base/contrib/libpcap/scanner.l#3 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/ChangeLog#13 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/acinclude.m4#9 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/aclocal.m4#9 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/config/cpu/m68k/atomicity.h#2 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/config/locale/generic/ctype_members.cc#3 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/config/locale/gnu/ctype_members.cc#6 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/config/os/generic/ctype_inline.h#2 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/config/os/hpux/os_defines.h#2 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/configure#10 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/configure.target#7 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/include/Makefile.am#7 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/include/Makefile.in#7 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/include/bits/basic_ios.h#5 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/include/bits/c++config#11 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/include/bits/istream.tcc#7 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/include/bits/locale_facets.tcc#11 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/include/bits/stl_algo.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/libstdc++/libsupc++/cxxabi.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/cmds.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/cmdtab.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/domacro.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/extern.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/fetch.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/ftp.1#6 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/ftp.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/ftp_var.h#5 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/main.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/progressbar.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/ruserpass.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/util.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/lukemftp/src/version.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/ngatm/libngatm/net_in.fig#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/libngatm/net_out.fig#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/libngatm/unicust.h#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/man/libngatm.3#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/man/uniaddr.3#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/man/unifunc.3#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/man/unistruct.3#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/sscop/common.c#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/sscop/common.h#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/sscop/sscop.1#1 branch .. //depot/projects/trustedbsd/base/contrib/ngatm/sscop/sscop_main.c#1 branch .. //depot/projects/trustedbsd/base/contrib/sendmail/smrsh/smrsh.c#9 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshd_config.5#9 integrate .. //depot/projects/trustedbsd/base/etc/Makefile#36 integrate .. //depot/projects/trustedbsd/base/etc/bluetooth/Makefile#1 branch .. //depot/projects/trustedbsd/base/etc/defaults/periodic.conf#9 integrate .. //depot/projects/trustedbsd/base/etc/mac.conf#3 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.include.dist#20 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.local.dist#20 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.root.dist#8 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.usr.dist#31 integrate .. //depot/projects/trustedbsd/base/etc/periodic/daily/405.status-ata-raid#1 branch .. //depot/projects/trustedbsd/base/etc/periodic/daily/460.status-mail-rejects#4 integrate .. //depot/projects/trustedbsd/base/etc/periodic/daily/470.status-named#5 integrate .. //depot/projects/trustedbsd/base/etc/periodic/daily/Makefile#4 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/Makefile#15 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ip6addrctl#1 branch .. //depot/projects/trustedbsd/base/etc/rc.d/ipnat#8 integrate .. //depot/projects/trustedbsd/base/etc/rc.firewall#6 integrate .. //depot/projects/trustedbsd/base/etc/rc.firewall6#5 integrate .. //depot/projects/trustedbsd/base/games/fortune/datfiles/fortunes2#18 integrate .. //depot/projects/trustedbsd/base/games/morse/morse.6#2 integrate .. //depot/projects/trustedbsd/base/games/morse/morse.c#2 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c#2 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/gzip/getopt.c#2 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/man/man/man.c#9 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/man/manpath/manpath.config#6 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/patch/backupfile.c#4 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/rcs/lib/conf.h#2 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/send-pr/send-pr.sh#7 integrate .. //depot/projects/trustedbsd/base/include/Makefile#32 integrate .. //depot/projects/trustedbsd/base/include/pthread.h#6 integrate .. //depot/projects/trustedbsd/base/include/rpcsvc/ypclnt.h#5 integrate .. //depot/projects/trustedbsd/base/include/strhash.h#2 delete .. //depot/projects/trustedbsd/base/include/vis.h#4 integrate .. //depot/projects/trustedbsd/base/lib/Makefile#25 integrate .. //depot/projects/trustedbsd/base/lib/libbsnmp/Makefile#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/Makefile.inc#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/libbsnmp/Makefile#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/Makefile#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/Makefile.inc#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_mibII/Makefile#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_mibII/genfiles#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_mibII/mibII_oid.h#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_mibII/mibII_tree.c#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_mibII/mibII_tree.h#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/Makefile#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/genfiles#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/netgraph_oid.h#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.c#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.def#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.h#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#1 branch .. //depot/projects/trustedbsd/base/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/alpha/SYS.h#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/daemon.3#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/daemon.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/fnmatch.3#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/getcwd.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/getlogin.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/getvfsbyname.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/glob.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/vis.3#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/vis.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/ia64/gen/unwind.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/include/libc_private.h#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/include/spinlock.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/Makefile.inc#16 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/big5.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/euc.4#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/euc.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/frune.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/gb18030.5#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/gb2312.5#1 branch .. //depot/projects/trustedbsd/base/lib/libc/locale/gb2312.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/locale/gbk.5#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/gbk.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/mbrtowc.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/mskanji.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/multibyte.3#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/none.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/setlocale.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/setrunelocale.c#10 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/srune.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/locale/table.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/utf2.4#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/utf8.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/wcrtomb.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/wcsftime.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/wcstod.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/wcstof.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/wcstold.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/wctrans.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getaddrinfo.c#14 integrate .. //depot/projects/trustedbsd/base/lib/libc/nls/msgcat.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/posix1e/acl_support.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/rpc/clnt_dg.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/rpc/clnt_simple.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/rpc/rpc_generic.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/rpc/rpcb_clnt.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/fgetwc.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/fputwc.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/ungetwc.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfprintf.c#16 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfscanf.c#13 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfwprintf.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfwscanf.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vswprintf.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vswscanf.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/Makefile.inc#12 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/malloc.c#16 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/radixsort.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/strhash.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/string/bcopy.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/string/wcscoll.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/string/wcsxfrm.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/Makefile.inc#12 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/jail.2#6 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/kqueue.2#9 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/ktrace.2#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/munmap.2#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/utrace.2#1 branch .. //depot/projects/trustedbsd/base/lib/libdisk/Makefile#9 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/chunk.c#15 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/create_chunk.c#17 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/disk.c#26 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/libdisk.h#16 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/open_disk.c#1 branch .. //depot/projects/trustedbsd/base/lib/libdisk/open_ia64_disk.c#1 branch .. //depot/projects/trustedbsd/base/lib/libdisk/rules.c#10 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/tst01.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/write_disk.c#10 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/write_ia64_disk.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/Makefile#4 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/ipsec_dump_policy.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/ipsec_set_policy.3#7 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/ipsec_strerror.3#5 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/pfkey.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/pfkey_dump.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/policy_parse.y#3 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/policy_token.l#3 integrate .. //depot/projects/trustedbsd/base/lib/libipsec/test-policy.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libngatm/Makefile#2 integrate .. //depot/projects/trustedbsd/base/lib/libpcap/Makefile#4 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/pthread.map#5 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/sys/lock.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/sys/lock.h#5 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/Makefile.inc#9 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_atfork.c#1 branch .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_fork.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_init.c#12 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_kern.c#18 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_mutex.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_private.h#16 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_pspinlock.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_rtld.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_spinlock.c#5 integrate .. //depot/projects/trustedbsd/base/lib/librpcsvc/rnusers.c#2 integrate .. //depot/projects/trustedbsd/base/lib/librpcsvc/rstat.c#3 integrate .. //depot/projects/trustedbsd/base/lib/librpcsvc/rwall.c#2 integrate .. //depot/projects/trustedbsd/base/lib/librpcsvc/yp_passwd.c#3 integrate .. //depot/projects/trustedbsd/base/lib/librpcsvc/yp_update.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libsdp/search.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libsdp/util.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libstand/environment.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libstand/stand.h#10 integrate .. //depot/projects/trustedbsd/base/lib/libutil/login_cap.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libutil/login_class.c#8 integrate .. //depot/projects/trustedbsd/base/lib/msun/src/e_scalb.c#4 integrate .. //depot/projects/trustedbsd/base/lib/msun/src/e_scalbf.c#3 integrate .. //depot/projects/trustedbsd/base/lib/msun/src/s_fabsl.c#2 integrate .. //depot/projects/trustedbsd/base/libexec/ftpd/ftpcmd.y#17 integrate .. //depot/projects/trustedbsd/base/libexec/ypxfr/ypxfr_main.c#5 integrate .. //depot/projects/trustedbsd/base/libexec/ypxfr/ypxfrd_getmap.c#4 integrate .. //depot/projects/trustedbsd/base/release/Makefile#52 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#46 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#75 integrate .. //depot/projects/trustedbsd/base/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#14 integrate .. //depot/projects/trustedbsd/base/release/i386/dokern.sh#20 integrate .. //depot/projects/trustedbsd/base/release/picobsd/build/picobsd#8 integrate .. //depot/projects/trustedbsd/base/rescue/rescue/Makefile#6 integrate .. //depot/projects/trustedbsd/base/sbin/Makefile#20 integrate .. //depot/projects/trustedbsd/base/sbin/Makefile.inc#4 integrate .. //depot/projects/trustedbsd/base/sbin/atacontrol/Makefile#4 integrate .. //depot/projects/trustedbsd/base/sbin/atacontrol/atacontrol.c#12 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atmconfig/diag.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/dump/dump.8#17 integrate .. //depot/projects/trustedbsd/base/sbin/dump/dump.h#13 integrate .. //depot/projects/trustedbsd/base/sbin/dump/traverse.c#14 integrate .. //depot/projects/trustedbsd/base/sbin/fsck/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sbin/fsck/fsck.c#12 integrate .. //depot/projects/trustedbsd/base/sbin/fsck/fsutil.h#3 integrate .. //depot/projects/trustedbsd/base/sbin/fsck_msdosfs/check.c#4 integrate .. //depot/projects/trustedbsd/base/sbin/fsck_msdosfs/ext.h#5 integrate .. //depot/projects/trustedbsd/base/sbin/growfs/growfs.c#11 integrate .. //depot/projects/trustedbsd/base/sbin/ifconfig/ifconfig.c#17 integrate .. //depot/projects/trustedbsd/base/sbin/ifconfig/ifieee80211.c#7 integrate .. //depot/projects/trustedbsd/base/sbin/ip6fw/ip6fw.c#8 integrate .. //depot/projects/trustedbsd/base/sbin/ipfw/ipfw2.c#21 integrate .. //depot/projects/trustedbsd/base/sbin/md5/md5.1#3 integrate .. //depot/projects/trustedbsd/base/sbin/md5/md5.c#5 integrate .. //depot/projects/trustedbsd/base/sbin/mksnap_ffs/mksnap_ffs.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/mount/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sbin/mount_cd9660/mount_cd9660.c#6 integrate .. //depot/projects/trustedbsd/base/sbin/mount_udf/Makefile#2 integrate .. //depot/projects/trustedbsd/base/sbin/mount_udf/mount_udf.8#5 integrate .. //depot/projects/trustedbsd/base/sbin/mount_udf/mount_udf.c#6 integrate .. //depot/projects/trustedbsd/base/sbin/newfs/mkfs.c#18 integrate .. //depot/projects/trustedbsd/base/sbin/nos-tun/nos-tun.c#5 integrate .. //depot/projects/trustedbsd/base/sbin/restore/dirs.c#6 integrate .. //depot/projects/trustedbsd/base/sbin/route/route.8#5 integrate .. //depot/projects/trustedbsd/base/sbin/sunlabel/sunlabel.c#4 integrate .. //depot/projects/trustedbsd/base/sbin/sysctl/sysctl.8#11 integrate .. //depot/projects/trustedbsd/base/sbin/sysctl/sysctl.c#15 integrate .. //depot/projects/trustedbsd/base/sbin/umount/umount.c#9 integrate .. //depot/projects/trustedbsd/base/sbin/vinum/list.c#8 integrate .. //depot/projects/trustedbsd/base/share/colldef/Makefile#18 integrate .. //depot/projects/trustedbsd/base/share/doc/IPv6/IMPLEMENTATION#4 integrate .. //depot/projects/trustedbsd/base/share/examples/Makefile#8 integrate .. //depot/projects/trustedbsd/base/share/examples/cvsup/refuse#6 integrate .. //depot/projects/trustedbsd/base/share/examples/cvsup/refuse.README#7 integrate .. //depot/projects/trustedbsd/base/share/man/man3/tree.3#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/Makefile#39 integrate .. //depot/projects/trustedbsd/base/share/man/man4/aac.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/acpi.4#11 integrate .. //depot/projects/trustedbsd/base/share/man/man4/aha.4#4 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ahb.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ahc.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/an.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ata.4#7 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ath.4#7 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ath_hal.4#4 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ciss.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/dc.4#7 integrate .. //depot/projects/trustedbsd/base/share/man/man4/dcons.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/dcons_crom.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/de.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/hatm.4#4 integrate .. //depot/projects/trustedbsd/base/share/man/man4/kld.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/led.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/Makefile#8 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/aic.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/ep.4#4 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/ex.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/svr4.4#4 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/wd.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/miibus.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/mpt.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/ncr.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_bluetooth.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_bt3c.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_btsocket.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_h4.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_hci.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_l2cap.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_sscfu.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/ng_sscop.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/ng_ubt.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_uni.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/rl.4#7 integrate .. //depot/projects/trustedbsd/base/share/man/man4/sbp_targ.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/sis.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/sym.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/uaudio.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/ufm.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/utopia.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/xe.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man5/elf.5#5 integrate .. //depot/projects/trustedbsd/base/share/man/man5/rc.conf.5#34 integrate .. //depot/projects/trustedbsd/base/share/man/man7/hier.7#18 integrate .. //depot/projects/trustedbsd/base/share/man/man7/ports.7#10 integrate .. //depot/projects/trustedbsd/base/share/man/man9/Makefile#34 integrate .. //depot/projects/trustedbsd/base/share/man/man9/alq.9#1 branch .. //depot/projects/trustedbsd/base/share/man/man9/device_get_name.9#4 integrate .. //depot/projects/trustedbsd/base/share/man/man9/ifnet.9#11 integrate .. //depot/projects/trustedbsd/base/share/man/man9/pfind.9#3 integrate .. //depot/projects/trustedbsd/base/share/man/man9/pgfind.9#4 integrate .. //depot/projects/trustedbsd/base/share/man/man9/resource_query_string.9#3 delete .. //depot/projects/trustedbsd/base/share/man/man9/style.9#21 integrate .. //depot/projects/trustedbsd/base/share/misc/bsd-family-tree#13 integrate .. //depot/projects/trustedbsd/base/share/misc/pci_vendors#18 integrate .. //depot/projects/trustedbsd/base/share/mk/bsd.libnames.mk#20 integrate .. //depot/projects/trustedbsd/base/share/mklocale/Makefile#16 integrate .. //depot/projects/trustedbsd/base/share/mklocale/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/base/share/monetdef/Makefile#16 integrate .. //depot/projects/trustedbsd/base/share/monetdef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/base/share/msgdef/Makefile#16 integrate .. //depot/projects/trustedbsd/base/share/msgdef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/base/share/numericdef/Makefile#16 integrate .. //depot/projects/trustedbsd/base/share/security/Makefile#1 branch .. //depot/projects/trustedbsd/base/share/timedef/Makefile#15 integrate .. //depot/projects/trustedbsd/base/share/timedef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/base/sys/alpha/alpha/machdep.c#30 integrate .. //depot/projects/trustedbsd/base/sys/alpha/include/bus.h#14 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/linux_proto.h#5 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/linux_syscall.h#4 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/linux_sysent.c#4 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/syscalls.master#4 integrate .. //depot/projects/trustedbsd/base/sys/alpha/osf1/osf1_ioctl.c#5 integrate .. //depot/projects/trustedbsd/base/sys/alpha/osf1/osf1_proto.h#3 integrate .. //depot/projects/trustedbsd/base/sys/alpha/osf1/osf1_syscall.h#2 integrate .. //depot/projects/trustedbsd/base/sys/alpha/osf1/osf1_sysent.c#2 integrate .. //depot/projects/trustedbsd/base/sys/alpha/osf1/syscalls.master#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/machdep.c#9 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/nexus.c#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/trap.c#9 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/vm_machdep.c#9 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/gethints.awk#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/ia32/ia32_signal.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/bus_dma.h#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/cpufunc.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/fpu.h#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/include/frame.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/ieeefp.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/npx.h#4 delete .. //depot/projects/trustedbsd/base/sys/amd64/include/pcb.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/pmap.h#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/reg.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/signal.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/specialreg.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/ucontext.h#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/vmparam.h#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/isa/npx.c#3 delete .. //depot/projects/trustedbsd/base/sys/amd64/isa/vector.S#2 integrate .. //depot/projects/trustedbsd/base/sys/boot/common/dev_net.c#4 integrate .. //depot/projects/trustedbsd/base/sys/boot/forth/beastie.4th#4 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/boot2/boot2.c#16 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/btx/btxldr/btxldr.s#3 integrate .. //depot/projects/trustedbsd/base/sys/boot/ia64/libski/pal_stub.S#2 integrate .. //depot/projects/trustedbsd/base/sys/boot/ia64/skiload/Makefile#7 integrate .. //depot/projects/trustedbsd/base/sys/boot/sparc64/loader/metadata.c#9 integrate .. //depot/projects/trustedbsd/base/sys/cam/cam_periph.c#14 integrate .. //depot/projects/trustedbsd/base/sys/cam/cam_xpt.c#15 integrate .. //depot/projects/trustedbsd/base/sys/cam/scsi/scsi_cd.c#22 integrate .. //depot/projects/trustedbsd/base/sys/cam/scsi/scsi_target.c#10 integrate .. //depot/projects/trustedbsd/base/sys/coda/coda_psdev.c#9 integrate .. //depot/projects/trustedbsd/base/sys/coda/coda_subr.c#9 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/ia32/ia32_sysvec.c#3 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_ioctl.c#26 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_ipc.c#9 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_socket.c#11 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_stats.c#13 integrate .. //depot/projects/trustedbsd/base/sys/conf/NOTES#44 integrate .. //depot/projects/trustedbsd/base/sys/conf/files#66 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.amd64#9 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.i386#37 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.pc98#34 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.sparc64#28 integrate .. //depot/projects/trustedbsd/base/sys/conf/kern.mk#7 integrate .. //depot/projects/trustedbsd/base/sys/conf/kern.post.mk#29 integrate .. //depot/projects/trustedbsd/base/sys/conf/kern.pre.mk#22 integrate .. //depot/projects/trustedbsd/base/sys/conf/kmod.mk#24 integrate .. //depot/projects/trustedbsd/base/sys/conf/majors#27 integrate .. //depot/projects/trustedbsd/base/sys/conf/options#44 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.i386#20 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.pc98#20 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/acpica/dmresrc.c#5 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/ah.h#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/ah_devid.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/freebsd/ah_osdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/freebsd/ah_osdep.h#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/version.h#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/oltr/if_oltr.c#7 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx.h#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_bstream.c#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_bstream.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_context.c#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_context.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_env.c#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_env.h#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_scoreboard.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_self.c#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_self.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_step.c#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_step.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_str.c#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_str.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_swap.c#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_swap.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_trace.c#4 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_trace.h#4 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#3 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#4 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_uinfo.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_utable.c#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/src/uwx_utable.h#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/test/Makefile#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/test/dump_context.c#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/test/dumpmyself.c#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ia64/libuwx/test/primeregs.s#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_compat.h#8 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_fil.c#11 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_log.c#7 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/FREEBSD-upgrade#2 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/addr.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/genfiles#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/misc/straddr.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/geniec.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/genieh.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/genmsgc.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/genmsgh.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/ie.def#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/msg.def#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/parseie.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/parsemsg.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/priv.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/privmsg.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/traffic.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uni_config.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uni_hdr.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uni_ie.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uni_ie.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uni_ietab.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uni_msg.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uni_msg.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/unimsglib.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/uniprint.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/msg/unistruct.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/genmsgcpyc.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/genmsgcpyh.awk#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_call.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_coord.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_party.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_print.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_reset.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_uni.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_unimsgcpy.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/sig_verify.c#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/uni.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/unidef.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/unimkmsg.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/unimsgcpy.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/unipriv.h#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/ngatm/netnatm/sig/unisig.h#1 branch .. //depot/projects/trustedbsd/base/sys/crypto/rijndael/rijndael-alg-fst.c#4 integrate .. //depot/projects/trustedbsd/base/sys/crypto/rijndael/rijndael-alg-fst.h#3 integrate .. //depot/projects/trustedbsd/base/sys/crypto/rijndael/rijndael-api-fst.c#7 integrate .. //depot/projects/trustedbsd/base/sys/crypto/rijndael/rijndael-api-fst.h#4 integrate .. //depot/projects/trustedbsd/base/sys/crypto/rijndael/rijndael.c#1 branch .. //depot/projects/trustedbsd/base/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/aac/aac.c#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/aac/aac_pci.c#21 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/Osd/OsdInterrupt.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpivar.h#21 integrate .. //depot/projects/trustedbsd/base/sys/dev/aha/aha.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/aha/aha_isa.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/aha/aha_mca.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/aha/ahareg.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/aic7xxx/ahc_pci.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/aic7xxx/ahd_pci.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/an/if_an.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/ar/if_ar.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-all.c#33 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-all.h#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-chipset.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-disk.c#25 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-lowlevel.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-pci.c#28 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-pci.h#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-raid.c#21 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cam.c#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cd.c#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cd.h#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-fd.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-tape.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_ath_pci.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/awi/if_awi_pccard.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/bge/if_bge.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/bge/if_bgereg.h#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/bktr/bktr_core.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/cardbus/cardbus.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/ciss/ciss.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/cm/if_cm_isa.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/cm/smc90cx6.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/cm/smc90cx6var.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/cnw/if_cnw.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/cs/if_cs.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/cs/if_cs_isa.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/cs/if_cs_pccard.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/cs/if_csreg.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/cs/if_csvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/dcons/dcons_crom.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/drm_drv.h#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/drm_os_freebsd.h#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/ed/if_ed.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/ed/if_ed_cbus.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/ed/if_ed_isa.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/ed/if_ed_pccard.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/ed/if_ed_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/ed/if_edvar.h#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em.c#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/en/if_en_pci.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/en/midway.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/ep/if_ep.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/ep/if_ep_eisa.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/ep/if_ep_isa.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/ep/if_ep_mca.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/ep/if_ep_pccard.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/ep/if_epreg.h#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/ep/if_epvar.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/ex/if_ex.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/ex/if_ex_pccard.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/fatm/if_fatm.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/fb/creator.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/fe/if_fe.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/fe/if_fevar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/firewire.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/firewire.h#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/firewirereg.h#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/fwdev.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/fwmem.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/fwohci.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/fwohci_pci.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/if_fwe.c#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/sbp.c#23 integrate .. //depot/projects/trustedbsd/base/sys/dev/fxp/if_fxp.c#33 integrate .. //depot/projects/trustedbsd/base/sys/dev/fxp/if_fxpvar.h#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/gem/if_gem.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/gx/if_gx.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/harp/if_harp.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatm.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatm_intr.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatm_rx.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatm_tx.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatmvar.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/hme/if_hme.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/ie/if_ie.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/iicbus/if_ic.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/kbd/kbd.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/led/led.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/led/led.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/lge/if_lge.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/lnc/if_lnc.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/mii/brgphy.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/my/if_my.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/ncv/ncr53c500_pccard.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/nge/if_nge.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/nmdm/nmdm.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/null/null.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/patm/if_patm_attach.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/pccard/pccard.c#23 integrate .. //depot/projects/trustedbsd/base/sys/dev/pccard/pccarddevs#27 integrate .. //depot/projects/trustedbsd/base/sys/dev/pccard/pccarddevs.h#27 integrate .. //depot/projects/trustedbsd/base/sys/dev/pccard/pccardvar.h#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/pccbb/pccbb.c#30 integrate .. //depot/projects/trustedbsd/base/sys/dev/pci/pci.c#28 integrate .. //depot/projects/trustedbsd/base/sys/dev/pdq/if_fea.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/pdq/if_fpa.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/pdq/pdq_freebsd.h#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/pdq/pdqvar.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/ppbus/if_plip.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/puc/puc_pccard.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/puc/puc_pci.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/random/randomdev.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/ray/if_ray.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/re/if_re.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/sab/sab.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/sbni/if_sbni.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/sbni/if_sbni_isa.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/sbsh/if_sbsh.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/sio/sio_pci.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/sn/if_sn.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/sn/if_sn_isa.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/sn/if_sn_pccard.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/sn/if_snreg.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/sn/if_snvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/snc/dp83932.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/snp/snp.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/isa/mpu.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/midi/midibuf.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/cmi.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/channel.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/dsp.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/mixer.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/sr/if_sr.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/syscons/syscons.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/twe/twereg.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/tx/if_tx.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/txp/if_txp.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/uart/uart_bus_pci.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/uart/uart_cpu_sparc64.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/uart/uart_kbd_sun.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/uart/uart_kbd_sun.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/uart/uart_kbd_sun_tables.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_aue.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_axe.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_cue.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_kue.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_rue.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ohci.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ohci_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ucom.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ugen.c#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/uhci.c#27 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/uhci_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/uhid.c#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ums.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usb.c#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usb_ethersubr.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usb_port.h#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usbdi.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/uvisor.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/vx/if_vx.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/vx/if_vx_eisa.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/vx/if_vx_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/vx/if_vxvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/wi/if_wi.c#39 integrate .. //depot/projects/trustedbsd/base/sys/dev/wl/if_wl.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/xe/if_xe.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/xe/if_xe_pccard.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/zs/zs.c#8 integrate .. //depot/projects/trustedbsd/base/sys/fs/fifofs/fifo_vnops.c#27 integrate .. //depot/projects/trustedbsd/base/sys/fs/msdosfs/msdosfs_vfsops.c#20 integrate .. //depot/projects/trustedbsd/base/sys/fs/udf/osta.c#3 integrate .. //depot/projects/trustedbsd/base/sys/fs/udf/osta.h#2 integrate .. //depot/projects/trustedbsd/base/sys/fs/udf/udf.h#4 integrate .. //depot/projects/trustedbsd/base/sys/fs/udf/udf_iconv.c#1 branch .. //depot/projects/trustedbsd/base/sys/fs/udf/udf_mount.h#3 branch .. //depot/projects/trustedbsd/base/sys/fs/udf/udf_vfsops.c#13 integrate .. //depot/projects/trustedbsd/base/sys/fs/udf/udf_vnops.c#17 integrate .. //depot/projects/trustedbsd/base/sys/fs/unionfs/union_vfsops.c#13 integrate .. //depot/projects/trustedbsd/base/sys/gnu/ext2fs/alpha-bitops.h#2 delete .. //depot/projects/trustedbsd/base/sys/gnu/ext2fs/ext2_linux_balloc.c#5 integrate .. //depot/projects/trustedbsd/base/sys/gnu/ext2fs/ext2_linux_ialloc.c#4 integrate .. //depot/projects/trustedbsd/base/sys/gnu/ext2fs/ext2_vfsops.c#17 integrate .. //depot/projects/trustedbsd/base/sys/i386/acpica/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sys/i386/acpica/acpi_machdep.c#12 integrate .. //depot/projects/trustedbsd/base/sys/i386/acpica/acpi_wakecode.S#4 integrate .. //depot/projects/trustedbsd/base/sys/i386/acpica/acpi_wakeup.c#20 integrate .. //depot/projects/trustedbsd/base/sys/i386/acpica/madt.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/bios/apm.c#6 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/GENERIC#37 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/NOTES#42 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/PAE#5 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/SMP#3 delete .. //depot/projects/trustedbsd/base/sys/i386/i386/apic_vector.s#1 branch .. //depot/projects/trustedbsd/base/sys/i386/i386/autoconf.c#13 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/bios.c#17 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/critical.c#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/db_interface.c#15 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/db_trace.c#12 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/elan-mmcr.c#11 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/exception.s#10 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/genassym.c#18 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/identcpu.c#23 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/initcpu.c#13 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/intr_machdep.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/i386/io_apic.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/i386/local_apic.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/i386/locore.s#16 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/machdep.c#38 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/mp_machdep.c#29 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/mpapic.c#14 delete .. //depot/projects/trustedbsd/base/sys/i386/i386/mpboot.s#4 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/mptable.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/i386/mptable_pci.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/i386/nexus.c#10 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/pmap.c#44 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/support.s#11 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/trap.c#31 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/apic.h#9 delete .. //depot/projects/trustedbsd/base/sys/i386/include/apicreg.h#1 branch .. //depot/projects/trustedbsd/base/sys/i386/include/apicvar.h#1 branch .. //depot/projects/trustedbsd/base/sys/i386/include/asmacros.h#4 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/bus_dma.h#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/clock.h#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/critical.h#5 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/intr_machdep.h#1 branch .. //depot/projects/trustedbsd/base/sys/i386/include/md_var.h#18 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/mptable.h#1 branch .. //depot/projects/trustedbsd/base/sys/i386/include/pcpu.h#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/pmap.h#14 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/proc.h#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/segments.h#9 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/smp.h#11 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/smptests.h#5 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/apic_ipl.s#3 delete .. //depot/projects/trustedbsd/base/sys/i386/isa/apic_vector.s#13 delete .. //depot/projects/trustedbsd/base/sys/i386/isa/asc.c#5 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/atpic.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/isa/atpic_vector.s#1 branch .. //depot/projects/trustedbsd/base/sys/i386/isa/bs/bsif.h#4 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/clock.c#21 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/cx.c#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/icu.h#4 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/icu_ipl.s#3 delete .. //depot/projects/trustedbsd/base/sys/i386/isa/icu_vector.s#5 delete .. //depot/projects/trustedbsd/base/sys/i386/isa/if_cx.c#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/if_el.c#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/if_le.c#11 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/if_rdp.c#11 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/intr_machdep.c#12 delete .. //depot/projects/trustedbsd/base/sys/i386/isa/intr_machdep.h#10 delete .. //depot/projects/trustedbsd/base/sys/i386/isa/isa_compat.c#5 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/istallion.c#6 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/ithread.c#4 delete .. //depot/projects/trustedbsd/base/sys/i386/isa/mse.c#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/nmi.c#1 branch .. //depot/projects/trustedbsd/base/sys/i386/isa/npx.c#21 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/spic.c#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/stallion.c#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/vector.s#3 delete .. //depot/projects/trustedbsd/base/sys/i386/linux/linux_proto.h#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/linux_syscall.h#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/linux_sysent.c#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/trustedbsd/base/sys/i386/pci/pci_bus.c#21 integrate .. //depot/projects/trustedbsd/base/sys/i386/pci/pci_cfgreg.c#19 integrate .. //depot/projects/trustedbsd/base/sys/i4b/driver/i4b_ipr.c#11 integrate .. //depot/projects/trustedbsd/base/sys/i4b/driver/i4b_isppp.c#9 integrate .. //depot/projects/trustedbsd/base/sys/i4b/driver/i4b_rbch.c#8 integrate .. //depot/projects/trustedbsd/base/sys/i4b/driver/i4b_tel.c#6 integrate .. //depot/projects/trustedbsd/base/sys/i4b/driver/i4b_trace.c#9 integrate .. //depot/projects/trustedbsd/base/sys/i4b/include/i4b_global.h#3 integrate .. //depot/projects/trustedbsd/base/sys/i4b/layer4/i4b_i4bdrv.c#10 integrate .. //depot/projects/trustedbsd/base/sys/ia64/conf/GENERIC#27 integrate .. //depot/projects/trustedbsd/base/sys/ia64/conf/GENERIC.hints#4 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia32/ia32_proto.h#9 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia32/ia32_syscall.h#9 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia32/ia32_sysent.c#10 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia32/syscalls.master#13 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/elf_machdep.c#12 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/exception.S#5 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#43 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/ptrace_machdep.c#2 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/sys_machdep.c#4 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/syscall.S#4 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/trap.c#25 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/unaligned.c#4 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/vm_machdep.c#30 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/_types.h#5 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/bus.h#12 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/pc/bios.h#2 delete .. //depot/projects/trustedbsd/base/sys/ia64/include/pc/msdos.h#2 delete .. //depot/projects/trustedbsd/base/sys/ia64/include/pc/vesa.h#3 delete .. //depot/projects/trustedbsd/base/sys/ia64/include/sysarch.h#2 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/ucontext.h#5 integrate .. //depot/projects/trustedbsd/base/sys/isa/psm.c#14 integrate .. //depot/projects/trustedbsd/base/sys/isa/syscons_isa.c#7 integrate .. //depot/projects/trustedbsd/base/sys/kern/init_sysent.c#36 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_condvar.c#23 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_context.c#4 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_event.c#21 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_fork.c#37 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_intr.c#26 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_ktrace.c#19 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_mac.c#50 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_poll.c#11 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_resource.c#18 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_sig.c#42 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_synch.c#34 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_time.c#17 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 11:19:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 01FB116A4D0; Tue, 11 Nov 2003 11:19:47 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D12AA16A4CE for ; Tue, 11 Nov 2003 11:19:46 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 572E243F93 for ; Tue, 11 Nov 2003 11:19:46 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABJJkXJ076030 for ; Tue, 11 Nov 2003 11:19:46 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABJJjR8076012 for perforce@freebsd.org; Tue, 11 Nov 2003 11:19:45 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 11 Nov 2003 11:19:45 -0800 (PST) Message-Id: <200311111919.hABJJjR8076012@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42015 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 19:19:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=42015 Change 42015 by sam@sam_ebb on 2003/11/11 11:19:11 replace fixed major number by auto selection Affected files ... .. //depot/projects/netperf/sys/dev/kttcp/kttcp.c#2 edit Differences ... ==== //depot/projects/netperf/sys/dev/kttcp/kttcp.c#2 (text+ko) ==== @@ -104,8 +104,6 @@ static int kttcp_soreceive(struct socket *, unsigned long long, unsigned long long *, struct thread *, int *); -#define CDEV_MAJOR 200 /* netbsd uses 43 which vn */ - static d_open_t kttcpopen; static d_ioctl_t kttcpioctl; @@ -113,7 +111,7 @@ .d_open = kttcpopen, .d_ioctl = kttcpioctl, .d_name = "kttcp", - .d_maj = CDEV_MAJOR, + .d_maj = MAJOR_AUTO, }; static int From owner-p4-projects@FreeBSD.ORG Tue Nov 11 11:27:57 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 967E016A4D0; Tue, 11 Nov 2003 11:27:57 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6FCC116A4CE for ; Tue, 11 Nov 2003 11:27:57 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D4B9C43FB1 for ; Tue, 11 Nov 2003 11:27:56 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABJRuXJ079534 for ; Tue, 11 Nov 2003 11:27:56 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABJRuCo079531 for perforce@freebsd.org; Tue, 11 Nov 2003 11:27:56 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 11 Nov 2003 11:27:56 -0800 (PST) Message-Id: <200311111927.hABJRuCo079531@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42016 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 19:27:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=42016 Change 42016 by sam@sam_ebb on 2003/11/11 11:27:54 typo Affected files ... .. //depot/projects/netperf/sys/net/ethernet.h#3 edit Differences ... ==== //depot/projects/netperf/sys/net/ethernet.h#3 (text+ko) ==== @@ -360,7 +360,7 @@ extern char *ether_sprintf(const u_int8_t *); #ifdef PFIL_HOOKS -extern pfil_head ether_pfil_hook; +extern struct pfil_head ether_pfil_hook; #endif #else /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Tue Nov 11 11:47:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5B3EF16A4D1; Tue, 11 Nov 2003 11:47:22 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 34F8416A4CF for ; Tue, 11 Nov 2003 11:47:22 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A81DC43FA3 for ; Tue, 11 Nov 2003 11:47:21 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABJlLXJ080650 for ; Tue, 11 Nov 2003 11:47:21 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABJlLM5080647 for perforce@freebsd.org; Tue, 11 Nov 2003 11:47:21 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 11 Nov 2003 11:47:21 -0800 (PST) Message-Id: <200311111947.hABJlLM5080647@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42018 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 19:47:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=42018 Change 42018 by sam@sam_ebb on 2003/11/11 11:47:01 fix compilation problems with PFIL_HOOKS changes Affected files ... .. //depot/projects/netperf/sys/netgraph/ng_ether.c#4 edit Differences ... ==== //depot/projects/netperf/sys/netgraph/ng_ether.c#4 (text+ko) ==== @@ -43,6 +43,10 @@ /* * ng_ether(4) netgraph node type */ +#include "opt_pfil_hooks.h" +#ifndef PFIL_HOOKS +#error "PFIL_HOOKS is required in your kernel configuration" +#endif #include #include @@ -204,7 +208,7 @@ * Handle a packet through an interface. We get to * look at it here before any upper layer protocols do. */ -static void +static int ng_ether_pfil(void *arg, struct mbuf **mp, struct ifnet *ifp, int dir) { const node_p node = IFP2NG(ifp); @@ -224,8 +228,8 @@ break; case PFIL_IN_DISCARD: /* inbound discard */ /* If "orphan" hook not connected, let packet continue */ - if (priv->lower != NULL && priv->lowerOrphan) { - ng_ether_input2(node, &m); + if (priv->lower != NULL && priv->lowerOrphan) + ng_ether_input2(node, mp); break; } return (error); @@ -686,7 +690,7 @@ break; } error = pfil_add_hook(ng_ether_pfil, 0, - PFIL_ALL | PFIL_IN_DISCARD, ðer_pfil_head); + PFIL_ALL | PFIL_IN_DISCARD, ðer_pfil_hook); if (error) break; ng_ether_attach_p = ng_ether_attach; @@ -714,7 +718,7 @@ /* Unregister function hooks */ (void) pfil_remove_hook(ng_ether_pfil, 0, - PFIL_ALL | PFIL_IN_DISCARD, ðer_pfil_head); + PFIL_ALL | PFIL_IN_DISCARD, ðer_pfil_hook); ng_ether_attach_p = NULL; ng_ether_detach_p = NULL; break; From owner-p4-projects@FreeBSD.ORG Tue Nov 11 11:48:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9277816A4D0; Tue, 11 Nov 2003 11:48:25 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C2D516A4CE for ; Tue, 11 Nov 2003 11:48:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E71B543F75 for ; Tue, 11 Nov 2003 11:48:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABJmNXJ080680 for ; Tue, 11 Nov 2003 11:48:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABJmNIh080677 for perforce@freebsd.org; Tue, 11 Nov 2003 11:48:23 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 11 Nov 2003 11:48:23 -0800 (PST) Message-Id: <200311111948.hABJmNIh080677@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42019 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 19:48:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=42019 Change 42019 by sam@sam_ebb on 2003/11/11 11:48:11 IFC Affected files ... .. //depot/projects/netperf/sys/boot/i386/boot2/boot2.c#4 integrate .. //depot/projects/netperf/sys/conf/files.sparc64#4 integrate .. //depot/projects/netperf/sys/conf/options.i386#6 integrate .. //depot/projects/netperf/sys/conf/options.pc98#4 integrate .. //depot/projects/netperf/sys/dev/ata/ata-all.c#10 integrate .. //depot/projects/netperf/sys/dev/ata/ata-all.h#5 integrate .. //depot/projects/netperf/sys/dev/ata/ata-disk.c#7 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cam.c#9 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cd.c#13 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-fd.c#4 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-tape.c#4 integrate .. //depot/projects/netperf/sys/dev/fb/creator.c#2 integrate .. //depot/projects/netperf/sys/dev/sound/pci/cmi.c#4 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/dsp.c#4 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/mixer.c#3 integrate .. //depot/projects/netperf/sys/dev/uart/uart_cpu_sparc64.c#5 integrate .. //depot/projects/netperf/sys/dev/uart/uart_kbd_sun.c#1 branch .. //depot/projects/netperf/sys/dev/uart/uart_kbd_sun.h#1 branch .. //depot/projects/netperf/sys/dev/uart/uart_kbd_sun_tables.h#1 branch .. //depot/projects/netperf/sys/i386/conf/NOTES#10 integrate .. //depot/projects/netperf/sys/i386/i386/mp_machdep.c#12 integrate .. //depot/projects/netperf/sys/i386/i386/mptable.c#4 integrate .. //depot/projects/netperf/sys/ia64/ia64/machdep.c#17 integrate .. //depot/projects/netperf/sys/ia64/ia64/syscall.S#7 integrate .. //depot/projects/netperf/sys/kern/kern_ktrace.c#4 integrate .. //depot/projects/netperf/sys/kern/kern_mac.c#8 integrate .. //depot/projects/netperf/sys/kern/vfs_bio.c#14 integrate .. //depot/projects/netperf/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_UI.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_async.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_bpf.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_cisco.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_device.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_echo.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_eiface.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_etf.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_fec.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_frame_relay.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_hole.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_iface.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_ip_input.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_ksocket.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_l2tp.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_lmi.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_message.h#3 integrate .. //depot/projects/netperf/sys/netgraph/ng_mppc.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_parse.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_ppp.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_pppoe.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_pptpgre.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_rfc1490.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_sample.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_socket.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_socketvar.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_source.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_split.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_tee.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_tty.h#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_vjc.h#2 integrate .. //depot/projects/netperf/sys/netinet/tcp_syncache.c#11 edit .. //depot/projects/netperf/sys/netkey/key.c#7 integrate .. //depot/projects/netperf/sys/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/netperf/sys/sparc64/conf/GENERIC#4 integrate .. //depot/projects/netperf/sys/sparc64/creator/creator_upa.c#2 integrate .. //depot/projects/netperf/sys/sparc64/include/cache.h#2 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/cache.c#3 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/cheetah.c#3 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/machdep.c#7 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/spitfire.c#3 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/support.S#3 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/trap.c#4 integrate Differences ... ==== //depot/projects/netperf/sys/boot/i386/boot2/boot2.c#4 (text+ko) ==== @@ -14,12 +14,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.65 2003/11/10 19:06:09 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.66 2003/11/11 06:27:34 bde Exp $"); #include #include #include #include +#include + #include #include ==== //depot/projects/netperf/sys/conf/files.sparc64#4 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.46 2003/09/06 23:23:25 marcel Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.47 2003/11/11 07:33:24 jake Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -33,6 +33,7 @@ dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc dev/uart/uart_cpu_sparc64.c optional uart +dev/uart/uart_kbd_sun.c optional uart sc geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_sunlabel.c standard ==== //depot/projects/netperf/sys/conf/options.i386#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.201 2003/11/07 15:14:53 bde Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.202 2003/11/11 17:14:25 jhb Exp $ # Options specific to the i386 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -7,6 +7,7 @@ COMPAT_OLDISA I586_PMC_GUPROF opt_i586_guprof.h MAXMEM +MPTABLE_FORCE_HTT NO_MIXED_MODE PERFMON DISABLE_PSE opt_pmap.h ==== //depot/projects/netperf/sys/conf/options.pc98#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.pc98,v 1.169 2003/11/04 12:19:54 nyan Exp $ +# $FreeBSD: src/sys/conf/options.pc98,v 1.170 2003/11/11 17:14:25 jhb Exp $ # Options specific to the pc98 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -7,6 +7,7 @@ COMPAT_OLDISA I586_PMC_GUPROF opt_i586_guprof.h MAXMEM +MPTABLE_FORCE_HTT NO_MIXED_MODE PERFMON DISABLE_PSE opt_pmap.h ==== //depot/projects/netperf/sys/dev/ata/ata-all.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.196 2003/11/03 09:25:02 des Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.197 2003/11/11 14:55:35 sos Exp $"); #include "opt_ata.h" #include @@ -73,6 +73,16 @@ static void bpack(int8_t *, int8_t *, int); static void ata_init(void); +/* global vars */ +struct intr_config_hook *ata_delayed_attach = NULL; +devclass_t ata_devclass; +int ata_wc = 1; + +/* local vars */ +static MALLOC_DEFINE(M_ATA, "ATA generic", "ATA driver generic layer"); +static int ata_dma = 1; +static int atapi_dma = 0; + /* sysctl vars */ SYSCTL_NODE(_hw, OID_AUTO, ata, CTLFLAG_RD, 0, "ATA driver parameters"); TUNABLE_INT("hw.ata.ata_dma", &ata_dma); @@ -84,17 +94,7 @@ TUNABLE_INT("hw.ata.atapi_dma", &atapi_dma); SYSCTL_INT(_hw_ata, OID_AUTO, atapi_dma, CTLFLAG_RDTUN, &atapi_dma, 0, "ATAPI device DMA mode control"); -int ata_dma = 1; -int ata_wc = 1; -int atapi_dma = 0; -/* global vars */ -struct intr_config_hook *ata_delayed_attach = NULL; -devclass_t ata_devclass; - -/* local vars */ -static MALLOC_DEFINE(M_ATA, "ATA generic", "ATA driver generic layer"); - /* * newbus device interface related functions */ @@ -675,6 +675,23 @@ } } } + + /* setup basic transfer mode by setting PIO mode and DMA if supported */ + if (ch->device[MASTER].attach) { + ch->device[MASTER].setmode(&ch->device[MASTER], ATA_PIO_MAX); + if ((((ch->devices & ATA_ATAPI_MASTER) && atapi_dma && + (ch->device[MASTER].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR)|| + ((ch->devices & ATA_ATA_MASTER) && ata_dma)) && ch->dma) + ch->device[MASTER].setmode(&ch->device[MASTER], ATA_DMA_MAX); + + } + if (ch->device[SLAVE].attach) { + ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_PIO_MAX); + if ((((ch->devices & ATA_ATAPI_SLAVE) && atapi_dma && + (ch->device[SLAVE].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR) || + ((ch->devices & ATA_ATA_SLAVE) && ata_dma)) && ch->dma) + ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_DMA_MAX); + } } static void ==== //depot/projects/netperf/sys/dev/ata/ata-all.h#5 (text+ko) ==== @@ -25,7 +25,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/sys/dev/ata/ata-all.h,v 1.66 2003/10/21 19:20:36 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.67 2003/11/11 14:55:35 sos Exp $ */ /* ATA register defines */ @@ -345,7 +345,7 @@ /* externs */ extern devclass_t ata_devclass; extern struct intr_config_hook *ata_delayed_attach; -extern int ata_dma, ata_wc, atapi_dma; +extern int ata_wc; /* public prototypes */ /* ata-all.c: */ ==== //depot/projects/netperf/sys/dev/ata/ata-disk.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.162 2003/11/03 09:25:02 des Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.164 2003/11/11 14:55:35 sos Exp $"); #include "opt_ata.h" #include @@ -137,12 +137,6 @@ adp->max_iosize = secsperint * DEV_BSIZE; } - /* use DMA if allowed and if drive/controller supports it */ - if (ata_dma && atadev->channel->dma) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = ad_detach; atadev->start = ad_start; @@ -331,28 +325,34 @@ bzero(&request, sizeof(struct ata_request)); request.device = adp->device; - request.data = virtual; - request.bytecount = length; - request.transfersize = min(length, adp->max_iosize); - request.flags = ATA_R_WRITE; - if (adp->max_iosize > DEV_BSIZE) - request.u.ata.command = ATA_WRITE_MUL; - else - request.u.ata.command = ATA_WRITE; - request.u.ata.lba = offset / DEV_BSIZE; - request.u.ata.count = request.bytecount / DEV_BSIZE; + if (length) { + request.data = virtual; + request.bytecount = length; + request.transfersize = min(length, adp->max_iosize); + request.flags = ATA_R_WRITE; + if (adp->max_iosize > DEV_BSIZE) + request.u.ata.command = ATA_WRITE_MUL; + else + request.u.ata.command = ATA_WRITE; + request.u.ata.lba = offset / DEV_BSIZE; + request.u.ata.count = request.bytecount / DEV_BSIZE; + } + else { + request.u.ata.command = ATA_FLUSHCACHE; + request.flags = ATA_R_CONTROL; + } - if (adp->device->channel->hw.transaction(&request) == ATA_OP_FINISHED) + if (request.device->channel->hw.transaction(&request) == ATA_OP_CONTINUES) { + while (request.device->channel->running == &request && + !(request.status & ATA_S_ERROR)) { + DELAY(20); + request.device->channel->running = &request; + request.device->channel->hw.interrupt(request.device->channel); + } + } + if (request.status & ATA_S_ERROR) return EIO; - while (request.bytecount > request.donecount) { - DELAY(20); - adp->device->channel->running = &request; - adp->device->channel->hw.interrupt(adp->device->channel); - adp->device->channel->running = NULL; - if (request.status & ATA_S_ERROR) - return EIO; - } return 0; } ==== //depot/projects/netperf/sys/dev/ata/atapi-cam.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.27 2003/11/09 20:46:08 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.28 2003/11/11 14:55:35 sos Exp $"); #include #include @@ -227,11 +227,6 @@ 2 * device_get_unit(atp->channel->dev) + (atp->unit == ATA_MASTER) ? 0 : 1); atp->softc = (void *)scp; - if (atapi_dma && atp->channel->dma && - (atp->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atp->setmode(atp, ATA_DMA_MAX); - else - atp->setmode(atp, ATA_PIO_MAX); } } ==== //depot/projects/netperf/sys/dev/ata/atapi-cd.c#13 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.153 2003/11/09 10:11:15 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.154 2003/11/11 14:55:35 sos Exp $"); #include "opt_ata.h" #include @@ -171,13 +171,6 @@ else g_post_event(acd_geom_create, cdp, M_WAITOK, NULL); - /* use DMA if allowed and if drive/controller supports it */ - if (atapi_dma && atadev->channel->dma && - (atadev->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = acd_detach; atadev->start = acd_start; ==== //depot/projects/netperf/sys/dev/ata/atapi-fd.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.88 2003/08/25 09:01:49 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.89 2003/11/11 14:55:35 sos Exp $"); #include #include @@ -87,13 +87,6 @@ return; } - /* use DMA if allowed and if drive/controller supports it */ - if (atapi_dma && atadev->channel->dma && - (atadev->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = afd_detach; atadev->start = afd_start; ==== //depot/projects/netperf/sys/dev/ata/atapi-tape.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.83 2003/08/25 09:01:49 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.84 2003/11/11 14:55:36 sos Exp $"); #include "opt_ata.h" #include @@ -148,13 +148,6 @@ dev->si_iosize_max = DFLTPHYS; stp->dev2 = dev; - /* use DMA if allowed and if drive/controller supports it */ - if (atapi_dma && atadev->channel->dma && - (atadev->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = ast_detach; atadev->start = ast_start; ==== //depot/projects/netperf/sys/dev/fb/creator.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/fb/creator.c,v 1.1 2003/08/24 01:15:39 jake Exp $ + * $FreeBSD: src/sys/dev/fb/creator.c,v 1.2 2003/11/11 07:34:08 jake Exp $ */ #include @@ -170,22 +170,21 @@ char buf[32]; int i; - chosen = OF_finddevice("/chosen"); - - OF_getprop(chosen, "stdout", &stdout, sizeof(stdout)); + sc = &creator_softc; for (child = OF_child(OF_peer(0)); child != 0; child = OF_peer(child)) { OF_getprop(child, "name", buf, sizeof(buf)); - if (child == OF_instance_to_package(stdout) && - (strcmp(buf, "SUNW,ffb") == 0 || - strcmp(buf, "SUNW,afb") == 0)) + if (strcmp(buf, "SUNW,ffb") == 0 || + strcmp(buf, "SUNW,afb") == 0) break; } if (child == 0) return (0); - sc = &creator_softc; - sc->sc_console = 1; + chosen = OF_finddevice("/chosen"); + OF_getprop(chosen, "stdout", &stdout, sizeof(stdout)); + if (child == stdout) + sc->sc_console = 1; OF_getprop(child, "reg", reg, sizeof(reg)); for (i = 0; i < FFB_NREG; i++) { @@ -439,7 +438,7 @@ struct creator_softc *sc; sc = (struct creator_softc *)adp; - if (sc->sc_colp != NULL ** sc->sc_rowp != NULL) { + if (sc->sc_colp != NULL && sc->sc_rowp != NULL) { *sc->sc_colp = col; *sc->sc_rowp = row; } ==== //depot/projects/netperf/sys/dev/sound/pci/cmi.c#4 (text+ko) ==== @@ -51,7 +51,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/cmi.c,v 1.23 2003/09/02 17:30:37 jhb Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/cmi.c,v 1.24 2003/11/11 05:38:27 scottl Exp $"); /* Supported chip ID's */ #define CMI8338A_PCI_ID 0x010013f6 @@ -516,41 +516,41 @@ { struct sc_info *sc = data; u_int32_t intrstat; + u_int32_t toclear; snd_mtxlock(sc->lock); intrstat = cmi_rd(sc, CMPCI_REG_INTR_STATUS, 4); - if ((intrstat & CMPCI_REG_ANY_INTR) == 0) { - goto out; - } + if ((intrstat & CMPCI_REG_ANY_INTR) != 0) { + + toclear = 0; + if (intrstat & CMPCI_REG_CH0_INTR) { + toclear |= CMPCI_REG_CH0_INTR_ENABLE; + //cmi_clr4(sc, CMPCI_REG_INTR_CTRL, CMPCI_REG_CH0_INTR_ENABLE); + } - /* Disable interrupts */ - if (intrstat & CMPCI_REG_CH0_INTR) { - cmi_clr4(sc, CMPCI_REG_INTR_CTRL, CMPCI_REG_CH0_INTR_ENABLE); - } + if (intrstat & CMPCI_REG_CH1_INTR) { + toclear |= CMPCI_REG_CH1_INTR_ENABLE; + //cmi_clr4(sc, CMPCI_REG_INTR_CTRL, CMPCI_REG_CH1_INTR_ENABLE); + } - if (intrstat & CMPCI_REG_CH1_INTR) { - cmi_clr4(sc, CMPCI_REG_INTR_CTRL, CMPCI_REG_CH1_INTR_ENABLE); - } + if (toclear) { + cmi_clr4(sc, CMPCI_REG_INTR_CTRL, toclear); + snd_mtxunlock(sc->lock); - /* Signal interrupts to channel */ - if (intrstat & CMPCI_REG_CH0_INTR) { - chn_intr(sc->pch.channel); - } + /* Signal interrupts to channel */ + if (intrstat & CMPCI_REG_CH0_INTR) { + chn_intr(sc->pch.channel); + } - if (intrstat & CMPCI_REG_CH1_INTR) { - chn_intr(sc->rch.channel); - } + if (intrstat & CMPCI_REG_CH1_INTR) { + chn_intr(sc->rch.channel); + } - /* Enable interrupts */ - if (intrstat & CMPCI_REG_CH0_INTR) { - cmi_set4(sc, CMPCI_REG_INTR_CTRL, CMPCI_REG_CH0_INTR_ENABLE); - } + snd_mtxlock(sc->lock); + cmi_set4(sc, CMPCI_REG_INTR_CTRL, toclear); - if (intrstat & CMPCI_REG_CH1_INTR) { - cmi_set4(sc, CMPCI_REG_INTR_CTRL, CMPCI_REG_CH1_INTR_ENABLE); + } } - -out: snd_mtxunlock(sc->lock); return; } ==== //depot/projects/netperf/sys/dev/sound/pcm/dsp.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ #include -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/dsp.c,v 1.66 2003/09/07 16:28:03 cg Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/dsp.c,v 1.67 2003/11/11 05:38:28 scottl Exp $"); #define OLDPCM_IOCTL @@ -172,6 +172,8 @@ intrmask_t s; u_int32_t fmt; int devtype; + int rdref; + int error; s = spltty(); d = dsp_get_info(i_dev); @@ -207,6 +209,8 @@ panic("impossible devtype %d", devtype); } + rdref = 0; + /* lock snddev so nobody else can monkey with it */ pcm_lock(d); @@ -249,67 +253,66 @@ return EBUSY; } /* got a channel, already locked for us */ - } - - if (flags & FWRITE) { - /* open for write */ - wrch = pcm_chnalloc(d, PCMDIR_PLAY, td->td_proc->p_pid, -1); - if (!wrch) { - /* no channel available */ - if (flags & FREAD) { - /* just opened a read channel, release it */ - pcm_chnrelease(rdch); - } - /* exit */ - pcm_unlock(d); - splx(s); - return EBUSY; - } - /* got a channel, already locked for us */ - } - - i_dev->si_drv1 = rdch; - i_dev->si_drv2 = wrch; - - /* Bump refcounts, reset and unlock any channels that we just opened, - * and then release device lock. - */ - if (flags & FREAD) { if (chn_reset(rdch, fmt)) { pcm_chnrelease(rdch); i_dev->si_drv1 = NULL; - if (wrch && (flags & FWRITE)) { - pcm_chnrelease(wrch); - i_dev->si_drv2 = NULL; - } pcm_unlock(d); splx(s); return ENODEV; } + if (flags & O_NONBLOCK) rdch->flags |= CHN_F_NBIO; pcm_chnref(rdch, 1); CHN_UNLOCK(rdch); + rdref = 1; + /* + * Record channel created, ref'ed and unlocked + */ } + if (flags & FWRITE) { - if (chn_reset(wrch, fmt)) { - pcm_chnrelease(wrch); - i_dev->si_drv2 = NULL; - if (flags & FREAD) { - CHN_LOCK(rdch); - pcm_chnref(rdch, -1); - pcm_chnrelease(rdch); - i_dev->si_drv1 = NULL; - } - pcm_unlock(d); - splx(s); - return ENODEV; + /* open for write */ + wrch = pcm_chnalloc(d, PCMDIR_PLAY, td->td_proc->p_pid, -1); + error = 0; + + if (!wrch) + error = EBUSY; /* XXX Right return code? */ + else if (chn_reset(wrch, fmt)) + error = ENODEV; + + if (error != 0) { + if (wrch) { + /* + * Free play channel + */ + pcm_chnrelease(wrch); + i_dev->si_drv2 = NULL; + } + if (rdref) { + /* + * Lock, deref and release previously created record channel + */ + CHN_LOCK(rdch); + pcm_chnref(rdch, -1); + pcm_chnrelease(rdch); + i_dev->si_drv1 = NULL; } - if (flags & O_NONBLOCK) - wrch->flags |= CHN_F_NBIO; - pcm_chnref(wrch, 1); - CHN_UNLOCK(wrch); + + pcm_unlock(d); + splx(s); + return error; + } + + if (flags & O_NONBLOCK) + wrch->flags |= CHN_F_NBIO; + pcm_chnref(wrch, 1); + CHN_UNLOCK(wrch); } + + i_dev->si_drv1 = rdch; + i_dev->si_drv2 = wrch; + pcm_unlock(d); splx(s); return 0; @@ -321,7 +324,7 @@ struct pcm_channel *rdch, *wrch; struct snddev_info *d; intrmask_t s; - int exit; + int refs; s = spltty(); d = dsp_get_info(i_dev); @@ -329,53 +332,57 @@ rdch = i_dev->si_drv1; wrch = i_dev->si_drv2; - exit = 0; + refs = 0; - /* decrement refcount for each channel, exit if nonzero */ if (rdch) { CHN_LOCK(rdch); - if (pcm_chnref(rdch, -1) > 0) { - CHN_UNLOCK(rdch); - exit = 1; - } + refs += pcm_chnref(rdch, -1); + CHN_UNLOCK(rdch); } if (wrch) { CHN_LOCK(wrch); - if (pcm_chnref(wrch, -1) > 0) { - CHN_UNLOCK(wrch); - exit = 1; - } - } - if (exit) { - pcm_unlock(d); - splx(s); - return 0; + refs += pcm_chnref(wrch, -1); + CHN_UNLOCK(wrch); } - /* both refcounts are zero, abort and release */ + /* + * If there are no more references, release the channels. + */ + if ((rdch || wrch) && refs == 0) { - if (pcm_getfakechan(d)) - pcm_getfakechan(d)->flags = 0; + if (pcm_getfakechan(d)) + pcm_getfakechan(d)->flags = 0; - i_dev->si_drv1 = NULL; - i_dev->si_drv2 = NULL; + i_dev->si_drv1 = NULL; + i_dev->si_drv2 = NULL; - dsp_set_flags(i_dev, dsp_get_flags(i_dev) & ~SD_F_TRANSIENT); - pcm_unlock(d); + dsp_set_flags(i_dev, dsp_get_flags(i_dev) & ~SD_F_TRANSIENT); - if (rdch) { - chn_abort(rdch); /* won't sleep */ - rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MAPPED | CHN_F_DEAD); - chn_reset(rdch, 0); - pcm_chnrelease(rdch); - } - if (wrch) { - chn_flush(wrch); /* may sleep */ - wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MAPPED | CHN_F_DEAD); - chn_reset(wrch, 0); - pcm_chnrelease(wrch); - } + pcm_unlock(d); + if (rdch) { + CHN_LOCK(rdch); + chn_abort(rdch); /* won't sleep */ + rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MAPPED | CHN_F_DEAD); + chn_reset(rdch, 0); + pcm_chnrelease(rdch); + } + if (wrch) { + CHN_LOCK(wrch); + /* + * XXX: Maybe the right behaviour is to abort on non_block. + * It seems that mplayer flushes the audio queue by quickly + * closing and re-opening. In FBSD, there's a long pause + * while the audio queue flushes that I presume isn't there in + * linux. + */ + chn_flush(wrch); /* may sleep */ + wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MAPPED | CHN_F_DEAD); + chn_reset(wrch, 0); + pcm_chnrelease(wrch); + } + } else + pcm_unlock(d); splx(s); return 0; } ==== //depot/projects/netperf/sys/dev/sound/pcm/mixer.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.32 2003/09/07 16:28:03 cg Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.33 2003/11/11 05:38:28 scottl Exp $"); MALLOC_DEFINE(M_MIXER, "mixer", "mixer"); @@ -319,7 +319,6 @@ pdev = mixer_get_devt(dev); m = pdev->si_drv1; - snd_mtxlock(m->lock); m->hwvol_mixer = SOUND_MIXER_VOLUME; m->hwvol_step = 5; @@ -330,7 +329,6 @@ OID_AUTO, "hwvol_mixer", CTLTYPE_STRING | CTLFLAG_RW, m, 0, sysctl_hw_snd_hwvol_mixer, "A", ""); #endif - snd_mtxunlock(m->lock); return 0; } ==== //depot/projects/netperf/sys/dev/uart/uart_cpu_sparc64.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.6 2003/09/28 07:06:34 jake Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.7 2003/11/11 06:52:04 jake Exp $"); #include #include @@ -39,6 +39,8 @@ #include #include +static phandle_t uart_cpu_getdev_keyboard(phandle_t root); + static struct bus_space_tag bst_store[3]; static int @@ -65,6 +67,25 @@ return ((b1->bsh == b2->bsh) ? 1 : 0); } +static phandle_t +uart_cpu_getdev_keyboard(phandle_t root) +{ + phandle_t child; + phandle_t node; + char buf[32]; + + for (child = OF_child(root); child != 0 && child != -1; + child = OF_peer(child)) { + if (OF_getprop(child, "device_type", buf, sizeof(buf)) != -1 && + !strcmp(buf, "serial") && + OF_getprop(child, "keyboard", buf, sizeof(buf)) != -1) + return (child); + if ((node = uart_cpu_getdev_keyboard(child)) != -1) + return (node); + } + return (-1); +} + int uart_cpu_getdev(int devtype, struct uart_devinfo *di) { @@ -86,20 +107,17 @@ * I would assume that the user expects that FreeBSD uses the new * console setting. There's choice choice, really. */ - if ((options = OF_finddevice("/options")) == -1) - return (ENXIO); - if (OF_getprop(options, "input-device", dev, sizeof(dev)) == -1) - return (ENXIO); - if ((input = OF_finddevice(dev)) == -1) - return (ENXIO); - if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1) - return (ENXIO); - if (strcmp(buf, "serial")) - return (ENODEV); - if (devtype == UART_DEV_KEYBOARD) { - if (OF_getprop(input, "keyboard", buf, sizeof(buf)) == -1) + if ((options = OF_finddevice("/options")) == -1) + return (ENXIO); + if (devtype == UART_DEV_CONSOLE) { + if (OF_getprop(options, "input-device", dev, sizeof(dev)) == -1) + return (ENXIO); + if ((input = OF_finddevice(dev)) == -1) + return (ENXIO); + if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1) return (ENXIO); - } else if (devtype == UART_DEV_CONSOLE) { + if (strcmp(buf, "serial")) + return (ENODEV); if (OF_getprop(options, "output-device", buf, sizeof(buf)) == -1) return (ENXIO); @@ -107,6 +125,9 @@ return (ENXIO); if (input != output) return (ENXIO); + } else if (devtype == UART_DEV_KEYBOARD) { + if ((input = uart_cpu_getdev_keyboard(OF_peer(0))) == -1) + return (ENXIO); } else return (ENODEV); ==== //depot/projects/netperf/sys/i386/conf/NOTES#10 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1102 2003/11/10 15:54:32 jhb Exp $ +# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1106 2003/11/11 17:14:25 jhb Exp $ # # @@ -22,38 +22,41 @@ ##################################################################### # SMP OPTIONS: # -# The apic device enables the use of the I/O APIC for Symmetric I/O. +# The apic device enables the use of the I/O APIC for interrupt delivery. +# The apic device can be used in both UP and SMP kernels, but is required +# for SMP kernels. Thus, the apic device is not strictly an SMP option, +# but it is a prerequisite for SMP. # # Notes: # -# Be sure to disable 'cpu I386_CPU' for SMP kernels. +# Be sure to disable 'cpu I386_CPU' for SMP kernels. # -# Check the 'Rogue SMP hardware' section to see if additional options -# are required by your hardware. +# By default, mixed mode is used to route IRQ0 from the AT timer via +# the 8259A master PIC through the ExtINT pin on the first I/O APIC. +# This can be disabled via the NO_MIXED_MODE option. In that case, +# IRQ0 will be routed via an intpin on the first I/O APIC. Not all +# motherboards hook IRQ0 up to the first I/O APIC even though their +# MP table or MADT may claim to do so. That is why mixed mode is +# enabled by default. # -# By default, mixed mode is used to route IRQ0 from the AT timer via -# the 8259A master PIC through the ExtINT pin on the first I/O APIC. -# This can be disabled via the NO_MIXED_MODE option. In that case, -# IRQ0 will be routed via an intpin on the first I/O APIC. Not all -# motherboards hook IRQ0 up to the first I/O APIC even though their -# MP table or MADT may claim to do so. That is why mixed mode is -# enabled by default. +# HTT CPUs should only be used if they are enabled in the BIOS. For +# the ACPI case, ACPI only correctly tells us about any HTT CPUs if +# they are enabled. However, most HTT systems do not list HTT CPUs +# in the MP Table if they are enabled, thus we guess at the HTT CPUs +# for the MP Table case. However, we shouldn't try to guess and use +# these CPUs if HTTT is disabled. Thus, HTT guessing is only enabled +# for the MP Table if the user explicitly asks for it via the +# MPTABLE_FORCE_HTT option. Do NOT use this option if you have HTT +# disabled in your BIOS. # # Mandatory: device apic # I/O apic + +# Optional: +options MPTABLE_FORCE_HTT # Enable HTT CPUs with the MP Table options NO_MIXED_MODE # Disable use of mixed mode -# -# Rogue SMP hardware: -# - -# Bridged PCI cards: -# -# The MP tables of most of the current generation MP motherboards -# do NOT properly support bridged PCI cards. To use one of these -# cards you should refer to ??? - ##################################################################### # CPU OPTIONS ==== //depot/projects/netperf/sys/i386/i386/mp_machdep.c#12 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.222 2003/11/10 21:24:34 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.223 2003/11/11 17:16:15 jhb Exp $"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 12:01:56 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 20F0516A4D1; Tue, 11 Nov 2003 12:01:56 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E85B616A4CF for ; Tue, 11 Nov 2003 12:01:55 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F41A743FE5 for ; Tue, 11 Nov 2003 12:01:53 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABK1rXJ081294 for ; Tue, 11 Nov 2003 12:01:53 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABK1o3b081291 for perforce@freebsd.org; Tue, 11 Nov 2003 12:01:50 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 12:01:50 -0800 (PST) Message-Id: <200311112001.hABK1o3b081291@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42020 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 20:01:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=42020 Change 42020 by peter@peter_daintree on 2003/11/11 12:00:50 IFC @42017 Affected files ... .. //depot/projects/hammer/Makefile.inc1#31 integrate .. //depot/projects/hammer/bin/rm/rm.c#5 integrate .. //depot/projects/hammer/contrib/bsnmp/FREEBSD-upgrade#1 branch .. //depot/projects/hammer/contrib/bsnmp/NEWS#1 branch .. //depot/projects/hammer/contrib/bsnmp/README#1 branch .. //depot/projects/hammer/contrib/bsnmp/TODO#1 branch .. //depot/projects/hammer/contrib/bsnmp/VERSION#1 branch .. //depot/projects/hammer/contrib/bsnmp/gensnmptree/gensnmptree.1#1 branch .. //depot/projects/hammer/contrib/bsnmp/gensnmptree/gensnmptree.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/asn1.3#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/asn1.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/asn1.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/bsnmpagent.3#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/bsnmpclient.3#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/bsnmplib.3#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/snmp.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/snmp.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/snmpagent.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/snmpagent.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/snmpclient.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/snmpclient.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/lib/snmppriv.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_ifmib.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_ifstack.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_ip.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_nettomedia.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_rcvaddr.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_route.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_tcp.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_tree.def#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/mibII_udp.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/snmp_mibII.3#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmp_mibII/snmp_mibII.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/.gdbinit#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/BEGEMOT-MIB.txt#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/FOKUS-MIB.txt#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/action.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/bsnmpd.1#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/config.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/export.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/main.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/snmpd.config#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/snmpd.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/snmpd.sh#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/snmpmod.3#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/snmpmod.h#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/trap.c#1 branch .. //depot/projects/hammer/contrib/bsnmp/snmpd/tree.def#1 branch .. //depot/projects/hammer/contrib/gcc/config/freebsd-spec.h#8 integrate .. //depot/projects/hammer/etc/mac.conf#4 integrate .. //depot/projects/hammer/etc/mtree/BSD.include.dist#12 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#14 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes2#9 integrate .. //depot/projects/hammer/gnu/usr.bin/man/manpath/manpath.config#5 integrate .. //depot/projects/hammer/lib/Makefile#27 integrate .. //depot/projects/hammer/lib/libbsnmp/Makefile#1 branch .. //depot/projects/hammer/lib/libbsnmp/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libbsnmp/libbsnmp/Makefile#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/Makefile#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_mibII/Makefile#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_mibII/genfiles#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_mibII/mibII_oid.h#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_mibII/mibII_tree.c#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_mibII/mibII_tree.h#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/Makefile#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/genfiles#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/netgraph_oid.h#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.c#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.def#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.h#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#1 branch .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.h#1 branch .. //depot/projects/hammer/lib/libc/gen/daemon.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/daemon.c#2 integrate .. //depot/projects/hammer/lib/libc/locale/utf8.c#4 integrate .. //depot/projects/hammer/lib/libc/stdlib/radixsort.c#2 integrate .. //depot/projects/hammer/lib/libc/sys/jail.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/kqueue.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/ktrace.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/munmap.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/utrace.2#2 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_kern.c#25 integrate .. //depot/projects/hammer/lib/libsdp/util.c#2 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#35 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#44 integrate .. //depot/projects/hammer/rescue/rescue/Makefile#9 integrate .. //depot/projects/hammer/sbin/init/init.8#6 integrate .. //depot/projects/hammer/sbin/route/route.8#3 integrate .. //depot/projects/hammer/share/man/man3/tree.3#3 integrate .. //depot/projects/hammer/share/man/man4/Makefile#25 integrate .. //depot/projects/hammer/share/man/man4/aac.4#4 integrate .. //depot/projects/hammer/share/man/man4/aha.4#4 integrate .. //depot/projects/hammer/share/man/man4/ahb.4#3 integrate .. //depot/projects/hammer/share/man/man4/ahc.4#4 integrate .. //depot/projects/hammer/share/man/man4/an.4#5 integrate .. //depot/projects/hammer/share/man/man4/dc.4#5 integrate .. //depot/projects/hammer/share/man/man4/de.4#2 integrate .. //depot/projects/hammer/share/man/man4/ips.4#1 branch .. //depot/projects/hammer/share/man/man4/man4.i386/aic.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ex.4#2 integrate .. //depot/projects/hammer/share/man/man4/ncr.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_bluetooth.4#6 integrate .. //depot/projects/hammer/share/man/man4/ng_bt3c.4#7 integrate .. //depot/projects/hammer/share/man/man4/ng_btsocket.4#6 integrate .. //depot/projects/hammer/share/man/man4/ng_h4.4#6 integrate .. //depot/projects/hammer/share/man/man4/ng_hci.4#6 integrate .. //depot/projects/hammer/share/man/man4/ng_l2cap.4#7 integrate .. //depot/projects/hammer/share/man/man4/ng_ubt.4#6 integrate .. //depot/projects/hammer/share/man/man4/sis.4#3 integrate .. //depot/projects/hammer/share/man/man4/sym.4#3 integrate .. //depot/projects/hammer/share/man/man4/uaudio.4#1 branch .. //depot/projects/hammer/share/man/man4/xe.4#2 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#17 integrate .. //depot/projects/hammer/share/man/man7/ports.7#6 integrate .. //depot/projects/hammer/share/man/man9/Makefile#21 integrate .. //depot/projects/hammer/share/man/man9/alq.9#1 branch .. //depot/projects/hammer/share/man/man9/style.9#11 integrate .. //depot/projects/hammer/share/mk/bsd.libnames.mk#18 integrate .. //depot/projects/hammer/sys/alpha/alpha/machdep.c#18 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#62 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/boot2.c#8 integrate .. //depot/projects/hammer/sys/boot/ia64/libski/pal_stub.S#2 integrate .. //depot/projects/hammer/sys/boot/ia64/skiload/Makefile#4 integrate .. //depot/projects/hammer/sys/boot/sparc64/loader/metadata.c#8 integrate .. //depot/projects/hammer/sys/cam/cam_xpt.c#7 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_target.c#7 integrate .. //depot/projects/hammer/sys/coda/coda_psdev.c#6 integrate .. //depot/projects/hammer/sys/compat/linux/linux_socket.c#8 integrate .. //depot/projects/hammer/sys/conf/files#34 integrate .. //depot/projects/hammer/sys/conf/files.sparc64#12 integrate .. //depot/projects/hammer/sys/conf/options.i386#17 integrate .. //depot/projects/hammer/sys/conf/options.pc98#15 integrate .. //depot/projects/hammer/sys/crypto/rijndael/rijndael-alg-fst.c#4 integrate .. //depot/projects/hammer/sys/crypto/rijndael/rijndael-alg-fst.h#3 integrate .. //depot/projects/hammer/sys/crypto/rijndael/rijndael-api-fst.c#6 integrate .. //depot/projects/hammer/sys/crypto/rijndael/rijndael-api-fst.h#3 integrate .. //depot/projects/hammer/sys/crypto/rijndael/rijndael.c#1 branch .. //depot/projects/hammer/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/hammer/sys/dev/aac/aac.c#17 integrate .. //depot/projects/hammer/sys/dev/acpica/Osd/OsdInterrupt.c#3 integrate .. //depot/projects/hammer/sys/dev/acpica/acpivar.h#13 integrate .. //depot/projects/hammer/sys/dev/aha/aha.c#9 integrate .. //depot/projects/hammer/sys/dev/aha/aha_isa.c#6 integrate .. //depot/projects/hammer/sys/dev/aha/aha_mca.c#6 integrate .. //depot/projects/hammer/sys/dev/aha/ahareg.h#2 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.c#17 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#9 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.c#12 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cam.c#12 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cd.c#12 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-fd.c#6 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-tape.c#7 integrate .. //depot/projects/hammer/sys/dev/bge/if_bge.c#22 integrate .. //depot/projects/hammer/sys/dev/bge/if_bgereg.h#14 integrate .. //depot/projects/hammer/sys/dev/bktr/bktr_core.c#7 integrate .. //depot/projects/hammer/sys/dev/fb/creator.c#2 integrate .. //depot/projects/hammer/sys/dev/firewire/firewire.c#20 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.c#23 integrate .. //depot/projects/hammer/sys/dev/kbd/kbd.c#5 integrate .. //depot/projects/hammer/sys/dev/nmdm/nmdm.c#5 integrate .. //depot/projects/hammer/sys/dev/random/randomdev.c#8 integrate .. //depot/projects/hammer/sys/dev/sab/sab.c#8 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn.c#8 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn_isa.c#4 integrate .. //depot/projects/hammer/sys/dev/snp/snp.c#5 integrate .. //depot/projects/hammer/sys/dev/sound/midi/midibuf.c#3 integrate .. //depot/projects/hammer/sys/dev/sound/pci/cmi.c#6 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/channel.c#5 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/dsp.c#8 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/mixer.c#4 integrate .. //depot/projects/hammer/sys/dev/uart/uart_cpu_sparc64.c#5 integrate .. //depot/projects/hammer/sys/dev/uart/uart_kbd_sun.c#1 branch .. //depot/projects/hammer/sys/dev/uart/uart_kbd_sun.h#1 branch .. //depot/projects/hammer/sys/dev/uart/uart_kbd_sun_tables.h#1 branch .. //depot/projects/hammer/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/hammer/sys/dev/usb/ohci.c#8 integrate .. //depot/projects/hammer/sys/dev/usb/ucom.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/ugen.c#12 integrate .. //depot/projects/hammer/sys/dev/usb/uhci.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/uhid.c#10 integrate .. //depot/projects/hammer/sys/dev/usb/ums.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/usb.c#8 integrate .. //depot/projects/hammer/sys/dev/usb/usb_ethersubr.c#6 integrate .. //depot/projects/hammer/sys/dev/usb/usb_port.h#7 integrate .. //depot/projects/hammer/sys/dev/usb/usbdi.c#6 integrate .. //depot/projects/hammer/sys/dev/zs/zs.c#5 integrate .. //depot/projects/hammer/sys/fs/fifofs/fifo_vnops.c#12 integrate .. //depot/projects/hammer/sys/i386/acpica/madt.c#4 integrate .. //depot/projects/hammer/sys/i386/bios/apm.c#5 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#23 integrate .. //depot/projects/hammer/sys/i386/i386/initcpu.c#10 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#25 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#19 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#3 integrate .. //depot/projects/hammer/sys/i386/isa/asc.c#4 integrate .. //depot/projects/hammer/sys/i386/isa/cx.c#6 integrate .. //depot/projects/hammer/sys/i386/isa/istallion.c#4 integrate .. //depot/projects/hammer/sys/i386/isa/mse.c#4 integrate .. //depot/projects/hammer/sys/i386/isa/spic.c#5 integrate .. //depot/projects/hammer/sys/i386/isa/stallion.c#6 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_rbch.c#5 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_tel.c#5 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_trace.c#6 integrate .. //depot/projects/hammer/sys/i4b/include/i4b_global.h#2 integrate .. //depot/projects/hammer/sys/i4b/layer4/i4b_i4bdrv.c#5 integrate .. //depot/projects/hammer/sys/ia64/conf/GENERIC#12 integrate .. //depot/projects/hammer/sys/ia64/conf/GENERIC.hints#4 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#27 integrate .. //depot/projects/hammer/sys/ia64/ia64/syscall.S#6 integrate .. //depot/projects/hammer/sys/ia64/ia64/vm_machdep.c#15 integrate .. //depot/projects/hammer/sys/ia64/include/ucontext.h#4 integrate .. //depot/projects/hammer/sys/isa/psm.c#11 integrate .. //depot/projects/hammer/sys/kern/kern_condvar.c#12 integrate .. //depot/projects/hammer/sys/kern/kern_context.c#6 integrate .. //depot/projects/hammer/sys/kern/kern_event.c#10 integrate .. //depot/projects/hammer/sys/kern/kern_ktrace.c#10 integrate .. //depot/projects/hammer/sys/kern/kern_mac.c#22 integrate .. //depot/projects/hammer/sys/kern/kern_poll.c#6 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#11 integrate .. //depot/projects/hammer/sys/kern/subr_log.c#7 integrate .. //depot/projects/hammer/sys/kern/subr_taskqueue.c#5 integrate .. //depot/projects/hammer/sys/kern/sys_generic.c#10 integrate .. //depot/projects/hammer/sys/kern/sys_pipe.c#15 integrate .. //depot/projects/hammer/sys/kern/sysv_sem.c#10 integrate .. //depot/projects/hammer/sys/kern/tty.c#9 integrate .. //depot/projects/hammer/sys/kern/tty_pty.c#8 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#14 integrate .. //depot/projects/hammer/sys/kern/uipc_socket2.c#10 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#22 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#27 integrate .. //depot/projects/hammer/sys/modules/netgraph/etf/Makefile#2 integrate .. //depot/projects/hammer/sys/net/bpf.c#13 integrate .. //depot/projects/hammer/sys/net/if_loop.c#12 integrate .. //depot/projects/hammer/sys/net/if_ppp.c#9 integrate .. //depot/projects/hammer/sys/net/if_tap.c#8 integrate .. //depot/projects/hammer/sys/net/if_tun.c#9 integrate .. //depot/projects/hammer/sys/net/netisr.c#5 integrate .. //depot/projects/hammer/sys/net/netisr.h#3 integrate .. //depot/projects/hammer/sys/net/route.c#8 integrate .. //depot/projects/hammer/sys/net/route.h#6 integrate .. //depot/projects/hammer/sys/net/rtsock.c#7 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.c#10 integrate .. //depot/projects/hammer/sys/netatalk/aarp.c#7 integrate .. //depot/projects/hammer/sys/netatalk/ddp_input.c#4 integrate .. //depot/projects/hammer/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/hammer/sys/netatm/atm_subr.c#8 integrate .. //depot/projects/hammer/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_UI.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_async.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_base.c#8 integrate .. //depot/projects/hammer/sys/netgraph/ng_bpf.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_cisco.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_device.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_echo.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_eiface.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_etf.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_fec.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_frame_relay.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_hole.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_iface.h#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_ip_input.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_ksocket.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_l2tp.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_lmi.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_message.h#4 integrate .. //depot/projects/hammer/sys/netgraph/ng_mppc.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_parse.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_ppp.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_pppoe.h#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_pptpgre.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_rfc1490.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_sample.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_socket.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_socketvar.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_source.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_split.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_tee.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_tty.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_vjc.h#2 integrate .. //depot/projects/hammer/sys/netinet/if_atm.c#4 integrate .. //depot/projects/hammer/sys/netinet/if_ether.c#6 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#13 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.h#11 integrate .. //depot/projects/hammer/sys/netinet/in_proto.c#8 integrate .. //depot/projects/hammer/sys/netinet/ip_divert.c#9 integrate .. //depot/projects/hammer/sys/netinet/ip_dummynet.c#15 integrate .. //depot/projects/hammer/sys/netinet/ip_flow.c#4 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#20 integrate .. //depot/projects/hammer/sys/netinet/ip_mroute.c#12 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#20 integrate .. //depot/projects/hammer/sys/netinet/ip_var.h#11 integrate .. //depot/projects/hammer/sys/netinet/raw_ip.c#11 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#16 integrate .. //depot/projects/hammer/sys/netinet/tcp_output.c#9 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#12 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#9 integrate .. //depot/projects/hammer/sys/netinet/tcp_timer.c#6 integrate .. //depot/projects/hammer/sys/netinet/udp_usrreq.c#9 integrate .. //depot/projects/hammer/sys/netinet6/ah_core.c#5 integrate .. //depot/projects/hammer/sys/netinet6/esp_core.c#5 integrate .. //depot/projects/hammer/sys/netinet6/esp_rijndael.c#4 integrate .. //depot/projects/hammer/sys/netinet6/esp_rijndael.h#3 integrate .. //depot/projects/hammer/sys/netinet6/in6.c#6 integrate .. //depot/projects/hammer/sys/netinet6/ip6_input.c#8 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#13 integrate .. //depot/projects/hammer/sys/netinet6/nd6.c#9 integrate .. //depot/projects/hammer/sys/netinet6/nd6_rtr.c#7 integrate .. //depot/projects/hammer/sys/netipx/ipx_input.c#5 integrate .. //depot/projects/hammer/sys/netkey/key.c#9 integrate .. //depot/projects/hammer/sys/netnatm/natm.c#8 integrate .. //depot/projects/hammer/sys/netnatm/natm_proto.c#6 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/hammer/sys/pc98/i386/machdep.c#22 integrate .. //depot/projects/hammer/sys/pc98/pc98/mse.c#3 integrate .. //depot/projects/hammer/sys/pccard/mecia.c#2 integrate .. //depot/projects/hammer/sys/pccard/pccard.c#7 integrate .. //depot/projects/hammer/sys/pccard/pcic.c#7 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#20 integrate .. //depot/projects/hammer/sys/sparc64/conf/GENERIC#16 integrate .. //depot/projects/hammer/sys/sparc64/creator/creator_upa.c#2 integrate .. //depot/projects/hammer/sys/sparc64/include/cache.h#5 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/cache.c#6 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/cheetah.c#5 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#24 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/spitfire.c#5 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/support.S#8 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/trap.c#13 integrate .. //depot/projects/hammer/sys/sys/condvar.h#2 integrate .. //depot/projects/hammer/sys/sys/selinfo.h#2 integrate .. //depot/projects/hammer/sys/sys/signalvar.h#10 integrate .. //depot/projects/hammer/sys/sys/ucontext.h#7 integrate .. //depot/projects/hammer/sys/vm/vm_fault.c#14 integrate .. //depot/projects/hammer/sys/vm/vm_glue.c#20 integrate .. //depot/projects/hammer/sys/vm/vm_kern.c#10 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#26 integrate .. //depot/projects/hammer/sys/vm/vm_map.h#10 integrate .. //depot/projects/hammer/sys/vm/vm_mmap.c#12 integrate .. //depot/projects/hammer/sys/vm/vm_object.c#32 integrate .. //depot/projects/hammer/sys/vm/vm_object.h#15 integrate .. //depot/projects/hammer/usr.bin/truss/alpha-fbsd.c#3 integrate .. //depot/projects/hammer/usr.bin/truss/extern.h#3 integrate .. //depot/projects/hammer/usr.bin/truss/i386-fbsd.c#4 integrate .. //depot/projects/hammer/usr.bin/truss/i386-linux.c#3 integrate .. //depot/projects/hammer/usr.bin/truss/ia64-fbsd.c#5 integrate .. //depot/projects/hammer/usr.bin/truss/main.c#5 integrate .. //depot/projects/hammer/usr.bin/truss/sparc64-fbsd.c#3 integrate .. //depot/projects/hammer/usr.bin/truss/syscall.h#2 integrate .. //depot/projects/hammer/usr.bin/truss/syscalls.c#7 integrate .. //depot/projects/hammer/usr.bin/vmstat/vmstat.c#7 integrate .. //depot/projects/hammer/usr.sbin/Makefile#33 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/hccontrol/link_control.c#4 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/hccontrol/link_policy.c#4 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/hccontrol/util.c#4 integrate .. //depot/projects/hammer/usr.sbin/bsnmpd/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/bsnmpd/Makefile.inc#1 branch .. //depot/projects/hammer/usr.sbin/bsnmpd/bsnmpd/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/bsnmpd/bsnmpd/genfiles#1 branch .. //depot/projects/hammer/usr.sbin/bsnmpd/bsnmpd/oid.h#1 branch .. //depot/projects/hammer/usr.sbin/bsnmpd/bsnmpd/tree.c#1 branch .. //depot/projects/hammer/usr.sbin/bsnmpd/bsnmpd/tree.h#1 branch .. //depot/projects/hammer/usr.sbin/bsnmpd/gensnmptree/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/dconschat/dconschat.c#3 integrate .. //depot/projects/hammer/usr.sbin/jail/jail.8#7 integrate .. //depot/projects/hammer/usr.sbin/ppp/chap.c#2 integrate .. //depot/projects/hammer/usr.sbin/setkey/setkey.8#5 integrate Differences ... ==== //depot/projects/hammer/Makefile.inc1#31 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.394 2003/11/03 21:09:47 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.395 2003/11/10 09:00:08 harti Exp $ # # Make command line options: # -DNO_KERBEROS Do not build Heimdal (Kerberos 5) @@ -298,7 +298,7 @@ .endfor .for _dir in \ lib usr/bin usr/include usr/lib/compat/aout usr/libdata/ldscripts \ - usr/libexec usr/share/misc + usr/libexec usr/share/misc usr/share/bsnmp/defs usr/share/bsnmp/mibs mkdir -p ${WORLDTMP}/${_dir} .endfor mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ ==== //depot/projects/hammer/bin/rm/rm.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.44 2003/11/08 09:55:16 bde Exp $"); +__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.45 2003/11/10 09:40:18 guido Exp $"); #include #include @@ -67,7 +67,7 @@ int check(char *, char *, struct stat *); void checkdot(char **); void rm_file(char **); -void rm_overwrite(char *, struct stat *); +int rm_overwrite(char *, struct stat *); void rm_tree(char **); void usage(void); @@ -139,7 +139,7 @@ if (argc < 1) { if (fflag) - return 0; + return (0); usage(); } @@ -271,7 +271,8 @@ default: if (Pflag) - rm_overwrite(p->fts_accpath, NULL); + if (!rm_overwrite(p->fts_accpath, NULL)) + continue; rval = unlink(p->fts_accpath); if (rval == 0 || (fflag && errno == ENOENT)) { if (rval == 0 && vflag) @@ -337,7 +338,8 @@ rval = rmdir(f); else { if (Pflag) - rm_overwrite(f, &sb); + if (!rm_overwrite(f, &sb)) + continue; rval = unlink(f); } } @@ -361,7 +363,7 @@ * System V file system). In a logging file system, you'll have to have * kernel support. */ -void +int rm_overwrite(char *file, struct stat *sbp) { struct stat sb; @@ -377,7 +379,7 @@ sbp = &sb; } if (!S_ISREG(sbp->st_mode)) - return; + return (1); if ((fd = open(file, O_WRONLY, 0)) == -1) goto err; if (fstatfs(fd, &fsb) == -1) @@ -403,7 +405,7 @@ PASS(0xff); if (!fsync(fd) && !close(fd)) { free(buf); - return; + return (1); } err: eval = 1; @@ -412,6 +414,7 @@ if (fd != -1) close(fd); warn("%s", file); + return (0); } @@ -430,8 +433,11 @@ * talking to a terminal, ask. Symbolic links are excluded * because their permissions are meaningless. Check stdin_ok * first because we may not have stat'ed the file. + * Also skip this check if the -P option was specified because + * we will not be able to overwrite file contents and will + * barf later. */ - if (!stdin_ok || S_ISLNK(sp->st_mode) || + if (!stdin_ok || S_ISLNK(sp->st_mode) || Pflag || (!access(name, W_OK) && !(sp->st_flags & (SF_APPEND|SF_IMMUTABLE)) && (!(sp->st_flags & (UF_APPEND|UF_IMMUTABLE)) || !uid))) ==== //depot/projects/hammer/contrib/gcc/config/freebsd-spec.h#8 (text+ko) ==== @@ -18,7 +18,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/contrib/gcc/config/freebsd-spec.h,v 1.14 2003/09/21 07:59:16 deischen Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/freebsd-spec.h,v 1.15 2003/11/10 18:52:57 deischen Exp $ */ /* Common FreeBSD configuration. All FreeBSD architectures should include this file, which will specify @@ -131,17 +131,15 @@ required by the user-land thread model. Before __FreeBSD_version 500016, select the appropriate libc, depending on whether we're doing profiling or need threads support. At __FreeBSD_version - 500016 and later, threads libraries can be linked with libc. - Because of this, and because different (not multiple) threading - libraries may be selected in the link option, the -pthread option - is no longer supported. To make matters interesting, we can't - actually use __FreeBSD_version provided by directly - since it breaks cross-compiling. As a final twist, make it a hard - error if -pthread is provided on the command line and gcc was - configured with --disable-threads (this will help avoid bug reports - from users complaining about threading when they misconfigured the - gcc bootstrap but are later consulting FreeBSD manual pages that - refer to the mythical -pthread option). */ + 500016 and later, thread libraries can be linked with libc. To + make matters interesting, we can't actually use __FreeBSD_version + provided by directly since it breaks cross-compiling. + As a final twist, make it a hard error if -pthread is provided on + the command line and gcc was configured with --disable-threads + (this will help avoid bug reports from users complaining about + threading when they misconfigured the gcc bootstrap but are later + consulting FreeBSD manual pages that refer to the mythical -pthread + option). */ /* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate libc, depending on whether we're doing profiling or need threads support. ==== //depot/projects/hammer/etc/mac.conf#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/etc/mac.conf,v 1.3 2003/11/08 17:51:50 rwatson Exp $ +# $FreeBSD: src/etc/mac.conf,v 1.4 2003/11/11 03:30:29 rwatson Exp $ # # TrustedBSD MAC userland policy configuration file. Kernel modules # export label information, and mac.conf indicates to userland @@ -11,7 +11,7 @@ # Default label set to be used by simple MAC applications # -default_file_labels ?biba,?lomac,?mls,?sebsd -default_ifnet_labels ?biba,?lomac,?mls,?sebsd -default_process_labels ?biba,?lomac,?mls,?partition,?sebsd +default_labels file ?biba,?lomac,?mls,?sebsd +default_labels ifnet ?biba,?lomac,?mls,?sebsd +default_labels process ?biba,?lomac,?mls,?partition,?sebsd ==== //depot/projects/hammer/etc/mtree/BSD.include.dist#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.74 2003/11/07 08:57:42 harti Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.75 2003/11/10 09:04:24 harti Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -7,6 +7,8 @@ . arpa .. + bsnmp + .. cam scsi .. ==== //depot/projects/hammer/etc/mtree/BSD.usr.dist#14 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.285 2003/11/08 05:18:25 davidxu Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.286 2003/11/10 09:06:38 harti Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -50,6 +50,12 @@ sbin .. share + bsnmp + defs + .. + mibs + .. + .. calendar de_DE.ISO8859-1 .. ==== //depot/projects/hammer/games/fortune/datfiles/fortunes2#9 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.61 2003/11/04 09:21:59 roam Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.62 2003/11/10 23:08:39 wilko Exp $ % ======================================================================= || || @@ -55891,15 +55891,16 @@ Zymurgy's Law of Volunteer Labor: People are always available for work in the past tense. % -Congratulations! +"Congratulations! Some products leave home silently, some go kicking and screaming. If v1.0 was the first born who came downstairs with shoes untied missing a sock and a belt, then this one was a full fledged punk rocker with neon hair and multiple piercings. I believe we squeezed it into a suit and tie and brought its color back to an earth tone before it -left. +left." --- An HP engineering project manager who shall remain nameless to -the development team after releasing the second version of their product. + -- An HP engineering project manager who shall remain + nameless to the development team after releasing + the second version of their product. % ==== //depot/projects/hammer/gnu/usr.bin/man/manpath/manpath.config#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/man/manpath/manpath.config,v 1.23 2003/09/18 10:44:42 des Exp $ +# $FreeBSD: src/gnu/usr.bin/man/manpath/manpath.config,v 1.24 2003/11/10 08:28:22 des Exp $ # # This file is read by manpath(1) to configure the mandatory manpath, # optional manpath and to map each path element to a manpath element. @@ -17,8 +17,10 @@ # check if the directory exists and if it does, add it to MANPATH # OPTIONAL_MANPATH /usr/local/man +OPTIONAL_MANPATH /usr/local/lib/perl5/5.8.2/man +OPTIONAL_MANPATH /usr/local/lib/perl5/5.8.1/man +OPTIONAL_MANPATH /usr/local/lib/perl5/5.8.0/man OPTIONAL_MANPATH /usr/local/lib/perl5/5.6.1/man -OPTIONAL_MANPATH /usr/local/lib/perl5/5.8.0/man OPTIONAL_MANPATH /usr/X11R6/man # # set up PATH to MANPATH mapping ==== //depot/projects/hammer/lib/Makefile#27 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.174 2003/10/22 15:01:16 harti Exp $ +# $FreeBSD: src/lib/Makefile,v 1.175 2003/11/10 09:18:04 harti Exp $ # To satisfy shared library or ELF linkage when only the libraries being # built are visible: @@ -24,7 +24,7 @@ SUBDIR= ${_csu} libcom_err libcrypt libkvm msun libmd \ libncurses libradius librpcsvc libsbuf libtacplus libutil libypclnt \ ${_compat} libalias ${_libatm} ${_libbind} \ - ${_libbluetooth} libbz2 libc ${_libc_r} \ + ${_libbluetooth} libbsnmp libbz2 libc ${_libc_r} \ libcalendar libcam libcompat libdevinfo libdevstat ${_libdisk} \ libedit libexpat libfetch libform libftpio libgeom ${_libio} libipsec \ libipx libisc libkiconv libmenu ${_libmilter} ${_libmp} ${_libncp} \ ==== //depot/projects/hammer/lib/libc/gen/daemon.3#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)daemon.3 8.1 (Berkeley) 6/9/93 -.\" $FreeBSD: src/lib/libc/gen/daemon.3,v 1.12 2002/01/16 15:21:39 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/daemon.3,v 1.14 2003/11/10 22:04:51 ghelmer Exp $ .\" .Dd June 9, 1993 .Dt DAEMON 3 @@ -76,7 +76,8 @@ .Xr setsid 2 . .Sh SEE ALSO .Xr fork 2 , -.Xr setsid 2 +.Xr setsid 2 , +.Xr sigaction 2 .Sh HISTORY The .Fn daemon @@ -101,3 +102,15 @@ .Fn daemon before opening any files or sockets, or verify that any file descriptors obtained have values greater than 2. +.Pp +The +.Fn daemon +function temporarily ignores +.Dv SIGHUP +while calling +.Xr setsid 2 +to prevent a parent session group leader's calls to +.Xr fork 2 +and then +.Xr _exit 2 +from prematurely terminating the child process. ==== //depot/projects/hammer/lib/libc/gen/daemon.c#2 (text+ko) ==== @@ -35,11 +35,13 @@ static char sccsid[] = "@(#)daemon.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/daemon.c,v 1.5 2002/02/01 00:57:29 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/daemon.c,v 1.6 2003/11/10 22:01:42 ghelmer Exp $"); #include "namespace.h" +#include #include #include +#include #include #include "un-namespace.h" @@ -47,8 +49,18 @@ daemon(nochdir, noclose) int nochdir, noclose; { + struct sigaction osa, sa; int fd; + pid_t newgrp; + int oerrno; + int osa_ok; + /* A SIGHUP may be thrown when the parent exits below. */ + sigemptyset(&sa.sa_mask); + sa.sa_handler = SIG_IGN; + sa.sa_flags = 0; + osa_ok = _sigaction(SIGHUP, &sa, &osa); + switch (fork()) { case -1: return (-1); @@ -58,8 +70,15 @@ _exit(0); } - if (setsid() == -1) + newgrp = setsid(); + oerrno = errno; + if (osa_ok != -1) + _sigaction(SIGHUP, &osa, NULL); + + if (newgrp == -1) { + errno = oerrno; return (-1); + } if (!nochdir) (void)chdir("/"); ==== //depot/projects/hammer/lib/libc/locale/utf8.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/utf8.c,v 1.3 2003/11/02 10:09:33 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/utf8.c,v 1.4 2003/11/11 07:25:05 tjr Exp $"); #include #include @@ -143,7 +143,7 @@ } if (pwc != NULL) *pwc = wch; - return (wch == L'\0' ? 0 : i); + return (wch == L'\0' ? 0 : len); } size_t ==== //depot/projects/hammer/lib/libc/stdlib/radixsort.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)radixsort.c 8.2 (Berkeley) 4/28/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/radixsort.c,v 1.6 2002/03/22 09:18:34 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/radixsort.c,v 1.7 2003/11/11 04:59:23 kientzle Exp $"); /* * Radixsort routines. @@ -177,6 +177,17 @@ } /* + * Special case: if all strings have the same + * character at position i, move on to the next + * character. + */ + if (nc == 1 && count[bmin] == n) { + push(a, n, i+1); + nc = count[bmin] = 0; + continue; + } + + /* * Set top[]; push incompletely sorted bins onto stack. * top[] = pointers to last out-of-place element in bins. * count[] = counts of elements in bins. ==== //depot/projects/hammer/lib/libc/sys/jail.2#5 (text+ko) ==== @@ -6,7 +6,7 @@ .\"this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\"---------------------------------------------------------------------------- .\" -.\"$FreeBSD: src/lib/libc/sys/jail.2,v 1.24 2003/05/22 13:02:28 ru Exp $ +.\"$FreeBSD: src/lib/libc/sys/jail.2,v 1.26 2003/11/11 18:31:36 kensmith Exp $ .\" .Dd April 8, 2003 .Dt JAIL 2 @@ -39,7 +39,8 @@ .Ed .Pp .Dq Li version -defines the version of the API in use. It should be set to zero at this time. +defines the version of the API in use. +It should be set to zero at this time. .Pp The .Dq Li path @@ -48,7 +49,8 @@ .Pp The .Dq Li hostname -pointer can be set to the hostname of the prison. This can be changed +pointer can be set to the hostname of the prison. +This can be changed from the inside of the prison. .Pp The @@ -73,15 +75,25 @@ Once a process has been put in a prison, it and its decendants cannot escape the prison. .Pp -Inside the prison, the concept of "superuser" is very diluted. In general, +Inside the prison, the concept of +.Dq superuser +is very diluted. +In general, it can be assumed that nothing can be mangled from inside a prison which -does not exist entirely inside that prison. For instance the directory +does not exist entirely inside that prison. +For instance the directory tree below .Dq Li path can be manipulated all the ways a root can normally do it, including .Dq Li "rm -rf /*" but new device special nodes cannot be created because they reference shared resources (the device drivers in the kernel). +The effective +.Dq securelevel +for a process is the greater of the global +.Dq securelevel +or, if present, the per-jail +.Dq securelevel . .Pp All IP activity will be forced to happen to/from the IP number specified, which should be an alias on one of the network interfaces. ==== //depot/projects/hammer/lib/libc/sys/kqueue.2#6 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.35 2003/10/20 02:29:16 jmg Exp $ +.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.36 2003/11/11 16:41:27 brueffer Exp $ .\" .Dd April 14, 2000 .Dt KQUEUE 2 @@ -412,7 +412,24 @@ contains the number of times the timeout has expired since the last call to .Fn kevent . This filter automatically sets the EV_CLEAR flag internally. +.It Dv EVFILT_NETDEV +Takes a descriptor to a network interface as the identifier, and the events to watch for in +.Va fflags . +It returns, when one or more of the requested events occur on the descriptor. +The events to monitor are: +.Bl -tag -width XXNOTE_LINKDOWN +.It Dv NOTE_LINKUP +The link is up. +.It Dv NOTE_LINKDOWN +The link is down. +.It Dv NOTE_LINKINV +The link state is invalid. .El +.Pp +On return, +.Va fflags +contains the events which triggered the filter. +.El .Sh RETURN VALUES The .Fn kqueue @@ -512,3 +529,10 @@ .Xr vnode 9 that resides on anything but a UFS file system. +.Pp +The +.Dv EVFILT_NETDEV +filter is currently only implemented for devices that use the +.Xr miibus 4 +driver for LINKUP and LINKDOWN operations. +Therefore, it will not work with many non-ethernet devices. ==== //depot/projects/hammer/lib/libc/sys/ktrace.2#5 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/ktrace.2,v 1.21 2003/11/04 09:15:42 tjr Exp $ +.\" $FreeBSD: src/lib/libc/sys/ktrace.2,v 1.23 2003/11/11 04:59:25 jkoshy Exp $ .\" .Dd June 4, 1993 .Dt KTRACE 2 @@ -135,6 +135,18 @@ The type specific records are defined in the .In sys/ktrace.h include file. +.Sh SYSCTL TUNABLES +The following +.Xr sysctl 8 +tunables influence the behaviour of +.Fn ktrace : +.Bl -tag -width indent +.It Va kern.ktrace.geniosize +bounds the amount of data a traced I/O request will log +to the trace file. +.It Va kern.ktrace.request_pool +bounds the number of trace events being logged at a time. +.El .Sh RETURN VALUES .Rv -std ktrace .Sh ERRORS @@ -161,10 +173,20 @@ .Nm support. .El +.Pp +A thread may be unable to log one or more tracing events due to a +temporary shortage of resources. +This condition is remembered by the kernel, and the next tracing request +that succeeds will have the flag +.Li KTR_DROP +set in its +.Va ktr_type +field. .Sh SEE ALSO .Xr kdump 1 , .Xr ktrace 1 , -.Xr utrace 2 +.Xr utrace 2 , +.Xr sysctl 8 .Sh HISTORY The .Fn ktrace ==== //depot/projects/hammer/lib/libc/sys/munmap.2#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)munmap.2 8.3 (Berkeley) 5/27/94 -.\" $FreeBSD: src/lib/libc/sys/munmap.2,v 1.18 2002/12/19 09:40:25 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/munmap.2,v 1.19 2003/11/10 08:02:05 des Exp $ .\" .Dd May 27, 1994 .Dt MUNMAP 2 @@ -64,7 +64,7 @@ .Fa addr argument was not page aligned, the .Fa len -argument was negative, or +argument was zero or negative, or some part of the region being unmapped is outside the valid address range for a process. .El ==== //depot/projects/hammer/lib/libc/sys/utrace.2#2 (text+ko) ==== @@ -33,7 +33,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. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 12:04:59 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 368B916A4D0; Tue, 11 Nov 2003 12:04:59 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 119C716A4CE for ; Tue, 11 Nov 2003 12:04:59 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6DCE843FBF for ; Tue, 11 Nov 2003 12:04:58 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABK4wXJ082182 for ; Tue, 11 Nov 2003 12:04:58 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABK4vI5082179 for perforce@freebsd.org; Tue, 11 Nov 2003 12:04:57 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 12:04:57 -0800 (PST) Message-Id: <200311112004.hABK4vI5082179@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42021 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 20:04:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=42021 Change 42021 by peter@peter_daintree on 2003/11/11 12:04:48 integrate -I -b smp_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/madt.c#15 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#26 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#10 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/madt.c#15 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.4 2003/11/06 14:47:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.6 2003/11/11 18:20:10 jhb Exp $"); #include #include @@ -55,8 +55,8 @@ #define bootverbose 1 /* XXX debugging */ -#define NIOAPICS 16 /* Max number of I/O APICs */ -#define NLAPICS 16 /* Max number of local APICs */ +#define NIOAPICS 32 /* Max number of I/O APICs */ +#define NLAPICS 32 /* Max number of local APICs */ typedef void madt_entry_handler(APIC_HEADER *entry, void *arg); @@ -540,7 +540,12 @@ } if (intr->Source != intr->GlobalSystemInterrupt) { - ioapic_remap_vector(new_ioapic, new_pin, intr->Source); + /* XXX: This assumes that the SCI uses IRQ 9. */ + if (intr->GlobalSystemInterrupt > 15 && intr->Source == 9) + acpi_OverrideInterruptLevel( + intr->GlobalSystemInterrupt); + else + ioapic_remap_vector(new_ioapic, new_pin, intr->Source); if (madt_find_interrupt(intr->Source, &old_ioapic, &old_pin) != 0) printf("MADT: Could not find APIC for source IRQ %d\n", ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#26 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.221 2003/11/06 01:24:25 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.223 2003/11/11 17:16:15 jhb Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -137,7 +137,7 @@ static void release_aps(void *dummy); static int hlt_cpus_mask; -static int hlt_logical_cpus = 1; +static int hlt_logical_cpus; static struct sysctl_ctx_list logical_cpu_clist; static u_int bootMP_size; @@ -149,7 +149,7 @@ { bootMP_size = mptramp_end - mptramp_start; - boot_address = basemem & ~PAGE_MASK; /* round down to 4k boundary */ + boot_address = trunc_page(basemem); /* round down to 4k boundary */ if ((basemem - boot_address) < bootMP_size) boot_address -= PAGE_SIZE; /* not enough, lower by 4k */ /* 3 levels of page table pages */ @@ -451,7 +451,7 @@ * start each AP in our list */ static int -start_all_aps() +start_all_aps(void) { u_char mpbiosreason; u_int32_t mpbioswarmvec; ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#10 (text+ko) ==== @@ -25,8 +25,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.222 2003/11/05 23:15:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.224 2003/11/11 17:14:26 jhb Exp $"); +#include "opt_mptable_force_htt.h" #include #include #include @@ -54,7 +55,7 @@ /* string defined by the Intel MP Spec as identifying the MP table */ #define MP_SIG 0x5f504d5f /* _MP_ */ -#define NAPICID 16 /* Max number of I/O APIC's */ +#define NAPICID 32 /* Max number of I/O APIC's */ #define BIOS_BASE (0xf0000) #define BIOS_SIZE (0x10000) @@ -154,7 +155,9 @@ static int lookup_bus_type(char *name); static void mptable_count_items(void); static void mptable_count_items_handler(u_char *entry, void *arg); +#ifdef MPTABLE_FORCE_HTT static void mptable_hyperthread_fixup(u_int id_mask); +#endif static void mptable_parse_apics_and_busses(void); static void mptable_parse_apics_and_busses_handler(u_char *entry, void *arg); @@ -292,7 +295,9 @@ } else { cpu_mask = 0; mptable_walk_table(mptable_probe_cpus_handler, &cpu_mask); +#ifdef MPTABLE_FORCE_HTT mptable_hyperthread_fixup(cpu_mask); +#endif } return (0); } @@ -776,6 +781,7 @@ mptable_walk_table(mptable_parse_ints_handler, NULL); } +#ifdef MPTABLE_FORCE_HTT /* * Perform a hyperthreading "fix-up" to enumerate any logical CPU's * that aren't already listed in the table. @@ -832,6 +838,7 @@ id_mask &= ~(1 << id); } } +#endif /* MPTABLE_FORCE_HTT */ /* * Support code for routing PCI interrupts using the MP Table. From owner-p4-projects@FreeBSD.ORG Tue Nov 11 12:19:24 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F10DB16A4D2; Tue, 11 Nov 2003 12:19:23 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B541C16A4D0 for ; Tue, 11 Nov 2003 12:19:23 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C509643FAF for ; Tue, 11 Nov 2003 12:19:19 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABKJJXJ082865 for ; Tue, 11 Nov 2003 12:19:19 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABKJI1s082862 for perforce@freebsd.org; Tue, 11 Nov 2003 12:19:18 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Tue, 11 Nov 2003 12:19:18 -0800 (PST) Message-Id: <200311112019.hABKJI1s082862@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 42025 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 20:19:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=42025 Change 42025 by jhb@jhb_blue on 2003/11/11 12:18:24 IFC @42022. Affected files ... .. //depot/projects/smpng/sys/boot/i386/boot2/boot2.c#19 integrate .. //depot/projects/smpng/sys/boot/sparc64/loader/metadata.c#10 integrate .. //depot/projects/smpng/sys/conf/files#92 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#32 integrate .. //depot/projects/smpng/sys/conf/options.i386#34 integrate .. //depot/projects/smpng/sys/conf/options.pc98#33 integrate .. //depot/projects/smpng/sys/crypto/rijndael/rijndael.c#1 branch .. //depot/projects/smpng/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/smpng/sys/dev/acpica/Osd/OsdInterrupt.c#8 integrate .. //depot/projects/smpng/sys/dev/acpica/acpivar.h#31 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#42 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#19 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#34 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#15 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cd.c#41 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-fd.c#19 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-tape.c#22 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#36 integrate .. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#21 integrate .. //depot/projects/smpng/sys/dev/fb/creator.c#2 integrate .. //depot/projects/smpng/sys/dev/sound/pci/cmi.c#17 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#17 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/mixer.c#12 integrate .. //depot/projects/smpng/sys/dev/uart/uart_cpu_sparc64.c#3 integrate .. //depot/projects/smpng/sys/dev/uart/uart_kbd_sun.c#1 branch .. //depot/projects/smpng/sys/dev/uart/uart_kbd_sun.h#1 branch .. //depot/projects/smpng/sys/dev/uart/uart_kbd_sun_tables.h#1 branch .. //depot/projects/smpng/sys/fs/fifofs/fifo_vnops.c#24 integrate .. //depot/projects/smpng/sys/i386/acpica/madt.c#3 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#69 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#57 integrate .. //depot/projects/smpng/sys/i386/i386/mptable.c#3 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#71 integrate .. //depot/projects/smpng/sys/ia64/ia64/syscall.S#7 integrate .. //depot/projects/smpng/sys/kern/kern_ktrace.c#35 integrate .. //depot/projects/smpng/sys/kern/kern_mac.c#31 integrate .. //depot/projects/smpng/sys/kern/subr_taskqueue.c#13 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#53 integrate .. //depot/projects/smpng/sys/net/if_loop.c#24 integrate .. //depot/projects/smpng/sys/netgraph/netgraph.h#5 integrate .. //depot/projects/smpng/sys/netgraph/ng_UI.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_async.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_bpf.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_cisco.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_device.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_echo.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_eiface.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_etf.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_fec.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_frame_relay.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_hole.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_iface.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_ip_input.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_ksocket.h#5 integrate .. //depot/projects/smpng/sys/netgraph/ng_l2tp.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_lmi.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_message.h#5 integrate .. //depot/projects/smpng/sys/netgraph/ng_mppc.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_parse.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_ppp.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_pppoe.h#6 integrate .. //depot/projects/smpng/sys/netgraph/ng_pptpgre.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_rfc1490.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_sample.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_socket.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_socketvar.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_source.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_split.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_tee.h#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_tty.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_vjc.h#3 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#37 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.c#23 integrate .. //depot/projects/smpng/sys/netinet6/esp_rijndael.c#4 integrate .. //depot/projects/smpng/sys/netkey/key.c#20 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#34 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#35 integrate .. //depot/projects/smpng/sys/sparc64/creator/creator_upa.c#2 integrate .. //depot/projects/smpng/sys/sparc64/include/cache.h#9 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/cache.c#13 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/cheetah.c#5 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#59 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/spitfire.c#5 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/support.S#7 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/trap.c#56 integrate Differences ... ==== //depot/projects/smpng/sys/boot/i386/boot2/boot2.c#19 (text+ko) ==== @@ -14,12 +14,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.64 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.66 2003/11/11 06:27:34 bde Exp $"); #include #include #include #include +#include + #include #include @@ -51,7 +53,7 @@ #define RBX_NOINTR 0x1c /* -n */ #define RBX_DUAL 0x1d /* -D */ #define RBX_PROBEKBD 0x1e /* -P */ -/* 0x1f is reserved for the historical RB_BOOTINFO option */ +/* 0x1f is reserved for the RB_BOOTINFO flag. */ /* pass: -a, -s, -r, -d, -c, -v, -h, -C, -g, -m, -p, -D */ #define RBX_MASK 0x2005ffff @@ -359,7 +361,7 @@ bootinfo.bi_esymtab = VTOP(p); bootinfo.bi_kernelname = VTOP(kname); bootinfo.bi_bios_dev = dsk.drive; - __exec((caddr_t)addr, opts & RBX_MASK, + __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK), MAKEBOOTDEV(dev_maj[dsk.type], 0, dsk.slice, dsk.unit, dsk.part), 0, 0, 0, VTOP(&bootinfo)); } ==== //depot/projects/smpng/sys/boot/sparc64/loader/metadata.c#10 (text+ko) ==== @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * from: FreeBSD: src/sys/boot/i386/libi386/bootinfo.c,v 1.29 - * $FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.9 2003/04/30 22:00:16 peter Exp $ + * $FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.10 2003/11/11 18:01:44 jake Exp $ */ #include @@ -67,6 +67,8 @@ int md_getboothowto(char *kargs) { + char buf[32]; + phandle_t options; char *cp; int howto; int active; @@ -126,10 +128,10 @@ for (i = 0; howto_names[i].ev != NULL; i++) if (getenv(howto_names[i].ev) != NULL) howto |= howto_names[i].mask; - if (!strcmp(getenv("console"), "comconsole")) - howto |= RB_SERIAL; - if (!strcmp(getenv("console"), "nullconsole")) - howto |= RB_MUTE; + options = OF_finddevice("/options"); + OF_getprop(options, "output-device", buf, sizeof(buf)); + if (strcmp(buf, "ttya") == 0 || strcmp(buf, "ttyb") == 0) + howto |= RB_SERIAL; return(howto); } ==== //depot/projects/smpng/sys/conf/files#92 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.846 2003/11/10 10:39:14 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.847 2003/11/11 18:58:53 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -207,7 +207,7 @@ crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec -crypto/rijndael/rijndael-api-fst.c optional ipsec +crypto/rijndael/rijndael.c optional ipsec opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec ==== //depot/projects/smpng/sys/conf/files.sparc64#32 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.46 2003/09/06 23:23:25 marcel Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.47 2003/11/11 07:33:24 jake Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -33,6 +33,7 @@ dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc dev/uart/uart_cpu_sparc64.c optional uart +dev/uart/uart_kbd_sun.c optional uart sc geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_sunlabel.c standard ==== //depot/projects/smpng/sys/conf/options.i386#34 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.201 2003/11/07 15:14:53 bde Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.202 2003/11/11 17:14:25 jhb Exp $ # Options specific to the i386 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -7,6 +7,7 @@ COMPAT_OLDISA I586_PMC_GUPROF opt_i586_guprof.h MAXMEM +MPTABLE_FORCE_HTT NO_MIXED_MODE PERFMON DISABLE_PSE opt_pmap.h ==== //depot/projects/smpng/sys/conf/options.pc98#33 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.pc98,v 1.169 2003/11/04 12:19:54 nyan Exp $ +# $FreeBSD: src/sys/conf/options.pc98,v 1.170 2003/11/11 17:14:25 jhb Exp $ # Options specific to the pc98 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -7,6 +7,7 @@ COMPAT_OLDISA I586_PMC_GUPROF opt_i586_guprof.h MAXMEM +MPTABLE_FORCE_HTT NO_MIXED_MODE PERFMON DISABLE_PSE opt_pmap.h ==== //depot/projects/smpng/sys/crypto/rijndael/rijndael.h#2 (text+ko) ==== @@ -1,3 +1,52 @@ -/* $KAME: rijndael.h,v 1.2 2000/10/02 17:14:27 itojun Exp $ */ +/* $KAME: rijndael.h,v 1.6 2003/08/28 08:36:32 itojun Exp $ */ +/* $FreeBSD: src/sys/crypto/rijndael/rijndael.h,v 1.2 2003/11/11 18:58:53 ume Exp $ */ + +/** + * rijndael-alg-fst.h + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __RIJNDAEL_H +#define __RIJNDAEL_H +#include #include + +/* XXX: avoid conflicts with opencrypto */ +#define rijndael_set_key _rijndael_set_key +#define rijndael_decrypt _rijndael_decrypt +#define rijndael_encrypt _rijndael_encrypt + +typedef struct { + int decrypt; + int Nr; /* key-length-dependent number of rounds */ + uint32_t ek[4 * (RIJNDAEL_MAXNR + 1)]; /* encrypt key schedule */ + uint32_t dk[4 * (RIJNDAEL_MAXNR + 1)]; /* decrypt key schedule */ +} rijndael_ctx; + +void rijndael_set_key(rijndael_ctx *, const u_char *, int); +void rijndael_decrypt(const rijndael_ctx *, const u_char *, u_char *); +void rijndael_encrypt(const rijndael_ctx *, const u_char *, u_char *); + +#endif /* __RIJNDAEL_H */ ==== //depot/projects/smpng/sys/dev/acpica/Osd/OsdInterrupt.c#8 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.12 2002/10/16 17:28:53 jhb Exp $ + * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.13 2003/11/11 18:12:12 jhb Exp $ */ /* @@ -46,6 +46,8 @@ static void InterruptWrapper(void *arg); static OSD_HANDLER InterruptHandler; +static UINT32 InterruptOverride = 0; + /* * XXX this does not correctly free resources in the case of partically successful * attachment. @@ -81,6 +83,12 @@ return_ACPI_STATUS(AE_ALREADY_EXISTS); } sc->acpi_irq_rid = 0; + if (InterruptOverride != 0) { + device_printf(sc->acpi_dev, + "Overriding SCI Interrupt from IRQ %u to IRQ %u\n", + InterruptNumber, InterruptOverride); + InterruptNumber = InterruptOverride; + } bus_set_resource(sc->acpi_dev, SYS_RES_IRQ, 0, InterruptNumber, 1); if ((sc->acpi_irq = bus_alloc_resource(sc->acpi_dev, SYS_RES_IRQ, &sc->acpi_irq_rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE)) == NULL) { @@ -123,6 +131,16 @@ return_ACPI_STATUS(AE_OK); } +ACPI_STATUS +acpi_OverrideInterruptLevel(UINT32 InterruptNumber) +{ + + if (InterruptOverride != 0) + return_ACPI_STATUS(AE_ALREADY_EXISTS); + InterruptOverride = InterruptNumber; + return_ACPI_STATUS(AE_OK); +} + /* * Interrupt handler wrapper. */ ==== //depot/projects/smpng/sys/dev/acpica/acpivar.h#31 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.46 2003/10/25 05:03:24 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.47 2003/11/11 18:12:12 jhb Exp $ */ #include "bus_if.h" @@ -184,6 +184,7 @@ ACPI_RESOURCE **resp); extern ACPI_STATUS acpi_AppendBufferResource(ACPI_BUFFER *buf, ACPI_RESOURCE *res); +extern ACPI_STATUS acpi_OverrideInterruptLevel(UINT32 InterruptNumber); extern ACPI_STATUS acpi_SetIntrModel(int model); extern ACPI_STATUS acpi_SetSleepState(struct acpi_softc *sc, int state); extern ACPI_STATUS acpi_Enable(struct acpi_softc *sc); ==== //depot/projects/smpng/sys/dev/ata/ata-all.c#42 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.196 2003/11/03 09:25:02 des Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.197 2003/11/11 14:55:35 sos Exp $"); #include "opt_ata.h" #include @@ -73,6 +73,16 @@ static void bpack(int8_t *, int8_t *, int); static void ata_init(void); +/* global vars */ +struct intr_config_hook *ata_delayed_attach = NULL; +devclass_t ata_devclass; +int ata_wc = 1; + +/* local vars */ +static MALLOC_DEFINE(M_ATA, "ATA generic", "ATA driver generic layer"); +static int ata_dma = 1; +static int atapi_dma = 0; + /* sysctl vars */ SYSCTL_NODE(_hw, OID_AUTO, ata, CTLFLAG_RD, 0, "ATA driver parameters"); TUNABLE_INT("hw.ata.ata_dma", &ata_dma); @@ -84,17 +94,7 @@ TUNABLE_INT("hw.ata.atapi_dma", &atapi_dma); SYSCTL_INT(_hw_ata, OID_AUTO, atapi_dma, CTLFLAG_RDTUN, &atapi_dma, 0, "ATAPI device DMA mode control"); -int ata_dma = 1; -int ata_wc = 1; -int atapi_dma = 0; -/* global vars */ -struct intr_config_hook *ata_delayed_attach = NULL; -devclass_t ata_devclass; - -/* local vars */ -static MALLOC_DEFINE(M_ATA, "ATA generic", "ATA driver generic layer"); - /* * newbus device interface related functions */ @@ -675,6 +675,23 @@ } } } + + /* setup basic transfer mode by setting PIO mode and DMA if supported */ + if (ch->device[MASTER].attach) { + ch->device[MASTER].setmode(&ch->device[MASTER], ATA_PIO_MAX); + if ((((ch->devices & ATA_ATAPI_MASTER) && atapi_dma && + (ch->device[MASTER].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR)|| + ((ch->devices & ATA_ATA_MASTER) && ata_dma)) && ch->dma) + ch->device[MASTER].setmode(&ch->device[MASTER], ATA_DMA_MAX); + + } + if (ch->device[SLAVE].attach) { + ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_PIO_MAX); + if ((((ch->devices & ATA_ATAPI_SLAVE) && atapi_dma && + (ch->device[SLAVE].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR) || + ((ch->devices & ATA_ATA_SLAVE) && ata_dma)) && ch->dma) + ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_DMA_MAX); + } } static void ==== //depot/projects/smpng/sys/dev/ata/ata-all.h#19 (text+ko) ==== @@ -25,7 +25,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/sys/dev/ata/ata-all.h,v 1.66 2003/10/21 19:20:36 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.67 2003/11/11 14:55:35 sos Exp $ */ /* ATA register defines */ @@ -345,7 +345,7 @@ /* externs */ extern devclass_t ata_devclass; extern struct intr_config_hook *ata_delayed_attach; -extern int ata_dma, ata_wc, atapi_dma; +extern int ata_wc; /* public prototypes */ /* ata-all.c: */ ==== //depot/projects/smpng/sys/dev/ata/ata-disk.c#34 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.162 2003/11/03 09:25:02 des Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.164 2003/11/11 14:55:35 sos Exp $"); #include "opt_ata.h" #include @@ -137,12 +137,6 @@ adp->max_iosize = secsperint * DEV_BSIZE; } - /* use DMA if allowed and if drive/controller supports it */ - if (ata_dma && atadev->channel->dma) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = ad_detach; atadev->start = ad_start; @@ -331,28 +325,34 @@ bzero(&request, sizeof(struct ata_request)); request.device = adp->device; - request.data = virtual; - request.bytecount = length; - request.transfersize = min(length, adp->max_iosize); - request.flags = ATA_R_WRITE; - if (adp->max_iosize > DEV_BSIZE) - request.u.ata.command = ATA_WRITE_MUL; - else - request.u.ata.command = ATA_WRITE; - request.u.ata.lba = offset / DEV_BSIZE; - request.u.ata.count = request.bytecount / DEV_BSIZE; + if (length) { + request.data = virtual; + request.bytecount = length; + request.transfersize = min(length, adp->max_iosize); + request.flags = ATA_R_WRITE; + if (adp->max_iosize > DEV_BSIZE) + request.u.ata.command = ATA_WRITE_MUL; + else + request.u.ata.command = ATA_WRITE; + request.u.ata.lba = offset / DEV_BSIZE; + request.u.ata.count = request.bytecount / DEV_BSIZE; + } + else { + request.u.ata.command = ATA_FLUSHCACHE; + request.flags = ATA_R_CONTROL; + } - if (adp->device->channel->hw.transaction(&request) == ATA_OP_FINISHED) + if (request.device->channel->hw.transaction(&request) == ATA_OP_CONTINUES) { + while (request.device->channel->running == &request && + !(request.status & ATA_S_ERROR)) { + DELAY(20); + request.device->channel->running = &request; + request.device->channel->hw.interrupt(request.device->channel); + } + } + if (request.status & ATA_S_ERROR) return EIO; - while (request.bytecount > request.donecount) { - DELAY(20); - adp->device->channel->running = &request; - adp->device->channel->hw.interrupt(adp->device->channel); - adp->device->channel->running = NULL; - if (request.status & ATA_S_ERROR) - return EIO; - } return 0; } ==== //depot/projects/smpng/sys/dev/ata/atapi-cam.c#15 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.27 2003/11/09 20:46:08 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.28 2003/11/11 14:55:35 sos Exp $"); #include #include @@ -227,11 +227,6 @@ 2 * device_get_unit(atp->channel->dev) + (atp->unit == ATA_MASTER) ? 0 : 1); atp->softc = (void *)scp; - if (atapi_dma && atp->channel->dma && - (atp->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atp->setmode(atp, ATA_DMA_MAX); - else - atp->setmode(atp, ATA_PIO_MAX); } } ==== //depot/projects/smpng/sys/dev/ata/atapi-cd.c#41 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.153 2003/11/09 10:11:15 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.154 2003/11/11 14:55:35 sos Exp $"); #include "opt_ata.h" #include @@ -171,13 +171,6 @@ else g_post_event(acd_geom_create, cdp, M_WAITOK, NULL); - /* use DMA if allowed and if drive/controller supports it */ - if (atapi_dma && atadev->channel->dma && - (atadev->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = acd_detach; atadev->start = acd_start; ==== //depot/projects/smpng/sys/dev/ata/atapi-fd.c#19 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.88 2003/08/25 09:01:49 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.89 2003/11/11 14:55:35 sos Exp $"); #include #include @@ -87,13 +87,6 @@ return; } - /* use DMA if allowed and if drive/controller supports it */ - if (atapi_dma && atadev->channel->dma && - (atadev->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = afd_detach; atadev->start = afd_start; ==== //depot/projects/smpng/sys/dev/ata/atapi-tape.c#22 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.83 2003/08/25 09:01:49 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.84 2003/11/11 14:55:36 sos Exp $"); #include "opt_ata.h" #include @@ -148,13 +148,6 @@ dev->si_iosize_max = DFLTPHYS; stp->dev2 = dev; - /* use DMA if allowed and if drive/controller supports it */ - if (atapi_dma && atadev->channel->dma && - (atadev->param->config & ATA_DRQ_MASK) != ATA_DRQ_INTR) - atadev->setmode(atadev, ATA_DMA_MAX); - else - atadev->setmode(atadev, ATA_PIO_MAX); - /* setup the function ptrs */ atadev->detach = ast_detach; atadev->start = ast_start; ==== //depot/projects/smpng/sys/dev/bge/if_bge.c#36 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.57 2003/10/31 18:31:57 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.58 2003/11/11 17:57:03 sam Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.57 2003/10/31 18:31:57 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.58 2003/11/11 17:57:03 sam Exp $"); #include #include @@ -186,6 +186,7 @@ static void bge_txeof (struct bge_softc *); static void bge_rxeof (struct bge_softc *); +static void bge_tick_locked (struct bge_softc *); static void bge_tick (void *); static void bge_stats_update (struct bge_softc *); static void bge_stats_update_regs @@ -194,8 +195,10 @@ u_int32_t *); static void bge_intr (void *); +static void bge_start_locked (struct ifnet *); static void bge_start (struct ifnet *); static int bge_ioctl (struct ifnet *, u_long, caddr_t); +static void bge_init_locked (struct bge_softc *); static void bge_init (void *); static void bge_stop (struct bge_softc *); static void bge_watchdog (struct ifnet *); @@ -1156,6 +1159,8 @@ u_int32_t hashes[4] = { 0, 0, 0, 0 }; int h, i; + BGE_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { @@ -2227,15 +2232,12 @@ bge_attach(dev) device_t dev; { - int s; struct ifnet *ifp; struct bge_softc *sc; u_int32_t hwcfg = 0; u_int32_t mac_addr = 0; int unit, error = 0, rid; - s = splimp(); - sc = device_get_softc(dev); unit = device_get_unit(dev); sc->bge_dev = dev; @@ -2272,17 +2274,10 @@ goto fail; } - error = bus_setup_intr(dev, sc->bge_irq, INTR_TYPE_NET, - bge_intr, sc, &sc->bge_intrhand); + sc->bge_unit = unit; - if (error) { - bge_release_resources(sc); - printf("bge%d: couldn't set up irq\n", unit); - goto fail; - } + BGE_LOCK_INIT(sc, device_get_nameunit(dev)); - sc->bge_unit = unit; - /* Try to reset the chip. */ bge_reset(sc); @@ -2450,11 +2445,20 @@ * Call MI attach routine. */ ether_ifattach(ifp, sc->arpcom.ac_enaddr); - callout_handle_init(&sc->bge_stat_ch); + callout_init(&sc->bge_stat_ch, CALLOUT_MPSAFE); + + /* + * Hookup IRQ last. + */ + error = bus_setup_intr(dev, sc->bge_irq, INTR_TYPE_NET | INTR_MPSAFE, + bge_intr, sc, &sc->bge_intrhand); + + if (error) { + bge_release_resources(sc); + printf("bge%d: couldn't set up irq\n", unit); + } fail: - splx(s); - return(error); } @@ -2464,16 +2468,16 @@ { struct bge_softc *sc; struct ifnet *ifp; - int s; - - s = splimp(); sc = device_get_softc(dev); ifp = &sc->arpcom.ac_if; - ether_ifdetach(ifp); + BGE_LOCK(sc); bge_stop(sc); bge_reset(sc); + BGE_UNLOCK(sc); + + ether_ifdetach(ifp); if (sc->bge_tbi) { ifmedia_removeall(&sc->bge_ifmedia); @@ -2486,8 +2490,6 @@ if (sc->bge_asicrev != BGE_ASICREV_BCM5705) bge_free_jumbo_mem(sc); - splx(s); - return(0); } @@ -2517,6 +2519,9 @@ bge_dma_free(sc); + if (mtx_initialized(&sc->bge_mtx)) /* XXX */ + BGE_LOCK_DESTROY(sc); + return; } @@ -2621,6 +2626,8 @@ struct ifnet *ifp; int stdcnt = 0, jumbocnt = 0; + BGE_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; bus_dmamap_sync(sc->bge_cdata.bge_rx_return_ring_tag, @@ -2733,7 +2740,9 @@ if (have_tag) VLAN_INPUT_TAG(ifp, m, vlan_tag, continue); + BGE_UNLOCK(sc); (*ifp->if_input)(ifp, m); + BGE_LOCK(sc); } bus_dmamap_sync(sc->bge_cdata.bge_rx_return_ring_tag, @@ -2763,6 +2772,8 @@ struct bge_tx_bd *cur_tx = NULL; struct ifnet *ifp; + BGE_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; /* @@ -2806,6 +2817,8 @@ sc = xsc; ifp = &sc->arpcom.ac_if; + BGE_LOCK(sc); + bus_dmamap_sync(sc->bge_cdata.bge_status_tag, sc->bge_cdata.bge_status_map, BUS_DMASYNC_POSTWRITE); @@ -2838,8 +2851,8 @@ status = CSR_READ_4(sc, BGE_MAC_STS); if (status & BGE_MACSTAT_MI_INTERRUPT) { sc->bge_link = 0; - untimeout(bge_tick, sc, sc->bge_stat_ch); - bge_tick(sc); + callout_stop(&sc->bge_stat_ch); + bge_tick_locked(sc); /* Clear the interrupt */ CSR_WRITE_4(sc, BGE_MAC_EVT_ENB, BGE_EVTENB_MI_INTERRUPT); @@ -2865,8 +2878,8 @@ if (!(status & (BGE_MACSTAT_PORT_DECODE_ERROR| BGE_MACSTAT_MI_COMPLETE))) { sc->bge_link = 0; - untimeout(bge_tick, sc, sc->bge_stat_ch); - bge_tick(sc); + callout_stop(&sc->bge_stat_ch); + bge_tick_locked(sc); } /* Clear the interrupt */ CSR_WRITE_4(sc, BGE_MAC_STS, BGE_MACSTAT_SYNC_CHANGED| @@ -2895,35 +2908,32 @@ CSR_WRITE_4(sc, BGE_MBX_IRQ0_LO, 0); if (ifp->if_flags & IFF_RUNNING && ifp->if_snd.ifq_head != NULL) - bge_start(ifp); + bge_start_locked(ifp); + + BGE_UNLOCK(sc); return; } static void -bge_tick(xsc) - void *xsc; +bge_tick_locked(sc) + struct bge_softc *sc; { - struct bge_softc *sc; struct mii_data *mii = NULL; struct ifmedia *ifm = NULL; struct ifnet *ifp; - int s; - sc = xsc; ifp = &sc->arpcom.ac_if; - s = splimp(); + BGE_LOCK_ASSERT(sc); if (sc->bge_asicrev == BGE_ASICREV_BCM5705) bge_stats_update_regs(sc); else bge_stats_update(sc); - sc->bge_stat_ch = timeout(bge_tick, sc, hz); - if (sc->bge_link) { - splx(s); + callout_reset(&sc->bge_stat_ch, hz, bge_tick, sc); + if (sc->bge_link) return; - } if (sc->bge_tbi) { ifm = &sc->bge_ifmedia; @@ -2933,9 +2943,8 @@ CSR_WRITE_4(sc, BGE_MAC_STS, 0xFFFFFFFF); printf("bge%d: gigabit link up\n", sc->bge_unit); if (ifp->if_snd.ifq_head != NULL) - bge_start(ifp); + bge_start_locked(ifp); } - splx(s); return; } @@ -2950,12 +2959,23 @@ printf("bge%d: gigabit link up\n", sc->bge_unit); if (ifp->if_snd.ifq_head != NULL) - bge_start(ifp); + bge_start_locked(ifp); } - splx(s); + return; +} + +static void +bge_tick(xsc) + void *xsc; +{ + struct bge_softc *sc; + + sc = xsc; - return; + BGE_LOCK(sc); + bge_tick_locked(sc); + BGE_UNLOCK(sc); } static void @@ -3094,7 +3114,7 @@ * to the mbuf data regions directly in the transmit descriptors. */ static void -bge_start(ifp) +bge_start_locked(ifp) struct ifnet *ifp; { struct bge_softc *sc; @@ -3163,23 +3183,35 @@ return; } +/* + * Main transmit routine. To avoid having to do mbuf copies, we put pointers + * to the mbuf data regions directly in the transmit descriptors. + */ static void -bge_init(xsc) - void *xsc; +bge_start(ifp) + struct ifnet *ifp; +{ + struct bge_softc *sc; + + sc = ifp->if_softc; + BGE_LOCK(sc); + bge_start_locked(ifp); + BGE_UNLOCK(sc); +} + +static void +bge_init_locked(sc) + struct bge_softc *sc; { - struct bge_softc *sc = xsc; struct ifnet *ifp; u_int16_t *m; - int s; - s = splimp(); + BGE_LOCK_ASSERT(sc); ifp = &sc->arpcom.ac_if; - if (ifp->if_flags & IFF_RUNNING) { - splx(s); + if (ifp->if_flags & IFF_RUNNING) return; - } /* Cancel pending I/O and flush buffers. */ bge_stop(sc); @@ -3192,7 +3224,6 @@ */ if (bge_blockinit(sc)) { printf("bge%d: initialization failure\n", sc->bge_unit); - splx(s); return; } @@ -3267,9 +3298,20 @@ ifp->if_flags |= IFF_RUNNING; ifp->if_flags &= ~IFF_OACTIVE; - splx(s); + callout_reset(&sc->bge_stat_ch, hz, bge_tick, sc); + + return; +} + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 13:10:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BE4A16A4D0; Tue, 11 Nov 2003 13:10:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57D8A16A4CE for ; Tue, 11 Nov 2003 13:10:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E05343F3F for ; Tue, 11 Nov 2003 13:10:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABLA5XJ091698 for ; Tue, 11 Nov 2003 13:10:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABL9fC8091399 for perforce@freebsd.org; Tue, 11 Nov 2003 13:09:41 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 13:09:41 -0800 (PST) Message-Id: <200311112109.hABL9fC8091399@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 21:10:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=42033 Change 42033 by rwatson@rwatson_tislabs on 2003/11/11 13:09:21 Integ the TrustedBSD base branch from FreeBSD vendor branch. Bring in ATM fixes, minor gcc upgrade, lukemftp upgrade, many KAME upgrades, network stack locking improvements, M:N threading fixes, i386 interrupt routing stuff, loopback of some minor MAC bits. Also, if_xname, sysvshm cleanups. Affected files ... .. //depot/projects/trustedbsd/mac/Makefile#26 integrate .. //depot/projects/trustedbsd/mac/Makefile.inc1#43 integrate .. //depot/projects/trustedbsd/mac/UPDATING#33 integrate .. //depot/projects/trustedbsd/mac/bin/Makefile.inc#9 integrate .. //depot/projects/trustedbsd/mac/bin/chmod/chmod.c#9 integrate .. //depot/projects/trustedbsd/mac/bin/rm/rm.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/bsnmp/FREEBSD-upgrade#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/NEWS#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/README#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/TODO#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/VERSION#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/gensnmptree/gensnmptree.1#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/gensnmptree/gensnmptree.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/asn1.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/asn1.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/asn1.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/bsnmpagent.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/bsnmpclient.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/bsnmplib.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/snmp.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/snmp.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/snmpagent.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/snmpagent.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/snmpclient.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/snmpclient.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/lib/snmppriv.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_ifmib.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_ifstack.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_ip.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_nettomedia.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_rcvaddr.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_route.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_tcp.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_tree.def#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/mibII_udp.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/snmp_mibII.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmp_mibII/snmp_mibII.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/.gdbinit#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/BEGEMOT-MIB.txt#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/FOKUS-MIB.txt#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/action.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/bsnmpd.1#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/config.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/export.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/main.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/snmpd.config#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/snmpd.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/snmpd.sh#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/snmpmod.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/snmpmod.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/trap.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/bsnmp/snmpd/tree.def#1 branch .. //depot/projects/trustedbsd/mac/contrib/diff/util.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/ChangeLog#13 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/Makefile.in#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/aclocal.m4#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/alias.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/builtins.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/c-decl.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/c-lex.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/c-objc-common.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/c-typeck.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/calls.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cfgcleanup.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cfgloop.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cfgrtl.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/collect2.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/combine.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config.gcc#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config.in#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/alpha/alpha.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/alpha/alpha.h#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/alpha/alpha.md#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/alpha/linux.h#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/arm/linux-elf.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/darwin.h#4 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/freebsd-spec.h#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/emmintrin.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/i386.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/i386.h#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/i386.md#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/mmintrin.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/pmmintrin.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/sco5.h#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/sol2.h#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/t-sco5#6 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/i386/xmmintrin.h#4 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/hpux.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/ia64-protos.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/ia64.c#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/ia64.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/ia64.md#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/ia64intrin.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/libgcc-ia64.ver#5 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/ia64/unwind-ia64.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/linux.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/rs6000/linux.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/rs6000/linux64.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/rs6000/rs6000.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/rs6000/rs6000.md#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/rs6000/sysv4.h#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/sparc/linux.h#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/sparc/linux64.h#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/sparc/sol2-c1.asm#3 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/sparc/sparc.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/sparc/sparc.md#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/t-darwin#2 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/config/t-libunwind#1 branch .. //depot/projects/trustedbsd/mac/contrib/gcc/configure#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/configure.in#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/ChangeLog#13 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/call.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/class.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/cp-tree.h#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/decl.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/decl2.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/friend.c#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/init.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/pt.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/search.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/tree.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/typeck.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cp/typeck2.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cppinit.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cpplib.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cppmain.c#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/cse.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/dbxout.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/doc/contrib.texi#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/doc/extend.texi#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/doc/include/gcc-common.texi#6 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/doc/invoke.texi#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/doc/tm.texi#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/dwarf2out.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/expr.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/f/ChangeLog#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/function.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/gcc.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/libgcc-std.ver#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/loop.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/loop.h#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/mklibgcc.in#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/mkmap-symver.awk#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/real.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/reg-stack.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/reorg.c#8 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/scan-decls.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/stmt.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/stor-layout.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/tlink.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/toplev.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/tree.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/tree.h#10 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/unroll.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/unwind-dw2.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/unwind-libunwind.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/gcc/unwind.h#6 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/varasm.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/gcc/version.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/groff/src/roff/nroff/nroff.man#5 integrate .. //depot/projects/trustedbsd/mac/contrib/groff/src/roff/nroff/nroff.sh#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libf2c/ChangeLog#10 integrate .. //depot/projects/trustedbsd/mac/contrib/libf2c/configure#8 integrate .. //depot/projects/trustedbsd/mac/contrib/libobjc/ChangeLog#11 integrate .. //depot/projects/trustedbsd/mac/contrib/libobjc/configure#9 integrate .. //depot/projects/trustedbsd/mac/contrib/libpcap/gencode.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libpcap/pcap.3#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libpcap/scanner.l#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/ChangeLog#12 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/acinclude.m4#9 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/aclocal.m4#9 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/config/cpu/m68k/atomicity.h#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/config/locale/generic/ctype_members.cc#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/config/locale/gnu/ctype_members.cc#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/config/os/generic/ctype_inline.h#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/config/os/hpux/os_defines.h#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/configure#10 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/configure.target#8 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/include/Makefile.am#8 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/include/Makefile.in#8 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/include/bits/basic_ios.h#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/include/bits/c++config#11 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/include/bits/istream.tcc#7 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/include/bits/locale_facets.tcc#11 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/include/bits/stl_algo.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libstdc++/libsupc++/cxxabi.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/cmds.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/cmdtab.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/domacro.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/extern.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/fetch.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/ftp.1#7 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/ftp.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/ftp_var.h#6 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/main.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/progressbar.c#3 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/ruserpass.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/util.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/lukemftp/src/version.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/ngatm/libngatm/net_in.fig#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/libngatm/net_out.fig#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/libngatm/unicust.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/man/libngatm.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/man/uniaddr.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/man/unifunc.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/man/unistruct.3#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/sscop/common.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/sscop/common.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/sscop/sscop.1#1 branch .. //depot/projects/trustedbsd/mac/contrib/ngatm/sscop/sscop_main.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/sendmail/smrsh/smrsh.c#9 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshd_config.5#9 integrate .. //depot/projects/trustedbsd/mac/etc/Makefile#35 integrate .. //depot/projects/trustedbsd/mac/etc/bluetooth/Makefile#1 branch .. //depot/projects/trustedbsd/mac/etc/defaults/periodic.conf#9 integrate .. //depot/projects/trustedbsd/mac/etc/mac.conf#11 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.include.dist#28 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.local.dist#17 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.root.dist#11 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.usr.dist#29 integrate .. //depot/projects/trustedbsd/mac/etc/periodic/daily/405.status-ata-raid#1 branch .. //depot/projects/trustedbsd/mac/etc/periodic/daily/460.status-mail-rejects#4 integrate .. //depot/projects/trustedbsd/mac/etc/periodic/daily/470.status-named#5 integrate .. //depot/projects/trustedbsd/mac/etc/periodic/daily/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/Makefile#15 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ip6addrctl#1 branch .. //depot/projects/trustedbsd/mac/etc/rc.d/ipnat#8 integrate .. //depot/projects/trustedbsd/mac/etc/rc.firewall#6 integrate .. //depot/projects/trustedbsd/mac/etc/rc.firewall6#5 integrate .. //depot/projects/trustedbsd/mac/games/fortune/datfiles/fortunes2#18 integrate .. //depot/projects/trustedbsd/mac/games/morse/morse.6#2 integrate .. //depot/projects/trustedbsd/mac/games/morse/morse.c#2 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c#2 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gzip/getopt.c#2 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/man/man/man.c#9 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/man/manpath/manpath.config#6 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/patch/backupfile.c#4 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/rcs/lib/conf.h#2 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/send-pr/send-pr.sh#7 integrate .. //depot/projects/trustedbsd/mac/include/Makefile#37 integrate .. //depot/projects/trustedbsd/mac/include/pthread.h#6 integrate .. //depot/projects/trustedbsd/mac/include/rpcsvc/ypclnt.h#5 integrate .. //depot/projects/trustedbsd/mac/include/strhash.h#2 delete .. //depot/projects/trustedbsd/mac/include/vis.h#4 integrate .. //depot/projects/trustedbsd/mac/lib/Makefile#26 integrate .. //depot/projects/trustedbsd/mac/lib/libbsnmp/Makefile#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/Makefile.inc#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/libbsnmp/Makefile#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/Makefile#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/Makefile.inc#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_mibII/Makefile#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_mibII/genfiles#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_mibII/mibII_oid.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_mibII/mibII_tree.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_mibII/mibII_tree.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/Makefile#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/genfiles#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/netgraph_oid.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.def#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/alpha/SYS.h#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/daemon.3#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/daemon.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/fnmatch.3#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/getcwd.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/getlogin.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/getvfsbyname.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/glob.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/vis.3#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/vis.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/ia64/gen/unwind.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/include/libc_private.h#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/include/spinlock.h#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/Makefile.inc#15 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/big5.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/euc.4#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/euc.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/frune.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/gb18030.5#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/gb2312.5#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/locale/gb2312.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/locale/gbk.5#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/gbk.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/mbrtowc.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/mskanji.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/multibyte.3#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/none.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/setlocale.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/setrunelocale.c#9 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/srune.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/locale/table.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/utf2.4#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/utf8.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/wcrtomb.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/wcsftime.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/wcstod.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/wcstof.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/wcstold.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/wctrans.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getaddrinfo.c#13 integrate .. //depot/projects/trustedbsd/mac/lib/libc/nls/msgcat.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/posix1e/acl_support.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/rpc/clnt_dg.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/rpc/clnt_simple.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/rpc/rpc_generic.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/rpc/rpcb_clnt.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/fgetwc.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/fputwc.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/ungetwc.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfprintf.c#15 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfscanf.c#13 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfwprintf.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfwscanf.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vswprintf.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vswscanf.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/Makefile.inc#11 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/malloc.c#16 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/radixsort.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/strhash.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/string/bcopy.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/string/wcscoll.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/string/wcsxfrm.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/Makefile.inc#12 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/jail.2#6 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/kqueue.2#9 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/ktrace.2#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/munmap.2#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/utrace.2#1 branch .. //depot/projects/trustedbsd/mac/lib/libdisk/Makefile#10 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/chunk.c#15 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/create_chunk.c#17 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/disk.c#27 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/libdisk.h#18 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/open_disk.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libdisk/open_ia64_disk.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libdisk/rules.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/tst01.c#9 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/write_disk.c#12 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/write_ia64_disk.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/ipsec_dump_policy.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/ipsec_set_policy.3#6 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/ipsec_strerror.3#5 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/pfkey.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/pfkey_dump.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/policy_parse.y#3 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/policy_token.l#3 integrate .. //depot/projects/trustedbsd/mac/lib/libipsec/test-policy.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libngatm/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpcap/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/pthread.map#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/sys/lock.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/sys/lock.h#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/Makefile.inc#9 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_atfork.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_fork.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_init.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_kern.c#14 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_mutex.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_private.h#13 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_pspinlock.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_rtld.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_spinlock.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/librpcsvc/rnusers.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/librpcsvc/rstat.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/librpcsvc/rwall.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/librpcsvc/yp_passwd.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/librpcsvc/yp_update.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libsdp/search.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libsdp/util.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libstand/environment.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libstand/stand.h#10 integrate .. //depot/projects/trustedbsd/mac/lib/libutil/login_cap.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libutil/login_class.c#14 integrate .. //depot/projects/trustedbsd/mac/lib/msun/src/e_scalb.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/msun/src/e_scalbf.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/msun/src/s_fabsl.c#2 integrate .. //depot/projects/trustedbsd/mac/libexec/ftpd/ftpcmd.y#16 integrate .. //depot/projects/trustedbsd/mac/libexec/ypxfr/ypxfr_main.c#5 integrate .. //depot/projects/trustedbsd/mac/libexec/ypxfr/ypxfrd_getmap.c#4 integrate .. //depot/projects/trustedbsd/mac/release/Makefile#51 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#41 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#64 integrate .. //depot/projects/trustedbsd/mac/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#14 integrate .. //depot/projects/trustedbsd/mac/release/i386/dokern.sh#19 integrate .. //depot/projects/trustedbsd/mac/release/picobsd/build/picobsd#8 integrate .. //depot/projects/trustedbsd/mac/rescue/rescue/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sbin/Makefile#22 integrate .. //depot/projects/trustedbsd/mac/sbin/Makefile.inc#4 integrate .. //depot/projects/trustedbsd/mac/sbin/atacontrol/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sbin/atacontrol/atacontrol.c#11 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atmconfig/diag.c#2 integrate .. //depot/projects/trustedbsd/mac/sbin/dump/dump.8#16 integrate .. //depot/projects/trustedbsd/mac/sbin/dump/dump.h#13 integrate .. //depot/projects/trustedbsd/mac/sbin/dump/traverse.c#13 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck/fsck.c#11 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck/fsutil.h#3 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck_msdosfs/check.c#4 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck_msdosfs/ext.h#5 integrate .. //depot/projects/trustedbsd/mac/sbin/growfs/growfs.c#11 integrate .. //depot/projects/trustedbsd/mac/sbin/ifconfig/ifconfig.c#19 integrate .. //depot/projects/trustedbsd/mac/sbin/ifconfig/ifieee80211.c#7 integrate .. //depot/projects/trustedbsd/mac/sbin/ip6fw/ip6fw.c#8 integrate .. //depot/projects/trustedbsd/mac/sbin/ipfw/ipfw2.c#18 integrate .. //depot/projects/trustedbsd/mac/sbin/md5/md5.1#3 integrate .. //depot/projects/trustedbsd/mac/sbin/md5/md5.c#5 integrate .. //depot/projects/trustedbsd/mac/sbin/mksnap_ffs/mksnap_ffs.c#2 integrate .. //depot/projects/trustedbsd/mac/sbin/mount/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_cd9660/mount_cd9660.c#6 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_udf/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_udf/mount_udf.8#5 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_udf/mount_udf.c#6 integrate .. //depot/projects/trustedbsd/mac/sbin/newfs/mkfs.c#18 integrate .. //depot/projects/trustedbsd/mac/sbin/nos-tun/nos-tun.c#5 integrate .. //depot/projects/trustedbsd/mac/sbin/restore/dirs.c#6 integrate .. //depot/projects/trustedbsd/mac/sbin/route/route.8#5 integrate .. //depot/projects/trustedbsd/mac/sbin/sunlabel/sunlabel.c#4 integrate .. //depot/projects/trustedbsd/mac/sbin/sysctl/sysctl.8#11 integrate .. //depot/projects/trustedbsd/mac/sbin/sysctl/sysctl.c#15 integrate .. //depot/projects/trustedbsd/mac/sbin/umount/umount.c#8 integrate .. //depot/projects/trustedbsd/mac/sbin/vinum/list.c#7 integrate .. //depot/projects/trustedbsd/mac/share/colldef/Makefile#16 integrate .. //depot/projects/trustedbsd/mac/share/doc/IPv6/IMPLEMENTATION#4 integrate .. //depot/projects/trustedbsd/mac/share/examples/Makefile#7 integrate .. //depot/projects/trustedbsd/mac/share/examples/cvsup/refuse#6 integrate .. //depot/projects/trustedbsd/mac/share/examples/cvsup/refuse.README#7 integrate .. //depot/projects/trustedbsd/mac/share/man/man3/tree.3#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/Makefile#35 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/aac.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/acpi.4#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/aha.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ahb.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ahc.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/an.4#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ata.4#7 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ath.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ath_hal.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ciss.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/dc.4#7 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/dcons.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/dcons_crom.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/de.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/hatm.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/kld.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/led.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/Makefile#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/aic.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/ep.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/ex.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/svr4.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/wd.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/miibus.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/mpt.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/ncr.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_bluetooth.4#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_bt3c.4#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_btsocket.4#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_h4.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_hci.4#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_l2cap.4#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_sscfu.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/ng_sscop.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/ng_ubt.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_uni.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/rl.4#7 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/sbp_targ.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/sis.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/sym.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/uaudio.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/ufm.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/utopia.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/xe.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man5/elf.5#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man5/rc.conf.5#28 integrate .. //depot/projects/trustedbsd/mac/share/man/man7/hier.7#16 integrate .. //depot/projects/trustedbsd/mac/share/man/man7/ports.7#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/Makefile#33 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/alq.9#1 branch .. //depot/projects/trustedbsd/mac/share/man/man9/device_get_name.9#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/ifnet.9#11 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/pfind.9#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/pgfind.9#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/resource_query_string.9#3 delete .. //depot/projects/trustedbsd/mac/share/man/man9/style.9#21 integrate .. //depot/projects/trustedbsd/mac/share/misc/bsd-family-tree#12 integrate .. //depot/projects/trustedbsd/mac/share/misc/pci_vendors#18 integrate .. //depot/projects/trustedbsd/mac/share/mk/bsd.libnames.mk#18 integrate .. //depot/projects/trustedbsd/mac/share/mklocale/Makefile#15 integrate .. //depot/projects/trustedbsd/mac/share/mklocale/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/mac/share/monetdef/Makefile#16 integrate .. //depot/projects/trustedbsd/mac/share/monetdef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/mac/share/msgdef/Makefile#16 integrate .. //depot/projects/trustedbsd/mac/share/msgdef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/mac/share/numericdef/Makefile#16 integrate .. //depot/projects/trustedbsd/mac/share/security/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/share/timedef/Makefile#15 integrate .. //depot/projects/trustedbsd/mac/share/timedef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/machdep.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/include/bus.h#14 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/linux_proto.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/linux_syscall.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/linux_sysent.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/syscalls.master#4 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/osf1/osf1_ioctl.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/osf1/osf1_proto.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/osf1/osf1_syscall.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/osf1/osf1_sysent.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/osf1/syscalls.master#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/machdep.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/nexus.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/pmap.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/trap.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/vm_machdep.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/conf/gethints.awk#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/ia32/ia32_signal.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/bus_dma.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/cpufunc.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/fpu.h#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/include/frame.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/ieeefp.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/npx.h#4 delete .. //depot/projects/trustedbsd/mac/sys/amd64/include/pcb.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/pmap.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/reg.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/signal.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/specialreg.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/ucontext.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/vmparam.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/isa/npx.c#3 delete .. //depot/projects/trustedbsd/mac/sys/amd64/isa/vector.S#2 integrate .. //depot/projects/trustedbsd/mac/sys/boot/common/dev_net.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/boot/forth/beastie.4th#4 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/boot2/boot2.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/btx/btxldr/btxldr.s#3 integrate .. //depot/projects/trustedbsd/mac/sys/boot/ia64/libski/pal_stub.S#2 integrate .. //depot/projects/trustedbsd/mac/sys/boot/ia64/skiload/Makefile#7 integrate .. //depot/projects/trustedbsd/mac/sys/boot/sparc64/loader/metadata.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/cam/cam_periph.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/cam/cam_xpt.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/cam/scsi/scsi_cd.c#20 integrate .. //depot/projects/trustedbsd/mac/sys/cam/scsi/scsi_target.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/coda/coda_psdev.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/coda/coda_subr.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_ioctl.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_ipc.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_socket.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_stats.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/conf/NOTES#48 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files#97 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.amd64#7 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.i386#33 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.pc98#29 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.sparc64#24 integrate .. //depot/projects/trustedbsd/mac/sys/conf/kern.mk#6 integrate .. //depot/projects/trustedbsd/mac/sys/conf/kern.post.mk#25 integrate .. //depot/projects/trustedbsd/mac/sys/conf/kern.pre.mk#20 integrate .. //depot/projects/trustedbsd/mac/sys/conf/kmod.mk#21 integrate .. //depot/projects/trustedbsd/mac/sys/conf/majors#25 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options#59 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.i386#18 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.pc98#18 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/acpica/dmresrc.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/ah.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/ah_devid.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/freebsd/ah_osdep.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/freebsd/ah_osdep.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/version.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/oltr/if_oltr.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_bstream.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_bstream.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_context.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_context.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_env.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_env.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_scoreboard.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_self.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_self.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_step.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_step.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_str.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_str.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_swap.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_swap.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_trace.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_trace.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_uinfo.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_utable.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/src/uwx_utable.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/test/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/test/dump_context.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/test/dumpmyself.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ia64/libuwx/test/primeregs.s#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ipfilter/netinet/ip_compat.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ipfilter/netinet/ip_fil.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ipfilter/netinet/ip_log.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/FREEBSD-upgrade#2 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/addr.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/genfiles#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/misc/straddr.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/geniec.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/genieh.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/genmsgc.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/genmsgh.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/ie.def#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/msg.def#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/parseie.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/parsemsg.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/priv.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/privmsg.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/traffic.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uni_config.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uni_hdr.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uni_ie.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uni_ie.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uni_ietab.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uni_msg.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uni_msg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/unimsglib.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/uniprint.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/msg/unistruct.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/genmsgcpyc.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/genmsgcpyh.awk#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_call.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_coord.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_party.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_print.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_reset.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_uni.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_unimsgcpy.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/sig_verify.c#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/uni.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/unidef.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/unimkmsg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/unimsgcpy.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/unipriv.h#1 branch .. //depot/projects/trustedbsd/mac/sys/contrib/ngatm/netnatm/sig/unisig.h#1 branch .. //depot/projects/trustedbsd/mac/sys/crypto/rijndael/rijndael-alg-fst.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/crypto/rijndael/rijndael-alg-fst.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/crypto/rijndael/rijndael-api-fst.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/crypto/rijndael/rijndael-api-fst.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/crypto/rijndael/rijndael.c#1 branch .. //depot/projects/trustedbsd/mac/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aac/aac.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aac/aac_pci.c#20 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/Osd/OsdInterrupt.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpivar.h#20 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aha/aha.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aha/aha_isa.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aha/aha_mca.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aha/ahareg.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aic7xxx/ahc_pci.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aic7xxx/ahd_pci.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/an/if_an.c#20 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ar/if_ar.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-all.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-all.h#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-chipset.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-disk.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-lowlevel.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-pci.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-raid.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-cam.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-cd.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-cd.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-fd.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-tape.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ath/if_ath_pci.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/awi/if_awi_pccard.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/bge/if_bge.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/dev/bge/if_bgereg.h#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/bktr/bktr_core.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cardbus/cardbus.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ciss/ciss.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cm/if_cm_isa.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cm/smc90cx6.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cm/smc90cx6var.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cnw/if_cnw.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cs/if_cs.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cs/if_cs_isa.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cs/if_cs_pccard.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cs/if_csreg.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/cs/if_csvar.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/dcons/dcons_crom.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/drm_drv.h#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/drm_os_freebsd.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ed/if_ed.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ed/if_ed_cbus.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ed/if_ed_isa.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ed/if_ed_pccard.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ed/if_ed_pci.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ed/if_edvar.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/em/if_em.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/dev/en/if_en_pci.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/en/midway.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ep/if_ep.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ep/if_ep_eisa.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ep/if_ep_isa.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ep/if_ep_mca.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ep/if_ep_pccard.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ep/if_epreg.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ep/if_epvar.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ex/if_ex.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ex/if_ex_pccard.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fatm/if_fatm.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fb/creator.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fe/if_fe.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fe/if_fevar.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/firewire.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/firewire.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/firewirereg.h#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/fwdev.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/fwmem.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/fwohci.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/fwohci_pci.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/if_fwe.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/sbp.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fxp/if_fxp.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fxp/if_fxpvar.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/gem/if_gem.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/gx/if_gx.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/harp/if_harp.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatm.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatm_intr.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatm_rx.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatm_tx.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatmvar.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hme/if_hme.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ie/if_ie.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/iicbus/if_ic.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/kbd/kbd.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/led/led.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/led/led.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/lge/if_lge.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/lnc/if_lnc.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mii/brgphy.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/my/if_my.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ncv/ncr53c500_pccard.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/nge/if_nge.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/dev/nmdm/nmdm.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/null/null.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/patm/if_patm_attach.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccard/pccard.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccard/pccarddevs#22 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccard/pccarddevs.h#22 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccard/pccardvar.h#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccbb/pccbb.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pci/pci.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pdq/if_fea.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pdq/if_fpa.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pdq/pdq_freebsd.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pdq/pdqvar.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ppbus/if_plip.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/puc/puc_pccard.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/puc/puc_pci.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/random/randomdev.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ray/if_ray.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/re/if_re.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sab/sab.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sbni/if_sbni.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sbni/if_sbni_isa.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sbsh/if_sbsh.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sio/sio_pci.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sn/if_sn.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sn/if_sn_isa.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sn/if_sn_pccard.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sn/if_snreg.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sn/if_snvar.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/snc/dp83932.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/snp/snp.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/isa/mpu.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/midi/midibuf.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pci/cmi.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/channel.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/dsp.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/mixer.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sr/if_sr.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/syscons/syscons.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/twe/twereg.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/tx/if_tx.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/txp/if_txp.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/uart/uart_bus_pci.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/uart/uart_cpu_sparc64.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/uart/uart_kbd_sun.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/uart/uart_kbd_sun.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/uart/uart_kbd_sun_tables.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/if_aue.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/if_axe.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/if_cue.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/if_kue.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/if_rue.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ohci.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ohci_pci.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ucom.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ugen.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/uhci.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/uhci_pci.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/uhid.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ums.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/usb.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/usb_ethersubr.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/usb_port.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/usbdi.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/uvisor.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/vx/if_vx.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/vx/if_vx_eisa.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/vx/if_vx_pci.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/vx/if_vxvar.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/wi/if_wi.c#36 integrate .. //depot/projects/trustedbsd/mac/sys/dev/wl/if_wl.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/xe/if_xe.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/xe/if_xe_pccard.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/zs/zs.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/fs/fifofs/fifo_vnops.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/fs/msdosfs/msdosfs_vfsops.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/fs/udf/osta.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/fs/udf/osta.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/fs/udf/udf.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/fs/udf/udf_iconv.c#1 branch .. //depot/projects/trustedbsd/mac/sys/fs/udf/udf_mount.h#3 branch .. //depot/projects/trustedbsd/mac/sys/fs/udf/udf_vfsops.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/fs/udf/udf_vnops.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/fs/unionfs/union_vfsops.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/gnu/ext2fs/alpha-bitops.h#2 delete .. //depot/projects/trustedbsd/mac/sys/gnu/ext2fs/ext2_linux_balloc.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/gnu/ext2fs/ext2_linux_ialloc.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/gnu/ext2fs/ext2_vfsops.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/i386/acpica/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sys/i386/acpica/acpi_machdep.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/i386/acpica/acpi_wakecode.S#4 integrate .. //depot/projects/trustedbsd/mac/sys/i386/acpica/acpi_wakeup.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/i386/acpica/madt.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/bios/apm.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/i386/conf/GENERIC#32 integrate .. //depot/projects/trustedbsd/mac/sys/i386/conf/NOTES#42 integrate .. //depot/projects/trustedbsd/mac/sys/i386/conf/PAE#5 integrate .. //depot/projects/trustedbsd/mac/sys/i386/conf/SMP#3 delete .. //depot/projects/trustedbsd/mac/sys/i386/i386/apic_vector.s#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/i386/autoconf.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/bios.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/critical.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/db_interface.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/db_trace.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/elan-mmcr.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/exception.s#9 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/genassym.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/identcpu.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/initcpu.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/intr_machdep.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/i386/io_apic.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/i386/local_apic.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/i386/locore.s#16 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/machdep.c#37 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/mp_machdep.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/mpapic.c#14 delete .. //depot/projects/trustedbsd/mac/sys/i386/i386/mpboot.s#4 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/mptable.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/i386/mptable_pci.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/i386/nexus.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/pmap.c#38 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/support.s#10 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/trap.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/apic.h#8 delete .. //depot/projects/trustedbsd/mac/sys/i386/include/apicreg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/include/apicvar.h#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/include/asmacros.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/bus_dma.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/clock.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/critical.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/intr_machdep.h#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/include/md_var.h#17 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/mptable.h#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/include/pcpu.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/pmap.h#14 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/proc.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/segments.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/smp.h#11 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/smptests.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/apic_ipl.s#3 delete .. //depot/projects/trustedbsd/mac/sys/i386/isa/apic_vector.s#13 delete .. //depot/projects/trustedbsd/mac/sys/i386/isa/asc.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/atpic.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/isa/atpic_vector.s#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/isa/bs/bsif.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/clock.c#20 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/cx.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/icu.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/icu_ipl.s#3 delete .. //depot/projects/trustedbsd/mac/sys/i386/isa/icu_vector.s#5 delete .. //depot/projects/trustedbsd/mac/sys/i386/isa/if_cx.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/if_el.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/if_le.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/if_rdp.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/intr_machdep.c#12 delete .. //depot/projects/trustedbsd/mac/sys/i386/isa/intr_machdep.h#9 delete .. //depot/projects/trustedbsd/mac/sys/i386/isa/isa_compat.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/istallion.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/ithread.c#4 delete .. //depot/projects/trustedbsd/mac/sys/i386/isa/mse.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/nmi.c#1 branch .. //depot/projects/trustedbsd/mac/sys/i386/isa/npx.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/spic.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/stallion.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/vector.s#3 delete .. //depot/projects/trustedbsd/mac/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/i386/linux/linux_sysent.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/trustedbsd/mac/sys/i386/pci/pci_bus.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/i386/pci/pci_cfgreg.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/i4b/driver/i4b_ipr.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/i4b/driver/i4b_isppp.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/i4b/driver/i4b_rbch.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/i4b/driver/i4b_tel.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/i4b/driver/i4b_trace.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/i4b/include/i4b_global.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/i4b/layer4/i4b_i4bdrv.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/conf/GENERIC#27 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/conf/GENERIC.hints#4 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia32/ia32_proto.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia32/ia32_syscall.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia32/ia32_sysent.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia32/syscalls.master#15 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/elf_machdep.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/exception.S#4 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/machdep.c#37 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/ptrace_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/sys_machdep.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/syscall.S#4 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/trap.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/unaligned.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/vm_machdep.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/include/_types.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/include/bus.h#12 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/include/pc/bios.h#2 delete .. //depot/projects/trustedbsd/mac/sys/ia64/include/pc/msdos.h#2 delete .. //depot/projects/trustedbsd/mac/sys/ia64/include/pc/vesa.h#3 delete .. //depot/projects/trustedbsd/mac/sys/ia64/include/sysarch.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/include/ucontext.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/isa/psm.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/isa/syscons_isa.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/kern/init_sysent.c#57 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_condvar.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_context.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_event.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_fork.c#36 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_intr.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_ktrace.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#428 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_poll.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_resource.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_sig.c#37 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_synch.c#30 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_time.c#17 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 13:38:45 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCE6216A4D0; Tue, 11 Nov 2003 13:38:44 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 89C0416A4CF for ; Tue, 11 Nov 2003 13:38:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4859743FA3 for ; Tue, 11 Nov 2003 13:38:43 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABLchXJ003525 for ; Tue, 11 Nov 2003 13:38:43 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABLcgVw003522 for perforce@freebsd.org; Tue, 11 Nov 2003 13:38:42 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 13:38:42 -0800 (PST) Message-Id: <200311112138.hABLcgVw003522@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42037 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 21:38:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=42037 Change 42037 by rwatson@rwatson_tislabs on 2003/11/11 13:38:05 Manually integrate a change from the FreeBSD tree: make MAC_INTERNALIZE(), MAC_EXTERNALIZE() accept object names, rather than a subset of the entry point string. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_internal.h#14 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#11 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_pipe.c#11 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_process.c#9 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_vfs.c#8 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_internal.h#14 (text+ko) ==== @@ -206,8 +206,8 @@ break; \ } \ claimed = 0; \ - MAC_CHECK(externalize_ ## type, label, element_name, \ - &sb, &claimed); \ + MAC_CHECK(externalize_ ## type ## _label, label, \ + element_name, &sb, &claimed); \ if (error) \ break; \ if (claimed == 0 && ignorenotfound) { \ @@ -237,8 +237,8 @@ break; \ } \ claimed = 0; \ - MAC_CHECK(internalize_ ## type, label, element_name, \ - element_data, &claimed); \ + MAC_CHECK(internalize_ ## type ## _label, label, \ + element_name, element_data, &claimed); \ if (error) \ break; \ if (claimed != 1) { \ ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#11 (text+ko) ==== @@ -388,7 +388,7 @@ { int error; - MAC_EXTERNALIZE(ifnet_label, label, elements, outbuf, outbuflen); + MAC_EXTERNALIZE(ifnet, label, elements, outbuf, outbuflen); return (error); } @@ -399,7 +399,7 @@ { int error; - MAC_EXTERNALIZE(socket_label, label, elements, outbuf, outbuflen); + MAC_EXTERNALIZE(socket, label, elements, outbuf, outbuflen); return (error); } @@ -410,7 +410,7 @@ { int error; - MAC_EXTERNALIZE(socket_peer_label, label, elements, outbuf, outbuflen); + MAC_EXTERNALIZE(socket_peer, label, elements, outbuf, outbuflen); return (error); } @@ -420,7 +420,7 @@ { int error; - MAC_INTERNALIZE(ifnet_label, label, string); + MAC_INTERNALIZE(ifnet, label, string); return (error); } @@ -430,7 +430,7 @@ { int error; - MAC_INTERNALIZE(socket_label, label, string); + MAC_INTERNALIZE(socket, label, string); return (error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_pipe.c#11 (text+ko) ==== @@ -110,7 +110,7 @@ { int error; - MAC_EXTERNALIZE(pipe_label, label, elements, outbuf, outbuflen); + MAC_EXTERNALIZE(pipe, label, elements, outbuf, outbuflen); return (error); } @@ -120,7 +120,7 @@ { int error; - MAC_INTERNALIZE(pipe_label, label, string); + MAC_INTERNALIZE(pipe, label, string); return (error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_process.c#9 (text+ko) ==== @@ -172,7 +172,7 @@ { int error; - MAC_EXTERNALIZE(cred_label, label, elements, outbuf, outbuflen); + MAC_EXTERNALIZE(cred, label, elements, outbuf, outbuflen); return (error); } @@ -182,7 +182,7 @@ { int error; - MAC_INTERNALIZE(cred_label, label, string); + MAC_INTERNALIZE(cred, label, string); return (error); } ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_vfs.c#8 (text+ko) ==== @@ -241,7 +241,7 @@ { int error; - MAC_EXTERNALIZE(vnode_label, label, elements, outbuf, outbuflen); + MAC_EXTERNALIZE(vnode, label, elements, outbuf, outbuflen); return (error); } @@ -251,7 +251,7 @@ { int error; - MAC_INTERNALIZE(vnode_label, label, string); + MAC_INTERNALIZE(vnode, label, string); return (error); } From owner-p4-projects@FreeBSD.ORG Tue Nov 11 13:39:46 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F54B16A4D0; Tue, 11 Nov 2003 13:39:46 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 052E216A4CE for ; Tue, 11 Nov 2003 13:39:46 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 71C1A43FB1 for ; Tue, 11 Nov 2003 13:39:45 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABLdjXJ003589 for ; Tue, 11 Nov 2003 13:39:45 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABLdiJT003586 for perforce@freebsd.org; Tue, 11 Nov 2003 13:39:44 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 13:39:44 -0800 (PST) Message-Id: <200311112139.hABLdiJT003586@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42038 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 21:39:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=42038 Change 42038 by rwatson@rwatson_tislabs on 2003/11/11 13:39:38 Integ mac_stub Makefile loopback. Affected files ... .. //depot/projects/trustedbsd/base/sys/modules/mac_stub/Makefile#2 integrate Differences ... ==== //depot/projects/trustedbsd/base/sys/modules/mac_stub/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.3 2003/08/21 15:43:01 rwatson Exp $ +# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.4 2003/11/11 21:23:54 rwatson Exp $ -.PATH: ${.CURDIR}/../../security/mac_none +.PATH: ${.CURDIR}/../../security/mac_stub -KMOD= mac_none +KMOD= mac_stub SRCS= vnode_if.h \ - mac_none.c + mac_stub.c .include From owner-p4-projects@FreeBSD.ORG Tue Nov 11 13:44:59 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74A8C16A4D0; Tue, 11 Nov 2003 13:44:59 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5019816A4CE for ; Tue, 11 Nov 2003 13:44:59 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C1DF243F3F for ; Tue, 11 Nov 2003 13:44:58 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABLiwXJ004055 for ; Tue, 11 Nov 2003 13:44:58 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABLiw31004052 for perforce@freebsd.org; Tue, 11 Nov 2003 13:44:58 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Tue, 11 Nov 2003 13:44:58 -0800 (PST) Message-Id: <200311112144.hABLiw31004052@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 42044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 21:44:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=42044 Change 42044 by jhb@jhb_blue on 2003/11/11 13:44:48 IFC @42043 to get subr_turnstile.c repocopy. Peter still needs to axe the kern_turnstile.c,v file. Affected files ... .. //depot/projects/smpng/sys/i386/i386/mptable.c#4 integrate .. //depot/projects/smpng/sys/kern/kern_turnstile.c#1 branch .. //depot/projects/smpng/sys/kern/subr_turnstile.c#1 branch .. //depot/projects/smpng/sys/modules/mac_stub/Makefile#2 integrate Differences ... ==== //depot/projects/smpng/sys/i386/i386/mptable.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.224 2003/11/11 17:14:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); #include "opt_mptable_force_htt.h" #include @@ -893,6 +893,8 @@ return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); ==== //depot/projects/smpng/sys/modules/mac_stub/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.3 2003/08/21 15:43:01 rwatson Exp $ +# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.4 2003/11/11 21:23:54 rwatson Exp $ -.PATH: ${.CURDIR}/../../security/mac_none +.PATH: ${.CURDIR}/../../security/mac_stub -KMOD= mac_none +KMOD= mac_stub SRCS= vnode_if.h \ - mac_none.c + mac_stub.c .include From owner-p4-projects@FreeBSD.ORG Tue Nov 11 14:10:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2B2B16A4D0; Tue, 11 Nov 2003 14:10:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CE3D216A4CE for ; Tue, 11 Nov 2003 14:10:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC54C43FE1 for ; Tue, 11 Nov 2003 14:10:34 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABMAYXJ006326 for ; Tue, 11 Nov 2003 14:10:34 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABMAY0F006323 for perforce@freebsd.org; Tue, 11 Nov 2003 14:10:34 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Tue, 11 Nov 2003 14:10:34 -0800 (PST) Message-Id: <200311112210.hABMAY0F006323@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 42052 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 22:10:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=42052 Change 42052 by jhb@jhb_blue on 2003/11/11 14:09:38 IFC @42051. Affected files ... .. //depot/projects/smpng/sys/kern/kern_turnstile.c#2 delete .. //depot/projects/smpng/sys/pci/agp.c#16 integrate .. //depot/projects/smpng/sys/pci/agp_ali.c#7 integrate Differences ... ==== //depot/projects/smpng/sys/pci/agp.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/agp.c,v 1.33 2003/10/23 18:08:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/agp.c,v 1.34 2003/11/11 21:49:18 anholt Exp $"); #include "opt_bus.h" @@ -175,6 +175,11 @@ "allocating GATT for aperture of size %dM\n", apsize / (1024*1024)); + if (entries == 0) { + device_printf(dev, "bad aperture size\n"); + return NULL; + } + gatt = malloc(sizeof(struct agp_gatt), M_AGP, M_NOWAIT); if (!gatt) return 0; ==== //depot/projects/smpng/sys/pci/agp_ali.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/agp_ali.c,v 1.8 2003/08/22 07:13:20 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/agp_ali.c,v 1.9 2003/11/11 21:49:18 anholt Exp $"); #include "opt_bus.h" @@ -102,6 +102,10 @@ return error; sc->initial_aperture = AGP_GET_APERTURE(dev); + if (sc->initial_aperture == 0) { + device_printf(dev, "bad initial aperture size, disabling\n"); + return ENXIO; + } for (;;) { gatt = agp_alloc_gatt(dev); From owner-p4-projects@FreeBSD.ORG Tue Nov 11 14:13:43 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22B1B16A4D0; Tue, 11 Nov 2003 14:13:43 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EF1DB16A4CE for ; Tue, 11 Nov 2003 14:13:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC25243FBD for ; Tue, 11 Nov 2003 14:13:40 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hABMDeXJ006467 for ; Tue, 11 Nov 2003 14:13:40 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hABMDent006464 for perforce@freebsd.org; Tue, 11 Nov 2003 14:13:40 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Tue, 11 Nov 2003 14:13:40 -0800 (PST) Message-Id: <200311112213.hABMDent006464@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 42055 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 22:13:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=42055 Change 42055 by jhb@jhb_blue on 2003/11/11 14:13:32 IFC @42053: loopback turnstiles. Affected files ... .. //depot/projects/smpng/sys/conf/files#93 integrate .. //depot/projects/smpng/sys/kern/kern_mutex.c#73 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#46 integrate .. //depot/projects/smpng/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#107 integrate .. //depot/projects/smpng/sys/sys/_mutex.h#11 integrate .. //depot/projects/smpng/sys/sys/filedesc.h#18 integrate .. //depot/projects/smpng/sys/sys/proc.h#104 integrate Differences ... ==== //depot/projects/smpng/sys/conf/files#93 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.847 2003/11/11 18:58:53 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.848 2003/11/11 22:07:29 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1154,6 +1154,7 @@ kern/subr_smp.c optional smp kern/subr_taskqueue.c standard kern/subr_trap.c standard +kern/subr_turnstile.c standard kern/subr_witness.c optional witness kern/sys_generic.c standard kern/sys_pipe.c standard ==== //depot/projects/smpng/sys/kern/kern_mutex.c#73 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.131 2003/07/31 18:52:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.132 2003/11/11 22:07:29 jhb Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -90,122 +91,6 @@ struct mtx sched_lock; struct mtx Giant; -/* - * Prototypes for non-exported routines. - */ -static void propagate_priority(struct thread *); - -static void -propagate_priority(struct thread *td) -{ - int pri = td->td_priority; - struct mtx *m = td->td_blocked; - - mtx_assert(&sched_lock, MA_OWNED); - for (;;) { - struct thread *td1; - - td = mtx_owner(m); - - if (td == NULL) { - /* - * This really isn't quite right. Really - * ought to bump priority of thread that - * next acquires the mutex. - */ - MPASS(m->mtx_lock == MTX_CONTESTED); - return; - } - - MPASS(td->td_proc != NULL); - MPASS(td->td_proc->p_magic == P_MAGIC); - KASSERT(!TD_IS_SLEEPING(td), ( - "sleeping thread (pid %d) owns a mutex", - td->td_proc->p_pid)); - if (td->td_priority <= pri) /* lower is higher priority */ - return; - - - /* - * If lock holder is actually running, just bump priority. - */ - if (TD_IS_RUNNING(td)) { - td->td_priority = pri; - return; - } - -#ifndef SMP - /* - * For UP, we check to see if td is curthread (this shouldn't - * ever happen however as it would mean we are in a deadlock.) - */ - KASSERT(td != curthread, ("Deadlock detected")); -#endif - - /* - * If on run queue move to new run queue, and quit. - * XXXKSE this gets a lot more complicated under threads - * but try anyhow. - */ - if (TD_ON_RUNQ(td)) { - MPASS(td->td_blocked == NULL); - sched_prio(td, pri); - return; - } - /* - * Adjust for any other cases. - */ - td->td_priority = pri; - - /* - * If we aren't blocked on a mutex, we should be. - */ - KASSERT(TD_ON_LOCK(td), ( - "process %d(%s):%d holds %s but isn't blocked on a mutex\n", - td->td_proc->p_pid, td->td_proc->p_comm, td->td_state, - m->mtx_object.lo_name)); - - /* - * Pick up the mutex that td is blocked on. - */ - m = td->td_blocked; - MPASS(m != NULL); - - /* - * Check if the thread needs to be moved up on - * the blocked chain - */ - if (td == TAILQ_FIRST(&m->mtx_blocked)) { - continue; - } - - td1 = TAILQ_PREV(td, threadqueue, td_lockq); - if (td1->td_priority <= pri) { - continue; - } - - /* - * Remove thread from blocked chain and determine where - * it should be moved up to. Since we know that td1 has - * a lower priority than td, we know that at least one - * thread in the chain has a lower priority and that - * td1 will thus not be NULL after the loop. - */ - TAILQ_REMOVE(&m->mtx_blocked, td, td_lockq); - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) { - MPASS(td1->td_proc->p_magic == P_MAGIC); - if (td1->td_priority > pri) - break; - } - - MPASS(td1 != NULL); - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - CTR4(KTR_LOCK, - "propagate_priority: p %p moved before %p on [%p] %s", - td, td1, m, m->mtx_object.lo_name); - } -} - #ifdef MUTEX_PROFILING SYSCTL_NODE(_debug, OID_AUTO, mutex, CTLFLAG_RD, NULL, "mutex debugging"); SYSCTL_NODE(_debug_mutex, OID_AUTO, prof, CTLFLAG_RD, NULL, "mutex profiling"); @@ -487,8 +372,8 @@ void _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td = curthread; - struct thread *td1; #if defined(SMP) && defined(ADAPTIVE_MUTEXES) struct thread *owner; #endif @@ -515,15 +400,15 @@ while (!_obtain_lock(m, td)) { - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); v = m->mtx_lock; /* * Check if the lock has been released while spinning for - * the sched_lock. + * the turnstile chain lock. */ if (v == MTX_UNOWNED) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -537,14 +422,9 @@ * necessary. */ if (v == MTX_CONTESTED) { - td1 = TAILQ_FIRST(&m->mtx_blocked); - MPASS(td1 != NULL); + MPASS(ts != NULL); m->mtx_lock = (uintptr_t)td | MTX_CONTESTED; - LIST_INSERT_HEAD(&td->td_contested, m, mtx_contested); - - if (td1->td_priority < td->td_priority) - td->td_priority = td1->td_priority; - mtx_unlock_spin(&sched_lock); + turnstile_claim(ts); return; } @@ -556,7 +436,7 @@ if ((v & MTX_CONTESTED) == 0 && !atomic_cmpset_ptr(&m->mtx_lock, (void *)v, (void *)(v | MTX_CONTESTED))) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -570,7 +450,7 @@ */ owner = (struct thread *)(v & MTX_FLAGMASK); if (m != &Giant && TD_IS_RUNNING(owner)) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); while (mtx_owner(m) == owner && TD_IS_RUNNING(owner)) { #ifdef __i386__ ia32_pause(); @@ -585,42 +465,6 @@ */ mtx_assert(m, MA_NOTOWNED); -#ifdef notyet - /* - * If we're borrowing an interrupted thread's VM context, we - * must clean up before going to sleep. - */ - if (td->td_ithd != NULL) { - struct ithd *it = td->td_ithd; - - if (it->it_interrupted) { - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR2(KTR_LOCK, - "_mtx_lock_sleep: %p interrupted %p", - it, it->it_interrupted); - intr_thd_fixup(it); - } - } -#endif - - /* - * Put us on the list of threads blocked on this mutex - * and add this mutex to the owning thread's list of - * contested mutexes if needed. - */ - if (TAILQ_EMPTY(&m->mtx_blocked)) { - td1 = mtx_owner(m); - LIST_INSERT_HEAD(&td1->td_contested, m, mtx_contested); - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } else { - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) - if (td1->td_priority > td->td_priority) - break; - if (td1) - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - else - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } #ifdef KTR if (!cont_logged) { CTR6(KTR_CONTENTION, @@ -633,27 +477,9 @@ #endif /* - * Save who we're blocked on. + * Block on the turnstile. */ - td->td_blocked = m; - td->td_lockname = m->mtx_object.lo_name; - TD_SET_LOCK(td); - propagate_priority(td); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p blocked on [%p] %s", td, m, - m->mtx_object.lo_name); - - td->td_proc->p_stats->p_ru.ru_nvcsw++; - mi_switch(); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p free from blocked on [%p] %s", - td, m, m->mtx_object.lo_name); - - mtx_unlock_spin(&sched_lock); + turnstile_wait(ts, &m->mtx_object, mtx_owner(m)); } #ifdef KTR @@ -730,11 +556,8 @@ void _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td, *td1; - struct mtx *m1; - int pri; - - td = curthread; if (mtx_recursed(m)) { if (--(m->mtx_recurse) == 0) @@ -744,57 +567,47 @@ return; } - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p contested", m); - td1 = TAILQ_FIRST(&m->mtx_blocked); #if defined(SMP) && defined(ADAPTIVE_MUTEXES) - if (td1 == NULL) { + if (ts == NULL) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p no sleepers", m); - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); return; } +#else + MPASS(ts != NULL); #endif - MPASS(td->td_proc->p_magic == P_MAGIC); - MPASS(td1->td_proc->p_magic == P_MAGIC); - - TAILQ_REMOVE(&m->mtx_blocked, td1, td_lockq); - - LIST_REMOVE(m, mtx_contested); - if (TAILQ_EMPTY(&m->mtx_blocked)) { + /* XXX */ + td1 = turnstile_head(ts); + if (turnstile_signal(ts)) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); - } else + } else { m->mtx_lock = MTX_CONTESTED; - - pri = PRI_MAX; - LIST_FOREACH(m1, &td->td_contested, mtx_contested) { - int cp = TAILQ_FIRST(&m1->mtx_blocked)->td_priority; - if (cp < pri) - pri = cp; + if (LOCK_LOG_TEST(&m->mtx_object, opts)) + CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p still contested", + m); } + turnstile_unpend(ts); - if (pri > td->td_base_pri) - pri = td->td_base_pri; - td->td_priority = pri; - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p contested setrunqueue %p", - m, td1); - - td1->td_blocked = NULL; - TD_CLR_LOCK(td1); - if (!TD_CAN_RUN(td1)) { - mtx_unlock_spin(&sched_lock); + /* + * XXX: This is just a hack until preemption is done. However, + * once preemption is done we need to either wrap the + * turnstile_signal() and release of the actual lock in an + * extra critical section or change the preemption code to + * always just set a flag and never do instant-preempts. + */ + td = curthread; + if (td->td_critnest > 0 || td1->td_priority >= td->td_priority) return; - } - setrunqueue(td1); - - if (td->td_critnest == 1 && td1->td_priority < pri) { + mtx_lock_spin(&sched_lock); + if (!TD_IS_RUNNING(td1)) { #ifdef notyet if (td->td_ithd != NULL) { struct ithd *it = td->td_ithd; @@ -819,7 +632,6 @@ CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p resuming lock=%p", m, (void *)m->mtx_lock); } - mtx_unlock_spin(&sched_lock); return; @@ -954,7 +766,6 @@ lock->lo_flags |= LO_DUPOK; m->mtx_lock = MTX_UNOWNED; - TAILQ_INIT(&m->mtx_blocked); LOCK_LOG_INIT(lock, opts); @@ -998,6 +809,9 @@ /* Setup thread0 so that mutexes work. */ LIST_INIT(&thread0.td_contested); + /* Setup turnstiles so that sleep mutexes work. */ + init_turnstiles(); + /* * Initialize mutexes. */ ==== //depot/projects/smpng/sys/kern/kern_thread.c#46 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.161 2003/08/26 11:33:15 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.162 2003/11/11 22:07:29 jhb Exp $"); #include #include @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -190,6 +191,7 @@ vm_thread_new(td, 0); mtx_unlock(&Giant); cpu_thread_setup(td); + td->td_turnstile = turnstile_alloc(); td->td_sched = (struct td_sched *)&td[1]; } @@ -202,6 +204,7 @@ struct thread *td; td = (struct thread *)mem; + turnstile_free(td->td_turnstile); vm_thread_dispose(td); } ==== //depot/projects/smpng/sys/kern/subr_turnstile.c#2 (text+ko) ==== @@ -30,102 +30,160 @@ */ /* - * Machine independent bits of mutex implementation. + * Implementation of turnstiles used to hold queue of threads blocked on + * non-sleepable locks. Sleepable locks use condition variables to + * implement their queues. Turnstiles differ from a sleep queue in that + * turnstile queue's are assigned to a lock held by an owning thread. Thus, + * when one thread is enqueued onto a turnstile, it can lend its priority + * to the owning thread. + * + * We wish to avoid bloating locks with an embedded turnstile and we do not + * want to use back-pointers in the locks for the same reason. Thus, we + * use a similar approach to that of Solaris 7 as described in Solaris + * Internals by Jim Mauro and Richard McDougall. Turnstiles are looked up + * in a hash table based on the address of the lock. Each entry in the + * hash table is a linked-lists of turnstiles and is called a turnstile + * chain. Each chain contains a spin mutex that protects all of the + * turnstiles in the chain. + * + * Each time a thread is created, a turnstile is malloc'd and attached to + * that thread. When a thread blocks on a lock, if it is the first thread + * to block, it lends its turnstile to the lock. If the lock already has + * a turnstile, then it gives its turnstile to the lock's turnstile's free + * list. When a thread is woken up, it takes a thread from the free list + * if there are any other waiters. If it is the only thread blocked on the + * lock, then it reclaims the turnstile associated with the lock and removes + * it from the hash table. + * + * XXX: We should probably implement some sort of sleep queue that condition + * variables and sleepqueue's share. On Solaris condition variables are + * implemented using a hash table of sleep queues similar to our current + * sleep queues. We might want to investigate doing that ourselves. */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.131 2003/07/31 18:52:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.132 2003/11/11 22:07:29 jhb Exp $"); -#include "opt_adaptive_mutexes.h" -#include "opt_ddb.h" - #include #include -#include #include #include #include #include #include #include +#include #include +#include #include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - /* - * Internal utility macros. + * Constants for the hash table of turnstile chains. TC_SHIFT is a magic + * number chosen because the sleep queue's use the same value for the + * shift. Basically, we ignore the lower 8 bits of the address. + * TC_TABLESIZE must be a power of two for TC_MASK to work properly. */ -#define mtx_unowned(m) ((m)->mtx_lock == MTX_UNOWNED) +#define TC_TABLESIZE 128 /* Must be power of 2. */ +#define TC_MASK (TC_TABLESIZE - 1) +#define TC_SHIFT 8 +#define TC_HASH(lock) (((uintptr_t)(lock) >> TC_SHIFT) & TC_MASK) +#define TC_LOOKUP(lock) &turnstile_chains[TC_HASH(lock)] -#define mtx_owner(m) (mtx_unowned((m)) ? NULL \ - : (struct thread *)((m)->mtx_lock & MTX_FLAGMASK)) - /* - * Lock classes for sleep and spin mutexes. + * There are three different lists of turnstiles as follows. The list + * connected by ts_link entries is a per-thread list of all the turnstiles + * attached to locks that we own. This is used to fixup our priority when + * a lock is released. The other two lists use the ts_hash entries. The + * first of these two is turnstile chain list that a turnstile is on when + * it is attached to a lock. The second list to use ts_hash is the free + * list hung off a turnstile that is attached to a lock. + * + * Each turnstile contains two lists of threads. The ts_blocked list is + * a linked list of threads blocked on the turnstile's lock. The + * ts_pending list is a linked list of threads previously awoken by + * turnstile_signal() or turnstile_wait() that are waiting to be put on + * the run queue. + * + * Locking key: + * c - turnstile chain lock + * q - td_contested lock */ -struct lock_class lock_class_mtx_sleep = { - "sleep mutex", - LC_SLEEPLOCK | LC_RECURSABLE +struct turnstile { + TAILQ_HEAD(, thread) ts_blocked; /* (c + q) Blocked threads. */ + TAILQ_HEAD(, thread) ts_pending; /* (c) Pending threads. */ + LIST_ENTRY(turnstile) ts_hash; /* (c) Chain and free list. */ + LIST_ENTRY(turnstile) ts_link; /* (q) Contested locks. */ + LIST_HEAD(, turnstile) ts_free; /* (c) Free turnstiles. */ + struct lock_object *ts_lockobj; /* (c) Lock we reference. */ + struct thread *ts_owner; /* (q) Who owns the lock. */ }; -struct lock_class lock_class_mtx_spin = { - "spin mutex", - LC_SPINLOCK | LC_RECURSABLE + +struct turnstile_chain { + LIST_HEAD(, turnstile) tc_turnstiles; /* List of turnstiles. */ + struct mtx tc_lock; /* Spin lock for this chain. */ }; -/* - * System-wide mutexes - */ -struct mtx sched_lock; -struct mtx Giant; +static struct mtx td_contested_lock; +static struct turnstile_chain turnstile_chains[TC_TABLESIZE]; + +MALLOC_DEFINE(M_TURNSTILE, "turnstiles", "turnstiles"); /* * Prototypes for non-exported routines. */ +static void init_turnstile0(void *dummy); static void propagate_priority(struct thread *); +static void turnstile_setowner(struct turnstile *ts, struct thread *owner); +/* + * Walks the chain of turnstiles and their owners to propagate the priority + * of the thread being blocked to all the threads holding locks that have to + * release their locks before this thread can run again. + */ static void propagate_priority(struct thread *td) { - int pri = td->td_priority; - struct mtx *m = td->td_blocked; + struct turnstile_chain *tc; + struct turnstile *ts; + struct thread *td1; + int pri; mtx_assert(&sched_lock, MA_OWNED); + pri = td->td_priority; + ts = td->td_blocked; for (;;) { - struct thread *td1; - - td = mtx_owner(m); + td = ts->ts_owner; if (td == NULL) { /* * This really isn't quite right. Really * ought to bump priority of thread that - * next acquires the mutex. + * next acquires the lock. */ - MPASS(m->mtx_lock == MTX_CONTESTED); return; } MPASS(td->td_proc != NULL); MPASS(td->td_proc->p_magic == P_MAGIC); - KASSERT(!TD_IS_SLEEPING(td), ( - "sleeping thread (pid %d) owns a mutex", + + /* + * XXX: The owner of a turnstile can be stale if it is the + * first thread to grab a slock of a sx lock. In that case + * it is possible for us to be at SSLEEP or some other + * weird state. We should probably just return if the state + * isn't SRUN or SLOCK. + */ + KASSERT(!TD_IS_SLEEPING(td), + ("sleeping thread (pid %d) owns a non-sleepable lock", td->td_proc->p_pid)); - if (td->td_priority <= pri) /* lower is higher priority */ + + /* + * If this thread already has higher priority than the + * thread that is being blocked, we are finished. + */ + if (td->td_priority <= pri) return; - /* * If lock holder is actually running, just bump priority. */ @@ -152,35 +210,42 @@ sched_prio(td, pri); return; } + /* - * Adjust for any other cases. + * Bump this thread's priority. */ td->td_priority = pri; /* - * If we aren't blocked on a mutex, we should be. + * If we aren't blocked on a lock, we should be. */ KASSERT(TD_ON_LOCK(td), ( - "process %d(%s):%d holds %s but isn't blocked on a mutex\n", + "process %d(%s):%d holds %s but isn't blocked on a lock\n", td->td_proc->p_pid, td->td_proc->p_comm, td->td_state, - m->mtx_object.lo_name)); + ts->ts_lockobj->lo_name)); /* - * Pick up the mutex that td is blocked on. + * Pick up the lock that td is blocked on. */ - m = td->td_blocked; - MPASS(m != NULL); + ts = td->td_blocked; + MPASS(ts != NULL); + tc = TC_LOOKUP(ts->ts_lockobj); + mtx_lock_spin(&tc->tc_lock); /* * Check if the thread needs to be moved up on - * the blocked chain + * the blocked chain. It doesn't need to be moved + * if it is already at the head of the list or if + * the item in front of it still has a higher priority. */ - if (td == TAILQ_FIRST(&m->mtx_blocked)) { + if (td == TAILQ_FIRST(&ts->ts_blocked)) { + mtx_unlock_spin(&tc->tc_lock); continue; } td1 = TAILQ_PREV(td, threadqueue, td_lockq); if (td1->td_priority <= pri) { + mtx_unlock_spin(&tc->tc_lock); continue; } @@ -191,8 +256,9 @@ * thread in the chain has a lower priority and that * td1 will thus not be NULL after the loop. */ - TAILQ_REMOVE(&m->mtx_blocked, td, td_lockq); - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) { + mtx_lock_spin(&td_contested_lock); + TAILQ_REMOVE(&ts->ts_blocked, td, td_lockq); + TAILQ_FOREACH(td1, &ts->ts_blocked, td_lockq) { MPASS(td1->td_proc->p_magic == P_MAGIC); if (td1->td_priority > pri) break; @@ -200,803 +266,450 @@ MPASS(td1 != NULL); TAILQ_INSERT_BEFORE(td1, td, td_lockq); + mtx_unlock_spin(&td_contested_lock); CTR4(KTR_LOCK, - "propagate_priority: p %p moved before %p on [%p] %s", - td, td1, m, m->mtx_object.lo_name); + "propagate_priority: td %p moved before %p on [%p] %s", + td, td1, ts->ts_lockobj, ts->ts_lockobj->lo_name); + mtx_unlock_spin(&tc->tc_lock); } } -#ifdef MUTEX_PROFILING -SYSCTL_NODE(_debug, OID_AUTO, mutex, CTLFLAG_RD, NULL, "mutex debugging"); -SYSCTL_NODE(_debug_mutex, OID_AUTO, prof, CTLFLAG_RD, NULL, "mutex profiling"); -static int mutex_prof_enable = 0; -SYSCTL_INT(_debug_mutex_prof, OID_AUTO, enable, CTLFLAG_RW, - &mutex_prof_enable, 0, "Enable tracing of mutex holdtime"); - -struct mutex_prof { - const char *name; - const char *file; - int line; - uintmax_t cnt_max; - uintmax_t cnt_tot; - uintmax_t cnt_cur; - struct mutex_prof *next; -}; - /* - * mprof_buf is a static pool of profiling records to avoid possible - * reentrance of the memory allocation functions. - * - * Note: NUM_MPROF_BUFFERS must be smaller than MPROF_HASH_SIZE. + * Early initialization of turnstiles. This is not done via a SYSINIT() + * since this needs to be initialized very early when mutexes are first + * initialized. */ -#define NUM_MPROF_BUFFERS 1000 -static struct mutex_prof mprof_buf[NUM_MPROF_BUFFERS]; -static int first_free_mprof_buf; -#define MPROF_HASH_SIZE 1009 -static struct mutex_prof *mprof_hash[MPROF_HASH_SIZE]; -/* SWAG: sbuf size = avg stat. line size * number of locks */ -#define MPROF_SBUF_SIZE 256 * 400 - -static int mutex_prof_acquisitions; -SYSCTL_INT(_debug_mutex_prof, OID_AUTO, acquisitions, CTLFLAG_RD, - &mutex_prof_acquisitions, 0, "Number of mutex acquistions recorded"); -static int mutex_prof_records; -SYSCTL_INT(_debug_mutex_prof, OID_AUTO, records, CTLFLAG_RD, - &mutex_prof_records, 0, "Number of profiling records"); -static int mutex_prof_maxrecords = NUM_MPROF_BUFFERS; -SYSCTL_INT(_debug_mutex_prof, OID_AUTO, maxrecords, CTLFLAG_RD, - &mutex_prof_maxrecords, 0, "Maximum number of profiling records"); -static int mutex_prof_rejected; -SYSCTL_INT(_debug_mutex_prof, OID_AUTO, rejected, CTLFLAG_RD, - &mutex_prof_rejected, 0, "Number of rejected profiling records"); -static int mutex_prof_hashsize = MPROF_HASH_SIZE; -SYSCTL_INT(_debug_mutex_prof, OID_AUTO, hashsize, CTLFLAG_RD, - &mutex_prof_hashsize, 0, "Hash size"); -static int mutex_prof_collisions = 0; -SYSCTL_INT(_debug_mutex_prof, OID_AUTO, collisions, CTLFLAG_RD, - &mutex_prof_collisions, 0, "Number of hash collisions"); - -/* - * mprof_mtx protects the profiling buffers and the hash. - */ -static struct mtx mprof_mtx; -MTX_SYSINIT(mprof, &mprof_mtx, "mutex profiling lock", MTX_SPIN | MTX_QUIET); - -static u_int64_t -nanoseconds(void) +void +init_turnstiles(void) { - struct timespec tv; + int i; - nanotime(&tv); - return (tv.tv_sec * (u_int64_t)1000000000 + tv.tv_nsec); + for (i = 0; i < TC_TABLESIZE; i++) { + LIST_INIT(&turnstile_chains[i].tc_turnstiles); + mtx_init(&turnstile_chains[i].tc_lock, "turnstile chain", + NULL, MTX_SPIN); + } + mtx_init(&td_contested_lock, "td_contested", NULL, MTX_SPIN); +#ifdef INVARIANTS + thread0.td_turnstile = NULL; +#endif } -static int -dump_mutex_prof_stats(SYSCTL_HANDLER_ARGS) +static void +init_turnstile0(void *dummy) { - struct sbuf *sb; - int error, i; - static int multiplier = 1; - if (first_free_mprof_buf == 0) - return (SYSCTL_OUT(req, "No locking recorded", - sizeof("No locking recorded"))); - -retry_sbufops: - sb = sbuf_new(NULL, NULL, MPROF_SBUF_SIZE * multiplier, SBUF_FIXEDLEN); - sbuf_printf(sb, "%6s %12s %11s %5s %s\n", - "max", "total", "count", "avg", "name"); - /* - * XXX this spinlock seems to be by far the largest perpetrator - * of spinlock latency (1.6 msec on an Athlon1600 was recorded - * even before I pessimized it further by moving the average - * computation here). - */ - mtx_lock_spin(&mprof_mtx); - for (i = 0; i < first_free_mprof_buf; ++i) { - sbuf_printf(sb, "%6ju %12ju %11ju %5ju %s:%d (%s)\n", - mprof_buf[i].cnt_max / 1000, - mprof_buf[i].cnt_tot / 1000, - mprof_buf[i].cnt_cur, - mprof_buf[i].cnt_cur == 0 ? (uintmax_t)0 : - mprof_buf[i].cnt_tot / (mprof_buf[i].cnt_cur * 1000), - mprof_buf[i].file, mprof_buf[i].line, mprof_buf[i].name); - if (sbuf_overflowed(sb)) { - mtx_unlock_spin(&mprof_mtx); - sbuf_delete(sb); - multiplier++; - goto retry_sbufops; - } - } - mtx_unlock_spin(&mprof_mtx); - sbuf_finish(sb); - error = SYSCTL_OUT(req, sbuf_data(sb), sbuf_len(sb) + 1); - sbuf_delete(sb); - return (error); + thread0.td_turnstile = turnstile_alloc(); } -SYSCTL_PROC(_debug_mutex_prof, OID_AUTO, stats, CTLTYPE_STRING | CTLFLAG_RD, - NULL, 0, dump_mutex_prof_stats, "A", "Mutex profiling statistics"); -#endif +SYSINIT(turnstile0, SI_SUB_LOCK, SI_ORDER_ANY, init_turnstile0, NULL); /* - * Function versions of the inlined __mtx_* macros. These are used by - * modules and can also be called from assembly language if needed. + * Set the owner of the lock this turnstile is attached to. */ -void -_mtx_lock_flags(struct mtx *m, int opts, const char *file, int line) +static void +turnstile_setowner(struct turnstile *ts, struct thread *owner) { - MPASS(curthread != NULL); - KASSERT(m->mtx_object.lo_class == &lock_class_mtx_sleep, - ("mtx_lock() of spin mutex %s @ %s:%d", m->mtx_object.lo_name, - file, line)); - _get_sleep_lock(m, curthread, opts, file, line); - LOCK_LOG_LOCK("LOCK", &m->mtx_object, opts, m->mtx_recurse, file, - line); - WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file, line); -#ifdef MUTEX_PROFILING - /* don't reset the timer when/if recursing */ - if (m->mtx_acqtime == 0) { - m->mtx_filename = file; - m->mtx_lineno = line; - m->mtx_acqtime = mutex_prof_enable ? nanoseconds() : 0; - ++mutex_prof_acquisitions; - } -#endif + mtx_assert(&td_contested_lock, MA_OWNED); + MPASS(owner->td_proc->p_magic == P_MAGIC); + MPASS(ts->ts_owner == NULL); + ts->ts_owner = owner; + LIST_INSERT_HEAD(&owner->td_contested, ts, ts_link); } -void -_mtx_unlock_flags(struct mtx *m, int opts, const char *file, int line) +/* + * Malloc a turnstile for a new thread, initialize it and return it. + */ +struct turnstile * +turnstile_alloc(void) { + struct turnstile *ts; - MPASS(curthread != NULL); - KASSERT(m->mtx_object.lo_class == &lock_class_mtx_sleep, - ("mtx_unlock() of spin mutex %s @ %s:%d", m->mtx_object.lo_name, - file, line)); - WITNESS_UNLOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file, line); - LOCK_LOG_LOCK("UNLOCK", &m->mtx_object, opts, m->mtx_recurse, file, - line); - mtx_assert(m, MA_OWNED); -#ifdef MUTEX_PROFILING - if (m->mtx_acqtime != 0) { - static const char *unknown = "(unknown)"; - struct mutex_prof *mpp; - u_int64_t acqtime, now; - const char *p, *q; - volatile u_int hash; - - now = nanoseconds(); - acqtime = m->mtx_acqtime; - m->mtx_acqtime = 0; - if (now <= acqtime) - goto out; - for (p = m->mtx_filename; - p != NULL && strncmp(p, "../", 3) == 0; p += 3) - /* nothing */ ; - if (p == NULL || *p == '\0') - p = unknown; - for (hash = m->mtx_lineno, q = p; *q != '\0'; ++q) - hash = (hash * 2 + *q) % MPROF_HASH_SIZE; - mtx_lock_spin(&mprof_mtx); - for (mpp = mprof_hash[hash]; mpp != NULL; mpp = mpp->next) - if (mpp->line == m->mtx_lineno && - strcmp(mpp->file, p) == 0) - break; - if (mpp == NULL) { - /* Just exit if we cannot get a trace buffer */ - if (first_free_mprof_buf >= NUM_MPROF_BUFFERS) { - ++mutex_prof_rejected; - goto unlock; - } - mpp = &mprof_buf[first_free_mprof_buf++]; - mpp->name = mtx_name(m); - mpp->file = p; - mpp->line = m->mtx_lineno; - mpp->next = mprof_hash[hash]; - if (mprof_hash[hash] != NULL) - ++mutex_prof_collisions; - mprof_hash[hash] = mpp; - ++mutex_prof_records; - } - /* - * Record if the mutex has been held longer now than ever - * before. - */ - if (now - acqtime > mpp->cnt_max) - mpp->cnt_max = now - acqtime; - mpp->cnt_tot += now - acqtime; - mpp->cnt_cur++; -unlock: - mtx_unlock_spin(&mprof_mtx); - } -out: -#endif - _rel_sleep_lock(m, curthread, opts, file, line); + ts = malloc(sizeof(struct turnstile), M_TURNSTILE, M_WAITOK | M_ZERO); + TAILQ_INIT(&ts->ts_blocked); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 16:08:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C97316A4D1; Tue, 11 Nov 2003 16:08:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0997016A4CF for ; Tue, 11 Nov 2003 16:08:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DB1E443FE1 for ; Tue, 11 Nov 2003 16:08:07 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC087XJ013147 for ; Tue, 11 Nov 2003 16:08:07 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC087LT013144 for perforce@freebsd.org; Tue, 11 Nov 2003 16:08:07 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 16:08:07 -0800 (PST) Message-Id: <200311120008.hAC087LT013144@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 00:08:09 -0000 X-List-Received-Date: Wed, 12 Nov 2003 00:08:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=42065 Change 42065 by peter@peter_daintree on 2003/11/11 16:07:34 IFC @42063 Affected files ... .. //depot/projects/hammer/sys/conf/files#35 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#9 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#4 integrate .. //depot/projects/hammer/sys/kern/kern_mutex.c#14 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#36 integrate .. //depot/projects/hammer/sys/kern/subr_turnstile.c#1 branch .. //depot/projects/hammer/sys/kern/subr_witness.c#20 integrate .. //depot/projects/hammer/sys/modules/mac_stub/Makefile#2 integrate .. //depot/projects/hammer/sys/pci/agp.c#9 integrate .. //depot/projects/hammer/sys/pci/agp_ali.c#7 integrate .. //depot/projects/hammer/sys/sys/_mutex.h#3 integrate .. //depot/projects/hammer/sys/sys/filedesc.h#5 integrate .. //depot/projects/hammer/sys/sys/proc.h#36 integrate .. //depot/projects/hammer/sys/sys/turnstile.h#1 branch Differences ... ==== //depot/projects/hammer/sys/conf/files#35 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.847 2003/11/11 18:58:53 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.848 2003/11/11 22:07:29 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1154,6 +1154,7 @@ kern/subr_smp.c optional smp kern/subr_taskqueue.c standard kern/subr_trap.c standard +kern/subr_turnstile.c standard kern/subr_witness.c optional witness kern/sys_generic.c standard kern/sys_pipe.c standard ==== //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#9 (text+ko) ==== @@ -30,7 +30,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.48 2003/10/12 11:51:24 des Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.49 2003/11/11 22:15:17 kuriyama Exp $"); MALLOC_DEFINE(M_AC97, "ac97", "ac97 codec"); @@ -138,6 +138,7 @@ { 0x414c4740, 0x0f, 0, "ALC202", 0 }, { 0x414c4720, 0x0f, 0, "ALC650", 0 }, { 0x414c4760, 0x0f, 0, "ALC655", 0 }, + { 0x414c4780, 0x0f, 0, "ALC658", 0 }, { 0x43525900, 0x07, 0, "CS4297", 0 }, { 0x43525910, 0x07, 0, "CS4297A", 0 }, { 0x43525920, 0x07, 0, "CS4294/98", 0 }, ==== //depot/projects/hammer/sys/i386/i386/mptable.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.224 2003/11/11 17:14:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); #include "opt_mptable_force_htt.h" #include @@ -893,6 +893,8 @@ return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); ==== //depot/projects/hammer/sys/kern/kern_mutex.c#14 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.131 2003/07/31 18:52:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.132 2003/11/11 22:07:29 jhb Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -90,122 +91,6 @@ struct mtx sched_lock; struct mtx Giant; -/* - * Prototypes for non-exported routines. - */ -static void propagate_priority(struct thread *); - -static void -propagate_priority(struct thread *td) -{ - int pri = td->td_priority; - struct mtx *m = td->td_blocked; - - mtx_assert(&sched_lock, MA_OWNED); - for (;;) { - struct thread *td1; - - td = mtx_owner(m); - - if (td == NULL) { - /* - * This really isn't quite right. Really - * ought to bump priority of thread that - * next acquires the mutex. - */ - MPASS(m->mtx_lock == MTX_CONTESTED); - return; - } - - MPASS(td->td_proc != NULL); - MPASS(td->td_proc->p_magic == P_MAGIC); - KASSERT(!TD_IS_SLEEPING(td), ( - "sleeping thread (pid %d) owns a mutex", - td->td_proc->p_pid)); - if (td->td_priority <= pri) /* lower is higher priority */ - return; - - - /* - * If lock holder is actually running, just bump priority. - */ - if (TD_IS_RUNNING(td)) { - td->td_priority = pri; - return; - } - -#ifndef SMP - /* - * For UP, we check to see if td is curthread (this shouldn't - * ever happen however as it would mean we are in a deadlock.) - */ - KASSERT(td != curthread, ("Deadlock detected")); -#endif - - /* - * If on run queue move to new run queue, and quit. - * XXXKSE this gets a lot more complicated under threads - * but try anyhow. - */ - if (TD_ON_RUNQ(td)) { - MPASS(td->td_blocked == NULL); - sched_prio(td, pri); - return; - } - /* - * Adjust for any other cases. - */ - td->td_priority = pri; - - /* - * If we aren't blocked on a mutex, we should be. - */ - KASSERT(TD_ON_LOCK(td), ( - "process %d(%s):%d holds %s but isn't blocked on a mutex\n", - td->td_proc->p_pid, td->td_proc->p_comm, td->td_state, - m->mtx_object.lo_name)); - - /* - * Pick up the mutex that td is blocked on. - */ - m = td->td_blocked; - MPASS(m != NULL); - - /* - * Check if the thread needs to be moved up on - * the blocked chain - */ - if (td == TAILQ_FIRST(&m->mtx_blocked)) { - continue; - } - - td1 = TAILQ_PREV(td, threadqueue, td_lockq); - if (td1->td_priority <= pri) { - continue; - } - - /* - * Remove thread from blocked chain and determine where - * it should be moved up to. Since we know that td1 has - * a lower priority than td, we know that at least one - * thread in the chain has a lower priority and that - * td1 will thus not be NULL after the loop. - */ - TAILQ_REMOVE(&m->mtx_blocked, td, td_lockq); - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) { - MPASS(td1->td_proc->p_magic == P_MAGIC); - if (td1->td_priority > pri) - break; - } - - MPASS(td1 != NULL); - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - CTR4(KTR_LOCK, - "propagate_priority: p %p moved before %p on [%p] %s", - td, td1, m, m->mtx_object.lo_name); - } -} - #ifdef MUTEX_PROFILING SYSCTL_NODE(_debug, OID_AUTO, mutex, CTLFLAG_RD, NULL, "mutex debugging"); SYSCTL_NODE(_debug_mutex, OID_AUTO, prof, CTLFLAG_RD, NULL, "mutex profiling"); @@ -484,8 +369,8 @@ void _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td = curthread; - struct thread *td1; #if defined(SMP) && defined(ADAPTIVE_MUTEXES) struct thread *owner; #endif @@ -509,15 +394,15 @@ while (!_obtain_lock(m, td)) { - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); v = m->mtx_lock; /* * Check if the lock has been released while spinning for - * the sched_lock. + * the turnstile chain lock. */ if (v == MTX_UNOWNED) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -531,14 +416,9 @@ * necessary. */ if (v == MTX_CONTESTED) { - td1 = TAILQ_FIRST(&m->mtx_blocked); - MPASS(td1 != NULL); + MPASS(ts != NULL); m->mtx_lock = (uintptr_t)td | MTX_CONTESTED; - LIST_INSERT_HEAD(&td->td_contested, m, mtx_contested); - - if (td1->td_priority < td->td_priority) - td->td_priority = td1->td_priority; - mtx_unlock_spin(&sched_lock); + turnstile_claim(ts); return; } @@ -550,7 +430,7 @@ if ((v & MTX_CONTESTED) == 0 && !atomic_cmpset_ptr(&m->mtx_lock, (void *)v, (void *)(v | MTX_CONTESTED))) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -564,7 +444,7 @@ */ owner = (struct thread *)(v & MTX_FLAGMASK); if (m != &Giant && TD_IS_RUNNING(owner)) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); while (mtx_owner(m) == owner && TD_IS_RUNNING(owner)) { #ifdef __i386__ ia32_pause(); @@ -579,42 +459,6 @@ */ mtx_assert(m, MA_NOTOWNED); -#ifdef notyet - /* - * If we're borrowing an interrupted thread's VM context, we - * must clean up before going to sleep. - */ - if (td->td_ithd != NULL) { - struct ithd *it = td->td_ithd; - - if (it->it_interrupted) { - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR2(KTR_LOCK, - "_mtx_lock_sleep: %p interrupted %p", - it, it->it_interrupted); - intr_thd_fixup(it); - } - } -#endif - - /* - * Put us on the list of threads blocked on this mutex - * and add this mutex to the owning thread's list of - * contested mutexes if needed. - */ - if (TAILQ_EMPTY(&m->mtx_blocked)) { - td1 = mtx_owner(m); - LIST_INSERT_HEAD(&td1->td_contested, m, mtx_contested); - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } else { - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) - if (td1->td_priority > td->td_priority) - break; - if (td1) - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - else - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } #ifdef KTR if (!cont_logged) { CTR6(KTR_CONTENTION, @@ -627,27 +471,9 @@ #endif /* - * Save who we're blocked on. + * Block on the turnstile. */ - td->td_blocked = m; - td->td_lockname = m->mtx_object.lo_name; - TD_SET_LOCK(td); - propagate_priority(td); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p blocked on [%p] %s", td, m, - m->mtx_object.lo_name); - - td->td_proc->p_stats->p_ru.ru_nvcsw++; - mi_switch(); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p free from blocked on [%p] %s", - td, m, m->mtx_object.lo_name); - - mtx_unlock_spin(&sched_lock); + turnstile_wait(ts, &m->mtx_object, mtx_owner(m)); } #ifdef KTR @@ -724,11 +550,8 @@ void _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td, *td1; - struct mtx *m1; - int pri; - - td = curthread; if (mtx_recursed(m)) { if (--(m->mtx_recurse) == 0) @@ -738,57 +561,47 @@ return; } - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p contested", m); - td1 = TAILQ_FIRST(&m->mtx_blocked); #if defined(SMP) && defined(ADAPTIVE_MUTEXES) - if (td1 == NULL) { + if (ts == NULL) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p no sleepers", m); - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); return; } +#else + MPASS(ts != NULL); #endif - MPASS(td->td_proc->p_magic == P_MAGIC); - MPASS(td1->td_proc->p_magic == P_MAGIC); - - TAILQ_REMOVE(&m->mtx_blocked, td1, td_lockq); - - LIST_REMOVE(m, mtx_contested); - if (TAILQ_EMPTY(&m->mtx_blocked)) { + /* XXX */ + td1 = turnstile_head(ts); + if (turnstile_signal(ts)) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); - } else + } else { m->mtx_lock = MTX_CONTESTED; - - pri = PRI_MAX; - LIST_FOREACH(m1, &td->td_contested, mtx_contested) { - int cp = TAILQ_FIRST(&m1->mtx_blocked)->td_priority; - if (cp < pri) - pri = cp; + if (LOCK_LOG_TEST(&m->mtx_object, opts)) + CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p still contested", + m); } + turnstile_unpend(ts); - if (pri > td->td_base_pri) - pri = td->td_base_pri; - td->td_priority = pri; - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p contested setrunqueue %p", - m, td1); - - td1->td_blocked = NULL; - TD_CLR_LOCK(td1); - if (!TD_CAN_RUN(td1)) { - mtx_unlock_spin(&sched_lock); + /* + * XXX: This is just a hack until preemption is done. However, + * once preemption is done we need to either wrap the + * turnstile_signal() and release of the actual lock in an + * extra critical section or change the preemption code to + * always just set a flag and never do instant-preempts. + */ + td = curthread; + if (td->td_critnest > 0 || td1->td_priority >= td->td_priority) return; - } - setrunqueue(td1); - - if (td->td_critnest == 1 && td1->td_priority < pri) { + mtx_lock_spin(&sched_lock); + if (!TD_IS_RUNNING(td1)) { #ifdef notyet if (td->td_ithd != NULL) { struct ithd *it = td->td_ithd; @@ -813,7 +626,6 @@ CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p resuming lock=%p", m, (void *)m->mtx_lock); } - mtx_unlock_spin(&sched_lock); return; @@ -948,7 +760,6 @@ lock->lo_flags |= LO_DUPOK; m->mtx_lock = MTX_UNOWNED; - TAILQ_INIT(&m->mtx_blocked); LOCK_LOG_INIT(lock, opts); @@ -992,6 +803,9 @@ /* Setup thread0 so that mutexes work. */ LIST_INIT(&thread0.td_contested); + /* Setup turnstiles so that sleep mutexes work. */ + init_turnstiles(); + /* * Initialize mutexes. */ ==== //depot/projects/hammer/sys/kern/kern_thread.c#36 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.161 2003/08/26 11:33:15 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.162 2003/11/11 22:07:29 jhb Exp $"); #include #include @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -190,6 +191,7 @@ vm_thread_new(td, 0); mtx_unlock(&Giant); cpu_thread_setup(td); + td->td_turnstile = turnstile_alloc(); td->td_sched = (struct td_sched *)&td[1]; } @@ -202,6 +204,7 @@ struct thread *td; td = (struct thread *)mem; + turnstile_free(td->td_turnstile); vm_thread_dispose(td); } ==== //depot/projects/hammer/sys/kern/subr_witness.c#20 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.161 2003/11/03 22:38:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.162 2003/11/11 22:07:29 jhb Exp $"); #include "opt_ddb.h" #include "opt_witness.h" @@ -288,6 +288,8 @@ { "intr table", &lock_class_mtx_spin }, { "ithread table lock", &lock_class_mtx_spin }, { "sched lock", &lock_class_mtx_spin }, + { "turnstile chain", &lock_class_mtx_spin }, + { "td_contested", &lock_class_mtx_spin }, { "callout", &lock_class_mtx_spin }, /* * leaf locks @@ -342,9 +344,7 @@ LO_INITIALIZED, /* mtx_object.lo_flags */ { NULL, NULL }, /* mtx_object.lo_list */ NULL }, /* mtx_object.lo_witness */ - MTX_UNOWNED, 0, /* mtx_lock, mtx_recurse */ - TAILQ_HEAD_INITIALIZER(all_mtx.mtx_blocked), - { NULL, NULL } /* mtx_contested */ + MTX_UNOWNED, 0 /* mtx_lock, mtx_recurse */ }; /* ==== //depot/projects/hammer/sys/modules/mac_stub/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.3 2003/08/21 15:43:01 rwatson Exp $ +# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.4 2003/11/11 21:23:54 rwatson Exp $ -.PATH: ${.CURDIR}/../../security/mac_none +.PATH: ${.CURDIR}/../../security/mac_stub -KMOD= mac_none +KMOD= mac_stub SRCS= vnode_if.h \ - mac_none.c + mac_stub.c .include ==== //depot/projects/hammer/sys/pci/agp.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/agp.c,v 1.33 2003/10/23 18:08:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/agp.c,v 1.34 2003/11/11 21:49:18 anholt Exp $"); #include "opt_bus.h" @@ -175,6 +175,11 @@ "allocating GATT for aperture of size %dM\n", apsize / (1024*1024)); + if (entries == 0) { + device_printf(dev, "bad aperture size\n"); + return NULL; + } + gatt = malloc(sizeof(struct agp_gatt), M_AGP, M_NOWAIT); if (!gatt) return 0; ==== //depot/projects/hammer/sys/pci/agp_ali.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/agp_ali.c,v 1.8 2003/08/22 07:13:20 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/agp_ali.c,v 1.9 2003/11/11 21:49:18 anholt Exp $"); #include "opt_bus.h" @@ -102,6 +102,10 @@ return error; sc->initial_aperture = AGP_GET_APERTURE(dev); + if (sc->initial_aperture == 0) { + device_printf(dev, "bad initial aperture size, disabling\n"); + return ENXIO; + } for (;;) { gatt = agp_alloc_gatt(dev); ==== //depot/projects/hammer/sys/sys/_mutex.h#3 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/_mutex.h,v 1.9 2002/12/29 11:14:41 phk Exp $ + * $FreeBSD: src/sys/sys/_mutex.h,v 1.10 2003/11/11 22:07:29 jhb Exp $ */ #ifndef _SYS__MUTEX_H_ @@ -38,8 +38,6 @@ struct lock_object mtx_object; /* Common lock properties. */ volatile uintptr_t mtx_lock; /* Owner and flags. */ volatile u_int mtx_recurse; /* Number of recursive holds. */ - TAILQ_HEAD(, thread) mtx_blocked; /* Threads blocked on us. */ - LIST_ENTRY(mtx) mtx_contested; /* Next contested mtx. */ #ifdef MUTEX_PROFILING /* ==== //depot/projects/hammer/sys/sys/filedesc.h#5 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)filedesc.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/sys/sys/filedesc.h,v 1.51 2003/06/02 16:05:32 tegge Exp $ + * $FreeBSD: src/sys/sys/filedesc.h,v 1.52 2003/11/11 22:07:29 jhb Exp $ */ #ifndef _SYS_FILEDESC_H_ @@ -137,6 +137,8 @@ #define FILEDESC_LOCKED(fd) mtx_owned(&(fd)->fd_mtx) #define FILEDESC_LOCK_ASSERT(fd, type) mtx_assert(&(fd)->fd_mtx, (type)) +struct thread; + int closef(struct file *fp, struct thread *p); int dupfdopen(struct thread *td, struct filedesc *fdp, int indx, int dfd, int mode, int error); ==== //depot/projects/hammer/sys/sys/proc.h#36 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/sys/proc.h,v 1.356 2003/11/06 09:31:01 bde Exp $ + * $FreeBSD: src/sys/sys/proc.h,v 1.357 2003/11/11 22:07:29 jhb Exp $ */ #ifndef _SYS_PROC_H_ @@ -144,6 +144,7 @@ * n - not locked, lazy * o - ktrace lock * p - select lock (sellock) + * q - td_contested lock * r - p_peers lock * x - created at fork, only changes during single threading in exec * z - zombie threads/kse/ksegroup lock @@ -159,6 +160,7 @@ struct p_sched; struct td_sched; struct trapframe; +struct turnstile; /* * Here we define the four structures used for process information. @@ -259,11 +261,12 @@ TAILQ_ENTRY(thread) td_kglist; /* (*) All threads in this ksegrp. */ /* The two queues below should someday be merged. */ - TAILQ_ENTRY(thread) td_slpq; /* (j) Sleep queue. XXXKSE */ - TAILQ_ENTRY(thread) td_lockq; /* (j) Lock queue. XXXKSE */ + TAILQ_ENTRY(thread) td_slpq; /* (j) Sleep queue. */ + TAILQ_ENTRY(thread) td_lockq; /* (j) Lock queue. */ TAILQ_ENTRY(thread) td_runq; /* (j/z) Run queue(s). XXXKSE */ TAILQ_HEAD(, selinfo) td_selq; /* (p) List of selinfos. */ + struct turnstile *td_turnstile; /* (k) Associated turnstile. */ /* Cleared during fork1() or thread_sched_upcall(). */ #define td_startzero td_flags @@ -278,10 +281,10 @@ u_char td_lastcpu; /* (j) Last cpu we were on. */ u_char td_oncpu; /* (j) Which cpu we are on. */ short td_locks; /* (k) DEBUG: lockmgr count of locks. */ - struct mtx *td_blocked; /* (j) Mutex process is blocked on. */ + struct turnstile *td_blocked; /* (j) Lock process is blocked on. */ struct ithd *td_ithd; /* (b) For interrupt threads only. */ const char *td_lockname; /* (j) Name of lock blocked on. */ - LIST_HEAD(, mtx) td_contested; /* (j) Contested locks. */ + LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */ struct lock_list_entry *td_sleeplocks; /* (k) Held sleep locks. */ int td_intr_nesting_level; /* (k) Interrupt recursion. */ int td_pinned; /* (k) Temporary cpu pin count. */ @@ -342,6 +345,7 @@ #define TDF_IDLETD 0x000020 /* This is one of the per-CPU idle threads. */ #define TDF_SELECT 0x000040 /* Selecting; wakeup/waiting danger. */ #define TDF_CVWAITQ 0x000080 /* Thread is on a cv_waitq (not slpq). */ +#define TDF_TSNOBLOCK 0x000100 /* Don't block on a turnstile due to race. */ #define TDF_ONSLEEPQ 0x000200 /* On the sleep queue. */ #define TDF_ASTPENDING 0x000800 /* Thread has some asynchronous events. */ #define TDF_TIMOFAIL 0x001000 /* Timeout from sleep after we were awake. */ From owner-p4-projects@FreeBSD.ORG Tue Nov 11 16:09:10 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 723B516A4D0; Tue, 11 Nov 2003 16:09:10 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4890716A4CE for ; Tue, 11 Nov 2003 16:09:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C051A43F85 for ; Tue, 11 Nov 2003 16:09:09 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC099XJ013198 for ; Tue, 11 Nov 2003 16:09:09 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC099nP013195 for perforce@freebsd.org; Tue, 11 Nov 2003 16:09:09 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 16:09:09 -0800 (PST) Message-Id: <200311120009.hAC099nP013195@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42066 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 00:09:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=42066 Change 42066 by peter@peter_daintree on 2003/11/11 16:08:32 integ -I -b smp_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#11 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.224 2003/11/11 17:14:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); #include "opt_mptable_force_htt.h" #include @@ -888,6 +888,8 @@ return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); From owner-p4-projects@FreeBSD.ORG Tue Nov 11 17:23:41 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB04A16A4D0; Tue, 11 Nov 2003 17:23:41 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 849C316A4CE for ; Tue, 11 Nov 2003 17:23:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B8BFC43FBF for ; Tue, 11 Nov 2003 17:23:40 -0800 (PST) (envelope-from kensmith@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC1NeXJ023266 for ; Tue, 11 Nov 2003 17:23:40 -0800 (PST) (envelope-from kensmith@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC1NelA023263 for perforce@freebsd.org; Tue, 11 Nov 2003 17:23:40 -0800 (PST) (envelope-from kensmith@freebsd.org) Date: Tue, 11 Nov 2003 17:23:40 -0800 (PST) Message-Id: <200311120123.hAC1NelA023263@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kensmith@freebsd.org using -f From: Ken Smith To: Perforce Change Reviews Subject: PERFORCE change 42068 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 01:23:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=42068 Change 42068 by kensmith@kensmith_oliver.cse.buffalo.edu on 2003/11/11 17:22:58 - Beginning to expand on vnode operation descriptions. Affected files ... .. //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/arch-handbook/secarch/chapter.sgml#7 edit Differences ... ==== //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/arch-handbook/secarch/chapter.sgml#7 (text+ko) ==== @@ -988,7 +988,7 @@ - create() + VOP_CREATE() Create a new file system object; parent directory, name, and initial attributes are specified. @@ -998,7 +998,7 @@ - whiteout() + VOP_WHITEOUT() Create or remove whiteout for a directory entry, permitting files to be "deleted" and "undeleted" on @@ -1011,18 +1011,19 @@ - mknod() + VOP_MKNOD() Create a special device node in the file system; name, initial protections, and device information are - specified. + specified. Note that block devices can be created + but are not used by FreeBSD. - open() + VOP_OPEN() Indicate and request an open on a file system object to the file system, permitting the file system @@ -1037,16 +1038,18 @@ - close() + VOP_CLOSE() - + Called when a file is closed. Actions are file system + dependent but may include things like updating time + stamps or scheduling final write operations. - access() + VOP_ACCESS() Request an authorization check to determine whether a given subject credential and thread may perform a @@ -1061,7 +1064,7 @@ - getattr() + VOP_GETATTR() Retrieve an attribute structure for the file system object; authorizing credential and thread are @@ -1072,7 +1075,7 @@ - setattr() + VOP_SETATTR() Set components of an attribute structure for the file system object; optionally completed attributes, @@ -1084,7 +1087,7 @@ - read() + VOP_READ() Read from the file system object; read arguments, operation flags, and authorizing credential are @@ -1095,7 +1098,7 @@ - write() + VOP_WRITE() Write to the file system object; write arguments, operation flags, and authorizing credential are @@ -1106,18 +1109,23 @@ - ioctl() + VOP_IOCTL() - + Perform an operation other than open, close, read, + write on a file object. Typically used on devices + to set device modes or perform device-specific operations + like ejecting a tape from a tape drive. - poll() + VOP_POLL() - + Poll a file object to see if requested I/O operation is + possible. Used to help support &man.select.2; among other + things. @@ -1133,9 +1141,15 @@ - revoke() + VOP_REVOKE() - + Revoke access to a file object. Used to support forced + unmounting of filesystems without needing to + blindly kill off all processes with files + open in that filesystem. Typically file operations that + would modify or read from the object will fail after the + object is revoked but operations like &man.close.2; will + be allowed to succeed. @@ -1363,20 +1377,28 @@ File System Object Protections - -VFS generally relies on file systems to implement per-filesystem -protections based on their own design and implementation requirements. -access() entry point permits file system independent code to query -file systems concerning access to an object, and will be used during -open and new access operations, such as file execution.; file systems -may also implement protections in other entry points. -However, the native UNIX protection model includes object ownership, -simple and extended DAC access controls, file flags providing additional -protection semantics for the file owner and system operator. - + + VFS generally relies on file systems to implement + protections based on their own design + and implementation requirements. For example the + file system support for FAT file systems needs to + improvise file ownership because there + is no way to store file ownership information in the + FAT file system data structures. The VOP_ACCESS(9) entry + point permits file system independent code to query + file systems concerning access to an object, and will + be used during &man.open.2; as well as other operations, + such as file execution. File systems may also implement + protections in other entry points, for example + VOP_LOOKUP(9). + However, the native UNIX protection model includes object + ownership, simple and extended DAC access controls, and file + flags providing additional protection semantics for the file + owner and system operator. + + + UFS Inode Properties - - UFS Inode Properties In the UNIX File System (UFS), protections are generally at the granularity of the individual file system object, represented by an From owner-p4-projects@FreeBSD.ORG Tue Nov 11 18:44:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74B9116A4D0; Tue, 11 Nov 2003 18:44:22 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4FFCD16A4CE for ; Tue, 11 Nov 2003 18:44:22 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C571643FA3 for ; Tue, 11 Nov 2003 18:44:21 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC2iLXJ027695 for ; Tue, 11 Nov 2003 18:44:21 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC2iLb3027692 for perforce@freebsd.org; Tue, 11 Nov 2003 18:44:21 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 18:44:21 -0800 (PST) Message-Id: <200311120244.hAC2iLb3027692@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42073 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 02:44:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=42073 Change 42073 by peter@peter_daintree on 2003/11/11 18:43:20 clean up a leftover merge turd. Add note about moving the EOI and masking into C, along with the curthread->td_intr_nesting_level++; frobbing etc. Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#2 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#2 (text+ko) ==== @@ -58,15 +58,6 @@ outb %al,$IO_ICU2 ; /* but do second icu first ... */ \ outb %al,$IO_ICU1 /* ... then first icu */ - -#define PUSH_FRAME \ - -#define MASK_IRQ(icu, irq_num) \ - movb imen + IRQ_BYTE(irq_num),%al ; \ - orb $IRQ_BIT(irq_num),%al ; \ - movb %al,imen + IRQ_BYTE(irq_num) ; \ - outb %al,$icu+ICU_IMR_OFFSET - /* * Macros for interrupt interrupt entry, call to handler, and exit. * @@ -75,6 +66,7 @@ * XXX we really shouldn't return via doreti if we just schedule the * interrupt handler and don't run anything. We could just do an * iret. FIXME. + * XXX move the mask, EOI and td_intr_nesting_level frobbing into C code. */ #define INTR(irq_num, vec_name, icu, enable_icus, maybe_extra_ipending) \ .text ; \ From owner-p4-projects@FreeBSD.ORG Tue Nov 11 18:47:27 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DEA2F16A4D0; Tue, 11 Nov 2003 18:47:26 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B090E16A4CE for ; Tue, 11 Nov 2003 18:47:26 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3802043F3F for ; Tue, 11 Nov 2003 18:47:26 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC2lQXJ027835 for ; Tue, 11 Nov 2003 18:47:26 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC2lP3S027832 for perforce@freebsd.org; Tue, 11 Nov 2003 18:47:25 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 18:47:25 -0800 (PST) Message-Id: <200311120247.hAC2lP3S027832@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42074 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 02:47:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=42074 Change 42074 by peter@peter_daintree on 2003/11/11 18:46:38 fix up merge problems. Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#3 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#3 (text+ko) ==== @@ -100,9 +100,8 @@ movq PCPU(CURTHREAD),%rbx ; \ incl TD_INTR_NESTING_LEVEL(%rbx) ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ - pushq $irq_num; /* pass the IRQ */ \ + movq $irq_num, %rdi; /* pass the IRQ */ \ call atpic_sched_ithd ; \ - addq $8, %rsp ; /* discard the parameter */ \ decl TD_INTR_NESTING_LEVEL(%rbx) ; \ MEXITCOUNT ; \ jmp doreti From owner-p4-projects@FreeBSD.ORG Tue Nov 11 18:50:31 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC4AC16A4D0; Tue, 11 Nov 2003 18:50:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 873AF16A4CE for ; Tue, 11 Nov 2003 18:50:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0A27843F3F for ; Tue, 11 Nov 2003 18:50:31 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC2oUXJ027951 for ; Tue, 11 Nov 2003 18:50:30 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC2oUiF027945 for perforce@freebsd.org; Tue, 11 Nov 2003 18:50:30 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 18:50:30 -0800 (PST) Message-Id: <200311120250.hAC2oUiF027945@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42075 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 02:50:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=42075 Change 42075 by peter@peter_daintree on 2003/11/11 18:49:34 move the td_intr_nesting_level frobbing to C Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic.c#16 edit .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#4 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#16 (text+ko) ==== @@ -295,11 +295,14 @@ atpic_sched_ithd(void *cookie, struct intrframe iframe) { struct intsrc *isrc; + struct thread *td = curthread; int vec = (uintptr_t)cookie; KASSERT(vec < ICU_LEN, ("unknown int %d\n", vec)); + td->td_intr_nesting_level++; isrc = &atintrs[vec].at_intsrc; intr_execute_handlers(isrc, &iframe); + td->td_intr_nesting_level--; } #ifdef DEV_ISA ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#4 (text+ko) ==== @@ -97,12 +97,9 @@ movb %al,imen + IRQ_BYTE(irq_num) ; \ outb %al,$icu+ICU_IMR_OFFSET ; \ enable_icus ; \ - movq PCPU(CURTHREAD),%rbx ; \ - incl TD_INTR_NESTING_LEVEL(%rbx) ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ movq $irq_num, %rdi; /* pass the IRQ */ \ call atpic_sched_ithd ; \ - decl TD_INTR_NESTING_LEVEL(%rbx) ; \ MEXITCOUNT ; \ jmp doreti From owner-p4-projects@FreeBSD.ORG Tue Nov 11 18:54:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 962A816A4D1; Tue, 11 Nov 2003 18:54:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7044816A4CF for ; Tue, 11 Nov 2003 18:54:37 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C436F43FE9 for ; Tue, 11 Nov 2003 18:54:36 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC2saXJ028170 for ; Tue, 11 Nov 2003 18:54:36 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC2saDA028167 for perforce@freebsd.org; Tue, 11 Nov 2003 18:54:36 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 18:54:36 -0800 (PST) Message-Id: <200311120254.hAC2saDA028167@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42076 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 02:54:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=42076 Change 42076 by peter@peter_daintree on 2003/11/11 18:53:46 move a bunch of td_intr_nesting_level frobbing to C. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#3 edit .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#17 edit .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#27 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#3 (text+ko) ==== @@ -105,9 +105,7 @@ IDTVEC(vec_name) ; \ PUSH_FRAME ; \ movq lapic, %rdx ; /* pointer to local APIC */ \ - movq PCPU(CURTHREAD), %rbx ; \ movl LA_ISR + 16 * (index)(%rdx), %eax ; /* load ISR */ \ - incl TD_INTR_NESTING_LEVEL(%rbx) ; \ bsrl %eax, %eax ; /* index of highset set bit in ISR */ \ jz 2f ; \ addl $(32 * index),%eax ; \ @@ -115,7 +113,6 @@ FAKE_MCOUNT(13*4(%esp)) ; /* XXX avoid double count */ \ movq %rax, %rdi ; /* pass the IRQ */ \ call lapic_handle_intr ; \ - decl TD_INTR_NESTING_LEVEL(%rbx) ; \ MEXITCOUNT ; \ jmp doreti ; \ 2: movl $-1, %eax ; /* send a vector of -1 */ \ @@ -223,10 +220,7 @@ movq lapic, %rdx movl $0, LA_EOI(%rdx) /* End Of Interrupt to APIC */ - movq PCPU(CURTHREAD),%rbx - incl TD_INTR_NESTING_LEVEL(%rbx) call forwarded_hardclock - decl TD_INTR_NESTING_LEVEL(%rbx) MEXITCOUNT jmp doreti @@ -244,10 +238,7 @@ FAKE_MCOUNT(13*4(%esp)) - movq PCPU(CURTHREAD),%rbx - incl TD_INTR_NESTING_LEVEL(%rbx) call forwarded_statclock - decl TD_INTR_NESTING_LEVEL(%rbx) MEXITCOUNT jmp doreti ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#17 (text+ko) ==== @@ -468,14 +468,17 @@ lapic_handle_intr(void *cookie, struct intrframe frame) { struct intsrc *isrc; + struct thread *td = curthread; int vec = (uintptr_t)cookie; + td->td_intr_nesting_level++; if (vec == -1) panic("Couldn't get vector from ISR!"); isrc = intr_lookup_source(apic_idt_to_irq(vec)); isrc->is_pic->pic_disable_source(isrc); lapic->eoi = 0; intr_execute_handlers(isrc, &frame); + td->td_intr_nesting_level--; } /* Translate between IDT vectors and IRQ vectors. */ ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#27 (text+ko) ==== @@ -781,12 +781,15 @@ void forwarded_statclock(struct clockframe frame) { + struct thread *td = curthread; + td->td_intr_nesting_level++; CTR0(KTR_SMP, "forwarded_statclock"); if (profprocs != 0) profclock(&frame); if (pscnt == psdiv) statclock(&frame); + td->td_intr_nesting_level--; } void @@ -814,9 +817,12 @@ void forwarded_hardclock(struct clockframe frame) { + struct thread *td = curthread; + td->td_intr_nesting_level++; CTR0(KTR_SMP, "forwarded_hardclock"); hardclock_process(&frame); + td->td_intr_nesting_level--; } void From owner-p4-projects@FreeBSD.ORG Tue Nov 11 19:23:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0410316A4D0; Tue, 11 Nov 2003 19:23:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D20F016A4CE for ; Tue, 11 Nov 2003 19:23:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ADB0643FA3 for ; Tue, 11 Nov 2003 19:23:13 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC3NDXJ031565 for ; Tue, 11 Nov 2003 19:23:13 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC3NCJC031553 for perforce@freebsd.org; Tue, 11 Nov 2003 19:23:12 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 19:23:12 -0800 (PST) Message-Id: <200311120323.hAC3NCJC031553@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42079 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 03:23:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=42079 Change 42079 by rwatson@rwatson_tislabs on 2003/11/11 19:22:55 Integ TrustedBSD base branch from FreeBSD vendor branch: bring in VFS mount changes, turnstiles, and loop back MAC (struct label) -> (struct label *) changes which I just merged. Affected files ... .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#47 integrate .. //depot/projects/trustedbsd/base/sbin/init/init.8#8 integrate .. //depot/projects/trustedbsd/base/share/man/man4/Makefile#40 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ddb.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/inet.4#8 integrate .. //depot/projects/trustedbsd/base/share/man/man4/intro.4#9 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ips.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/lnc.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/svr4.4#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/autoconf.c#3 integrate .. //depot/projects/trustedbsd/base/sys/conf/files#67 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/ac97.c#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ohci.c#23 integrate .. //depot/projects/trustedbsd/base/sys/fs/devfs/devfs.h#9 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/mptable.c#2 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/interrupt.c#18 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#44 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/trap.c#26 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_exec.c#40 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_mac.c#51 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_mutex.c#29 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_thread.c#33 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_turnstile.c#1 branch .. //depot/projects/trustedbsd/base/sys/kern/subr_witness.c#42 integrate .. //depot/projects/trustedbsd/base/sys/kern/vfs_mount.c#23 integrate .. //depot/projects/trustedbsd/base/sys/net/bpfdesc.h#7 integrate .. //depot/projects/trustedbsd/base/sys/net/if_var.h#17 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_var.h#17 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfs_vfsops.c#26 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp.c#15 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_ali.c#7 integrate .. //depot/projects/trustedbsd/base/sys/security/mac/mac_internal.h#3 integrate .. //depot/projects/trustedbsd/base/sys/security/mac/mac_label.c#1 branch .. //depot/projects/trustedbsd/base/sys/security/mac/mac_net.c#3 integrate .. //depot/projects/trustedbsd/base/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/trustedbsd/base/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/trustedbsd/base/sys/security/mac/mac_system.c#2 integrate .. //depot/projects/trustedbsd/base/sys/security/mac/mac_vfs.c#3 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_biba/mac_biba.c#35 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_lomac/mac_lomac.c#15 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_mls/mac_mls.c#32 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_partition/mac_partition.c#7 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_test/mac_test.c#24 integrate .. //depot/projects/trustedbsd/base/sys/sys/_mutex.h#7 integrate .. //depot/projects/trustedbsd/base/sys/sys/filedesc.h#16 integrate .. //depot/projects/trustedbsd/base/sys/sys/mac.h#34 integrate .. //depot/projects/trustedbsd/base/sys/sys/mount.h#20 integrate .. //depot/projects/trustedbsd/base/sys/sys/pipe.h#7 integrate .. //depot/projects/trustedbsd/base/sys/sys/proc.h#50 integrate .. //depot/projects/trustedbsd/base/sys/sys/socketvar.h#30 integrate .. //depot/projects/trustedbsd/base/sys/sys/turnstile.h#1 branch .. //depot/projects/trustedbsd/base/sys/sys/ucred.h#13 integrate .. //depot/projects/trustedbsd/base/sys/sys/vnode.h#41 integrate Differences ... ==== //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#47 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.196 2003/11/09 23:42:51 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.197 2003/11/11 19:20:13 trhodes Exp $ Supported Devices @@ -430,7 +430,7 @@ driver) - IBM / Adaptec ServeRAID series (ips driver) + IBM / Adaptec ServeRAID series (&man.ips.4; driver) LSI Logic Fusion/MP architecture Fiber Channel controllers (&man.mpt.4; driver) ==== //depot/projects/trustedbsd/base/sbin/init/init.8#8 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/sbin/init/init.8,v 1.39 2003/06/08 12:50:49 charnier Exp $ +.\" $FreeBSD: src/sbin/init/init.8,v 1.40 2003/11/11 18:37:50 kensmith Exp $ .\" .Dd April 18, 1994 .Dt INIT 8 @@ -151,9 +151,24 @@ using .Xr sysctl 8 to set the -.Dq kern.securelevel +.Va kern.securelevel variable to the required security level. .Pp +If +.Nm +is run in a jail the security level of the +.Dq host system +will not be effected. +Part of the information set up in the kernel to support a jail +is a per-jail +.Dq securelevel +setting. +This allows running a higher security level inside of a jail +than that of the host system. +See +.Xr jail 8 +for more information about jails. +.Pp In multi-user operation, .Nm maintains @@ -383,6 +398,7 @@ .Xr getty 8 , .Xr halt 8 , .Xr ipfw 8 , +.Xr jail 8 , .Xr rc 8 , .Xr reboot 8 , .Xr shutdown 8 , ==== //depot/projects/trustedbsd/base/share/man/man4/Makefile#40 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.238 2003/11/10 21:26:52 hmp Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.239 2003/11/11 18:48:02 trhodes Exp $ MAN= aac.4 \ acpi.4 \ @@ -96,6 +96,7 @@ ip.4 \ ip6.4 \ ipfirewall.4 \ + ips.4 \ ipsec.4 \ isp.4 \ ispfw.4 \ ==== //depot/projects/trustedbsd/base/share/man/man4/ddb.4#5 (text+ko) ==== @@ -57,7 +57,7 @@ .\" Created. .\" [90/08/30 dbg] .\" -.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.23 2003/10/14 02:47:23 imp Exp $ +.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.24 2003/11/12 02:35:20 hmp Exp $ .Dd January 16, 1996 .Dt DDB 4 .Os @@ -312,7 +312,8 @@ point at the low-level code paths may also cause strange behavior. .It Cm delete Ar addr .It Cm delete Li \&# Ns Ar number -Delete the break point. The target break point can be specified by a +Delete the break point. +The target break point can be specified by a break point number with .Li # , or by using the same @@ -520,7 +521,10 @@ .It Li maxwidth The width of the displayed line. .It Li lines -The number of lines. It is used by "more" feature. +The number of lines. +It is used by +.Dq more +feature. .It Li tabstops Tab stop width. .It Li work Ns Ar xx @@ -583,7 +587,8 @@ a binary operator which rounds up the left hand side to the next multiple of right hand side. .It Li \&* Ns Em expr -indirection. It may be followed by a +indirection. +It may be followed by a .Sq Li : and modifiers as described above. .El ==== //depot/projects/trustedbsd/base/share/man/man4/inet.4#8 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man4/inet.4,v 1.25 2003/10/14 02:59:13 imp Exp $ +.\" $FreeBSD: src/share/man/man4/inet.4,v 1.26 2003/11/12 02:35:20 hmp Exp $ .\" .Dd February 14, 1995 .Dt INET 4 @@ -297,7 +297,8 @@ .Re .Sh CAVEAT The Internet protocol support is subject to change as -the Internet protocols develop. Users should not depend +the Internet protocols develop. +Users should not depend on details of the current implementation, but rather the services exported. .Sh HISTORY ==== //depot/projects/trustedbsd/base/share/man/man4/intro.4#9 (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/share/man/man4/intro.4,v 1.27 2003/06/28 23:53:37 ru Exp $ +.\" $FreeBSD: src/share/man/man4/intro.4,v 1.28 2003/11/12 02:35:20 hmp Exp $ .\" .Dd January 20, 1996 .Dt INTRO 4 @@ -149,8 +149,8 @@ .Xr config 8 for a detailed description of the files involved. The individual manual pages in this section provide a sample line for the -configuration file in their synopsis portion. See also the sample -config file +configuration file in their synopsis portion. +See also the sample config file .Pa /sys/i386/conf/LINT (for the .Em i386 ==== //depot/projects/trustedbsd/base/share/man/man4/man4.i386/lnc.4#2 (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/share/man/man4/man4.i386/lnc.4,v 1.20 2001/10/13 09:08:37 yokota Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/lnc.4,v 1.21 2003/11/12 02:35:20 hmp Exp $ .\" .Dd January 19, 1997 .Dt LNC 4 i386 @@ -68,20 +68,24 @@ .Sh DIAGNOSTICS .Bl -diag .It "lnc%d: Framing error" -A framing error occurred. This means a CRC error also occurred. +A framing error occurred. +This means a CRC error also occurred. This caused the driver to drop the packet that contained the framing error. .It "lnc%d: Receive CRC error The received Ethernet frame failed the CRC checksum. This caused the driver to drop the packet that failed the checksum. .It "lnc%d: Packet dropped, no mbufs" -The driver ran out of mbuf's. This may suggest a resource problem. +The driver ran out of mbuf's. +This may suggest a resource problem. .It "lnc%d: Couldn't allocate memory for NIC" -This is a fatal error. The driver will not attach to the card under this +This is a fatal error. +The driver will not attach to the card under this circumstance. .It "lnc%d: Memory allocated above 16Mb limit" ISA and ESIA cards require bounce buffers for DMA transfers above 16mb. The Am7990 and Am79C960 only have 24 address lines and so can only access -the lower 16Mb of physical memory. The +the lower 16Mb of physical memory. +The .Nm driver assumes the memory it allocates is within the lower 16Mb range. This is not a very valid assumption but there's nothing that can be done @@ -89,7 +93,8 @@ For shared memory NICs this isn't relevant. .It "lnc%d: Device timeout -- Resetting" The device has stopped responding to the network, or there is a problem with -the network connection (cable). Make sure the network connection in use +the network connection (cable). +Make sure the network connection in use is the same one the card is configured for. .It "lnc%d: Transmit late collision -- Net error?" .It "lnc%d: Loss of carrier during transmit -- Net error?" ==== //depot/projects/trustedbsd/base/share/man/man4/man4.i386/svr4.4#5 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.9 2003/10/28 05:22:19 tjr Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.10 2003/11/12 02:35:20 hmp Exp $ .Dd October 28, 2003 .Dt SVR4 4 i386 .Os @@ -141,7 +141,9 @@ .Pa /compat/svr4/dev . Internally, the .Xr streams 4 -driver produces a socket descriptor and "tags" it with additional STREAMS +driver produces a socket descriptor and +.Dq tags +it with additional STREAMS state information before returning it to the client application. The .Nm @@ -177,9 +179,11 @@ .Pp Extensive testing has only really been carried out with Solaris 2.x binaries, with anecdotal reports of limited success coming from testers with -early-revision SCO media. In theory, the basic SVR4 ABI should be constant +early-revision SCO media. +In theory, the basic SVR4 ABI should be constant across the set of vendors who produce SVR4 operating systems, but in -practice that's probably not the case. If necessary, future work can +practice that's probably not the case. +If necessary, future work can either implement additional .Xr kld 4 modules which produce functionality which contains OS-dependent @@ -187,7 +191,9 @@ ABI implementation. Alternatively, .Xr sysctl 8 -variables could set the "personality" the environment should present to +variables could set the +.Dq personality +the environment should present to client applications. .Sh FILES .Bl -tag -width /sys/compat/svr4/syscalls.master -compact ==== //depot/projects/trustedbsd/base/sys/amd64/amd64/autoconf.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.174 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.175 2003/11/12 01:49:49 peter Exp $"); /* * Setup the system to run on the current machine. @@ -155,6 +155,8 @@ { cninit_finish(); + if (bootverbose) + printf("Device configuration finished.\n"); cold = 0; } ==== //depot/projects/trustedbsd/base/sys/conf/files#67 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.847 2003/11/11 18:58:53 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.849 2003/11/12 03:14:28 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1154,6 +1154,7 @@ kern/subr_smp.c optional smp kern/subr_taskqueue.c standard kern/subr_trap.c standard +kern/subr_turnstile.c standard kern/subr_witness.c optional witness kern/sys_generic.c standard kern/sys_pipe.c standard @@ -1617,6 +1618,7 @@ posix4/p1003_1b.c standard posix4/posix4_mib.c standard kern/uipc_sem.c optional p1003_1b_semaphores +security/mac/mac_label.c optional mac security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_process.c optional mac ==== //depot/projects/trustedbsd/base/sys/dev/sound/pcm/ac97.c#16 (text+ko) ==== @@ -30,7 +30,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.48 2003/10/12 11:51:24 des Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.49 2003/11/11 22:15:17 kuriyama Exp $"); MALLOC_DEFINE(M_AC97, "ac97", "ac97 codec"); @@ -138,6 +138,7 @@ { 0x414c4740, 0x0f, 0, "ALC202", 0 }, { 0x414c4720, 0x0f, 0, "ALC650", 0 }, { 0x414c4760, 0x0f, 0, "ALC655", 0 }, + { 0x414c4780, 0x0f, 0, "ALC658", 0 }, { 0x43525900, 0x07, 0, "CS4297", 0 }, { 0x43525910, 0x07, 0, "CS4297A", 0 }, { 0x43525920, 0x07, 0, "CS4294/98", 0 }, ==== //depot/projects/trustedbsd/base/sys/dev/usb/ohci.c#23 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.137 2003/11/10 00:20:52 joe Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.138 2003/11/12 01:40:11 joe Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1475,7 +1475,7 @@ printf("ohci_softintr: sitd=%p is done\n", sitd); sitd->isdone = 1; #endif - struct ohci_pipe *opipe = (struct ohci_pipe *)xfer->pipe; + opipe = (struct ohci_pipe *)xfer->pipe; if (opipe->aborting) continue; ==== //depot/projects/trustedbsd/base/sys/fs/devfs/devfs.h#9 (text+ko) ==== @@ -33,7 +33,7 @@ * @(#)kernfs.h 8.6 (Berkeley) 3/29/95 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs.h 1.14 * - * $FreeBSD: src/sys/fs/devfs/devfs.h,v 1.17 2002/12/09 03:44:27 rwatson Exp $ + * $FreeBSD: src/sys/fs/devfs/devfs.h,v 1.18 2003/11/12 03:14:29 rwatson Exp $ */ #ifndef _FS_DEVFS_DEVFS_H_ @@ -159,7 +159,7 @@ mode_t de_mode; uid_t de_uid; gid_t de_gid; - struct label de_label; + struct label *de_label; struct timespec de_atime; struct timespec de_mtime; struct timespec de_ctime; ==== //depot/projects/trustedbsd/base/sys/i386/i386/mptable.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.224 2003/11/11 17:14:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); #include "opt_mptable_force_htt.h" #include @@ -893,6 +893,8 @@ return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); ==== //depot/projects/trustedbsd/base/sys/ia64/ia64/interrupt.c#18 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.41 2003/09/10 22:49:38 marcel Exp $ */ +/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.42 2003/11/12 01:26:02 marcel Exp $ */ /* $NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $ */ /* @@ -200,8 +200,12 @@ asts[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_AST, cpuid=%d", PCPU_GET(cpuid)); } else if (vector == ipi_vector[IPI_HIGH_FP]) { - if (PCPU_GET(fpcurthread) != NULL) - ia64_highfp_save(PCPU_GET(fpcurthread)); + struct thread *thr = PCPU_GET(fpcurthread); + if (thr != NULL) { + save_high_fp(&thr->td_pcb->pcb_high_fp); + thr->td_pcb->pcb_fpcpu = NULL; + PCPU_SET(fpcurthread, NULL); + } } else if (vector == ipi_vector[IPI_RENDEZVOUS]) { rdvs[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_RENDEZVOUS, cpuid=%d", PCPU_GET(cpuid)); ==== //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#44 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.168 2003/11/11 09:53:37 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.169 2003/11/12 01:26:02 marcel Exp $ */ #include "opt_compat.h" @@ -311,6 +311,8 @@ #if IA32 ia32_savectx(oldpcb); #endif + if (PCPU_GET(fpcurthread) == old) + old->td_frame->tf_special.psr |= IA64_PSR_DFH; if (!savectx(oldpcb)) { newpcb = new->td_pcb; oldpcb->pcb_current_pmap = @@ -319,6 +321,8 @@ #if IA32 ia32_restorectx(newpcb); #endif + if (PCPU_GET(fpcurthread) == new) + new->td_frame->tf_special.psr &= ~IA64_PSR_DFH; restorectx(newpcb); /* We should not get here. */ panic("cpu_switch: restorectx() returned"); ==== //depot/projects/trustedbsd/base/sys/ia64/ia64/trap.c#26 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.93 2003/10/28 19:38:26 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.94 2003/11/12 01:26:02 marcel Exp $"); #include "opt_ddb.h" #include "opt_ktrace.h" @@ -570,81 +570,54 @@ if (!user) trap_panic(vector, framep); + critical_enter(); + thr = PCPU_GET(fpcurthread); + if (thr == td) { + /* + * Short-circuit handling the trap when this CPU + * already holds the high FP registers for this + * thread. We really shouldn't get the trap in the + * first place, but since it's only a performance + * issue and not a correctness issue, we emit a + * message for now, enable the high FP registers and + * return. + */ + printf("XXX: bogusly disabled high FP regs\n"); + framep->tf_special.psr &= ~IA64_PSR_DFH; + critical_exit(); + goto out; + } else if (thr != NULL) { + pcb = thr->td_pcb; + save_high_fp(&pcb->pcb_high_fp); + pcb->pcb_fpcpu = NULL; + PCPU_SET(fpcurthread, NULL); + thr = NULL; + } + pcb = td->td_pcb; pcpu = pcb->pcb_fpcpu; -#if 0 - printf("XXX: td %p: highfp on cpu %p\n", td, pcpu); -#endif - - /* - * The pcpu variable holds the address of the per-CPU - * structure of the CPU currently holding this threads - * high FP registers (or NULL if no CPU holds these - * registers). We have to interrupt that CPU and wait - * for it to have saved the registers. - */ +#ifdef SMP if (pcpu != NULL) { - thr = pcpu->pc_fpcurthread; - KASSERT(thr == td, ("High FP state out of sync")); - - if (pcpu == pcpup) { - /* - * Short-circuit handling the trap when this - * CPU already holds the high FP registers for - * this thread. We really shouldn't get the - * trap in the first place, but since it's - * only a performance issue and not a - * correctness issue, we emit a message for - * now, enable the high FP registers and - * return. - */ - printf("XXX: bogusly disabled high FP regs\n"); - framep->tf_special.psr &= ~IA64_PSR_DFH; - goto out; - } -#ifdef SMP - /* - * Interrupt the other CPU so that it saves the high - * FP registers of this thread. Note that this can - * only happen for the SMP case. - */ ipi_send(pcpu->pc_lid, IPI_HIGH_FP); -#endif -#ifdef DIAGNOSTICS - } else { - KASSERT(PCPU_GET(fpcurthread) != td, - ("High FP state out of sync")); -#endif + critical_exit(); + while (pcb->pcb_fpcpu != pcpu) + DELAY(100); + critical_enter(); + pcpu = pcb->pcb_fpcpu; + thr = PCPU_GET(fpcurthread); } - - thr = PCPU_GET(fpcurthread); - -#if 0 - printf("XXX: cpu %p: highfp belongs to td %p\n", pcpup, thr); #endif - /* - * The thr variable holds the thread that owns the high FP - * registers currently on this CPU. Free this CPU so that - * we can load the current threads high FP registers. - */ - if (thr != NULL) { - KASSERT(thr != td, ("High FP state out of sync")); - pcb = thr->td_pcb; - KASSERT(pcb->pcb_fpcpu == pcpup, - ("High FP state out of sync")); - ia64_highfp_save(thr); + if (thr == NULL && pcpu == NULL) { + restore_high_fp(&pcb->pcb_high_fp); + PCPU_SET(fpcurthread, td); + pcb->pcb_fpcpu = pcpup; + framep->tf_special.psr &= ~IA64_PSR_MFH; + framep->tf_special.psr &= ~IA64_PSR_DFH; } - /* - * Wait for the other CPU to have saved out high FP - * registers (if applicable). - */ - while (pcpu && pcpu->pc_fpcurthread == td); - - ia64_highfp_load(td); - framep->tf_special.psr &= ~IA64_PSR_DFH; + critical_exit(); goto out; } ==== //depot/projects/trustedbsd/base/sys/kern/kern_exec.c#40 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.231 2003/10/21 01:13:49 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.232 2003/11/12 03:14:29 rwatson Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -167,9 +167,8 @@ int credential_changing; int textset; #ifdef MAC - struct label interplabel; /* label of the interpreted vnode */ - struct label execlabel; /* optional label argument */ - int will_transition, interplabelvalid = 0; + struct label *interplabel = NULL; + int will_transition; #endif imgp = &image_params; @@ -222,7 +221,7 @@ imgp->auxarg_size = 0; #ifdef MAC - error = mac_execve_enter(imgp, mac_p, &execlabel); + error = mac_execve_enter(imgp, mac_p); if (error) { mtx_lock(&Giant); goto exec_fail; @@ -336,9 +335,8 @@ /* free name buffer and old vnode */ NDFREE(ndp, NDF_ONLY_PNBUF); #ifdef MAC - mac_init_vnode_label(&interplabel); - mac_copy_vnode_label(&ndp->ni_vp->v_label, &interplabel); - interplabelvalid = 1; + interplabel = mac_vnode_label_alloc(); + mac_copy_vnode_label(ndp->ni_vp->v_label, interplabel); #endif vput(ndp->ni_vp); vm_object_deallocate(imgp->object); @@ -452,7 +450,7 @@ attr.va_gid; #ifdef MAC will_transition = mac_execve_will_transition(oldcred, imgp->vp, - interplabelvalid ? &interplabel : NULL, imgp); + interplabel, imgp); credential_changing |= will_transition; #endif @@ -502,7 +500,7 @@ #ifdef MAC if (will_transition) { mac_execve_transition(oldcred, newcred, imgp->vp, - interplabelvalid ? &interplabel : NULL, imgp); + interplabel, imgp); } #endif /* @@ -654,8 +652,8 @@ /* sorry, no more process anymore. exit gracefully */ #ifdef MAC mac_execve_exit(imgp); - if (interplabelvalid) - mac_destroy_vnode_label(&interplabel); + if (interplabel != NULL) + mac_vnode_label_free(interplabel); #endif exit1(td, W_EXITCODE(0, SIGABRT)); /* NOT REACHED */ @@ -664,8 +662,8 @@ done2: #ifdef MAC mac_execve_exit(imgp); - if (interplabelvalid) - mac_destroy_vnode_label(&interplabel); + if (interplabel != NULL) + mac_vnode_label_free(interplabel); #endif mtx_unlock(&Giant); return (error); ==== //depot/projects/trustedbsd/base/sys/kern/kern_mac.c#51 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.104 2003/11/11 03:40:04 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.105 2003/11/12 03:14:29 rwatson Exp $"); #include "opt_mac.h" #include "opt_devfs.h" @@ -256,6 +256,7 @@ LIST_INIT(&mac_static_policy_list); LIST_INIT(&mac_policy_list); + mac_labelzone_init(); mtx_init(&mac_policy_mtx, "mac_policy_mtx", NULL, MTX_DEF); cv_init(&mac_policy_cv, "mac_policy_cv"); @@ -565,7 +566,7 @@ } buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); - error = mac_externalize_cred_label(&tcred->cr_label, elements, + error = mac_externalize_cred_label(tcred->cr_label, elements, buffer, mac.m_buflen); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -602,7 +603,7 @@ } buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); - error = mac_externalize_cred_label(&td->td_ucred->cr_label, + error = mac_externalize_cred_label(td->td_ucred->cr_label, elements, buffer, mac.m_buflen); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -619,7 +620,7 @@ __mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) { struct ucred *newcred, *oldcred; - struct label intlabel; + struct label *intlabel; struct proc *p; struct mac mac; char *buffer; @@ -640,13 +641,11 @@ return (error); } - mac_init_cred_label(&intlabel); - error = mac_internalize_cred_label(&intlabel, buffer); + intlabel = mac_cred_label_alloc(); + error = mac_internalize_cred_label(intlabel, buffer); free(buffer, M_MACTEMP); - if (error) { - mac_destroy_cred_label(&intlabel); - return (error); - } + if (error) + goto out; newcred = crget(); @@ -654,7 +653,7 @@ PROC_LOCK(p); oldcred = p->p_ucred; - error = mac_check_cred_relabel(oldcred, &intlabel); + error = mac_check_cred_relabel(oldcred, intlabel); if (error) { PROC_UNLOCK(p); crfree(newcred); @@ -663,7 +662,7 @@ setsugid(p); crcopy(newcred, oldcred); - mac_relabel_cred(newcred, &intlabel); + mac_relabel_cred(newcred, intlabel); p->p_ucred = newcred; /* @@ -683,7 +682,7 @@ crfree(oldcred); out: - mac_destroy_cred_label(&intlabel); + mac_cred_label_free(intlabel); return (error); } @@ -694,7 +693,7 @@ __mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) { char *elements, *buffer; - struct label intlabel; + struct label *intlabel; struct file *fp; struct mac mac; struct vnode *vp; @@ -729,20 +728,20 @@ case DTYPE_VNODE: vp = fp->f_vnode; - mac_init_vnode_label(&intlabel); + intlabel = mac_vnode_label_alloc(); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - mac_copy_vnode_label(&vp->v_label, &intlabel); + mac_copy_vnode_label(vp->v_label, intlabel); VOP_UNLOCK(vp, 0, td); break; case DTYPE_PIPE: pipe = fp->f_data; - mac_init_pipe_label(&intlabel); + intlabel = mac_pipe_label_alloc(); PIPE_LOCK(pipe); - mac_copy_pipe_label(pipe->pipe_label, &intlabel); + mac_copy_pipe_label(pipe->pipe_label, intlabel); PIPE_UNLOCK(pipe); break; default: @@ -756,14 +755,14 @@ case DTYPE_FIFO: case DTYPE_VNODE: if (error == 0) - error = mac_externalize_vnode_label(&intlabel, + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: - error = mac_externalize_pipe_label(&intlabel, elements, + error = mac_externalize_pipe_label(intlabel, elements, buffer, mac.m_buflen); - mac_destroy_pipe_label(&intlabel); + mac_pipe_label_free(intlabel); break; default: panic("__mac_get_fd: corrupted label_type"); @@ -788,7 +787,7 @@ { char *elements, *buffer; struct nameidata nd; - struct label intlabel; + struct label *intlabel; struct mac mac; int error; @@ -815,13 +814,13 @@ if (error) goto out; - mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(&nd.ni_vp->v_label, &intlabel); - error = mac_externalize_vnode_label(&intlabel, elements, buffer, + intlabel = mac_vnode_label_alloc(); + mac_copy_vnode_label(nd.ni_vp->v_label, intlabel); + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); NDFREE(&nd, 0); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -843,7 +842,7 @@ { char *elements, *buffer; struct nameidata nd; - struct label intlabel; + struct label *intlabel; struct mac mac; int error; @@ -870,12 +869,12 @@ if (error) goto out; - mac_init_vnode_label(&intlabel); - mac_copy_vnode_label(&nd.ni_vp->v_label, &intlabel); - error = mac_externalize_vnode_label(&intlabel, elements, buffer, + intlabel = mac_vnode_label_alloc(); + mac_copy_vnode_label(nd.ni_vp->v_label, intlabel); + error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); NDFREE(&nd, 0); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); @@ -895,7 +894,7 @@ int __mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) { - struct label intlabel; + struct label *intlabel; struct pipe *pipe; struct file *fp; struct mount *mp; @@ -928,40 +927,40 @@ switch (fp->f_type) { case DTYPE_FIFO: case DTYPE_VNODE: - mac_init_vnode_label(&intlabel); - error = mac_internalize_vnode_label(&intlabel, buffer); + intlabel = mac_vnode_label_alloc(); + error = mac_internalize_vnode_label(intlabel, buffer); if (error) { - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; } vp = fp->f_vnode; error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error != 0) { - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; } vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); - error = vn_setlabel(vp, &intlabel, td->td_ucred); + error = vn_setlabel(vp, intlabel, td->td_ucred); VOP_UNLOCK(vp, 0, td); vn_finished_write(mp); - mac_destroy_vnode_label(&intlabel); + mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: - mac_init_pipe_label(&intlabel); - error = mac_internalize_pipe_label(&intlabel, buffer); + intlabel = mac_pipe_label_alloc(); + error = mac_internalize_pipe_label(intlabel, buffer); if (error == 0) { pipe = fp->f_data; PIPE_LOCK(pipe); error = mac_pipe_label_set(td->td_ucred, pipe, - &intlabel); + intlabel); PIPE_UNLOCK(pipe); } - mac_destroy_pipe_label(&intlabel); + mac_pipe_label_free(intlabel); break; default: @@ -983,7 +982,7 @@ int __mac_set_file(struct thread *td, struct __mac_set_file_args *uap) { - struct label intlabel; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 19:25:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E74616A4D0; Tue, 11 Nov 2003 19:25:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5326316A4CE for ; Tue, 11 Nov 2003 19:25:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD3E943F85 for ; Tue, 11 Nov 2003 19:25:16 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC3PGXJ032085 for ; Tue, 11 Nov 2003 19:25:16 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC3PGsL032082 for perforce@freebsd.org; Tue, 11 Nov 2003 19:25:16 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 19:25:16 -0800 (PST) Message-Id: <200311120325.hAC3PGsL032082@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42080 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 03:25:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=42080 Change 42080 by peter@peter_daintree on 2003/11/11 19:24:43 Stab the 8259A's in the heart real early to make damn sure they're dead. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#63 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#63 (text+ko) ==== @@ -113,10 +113,9 @@ #include #endif -#ifdef DEV_ISA #include -#endif +#include #include #include #include @@ -1123,6 +1122,10 @@ u_int64_t msr; char *env; + /* Preemptively mask the atpics and leave them shut down */ + outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); + outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); + /* Turn on PTE NX (no execute) bit */ msr = rdmsr(MSR_EFER) | EFER_NXE; wrmsr(MSR_EFER, msr); From owner-p4-projects@FreeBSD.ORG Tue Nov 11 19:30:26 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B25C16A4DD; Tue, 11 Nov 2003 19:30:26 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B6F2216A4DC for ; Tue, 11 Nov 2003 19:30:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85DC543FBF for ; Tue, 11 Nov 2003 19:30:24 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC3UOXJ032418 for ; Tue, 11 Nov 2003 19:30:24 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC3UO4I032413 for perforce@freebsd.org; Tue, 11 Nov 2003 19:30:24 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 19:30:24 -0800 (PST) Message-Id: <200311120330.hAC3UO4I032413@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42082 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 03:30:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=42082 Change 42082 by peter@peter_overcee on 2003/11/11 19:29:38 use a void * for the ithread stuff rather than an int so I can try and get some forward progress. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#7 edit .. //depot/projects/hammer/sys/kern/kern_intr.c#16 edit .. //depot/projects/hammer/sys/sys/interrupt.h#5 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#7 (text+ko) ==== @@ -56,7 +56,7 @@ #define MAX_STRAY_LOG 5 -typedef void (*mask_fn)(int vector); +typedef void (*mask_fn)(void *cookie); static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; @@ -92,7 +92,7 @@ * that when we enable/disable an interrupt we call the PIC * methods directly. */ - error = ithread_create(&isrc->is_ithread, (intptr_t)isrc, 0, + error = ithread_create(&isrc->is_ithread, isrc, 0, (mask_fn)isrc->is_pic->pic_disable_source, (mask_fn)isrc->is_pic->pic_enable_source, "irq%d:", vector); if (error) ==== //depot/projects/hammer/sys/kern/kern_intr.c#16 (text+ko) ==== @@ -58,7 +58,7 @@ struct int_entropy { struct proc *proc; - int vector; + void *vector; }; void *vm_ih; @@ -169,8 +169,8 @@ } int -ithread_create(struct ithd **ithread, int vector, int flags, - void (*disable)(int), void (*enable)(int), const char *fmt, ...) +ithread_create(struct ithd **ithread, void *vector, int flags, + void (*disable)(void *), void (*enable)(void *), const char *fmt, ...) { struct ithd *ithd; struct thread *td; @@ -435,7 +435,7 @@ if ((ithd->it_flags & IT_SOFT) == 0) return(EINVAL); } else { - error = ithread_create(&ithd, pri, IT_SOFT, NULL, NULL, + error = ithread_create(&ithd, (void *)(uintptr_t)pri, IT_SOFT, NULL, NULL, "swi%d:", pri); if (error) return (error); ==== //depot/projects/hammer/sys/sys/interrupt.h#5 (text+ko) ==== @@ -67,12 +67,12 @@ LIST_ENTRY(ithd) it_list; /* All interrupt threads. */ TAILQ_HEAD(, intrhand) it_handlers; /* Interrupt handlers. */ struct ithd *it_interrupted; /* Who we interrupted. */ - void (*it_disable)(int); /* Enable interrupt source. */ - void (*it_enable)(int); /* Disable interrupt source. */ + void (*it_disable)(void *); /* Enable interrupt source. */ + void (*it_enable)(void *); /* Disable interrupt source. */ void *it_md; /* Hook for MD interrupt code. */ int it_flags; /* Interrupt-specific flags. */ int it_need; /* Needs service. */ - int it_vector; + void *it_vector; char it_name[MAXCOMLEN + 1]; }; @@ -114,8 +114,8 @@ #ifdef DDB void db_dump_ithread(struct ithd *ithd, int handlers); #endif -int ithread_create(struct ithd **ithread, int vector, int flags, - void (*disable)(int), void (*enable)(int), const char *fmt, ...) +int ithread_create(struct ithd **ithread, void *vector, int flags, + void (*disable)(void *), void (*enable)(void *), const char *fmt, ...) __printflike(6, 7); int ithread_destroy(struct ithd *ithread); u_char ithread_priority(enum intr_type flags); From owner-p4-projects@FreeBSD.ORG Tue Nov 11 19:32:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C5EA16A4D0; Tue, 11 Nov 2003 19:32:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EAC0716A4CE for ; Tue, 11 Nov 2003 19:32:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59DC843FDD for ; Tue, 11 Nov 2003 19:32:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC3WSXJ032607 for ; Tue, 11 Nov 2003 19:32:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC3WRCg032604 for perforce@freebsd.org; Tue, 11 Nov 2003 19:32:27 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 19:32:27 -0800 (PST) Message-Id: <200311120332.hAC3WRCg032604@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42084 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 03:32:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=42084 Change 42084 by peter@peter_overcee on 2003/11/11 19:31:26 create an atpic device which is optional. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#64 edit .. //depot/projects/hammer/sys/conf/files.amd64#34 edit .. //depot/projects/hammer/sys/conf/options.amd64#14 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#64 (text+ko) ==== @@ -42,12 +42,12 @@ __FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.597 2003/11/09 20:31:02 marcel Exp $"); #include "opt_atalk.h" +#include "opt_atpic.h" #include "opt_compat.h" #include "opt_cpu.h" #include "opt_ddb.h" #include "opt_inet.h" #include "opt_ipx.h" -#include "opt_isa.h" #include "opt_kstack_pages.h" #include "opt_maxmem.h" #include "opt_msgbuf.h" @@ -1226,7 +1226,7 @@ */ cninit(); -#ifdef DEV_ISA +#ifdef DEV_ATPIC atpic_startup(); #endif ==== //depot/projects/hammer/sys/conf/files.amd64#34 (text+ko) ==== @@ -62,8 +62,8 @@ amd64/amd64/tsc.c standard amd64/amd64/uma_machdep.c standard amd64/amd64/vm_machdep.c standard -amd64/isa/atpic.c standard -amd64/isa/atpic_vector.S standard +amd64/isa/atpic.c optional atpic isa +amd64/isa/atpic_vector.S optional atpic isa amd64/isa/clock.c standard amd64/isa/isa.c standard amd64/isa/isa_dma.c standard ==== //depot/projects/hammer/sys/conf/options.amd64#14 (text+ko) ==== @@ -30,3 +30,4 @@ PSM_DEBUG opt_psm.h IA32 NO_MIXED_MODE +DEV_ATPIC opt_atpic.h From owner-p4-projects@FreeBSD.ORG Tue Nov 11 19:35:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EFE8916A4D0; Tue, 11 Nov 2003 19:35:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C7E4C16A4CE for ; Tue, 11 Nov 2003 19:35:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F23B43FB1 for ; Tue, 11 Nov 2003 19:35:34 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC3ZYXJ032781 for ; Tue, 11 Nov 2003 19:35:34 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC3ZXn0032773 for perforce@freebsd.org; Tue, 11 Nov 2003 19:35:33 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 19:35:33 -0800 (PST) Message-Id: <200311120335.hAC3ZXn0032773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42086 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 03:35:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=42086 Change 42086 by rwatson@rwatson_tislabs on 2003/11/11 19:34:40 Integrate TrustedBSD MAC branch from TrustedBSD base branch: turnstiles, VFS mount changes, and loopback of (struct label) -> (struct label *) changes to MAC Framework. Affected files ... .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#42 integrate .. //depot/projects/trustedbsd/mac/sbin/init/init.8#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/Makefile#36 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ddb.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/inet.4#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/intro.4#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ips.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/lnc.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/svr4.4#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/autoconf.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files#98 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/ac97.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ohci.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs.h#13 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/mptable.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/interrupt.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/machdep.c#38 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/trap.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_exec.c#68 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#429 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_mutex.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_thread.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/kern/subr_turnstile.c#1 branch .. //depot/projects/trustedbsd/mac/sys/kern/subr_witness.c#40 integrate .. //depot/projects/trustedbsd/mac/sys/kern/vfs_mount.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/modules/mac_stub/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sys/net/bpfdesc.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/net/if_var.h#20 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_var.h#19 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_vfsops.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/pci/agp.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/pci/agp_ali.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_internal.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_pipe.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_process.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_system.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_vfs.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#229 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#75 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#184 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_partition/mac_partition.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#119 integrate .. //depot/projects/trustedbsd/mac/sys/sys/_mutex.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/sys/filedesc.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#250 integrate .. //depot/projects/trustedbsd/mac/sys/sys/mount.h#30 integrate .. //depot/projects/trustedbsd/mac/sys/sys/pipe.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/sys/proc.h#50 integrate .. //depot/projects/trustedbsd/mac/sys/sys/socketvar.h#35 integrate .. //depot/projects/trustedbsd/mac/sys/sys/turnstile.h#1 branch .. //depot/projects/trustedbsd/mac/sys/sys/ucred.h#21 integrate .. //depot/projects/trustedbsd/mac/sys/sys/vnode.h#62 integrate Differences ... ==== //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#42 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.196 2003/11/09 23:42:51 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.197 2003/11/11 19:20:13 trhodes Exp $ Supported Devices @@ -430,7 +430,7 @@ driver) - IBM / Adaptec ServeRAID series (ips driver) + IBM / Adaptec ServeRAID series (&man.ips.4; driver) LSI Logic Fusion/MP architecture Fiber Channel controllers (&man.mpt.4; driver) ==== //depot/projects/trustedbsd/mac/sbin/init/init.8#8 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/sbin/init/init.8,v 1.39 2003/06/08 12:50:49 charnier Exp $ +.\" $FreeBSD: src/sbin/init/init.8,v 1.40 2003/11/11 18:37:50 kensmith Exp $ .\" .Dd April 18, 1994 .Dt INIT 8 @@ -151,9 +151,24 @@ using .Xr sysctl 8 to set the -.Dq kern.securelevel +.Va kern.securelevel variable to the required security level. .Pp +If +.Nm +is run in a jail the security level of the +.Dq host system +will not be effected. +Part of the information set up in the kernel to support a jail +is a per-jail +.Dq securelevel +setting. +This allows running a higher security level inside of a jail +than that of the host system. +See +.Xr jail 8 +for more information about jails. +.Pp In multi-user operation, .Nm maintains @@ -383,6 +398,7 @@ .Xr getty 8 , .Xr halt 8 , .Xr ipfw 8 , +.Xr jail 8 , .Xr rc 8 , .Xr reboot 8 , .Xr shutdown 8 , ==== //depot/projects/trustedbsd/mac/share/man/man4/Makefile#36 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.238 2003/11/10 21:26:52 hmp Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.239 2003/11/11 18:48:02 trhodes Exp $ MAN= aac.4 \ acpi.4 \ @@ -96,6 +96,7 @@ ip.4 \ ip6.4 \ ipfirewall.4 \ + ips.4 \ ipsec.4 \ isp.4 \ ispfw.4 \ ==== //depot/projects/trustedbsd/mac/share/man/man4/ddb.4#5 (text+ko) ==== @@ -57,7 +57,7 @@ .\" Created. .\" [90/08/30 dbg] .\" -.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.23 2003/10/14 02:47:23 imp Exp $ +.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.24 2003/11/12 02:35:20 hmp Exp $ .Dd January 16, 1996 .Dt DDB 4 .Os @@ -312,7 +312,8 @@ point at the low-level code paths may also cause strange behavior. .It Cm delete Ar addr .It Cm delete Li \&# Ns Ar number -Delete the break point. The target break point can be specified by a +Delete the break point. +The target break point can be specified by a break point number with .Li # , or by using the same @@ -520,7 +521,10 @@ .It Li maxwidth The width of the displayed line. .It Li lines -The number of lines. It is used by "more" feature. +The number of lines. +It is used by +.Dq more +feature. .It Li tabstops Tab stop width. .It Li work Ns Ar xx @@ -583,7 +587,8 @@ a binary operator which rounds up the left hand side to the next multiple of right hand side. .It Li \&* Ns Em expr -indirection. It may be followed by a +indirection. +It may be followed by a .Sq Li : and modifiers as described above. .El ==== //depot/projects/trustedbsd/mac/share/man/man4/inet.4#8 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man4/inet.4,v 1.25 2003/10/14 02:59:13 imp Exp $ +.\" $FreeBSD: src/share/man/man4/inet.4,v 1.26 2003/11/12 02:35:20 hmp Exp $ .\" .Dd February 14, 1995 .Dt INET 4 @@ -297,7 +297,8 @@ .Re .Sh CAVEAT The Internet protocol support is subject to change as -the Internet protocols develop. Users should not depend +the Internet protocols develop. +Users should not depend on details of the current implementation, but rather the services exported. .Sh HISTORY ==== //depot/projects/trustedbsd/mac/share/man/man4/intro.4#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/share/man/man4/intro.4,v 1.27 2003/06/28 23:53:37 ru Exp $ +.\" $FreeBSD: src/share/man/man4/intro.4,v 1.28 2003/11/12 02:35:20 hmp Exp $ .\" .Dd January 20, 1996 .Dt INTRO 4 @@ -149,8 +149,8 @@ .Xr config 8 for a detailed description of the files involved. The individual manual pages in this section provide a sample line for the -configuration file in their synopsis portion. See also the sample -config file +configuration file in their synopsis portion. +See also the sample config file .Pa /sys/i386/conf/LINT (for the .Em i386 ==== //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/lnc.4#2 (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/share/man/man4/man4.i386/lnc.4,v 1.20 2001/10/13 09:08:37 yokota Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/lnc.4,v 1.21 2003/11/12 02:35:20 hmp Exp $ .\" .Dd January 19, 1997 .Dt LNC 4 i386 @@ -68,20 +68,24 @@ .Sh DIAGNOSTICS .Bl -diag .It "lnc%d: Framing error" -A framing error occurred. This means a CRC error also occurred. +A framing error occurred. +This means a CRC error also occurred. This caused the driver to drop the packet that contained the framing error. .It "lnc%d: Receive CRC error The received Ethernet frame failed the CRC checksum. This caused the driver to drop the packet that failed the checksum. .It "lnc%d: Packet dropped, no mbufs" -The driver ran out of mbuf's. This may suggest a resource problem. +The driver ran out of mbuf's. +This may suggest a resource problem. .It "lnc%d: Couldn't allocate memory for NIC" -This is a fatal error. The driver will not attach to the card under this +This is a fatal error. +The driver will not attach to the card under this circumstance. .It "lnc%d: Memory allocated above 16Mb limit" ISA and ESIA cards require bounce buffers for DMA transfers above 16mb. The Am7990 and Am79C960 only have 24 address lines and so can only access -the lower 16Mb of physical memory. The +the lower 16Mb of physical memory. +The .Nm driver assumes the memory it allocates is within the lower 16Mb range. This is not a very valid assumption but there's nothing that can be done @@ -89,7 +93,8 @@ For shared memory NICs this isn't relevant. .It "lnc%d: Device timeout -- Resetting" The device has stopped responding to the network, or there is a problem with -the network connection (cable). Make sure the network connection in use +the network connection (cable). +Make sure the network connection in use is the same one the card is configured for. .It "lnc%d: Transmit late collision -- Net error?" .It "lnc%d: Loss of carrier during transmit -- Net error?" ==== //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/svr4.4#5 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.9 2003/10/28 05:22:19 tjr Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.10 2003/11/12 02:35:20 hmp Exp $ .Dd October 28, 2003 .Dt SVR4 4 i386 .Os @@ -141,7 +141,9 @@ .Pa /compat/svr4/dev . Internally, the .Xr streams 4 -driver produces a socket descriptor and "tags" it with additional STREAMS +driver produces a socket descriptor and +.Dq tags +it with additional STREAMS state information before returning it to the client application. The .Nm @@ -177,9 +179,11 @@ .Pp Extensive testing has only really been carried out with Solaris 2.x binaries, with anecdotal reports of limited success coming from testers with -early-revision SCO media. In theory, the basic SVR4 ABI should be constant +early-revision SCO media. +In theory, the basic SVR4 ABI should be constant across the set of vendors who produce SVR4 operating systems, but in -practice that's probably not the case. If necessary, future work can +practice that's probably not the case. +If necessary, future work can either implement additional .Xr kld 4 modules which produce functionality which contains OS-dependent @@ -187,7 +191,9 @@ ABI implementation. Alternatively, .Xr sysctl 8 -variables could set the "personality" the environment should present to +variables could set the +.Dq personality +the environment should present to client applications. .Sh FILES .Bl -tag -width /sys/compat/svr4/syscalls.master -compact ==== //depot/projects/trustedbsd/mac/sys/amd64/amd64/autoconf.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.174 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.175 2003/11/12 01:49:49 peter Exp $"); /* * Setup the system to run on the current machine. @@ -155,6 +155,8 @@ { cninit_finish(); + if (bootverbose) + printf("Device configuration finished.\n"); cold = 0; } ==== //depot/projects/trustedbsd/mac/sys/conf/files#98 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.847 2003/11/11 18:58:53 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.849 2003/11/12 03:14:28 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1154,6 +1154,7 @@ kern/subr_smp.c optional smp kern/subr_taskqueue.c standard kern/subr_trap.c standard +kern/subr_turnstile.c standard kern/subr_witness.c optional witness kern/sys_generic.c standard kern/sys_pipe.c standard ==== //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/ac97.c#15 (text+ko) ==== @@ -30,7 +30,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.48 2003/10/12 11:51:24 des Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.49 2003/11/11 22:15:17 kuriyama Exp $"); MALLOC_DEFINE(M_AC97, "ac97", "ac97 codec"); @@ -138,6 +138,7 @@ { 0x414c4740, 0x0f, 0, "ALC202", 0 }, { 0x414c4720, 0x0f, 0, "ALC650", 0 }, { 0x414c4760, 0x0f, 0, "ALC655", 0 }, + { 0x414c4780, 0x0f, 0, "ALC658", 0 }, { 0x43525900, 0x07, 0, "CS4297", 0 }, { 0x43525910, 0x07, 0, "CS4297A", 0 }, { 0x43525920, 0x07, 0, "CS4294/98", 0 }, ==== //depot/projects/trustedbsd/mac/sys/dev/usb/ohci.c#22 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.137 2003/11/10 00:20:52 joe Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.138 2003/11/12 01:40:11 joe Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1475,7 +1475,7 @@ printf("ohci_softintr: sitd=%p is done\n", sitd); sitd->isdone = 1; #endif - struct ohci_pipe *opipe = (struct ohci_pipe *)xfer->pipe; + opipe = (struct ohci_pipe *)xfer->pipe; if (opipe->aborting) continue; ==== //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs.h#13 (text+ko) ==== @@ -33,7 +33,7 @@ * @(#)kernfs.h 8.6 (Berkeley) 3/29/95 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs.h 1.14 * - * $FreeBSD: src/sys/fs/devfs/devfs.h,v 1.17 2002/12/09 03:44:27 rwatson Exp $ + * $FreeBSD: src/sys/fs/devfs/devfs.h,v 1.18 2003/11/12 03:14:29 rwatson Exp $ */ #ifndef _FS_DEVFS_DEVFS_H_ ==== //depot/projects/trustedbsd/mac/sys/i386/i386/mptable.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.224 2003/11/11 17:14:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); #include "opt_mptable_force_htt.h" #include @@ -893,6 +893,8 @@ return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); ==== //depot/projects/trustedbsd/mac/sys/ia64/ia64/interrupt.c#17 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.41 2003/09/10 22:49:38 marcel Exp $ */ +/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.42 2003/11/12 01:26:02 marcel Exp $ */ /* $NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $ */ /* @@ -200,8 +200,12 @@ asts[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_AST, cpuid=%d", PCPU_GET(cpuid)); } else if (vector == ipi_vector[IPI_HIGH_FP]) { - if (PCPU_GET(fpcurthread) != NULL) - ia64_highfp_save(PCPU_GET(fpcurthread)); + struct thread *thr = PCPU_GET(fpcurthread); + if (thr != NULL) { + save_high_fp(&thr->td_pcb->pcb_high_fp); + thr->td_pcb->pcb_fpcpu = NULL; + PCPU_SET(fpcurthread, NULL); + } } else if (vector == ipi_vector[IPI_RENDEZVOUS]) { rdvs[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_RENDEZVOUS, cpuid=%d", PCPU_GET(cpuid)); ==== //depot/projects/trustedbsd/mac/sys/ia64/ia64/machdep.c#38 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.168 2003/11/11 09:53:37 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.169 2003/11/12 01:26:02 marcel Exp $ */ #include "opt_compat.h" @@ -311,6 +311,8 @@ #if IA32 ia32_savectx(oldpcb); #endif + if (PCPU_GET(fpcurthread) == old) + old->td_frame->tf_special.psr |= IA64_PSR_DFH; if (!savectx(oldpcb)) { newpcb = new->td_pcb; oldpcb->pcb_current_pmap = @@ -319,6 +321,8 @@ #if IA32 ia32_restorectx(newpcb); #endif + if (PCPU_GET(fpcurthread) == new) + new->td_frame->tf_special.psr &= ~IA64_PSR_DFH; restorectx(newpcb); /* We should not get here. */ panic("cpu_switch: restorectx() returned"); ==== //depot/projects/trustedbsd/mac/sys/ia64/ia64/trap.c#22 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.93 2003/10/28 19:38:26 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.94 2003/11/12 01:26:02 marcel Exp $"); #include "opt_ddb.h" #include "opt_ktrace.h" @@ -570,81 +570,54 @@ if (!user) trap_panic(vector, framep); + critical_enter(); + thr = PCPU_GET(fpcurthread); + if (thr == td) { + /* + * Short-circuit handling the trap when this CPU + * already holds the high FP registers for this + * thread. We really shouldn't get the trap in the + * first place, but since it's only a performance + * issue and not a correctness issue, we emit a + * message for now, enable the high FP registers and + * return. + */ + printf("XXX: bogusly disabled high FP regs\n"); + framep->tf_special.psr &= ~IA64_PSR_DFH; + critical_exit(); + goto out; + } else if (thr != NULL) { + pcb = thr->td_pcb; + save_high_fp(&pcb->pcb_high_fp); + pcb->pcb_fpcpu = NULL; + PCPU_SET(fpcurthread, NULL); + thr = NULL; + } + pcb = td->td_pcb; pcpu = pcb->pcb_fpcpu; -#if 0 - printf("XXX: td %p: highfp on cpu %p\n", td, pcpu); -#endif - - /* - * The pcpu variable holds the address of the per-CPU - * structure of the CPU currently holding this threads - * high FP registers (or NULL if no CPU holds these - * registers). We have to interrupt that CPU and wait - * for it to have saved the registers. - */ +#ifdef SMP if (pcpu != NULL) { - thr = pcpu->pc_fpcurthread; - KASSERT(thr == td, ("High FP state out of sync")); - - if (pcpu == pcpup) { - /* - * Short-circuit handling the trap when this - * CPU already holds the high FP registers for - * this thread. We really shouldn't get the - * trap in the first place, but since it's - * only a performance issue and not a - * correctness issue, we emit a message for - * now, enable the high FP registers and - * return. - */ - printf("XXX: bogusly disabled high FP regs\n"); - framep->tf_special.psr &= ~IA64_PSR_DFH; - goto out; - } -#ifdef SMP - /* - * Interrupt the other CPU so that it saves the high - * FP registers of this thread. Note that this can - * only happen for the SMP case. - */ ipi_send(pcpu->pc_lid, IPI_HIGH_FP); -#endif -#ifdef DIAGNOSTICS - } else { - KASSERT(PCPU_GET(fpcurthread) != td, - ("High FP state out of sync")); -#endif + critical_exit(); + while (pcb->pcb_fpcpu != pcpu) + DELAY(100); + critical_enter(); + pcpu = pcb->pcb_fpcpu; + thr = PCPU_GET(fpcurthread); } - - thr = PCPU_GET(fpcurthread); - -#if 0 - printf("XXX: cpu %p: highfp belongs to td %p\n", pcpup, thr); #endif - /* - * The thr variable holds the thread that owns the high FP - * registers currently on this CPU. Free this CPU so that - * we can load the current threads high FP registers. - */ - if (thr != NULL) { - KASSERT(thr != td, ("High FP state out of sync")); - pcb = thr->td_pcb; - KASSERT(pcb->pcb_fpcpu == pcpup, - ("High FP state out of sync")); - ia64_highfp_save(thr); + if (thr == NULL && pcpu == NULL) { + restore_high_fp(&pcb->pcb_high_fp); + PCPU_SET(fpcurthread, td); + pcb->pcb_fpcpu = pcpup; + framep->tf_special.psr &= ~IA64_PSR_MFH; + framep->tf_special.psr &= ~IA64_PSR_DFH; } - /* - * Wait for the other CPU to have saved out high FP - * registers (if applicable). - */ - while (pcpu && pcpu->pc_fpcurthread == td); - - ia64_highfp_load(td); - framep->tf_special.psr &= ~IA64_PSR_DFH; + critical_exit(); goto out; } ==== //depot/projects/trustedbsd/mac/sys/kern/kern_exec.c#68 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.231 2003/10/21 01:13:49 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.232 2003/11/12 03:14:29 rwatson Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#429 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.104 2003/11/11 03:40:04 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.105 2003/11/12 03:14:29 rwatson Exp $"); #include "opt_mac.h" #include "opt_devfs.h" @@ -1025,7 +1025,6 @@ NDFREE(&nd, 0); mtx_unlock(&Giant); /* VFS */ - out: mac_vnode_label_free(intlabel); return (error); ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mutex.c#27 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.131 2003/07/31 18:52:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.132 2003/11/11 22:07:29 jhb Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -90,122 +91,6 @@ struct mtx sched_lock; struct mtx Giant; -/* - * Prototypes for non-exported routines. - */ -static void propagate_priority(struct thread *); - -static void -propagate_priority(struct thread *td) -{ - int pri = td->td_priority; - struct mtx *m = td->td_blocked; - - mtx_assert(&sched_lock, MA_OWNED); - for (;;) { - struct thread *td1; - - td = mtx_owner(m); - - if (td == NULL) { - /* - * This really isn't quite right. Really - * ought to bump priority of thread that - * next acquires the mutex. - */ - MPASS(m->mtx_lock == MTX_CONTESTED); - return; - } - - MPASS(td->td_proc != NULL); - MPASS(td->td_proc->p_magic == P_MAGIC); - KASSERT(!TD_IS_SLEEPING(td), ( - "sleeping thread (pid %d) owns a mutex", - td->td_proc->p_pid)); - if (td->td_priority <= pri) /* lower is higher priority */ - return; - - - /* - * If lock holder is actually running, just bump priority. - */ - if (TD_IS_RUNNING(td)) { - td->td_priority = pri; - return; - } - -#ifndef SMP - /* - * For UP, we check to see if td is curthread (this shouldn't - * ever happen however as it would mean we are in a deadlock.) - */ - KASSERT(td != curthread, ("Deadlock detected")); -#endif - - /* - * If on run queue move to new run queue, and quit. - * XXXKSE this gets a lot more complicated under threads - * but try anyhow. - */ - if (TD_ON_RUNQ(td)) { - MPASS(td->td_blocked == NULL); - sched_prio(td, pri); - return; - } - /* - * Adjust for any other cases. - */ - td->td_priority = pri; - - /* - * If we aren't blocked on a mutex, we should be. - */ - KASSERT(TD_ON_LOCK(td), ( - "process %d(%s):%d holds %s but isn't blocked on a mutex\n", - td->td_proc->p_pid, td->td_proc->p_comm, td->td_state, - m->mtx_object.lo_name)); - - /* - * Pick up the mutex that td is blocked on. - */ - m = td->td_blocked; - MPASS(m != NULL); - - /* - * Check if the thread needs to be moved up on - * the blocked chain - */ - if (td == TAILQ_FIRST(&m->mtx_blocked)) { - continue; - } - - td1 = TAILQ_PREV(td, threadqueue, td_lockq); - if (td1->td_priority <= pri) { - continue; - } - - /* - * Remove thread from blocked chain and determine where - * it should be moved up to. Since we know that td1 has - * a lower priority than td, we know that at least one - * thread in the chain has a lower priority and that - * td1 will thus not be NULL after the loop. - */ - TAILQ_REMOVE(&m->mtx_blocked, td, td_lockq); - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) { - MPASS(td1->td_proc->p_magic == P_MAGIC); - if (td1->td_priority > pri) - break; - } - - MPASS(td1 != NULL); - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - CTR4(KTR_LOCK, - "propagate_priority: p %p moved before %p on [%p] %s", - td, td1, m, m->mtx_object.lo_name); - } -} - #ifdef MUTEX_PROFILING SYSCTL_NODE(_debug, OID_AUTO, mutex, CTLFLAG_RD, NULL, "mutex debugging"); SYSCTL_NODE(_debug_mutex, OID_AUTO, prof, CTLFLAG_RD, NULL, "mutex profiling"); @@ -484,8 +369,8 @@ void _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td = curthread; - struct thread *td1; #if defined(SMP) && defined(ADAPTIVE_MUTEXES) struct thread *owner; #endif @@ -509,15 +394,15 @@ while (!_obtain_lock(m, td)) { - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); v = m->mtx_lock; /* * Check if the lock has been released while spinning for - * the sched_lock. + * the turnstile chain lock. */ if (v == MTX_UNOWNED) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -531,14 +416,9 @@ * necessary. */ if (v == MTX_CONTESTED) { - td1 = TAILQ_FIRST(&m->mtx_blocked); - MPASS(td1 != NULL); + MPASS(ts != NULL); m->mtx_lock = (uintptr_t)td | MTX_CONTESTED; - LIST_INSERT_HEAD(&td->td_contested, m, mtx_contested); - - if (td1->td_priority < td->td_priority) - td->td_priority = td1->td_priority; - mtx_unlock_spin(&sched_lock); + turnstile_claim(ts); return; } @@ -550,7 +430,7 @@ if ((v & MTX_CONTESTED) == 0 && !atomic_cmpset_ptr(&m->mtx_lock, (void *)v, (void *)(v | MTX_CONTESTED))) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -564,7 +444,7 @@ */ owner = (struct thread *)(v & MTX_FLAGMASK); if (m != &Giant && TD_IS_RUNNING(owner)) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); while (mtx_owner(m) == owner && TD_IS_RUNNING(owner)) { #ifdef __i386__ ia32_pause(); @@ -579,42 +459,6 @@ */ mtx_assert(m, MA_NOTOWNED); -#ifdef notyet - /* - * If we're borrowing an interrupted thread's VM context, we - * must clean up before going to sleep. - */ - if (td->td_ithd != NULL) { - struct ithd *it = td->td_ithd; - - if (it->it_interrupted) { - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR2(KTR_LOCK, - "_mtx_lock_sleep: %p interrupted %p", - it, it->it_interrupted); - intr_thd_fixup(it); - } - } -#endif - - /* - * Put us on the list of threads blocked on this mutex - * and add this mutex to the owning thread's list of - * contested mutexes if needed. - */ - if (TAILQ_EMPTY(&m->mtx_blocked)) { - td1 = mtx_owner(m); - LIST_INSERT_HEAD(&td1->td_contested, m, mtx_contested); - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } else { - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) - if (td1->td_priority > td->td_priority) - break; - if (td1) - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - else - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } #ifdef KTR if (!cont_logged) { CTR6(KTR_CONTENTION, @@ -627,27 +471,9 @@ #endif /* - * Save who we're blocked on. + * Block on the turnstile. */ - td->td_blocked = m; - td->td_lockname = m->mtx_object.lo_name; - TD_SET_LOCK(td); - propagate_priority(td); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p blocked on [%p] %s", td, m, - m->mtx_object.lo_name); - - td->td_proc->p_stats->p_ru.ru_nvcsw++; - mi_switch(); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p free from blocked on [%p] %s", - td, m, m->mtx_object.lo_name); - - mtx_unlock_spin(&sched_lock); + turnstile_wait(ts, &m->mtx_object, mtx_owner(m)); } #ifdef KTR @@ -724,11 +550,8 @@ void _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td, *td1; - struct mtx *m1; - int pri; - - td = curthread; if (mtx_recursed(m)) { if (--(m->mtx_recurse) == 0) @@ -738,57 +561,47 @@ return; } - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p contested", m); - td1 = TAILQ_FIRST(&m->mtx_blocked); #if defined(SMP) && defined(ADAPTIVE_MUTEXES) - if (td1 == NULL) { + if (ts == NULL) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p no sleepers", m); - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); return; } +#else + MPASS(ts != NULL); #endif - MPASS(td->td_proc->p_magic == P_MAGIC); - MPASS(td1->td_proc->p_magic == P_MAGIC); - - TAILQ_REMOVE(&m->mtx_blocked, td1, td_lockq); - - LIST_REMOVE(m, mtx_contested); - if (TAILQ_EMPTY(&m->mtx_blocked)) { + /* XXX */ + td1 = turnstile_head(ts); + if (turnstile_signal(ts)) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); - } else + } else { m->mtx_lock = MTX_CONTESTED; - - pri = PRI_MAX; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 11 19:37:39 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A93616A4D0; Tue, 11 Nov 2003 19:37:39 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3DA3F16A4CE for ; Tue, 11 Nov 2003 19:37:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4F0643FBF for ; Tue, 11 Nov 2003 19:37:38 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC3bcXJ033408 for ; Tue, 11 Nov 2003 19:37:38 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC3bbgF033405 for perforce@freebsd.org; Tue, 11 Nov 2003 19:37:37 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 19:37:37 -0800 (PST) Message-Id: <200311120337.hAC3bbgF033405@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42088 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 03:37:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=42088 Change 42088 by peter@peter_daintree on 2003/11/11 19:36:56 invert NO_MIXED_MODE for amd64. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#16 edit .. //depot/projects/hammer/sys/conf/options.amd64#15 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#16 (text+ko) ==== @@ -31,7 +31,7 @@ __FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.5 2003/11/07 23:44:35 jhb Exp $"); #include "opt_isa.h" -#include "opt_no_mixed_mode.h" +#include "opt_mixed_mode.h" #include #include @@ -50,8 +50,8 @@ #include #include -#if defined(DEV_ISA) && !defined(NO_MIXED_MODE) -#define MIXED_MODE +#if defined(MIXED_MODE) && !defined(DEV_ISA) +#error "You need the isa device for mixed mode!"; #endif #define IOAPIC_ISA_INTS 16 ==== //depot/projects/hammer/sys/conf/options.amd64#15 (text+ko) ==== @@ -29,5 +29,5 @@ PSM_RESETAFTERSUSPEND opt_psm.h PSM_DEBUG opt_psm.h IA32 -NO_MIXED_MODE +MIXED_MODE DEV_ATPIC opt_atpic.h From owner-p4-projects@FreeBSD.ORG Tue Nov 11 19:45:50 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3ECBD16A4D0; Tue, 11 Nov 2003 19:45:50 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 19D6216A4CE for ; Tue, 11 Nov 2003 19:45:50 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A64F43FE1 for ; Tue, 11 Nov 2003 19:45:49 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC3jnXJ033852 for ; Tue, 11 Nov 2003 19:45:49 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC3jmdS033849 for perforce@freebsd.org; Tue, 11 Nov 2003 19:45:48 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 19:45:48 -0800 (PST) Message-Id: <200311120345.hAC3jmdS033849@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42089 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 03:45:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=42089 Change 42089 by rwatson@rwatson_paprika on 2003/11/11 19:44:49 Make sure to drop Giant if operation in the VFS section fails. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#430 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#430 (text+ko) ==== @@ -943,6 +943,7 @@ error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error != 0) { mac_vnode_label_free(intlabel); + mtx_unlock(&Giant); /* VFS */ break; } From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:01:10 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C78F016A4D1; Tue, 11 Nov 2003 20:01:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A329616A4CE for ; Tue, 11 Nov 2003 20:01:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A9BF443FA3 for ; Tue, 11 Nov 2003 20:01:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC418XJ034490 for ; Tue, 11 Nov 2003 20:01:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC418Gc034487 for perforce@freebsd.org; Tue, 11 Nov 2003 20:01:08 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 20:01:08 -0800 (PST) Message-Id: <200311120401.hAC418Gc034487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42091 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:01:10 -0000 X-List-Received-Date: Wed, 12 Nov 2003 04:01:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=42091 Change 42091 by peter@peter_hammer on 2003/11/11 20:00:33 Unused include Affected files ... .. //depot/projects/hammer/sys/amd64/ia32/ia32_syscall.c#8 edit Differences ... ==== //depot/projects/hammer/sys/amd64/ia32/ia32_syscall.c#8 (text+ko) ==== @@ -79,8 +79,6 @@ #include #include -#include - #define IDTVEC(name) __CONCAT(X,name) extern inthand_t IDTVEC(int0x80_syscall), IDTVEC(rsvd); From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:01:10 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0099E16A4E6; Tue, 11 Nov 2003 20:01:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE3BC16A4CF for ; Tue, 11 Nov 2003 20:01:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 27F5343FD7 for ; Tue, 11 Nov 2003 20:01:09 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC418XJ034496 for ; Tue, 11 Nov 2003 20:01:09 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC418OD034493 for perforce@freebsd.org; Tue, 11 Nov 2003 20:01:08 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 20:01:08 -0800 (PST) Message-Id: <200311120401.hAC418OD034493@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42092 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:01:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=42092 Change 42092 by peter@peter_hammer on 2003/11/11 20:00:53 add include for definition of struct thread Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#18 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#18 (text+ko) ==== @@ -39,6 +39,7 @@ #include #include #include +#include #include #include From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:02:12 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C61CF16A4D0; Tue, 11 Nov 2003 20:02:11 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A0ECC16A4CE for ; Tue, 11 Nov 2003 20:02:11 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 125DC43FF9 for ; Tue, 11 Nov 2003 20:02:11 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC42AXJ034517 for ; Tue, 11 Nov 2003 20:02:10 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC42ARe034514 for perforce@freebsd.org; Tue, 11 Nov 2003 20:02:10 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 20:02:10 -0800 (PST) Message-Id: <200311120402.hAC42ARe034514@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42093 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:02:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=42093 Change 42093 by peter@peter_hammer on 2003/11/11 20:01:12 add a stub for isa_irq_pending(). grrr. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#66 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#66 (text+ko) ==== @@ -762,6 +762,15 @@ sd->sd_gran = ssd->ssd_gran; } +#if !defined(DEV_ATPIC) && defined(DEV_ISA) +#include +u_int +isa_irq_pending(void) +{ + + return (0); +} +#endif #define PHYSMAP_SIZE (2 * 8) From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:08:20 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A0DE816A4D0; Tue, 11 Nov 2003 20:08:20 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6914116A4CE for ; Tue, 11 Nov 2003 20:08:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 471EA43FBF for ; Tue, 11 Nov 2003 20:08:19 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC48JXJ035601 for ; Tue, 11 Nov 2003 20:08:19 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC48IVX035598 for perforce@freebsd.org; Tue, 11 Nov 2003 20:08:18 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 20:08:18 -0800 (PST) Message-Id: <200311120408.hAC48IVX035598@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42094 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:08:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=42094 Change 42094 by rwatson@rwatson_tislabs on 2003/11/11 20:08:10 Biba, LOMAC, and MLS aren't unloadable, so don't implement a destroy method for these policies. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#230 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#76 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#185 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#230 (text+ko) ==== @@ -495,12 +495,6 @@ * Policy module operations. */ static void -mac_biba_destroy(struct mac_policy_conf *conf) -{ - -} - -static void mac_biba_init(struct mac_policy_conf *conf) { @@ -3113,7 +3107,6 @@ static struct mac_policy_ops mac_biba_ops = { - .mpo_destroy = mac_biba_destroy, .mpo_init = mac_biba_init, .mpo_init_bpfdesc_label = mac_biba_init_label, .mpo_init_cred_label = mac_biba_init_label, ==== //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#76 (text+ko) ==== @@ -616,12 +616,6 @@ * Policy module operations. */ static void -mac_lomac_destroy(struct mac_policy_conf *conf) -{ - -} - -static void mac_lomac_init(struct mac_policy_conf *conf) { @@ -3039,7 +3033,6 @@ static struct mac_policy_ops mac_lomac_ops = { - .mpo_destroy = mac_lomac_destroy, .mpo_init = mac_lomac_init, .mpo_init_bpfdesc_label = mac_lomac_init_label, .mpo_init_cred_label = mac_lomac_init_label, ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#185 (text+ko) ==== @@ -460,12 +460,6 @@ * Policy module operations. */ static void -mac_mls_destroy(struct mac_policy_conf *conf) -{ - -} - -static void mac_mls_init(struct mac_policy_conf *conf) { @@ -2890,7 +2884,6 @@ static struct mac_policy_ops mac_mls_ops = { - .mpo_destroy = mac_mls_destroy, .mpo_init = mac_mls_init, .mpo_init_bpfdesc_label = mac_mls_init_label, .mpo_init_cred_label = mac_mls_init_label, From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:10:41 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78B1D16A4D0; Tue, 11 Nov 2003 20:10:41 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 51D2E16A4CE for ; Tue, 11 Nov 2003 20:10:41 -0800 (PST) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id C9B7343FCB for ; Tue, 11 Nov 2003 20:10:40 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id B47B12A8FB for ; Tue, 11 Nov 2003 20:10:40 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.6.3 04/04/2003 with nmh-1.0.4 In-Reply-To: <200311120325.hAC3PGsL032082@repoman.freebsd.org> Date: Tue, 11 Nov 2003 20:10:40 -0800 From: Peter Wemm Message-Id: <20031112041040.B47B12A8FB@canning.wemm.org> cc: Perforce Change Reviews Subject: Re: PERFORCE change 42080 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:10:42 -0000 Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=42080 > > Change 42080 by peter@peter_daintree on 2003/11/11 19:24:43 > > Stab the 8259A's in the heart real early to make damn > sure they're dead. > @@ -1123,6 +1122,10 @@ > u_int64_t msr; > char *env; > > + /* Preemptively mask the atpics and leave them shut down */ > + outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); > + outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); > + > /* Turn on PTE NX (no execute) bit */ And with this series of changes, I made it to single user. John: I doubt your imen mask handling in the atpic code. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:17:32 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 992D116A4D0; Tue, 11 Nov 2003 20:17:32 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5988016A4CE for ; Tue, 11 Nov 2003 20:17:32 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BDF7443FE0 for ; Tue, 11 Nov 2003 20:17:31 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC4HVXJ036107 for ; Tue, 11 Nov 2003 20:17:31 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC4HVaA036104 for perforce@freebsd.org; Tue, 11 Nov 2003 20:17:31 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 11 Nov 2003 20:17:31 -0800 (PST) Message-Id: <200311120417.hAC4HVaA036104@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:17:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=42096 Change 42096 by peter@peter_daintree on 2003/11/11 20:16:55 oops. it would seem I haven't added the rest of the curpmap stuff. hack around it for now. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#42 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#42 (text+ko) ==== @@ -3007,6 +3007,7 @@ atomic_clear_int(&oldpmap->pm_active, PCPU_GET(cpumask)); atomic_set_int(&pmap->pm_active, PCPU_GET(cpumask)); #else +if (oldpmap) /* XXX FIXME */ oldpmap->pm_active &= ~PCPU_GET(cpumask); pmap->pm_active |= PCPU_GET(cpumask); #endif From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:24:39 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4068216A4D0; Tue, 11 Nov 2003 20:24:39 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1A14B16A4CE for ; Tue, 11 Nov 2003 20:24:39 -0800 (PST) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9934143FE5 for ; Tue, 11 Nov 2003 20:24:38 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id 85D3E2A8FE for ; Tue, 11 Nov 2003 20:24:38 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.6.3 04/04/2003 with nmh-1.0.4 In-Reply-To: <200311120417.hAC4HVaA036104@repoman.freebsd.org> Date: Tue, 11 Nov 2003 20:24:38 -0800 From: Peter Wemm Message-Id: <20031112042438.85D3E2A8FE@canning.wemm.org> cc: Perforce Change Reviews Subject: Re: PERFORCE change 42096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:24:39 -0000 Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=42096 > > Change 42096 by peter@peter_daintree on 2003/11/11 20:16:55 > > oops. it would seem I haven't added the rest of the curpmap stuff. > hack around it for now. > > Affected files ... > > .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#42 edit > > Differences ... > > ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#42 (text+ko) ==== > > @@ -3007,6 +3007,7 @@ > atomic_clear_int(&oldpmap->pm_active, PCPU_GET(cpumask)); > atomic_set_int(&pmap->pm_active, PCPU_GET(cpumask)); > #else > +if (oldpmap) /* XXX FIXME */ > oldpmap->pm_active &= ~PCPU_GET(cpumask); > pmap->pm_active |= PCPU_GET(cpumask); > #endif And with that, we boot! peter@hammer[8:20pm]~-105> vmstat -i interrupt total rate irq0: clk 5292 98 irq4: sio0 160 2 irq6: fdc0 5 0 irq8: rtc 6773 125 irq14: ata0 1313 24 irq15: ata1 30 0 irq19: bge0 ohci0+ 258 4 ^^^^^^^^^^^ Total 13831 256 peter@hammer[8:21pm]~-107> dmesg | egrep -i 'pic|table|madt' Table 'FACP' at 0x1fff3040 Table 'HPET' at 0x1fff7400 Table 'SSDT' at 0x1fff7500 Table 'APIC' at 0x1fff7480 MADT: Found table at 0x1fff7480 MADT: Found CPU APIC ID 0 ACPI ID 0: enabled ACPI APIC Table: APIC: CPU 0 has ACPI ID 0 MADT: Found IO APIC ID 2, Vector 0 at 0xfec00000 MADT: intr override: source 0, irq 2 MADT: intr override: source 9, irq 9 ioapic0 irqs 0-23 on motherboard Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 From owner-p4-projects@FreeBSD.ORG Tue Nov 11 20:32:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70A5E16A4D0; Tue, 11 Nov 2003 20:32:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C0C116A4CE for ; Tue, 11 Nov 2003 20:32:52 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 926D543FE5 for ; Tue, 11 Nov 2003 20:32:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC4WpXJ036922 for ; Tue, 11 Nov 2003 20:32:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC4WpNl036919 for perforce@freebsd.org; Tue, 11 Nov 2003 20:32:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 Nov 2003 20:32:51 -0800 (PST) Message-Id: <200311120432.hAC4WpNl036919@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42098 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 04:32:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=42098 Change 42098 by rwatson@rwatson_tislabs on 2003/11/11 20:32:06 Switch Biba and MLS to using UMA zones to allocate labels from, rather than malloc(), which should give more efficient use of memory. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#231 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#186 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#231 (text+ko) ==== @@ -77,6 +77,7 @@ #include #include +#include #include #include @@ -130,7 +131,7 @@ static int mac_biba_slot; #define SLOT(l) ((struct mac_biba *)LABEL_TO_SLOT((l), mac_biba_slot).l_ptr) -MALLOC_DEFINE(M_MACBIBA, "biba label", "MAC/Biba labels"); +static uma_zone_t zone_biba; static __inline int biba_bit_set_empty(u_char *set) { @@ -145,11 +146,8 @@ static struct mac_biba * biba_alloc(int flag) { - struct mac_biba *mac_biba; - mac_biba = malloc(sizeof(struct mac_biba), M_MACBIBA, M_ZERO | flag); - - return (mac_biba); + return (uma_zalloc(zone_biba, flag)); } static void @@ -157,7 +155,7 @@ { if (mac_biba != NULL) - free(mac_biba, M_MACBIBA); + uma_zfree(zone_biba, mac_biba); else atomic_add_int(&destroyed_not_inited, 1); } @@ -498,6 +496,8 @@ mac_biba_init(struct mac_policy_conf *conf) { + zone_biba = uma_zcreate("mac_biba", sizeof(struct mac_biba), NULL, + NULL, NULL, NULL, UMA_ALIGN_PTR, M_ZERO); } /* ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#186 (text+ko) ==== @@ -77,6 +77,7 @@ #include #include +#include #include #include @@ -118,7 +119,7 @@ static int mac_mls_slot; #define SLOT(l) ((struct mac_mls *)LABEL_TO_SLOT((l), mac_mls_slot).l_ptr) -MALLOC_DEFINE(M_MACMLS, "mls label", "MAC/MLS labels"); +static uma_zone_t zone_mls; static __inline int mls_bit_set_empty(u_char *set) { @@ -133,11 +134,8 @@ static struct mac_mls * mls_alloc(int flag) { - struct mac_mls *mac_mls; - mac_mls = malloc(sizeof(struct mac_mls), M_MACMLS, M_ZERO | flag); - - return (mac_mls); + return (uma_zalloc(zone_mls, flag)); } static void @@ -145,7 +143,7 @@ { if (mac_mls != NULL) - free(mac_mls, M_MACMLS); + uma_zfree(zone_mls, mac_mls); else atomic_add_int(&destroyed_not_inited, 1); } @@ -463,6 +461,8 @@ mac_mls_init(struct mac_policy_conf *conf) { + zone_mls = uma_zcreate("mac_mls", sizeof(struct mac_mls), NULL, + NULL, NULL, NULL, UMA_ALIGN_PTR, M_ZERO); } /* From owner-p4-projects@FreeBSD.ORG Tue Nov 11 21:08:42 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B0FF916A4D0; Tue, 11 Nov 2003 21:08:42 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 744BF16A4CE for ; Tue, 11 Nov 2003 21:08:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6EFB043FCB for ; Tue, 11 Nov 2003 21:08:41 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC58fXJ044733 for ; Tue, 11 Nov 2003 21:08:41 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC58eiI044730 for perforce@freebsd.org; Tue, 11 Nov 2003 21:08:40 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Tue, 11 Nov 2003 21:08:40 -0800 (PST) Message-Id: <200311120508.hAC58eiI044730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 05:08:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=42102 Change 42102 by jmallett@jmallett_dalek on 2003/11/11 21:07:59 Make much, much smaller. Affected files ... .. //depot/projects/mips/sys/mips/sgimips/clock.c#3 edit .. //depot/projects/mips/sys/mips/sgimips/param.h#7 edit Differences ... ==== //depot/projects/mips/sys/mips/sgimips/clock.c#3 (text+ko) ==== @@ -45,7 +45,7 @@ } void -delay(int usec) +DELAY(int usec) { } ==== //depot/projects/mips/sys/mips/sgimips/param.h#7 (text+ko) ==== @@ -1,13 +1,5 @@ -/* $NetBSD: param.h,v 1.3 2001/05/30 12:28:50 mrg Exp $ */ - -/* - * Copyright (c) 1988 University of Utah. - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department and Ralph Campbell. +/*- + * Copyright (c) 2003 Juli Mallett. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -17,18 +9,11 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) @@ -36,7 +21,7 @@ * LIABILITY, OR TORT (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$ */ @@ -45,50 +30,4 @@ #define MACHINE "sgimips" -/* - * Yes we have no SMP. - */ -#define MAXCPU 1 - -#define BLKDEV_IOSIZE 2048 -#define MAXPHYS (64 * 1024) /* Maximum raw I/O transfer size */ - -/* - * Constants related to network buffer management. - * MCLBYTES must be no larger than NBPG (the software page size), and, - * on machines that exchange pages of input or output buffers with mbuf - * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple - * of the hardware page size. - */ -#define MSIZE 256 /* size of an mbuf */ - -#ifndef MCLSHIFT -#define MCLSHIFT 11 /* convert bytes to m_buf clusters */ - /* 2K cluster can hold Ether frame */ -#endif /* MCLSHIFT */ - -#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */ - -#ifndef NMBCLUSTERS -#if defined(_KERNEL_OPT) -#include "opt_gateway.h" -#endif - -#ifdef GATEWAY -#define NMBCLUSTERS 2048 /* Map size, max cluster allocation */ -#else -#define NMBCLUSTERS 1024 /* Map size, max cluster allocation */ -#endif -#endif - -#ifdef _KERNEL -#ifndef LOCORE - -#define DELAY(n) delay(n) - -#include - -#endif /* LOCORE */ -#endif /* _KERNEL */ - #endif /* !_SGIMIPS_PARAM_H_ */ From owner-p4-projects@FreeBSD.ORG Tue Nov 11 21:51:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 003C216A4D0; Tue, 11 Nov 2003 21:51:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B700C16A4CE for ; Tue, 11 Nov 2003 21:51:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2820E43F75 for ; Tue, 11 Nov 2003 21:51:35 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC5pYXJ046798 for ; Tue, 11 Nov 2003 21:51:34 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC5pYMS046795 for perforce@freebsd.org; Tue, 11 Nov 2003 21:51:34 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 11 Nov 2003 21:51:34 -0800 (PST) Message-Id: <200311120551.hAC5pYMS046795@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42105 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 05:51:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=42105 Change 42105 by sam@sam_ebb on 2003/11/11 21:50:53 Deal with a scan request prior to an interface being marked up. This may happen, for example, if someone isn't running devd, inserts a card, and then runs wicontrol -i ath0 -L (the wi driver handels this directly so is not impacted). In this case the scan request happens before ic_bss->ni_chan has been set to a valid value so the driver blows up. Always validate state prior to initiating a scan and, for now, disallow a scan if the device isn't marked IFF_UP. In the future it would be good to support this so that users can scan for AP's before marking an interface up. Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_ioctl.c#7 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_ioctl.c#7 (text+ko) ==== @@ -376,6 +376,43 @@ #undef IEEERATE } +/* + * Prepare to do a user-initiated scan for AP's. If no + * current/default channel is setup or the current channel + * is invalid then pick the first available channel from + * the active list as the place to start the scan. + */ +static int +ieee80211_setupscan(struct ieee80211com *ic) +{ + u_char *chanlist = ic->ic_chan_active; + int i; + + if (ic->ic_ibss_chan == NULL || + isclr(chanlist, ieee80211_chan2ieee(ic, ic->ic_ibss_chan))) { + for (i = 0; i <= IEEE80211_CHAN_MAX; i++) + if (isset(chanlist, i)) { + ic->ic_ibss_chan = &ic->ic_channels[i]; + goto found; + } + return EINVAL; /* no active channels */ +found: + ; + } + if (ic->ic_bss->ni_chan == IEEE80211_CHAN_ANYC || + isclr(chanlist, ieee80211_chan2ieee(ic, ic->ic_bss->ni_chan))) + ic->ic_bss->ni_chan = ic->ic_ibss_chan; + /* + * XXX don't permit a scan to be started unless we + * know the device is ready. For the moment this means + * the device is marked up as this is the required to + * initialize the hardware. It would be better to permit + * scanning prior to being up but that'll require some + * changes to the infrastructure. + */ + return (ic->ic_if.if_flags & IFF_UP) ? 0 : ENETRESET; +} + int ieee80211_cfgset(struct ifnet *ifp, u_long cmd, caddr_t data) { @@ -659,8 +696,9 @@ case WI_RID_SCAN_REQ: /* XXX wicontrol */ if (ic->ic_opmode == IEEE80211_M_HOSTAP) break; - /* NB: ignore channel list and tx rate parameters */ - error = ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); + error = ieee80211_setupscan(ic); + if (error == 0) + error = ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); break; case WI_RID_SCAN_APS: if (ic->ic_opmode == IEEE80211_M_HOSTAP) @@ -692,18 +730,11 @@ } memcpy(ic->ic_chan_active, chanlist, sizeof(ic->ic_chan_active)); - if (isclr(chanlist, ieee80211_chan2ieee(ic, ic->ic_ibss_chan))) { - for (i = 0; i <= IEEE80211_CHAN_MAX; i++) - if (isset(chanlist, i)) { - ic->ic_ibss_chan = &ic->ic_channels[i]; - break; - } - } - if (isclr(chanlist, ieee80211_chan2ieee(ic, ic->ic_bss->ni_chan))) - ic->ic_bss->ni_chan = ic->ic_ibss_chan; - if (wreq.wi_type == WI_RID_CHANNEL_LIST) + error = ieee80211_setupscan(ic); + if (wreq.wi_type == WI_RID_CHANNEL_LIST) { + /* NB: ignore error from ieee80211_setupscan */ error = ENETRESET; - else + } else if (error == 0) error = ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); break; default: From owner-p4-projects@FreeBSD.ORG Tue Nov 11 22:34:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 612A316A4D0; Tue, 11 Nov 2003 22:34:28 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 22CEA16A4CE for ; Tue, 11 Nov 2003 22:34:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 697BD43F75 for ; Tue, 11 Nov 2003 22:34:27 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC6YRXJ049312 for ; Tue, 11 Nov 2003 22:34:27 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC6YQku049309 for perforce@freebsd.org; Tue, 11 Nov 2003 22:34:26 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Tue, 11 Nov 2003 22:34:26 -0800 (PST) Message-Id: <200311120634.hAC6YQku049309@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42106 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 06:34:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=42106 Change 42106 by jmallett@jmallett_dalek on 2003/11/11 22:33:36 Remove TLBRead, struct tlb, struct kernframe, other cruft. Affected files ... .. //depot/projects/mips/sys/mips/include/locore.h#13 edit .. //depot/projects/mips/sys/mips/include/pte.h#15 edit .. //depot/projects/mips/sys/mips/mips/db_interface.c#10 edit .. //depot/projects/mips/sys/mips/mips/genassym.c#9 edit .. //depot/projects/mips/sys/mips/mips/mips_subr.S#18 edit Differences ... ==== //depot/projects/mips/sys/mips/include/locore.h#13 (text+ko) ==== @@ -31,9 +31,6 @@ struct tlb; -void mips64_TLBRead(int, struct tlb *); -void mips64_wbflush(void); - uint32_t mipsNN_cp0_config1_read(void); void mipsNN_cp0_config1_write(uint32_t); uint32_t mipsNN_cp0_config2_read(void); @@ -62,28 +59,8 @@ #define MIPS_PRID_COPTS(x) (((x) >> 24) & 0x00ff) /* Company Options */ #ifdef _KERNEL -/* - * Global variables used to communicate CPU type, and parameters - * such as cache size, from locore to higher-level code (e.g., pmap). - */ - - #ifdef __HAVE_MIPS_MACHDEP_CACHE_CONFIG void mips_machdep_cache_config(void); #endif - -/* - * Stack frame for kernel traps. four args passed in registers. - * A trapframe is pointed to by the 5th arg, and a dummy sixth argument - * is used to avoid alignment problems - */ - -struct kernframe { - register_t cf_args[4 + 1]; - register_t cf_pad; /* (for 8 word alignment) */ - register_t cf_sp; - register_t cf_ra; - struct trapframe cf_frame; -}; #endif /* _KERNEL */ #endif /* _MIPS_LOCORE_H */ ==== //depot/projects/mips/sys/mips/include/pte.h#15 (text+ko) ==== @@ -17,25 +17,8 @@ */ #ifndef LOCORE typedef unsigned long pt_entry_t; -#else -#define PTESIZE 64 #endif -#ifndef LOCORE -/* - * Structure defining the whole of the TLB. - * XXX This is for NetBSD compat, and I really want to move away from - * this sort of thing. Badly. - */ -struct tlb { - uint32_t tlb_mask; /* PageMask */ - uint32_t tlb_padding; /* alignment :( */ - register_t tlb_hi; /* EntryHi */ - register_t tlb_lo0; /* EntryLo0 */ - register_t tlb_lo1; /* EntryLo1 */ -}; -#endif /* LOCORE */ - /* * TLB and PTE management. Most things operate within the context of * EntryLo0,1. Things which work with EntryHi have a HI in their name ==== //depot/projects/mips/sys/mips/mips/db_interface.c#10 (text+ko) ==== @@ -279,28 +279,32 @@ DB_COMMAND(tlb, db_tlbdump_cmd) { + u_long hi; + u_long lo[2]; + u_long pm; + int i; - if (MIPS_HAS_R4K_MMU) { - struct tlb tlb; - int i; + for (i = 0; i < mips_num_tlb_entries; i++) { + mips_wr_index(i); + mips_tlbr(); + hi = mips_rd_entryhi(); + lo[0] = mips_rd_entrylo0(); + lo[1] = mips_rd_entrylo1(); + pm = mips_rd_pagemask(); - for (i = 0; i < mips_num_tlb_entries; i++) { - mips64_TLBRead(i, &tlb); - db_printf("TLB%c%2d Hi 0x%016lx ", - (tlb.tlb_lo0 | tlb.tlb_lo1) & PG_V ? ' ' : '*', - i, tlb.tlb_hi); - db_printf("Lo0=0x%016lx %c%c attr %lx ", - MIPS_PFN_TO_PA(tlb.tlb_lo0), - (tlb.tlb_lo0 & PG_D) ? 'D' : ' ', - (tlb.tlb_lo0 & PG_G) ? 'G' : ' ', - (tlb.tlb_lo0 >> 3) & 7); - db_printf("Lo1=0x%016lx %c%c attr %lx sz=%x\n", - MIPS_PFN_TO_PA(tlb.tlb_lo1), - (tlb.tlb_lo1 & PG_D) ? 'D' : ' ', - (tlb.tlb_lo1 & PG_G) ? 'G' : ' ', - (tlb.tlb_lo1 >> 3) & 7, - tlb.tlb_mask); - } + db_printf("TLB %c %2d Hi 0x%016lx ", + (lo[0] | lo[1]) & PG_V ? 'V' : '*', i, hi); + db_printf("Lo0=0x%016lx %c%c attr %lx ", + MIPS_PFN_TO_PA(lo[0]), + (lo[0] & PG_D) ? 'D' : ' ', + (lo[0] & PG_G) ? 'G' : ' ', + (lo[0] >> 3) & 7); + db_printf("Lo1=0x%016lx %c%c attr %lx ", + MIPS_PFN_TO_PA(lo[1]), + (lo[1] & PG_D) ? 'D' : ' ', + (lo[1] & PG_G) ? 'G' : ' ', + (lo[1] >> 3) & 7); + db_printf("sz=%#lx\n", pm); } } ==== //depot/projects/mips/sys/mips/mips/genassym.c#9 (text+ko) ==== @@ -140,14 +140,6 @@ ASSYM(FRAME_FP31 sizeof(mips_fpreg_t) * 31); #endif -ASSYM(KERNFRAME_SIZ, sizeof(struct kernframe)); -ASSYM(KERNFRAME_ARG5, offsetof(struct kernframe, cf_args[4])); -ASSYM(KERNFRAME_ARG6, offsetof(struct kernframe, cf_args[5])); -ASSYM(KERNFRAME_SP, offsetof(struct kernframe, cf_sp)); -ASSYM(KERNFRAME_RA, offsetof(struct kernframe, cf_ra)); - -ASSYM(TF_BASE, offsetof(struct kernframe, cf_frame)); - ASSYM(TF_SIZE, sizeof(struct trapframe)); ASSYM(TF_REG_AST, offsetof(struct trapframe, tf_regs[TF_AST])); ASSYM(TF_REG_V0, offsetof(struct trapframe, tf_regs[TF_V0])); ==== //depot/projects/mips/sys/mips/mips/mips_subr.S#18 (text+ko) ==== @@ -130,105 +130,3 @@ #include "assym.s" -#define _SLL dsll -#define _SRL dsrl -#define WIRED_SHIFT 34 - -/* - * Use correct-sized m?c0/dm?c0 opcodes. - */ -#define _MFC0 dmfc0 -#define _MTC0 dmtc0 - -/* - * CPP function renaming macros. - */ -#ifdef __STDC__ -#define MIPSX(name) mips64_ ## name -#else -#define MIPSX(name) mips64_/**/name -#endif - -/* - * XXX We need a cleaner way of handling the instruction hazards of - * the various processors. Here are the relevant rules for the QED 52XX: - * tlbw[ri] -- two integer ops beforehand - * tlbr -- two integer ops beforehand - * tlbp -- two integer ops beforehand - * mtc0 [PageMask,EntryHi,Cp0] -- two integer ops afterwards - * changing JTLB -- two integer ops afterwards - * mtc0 [EPC,ErrorEPC,Status] -- two int ops afterwards before eret - * config.k0 -- five int ops before kseg0, ckseg0 memref - * - * For the IDT R4000, some hazards are: - * mtc0/mfc0 one integer op before and after - * tlbp -- one integer op afterwards - * Obvious solution is to take least common denominator. - * - * For the Toshiba R5900, TX79: - * mtc0 following sync.p - * tlbw[ri], tlbp following sync.p or eret - * for those CPU, define COP0_SYNC as sync.p - */ - - .set noreorder - .set mips64 - - .text - -/*-------------------------------------------------------------------------- - * - * mipsN_TLBRead -- - * - * Read the TLB entry. - * - * mips3_TLBRead(entry, tlb) - * unsigned entry; - * struct tlb *tlb; - * - * Results: - * None. - * - * Side effects: - * tlb will contain the TLB entry found. - * - *-------------------------------------------------------------------------- - */ -LEAF(MIPSX(TLBRead)) - mfc0 v1, MIPS_COP_0_STATUS # Save the status register. - mtc0 zero, MIPS_COP_0_STATUS # Disable interrupts - COP0_SYNC - nop - mfc0 ta2, MIPS_COP_0_TLB_PG_MASK # save current pgMask - nop - _MFC0 t0, MIPS_COP_0_TLB_HI # Get current PID - - mtc0 a0, MIPS_COP_0_TLB_INDEX # Set the index register - COP0_SYNC - nop - nop # required for QED5230 - tlbr # Read from the TLB - COP0_SYNC - nop - nop - nop - mfc0 t2, MIPS_COP_0_TLB_PG_MASK # fetch the pgMask - _MFC0 t3, MIPS_COP_0_TLB_HI # fetch the hi entry - _MFC0 ta0, MIPS_COP_0_TLB_LO0 # See what we got - _MFC0 ta1, MIPS_COP_0_TLB_LO1 # See what we got - _MTC0 t0, MIPS_COP_0_TLB_HI # restore PID - COP0_SYNC - mtc0 ta2, MIPS_COP_0_TLB_PG_MASK # restore pgMask - COP0_SYNC - nop - nop - nop # wait for PID active - mtc0 v1, MIPS_COP_0_STATUS # Restore the status register - COP0_SYNC - nop - sd t2, 0(a1) # Store PageMask - sd t3, 8(a1) # Store EntryHi - sd ta0, 16(a1) # Store EntryLo0 - j ra # Stand there where you are - sd ta1, 24(a1) # Store EntryLo1 -END(MIPSX(TLBRead)) From owner-p4-projects@FreeBSD.ORG Tue Nov 11 23:24:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EEFF16A4D0; Tue, 11 Nov 2003 23:24:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D82E416A4CE for ; Tue, 11 Nov 2003 23:24:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 472FD43F85 for ; Tue, 11 Nov 2003 23:24:28 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC7OSXJ052233 for ; Tue, 11 Nov 2003 23:24:28 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC7ORT7052230 for perforce@freebsd.org; Tue, 11 Nov 2003 23:24:27 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Tue, 11 Nov 2003 23:24:27 -0800 (PST) Message-Id: <200311120724.hAC7ORT7052230@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42107 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 07:24:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=42107 Change 42107 by jmallett@jmallett_dalek on 2003/11/11 23:23:32 Dead file. Affected files ... .. //depot/projects/mips/sys/conf/files.mips#21 edit .. //depot/projects/mips/sys/mips/mips/mips_subr.S#19 delete Differences ... ==== //depot/projects/mips/sys/conf/files.mips#21 (text+ko) ==== @@ -16,7 +16,6 @@ mips/mips/locore.S standard no-obj mips/mips/locore_mips3.S standard mips/mips/machdep.c standard -mips/mips/mips_subr.S standard mips/mips/pmap.c standard mips/mips/sig_machdep.c standard mips/mips/support.S standard From owner-p4-projects@FreeBSD.ORG Tue Nov 11 23:36:45 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB4D316A4D0; Tue, 11 Nov 2003 23:36:44 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A619016A4CE for ; Tue, 11 Nov 2003 23:36:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B66143FCB for ; Tue, 11 Nov 2003 23:36:44 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC7ahXJ052761 for ; Tue, 11 Nov 2003 23:36:43 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC7ah5V052758 for perforce@freebsd.org; Tue, 11 Nov 2003 23:36:43 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Tue, 11 Nov 2003 23:36:43 -0800 (PST) Message-Id: <200311120736.hAC7ah5V052758@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42109 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 07:36:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=42109 Change 42109 by jmallett@jmallett_dalek on 2003/11/11 23:35:49 Remove unused (mostly MIPS1) stuff, and remove the wired register init in machdep.c. the tlb code will need to manage such. Affected files ... .. //depot/projects/mips/sys/mips/include/cpuregs.h#13 edit .. //depot/projects/mips/sys/mips/mips/machdep.c#38 edit Differences ... ==== //depot/projects/mips/sys/mips/include/cpuregs.h#13 (text+ko) ==== @@ -121,7 +121,6 @@ */ #define MIPS_CR_BR_DELAY 0x80000000 #define MIPS_CR_COP_ERR 0x30000000 -#define MIPS1_CR_EXC_CODE 0x0000003C /* four bits */ #define MIPS3_CR_EXC_CODE 0x0000007C /* five bits */ #define MIPS_CR_IP 0x0000FF00 #define MIPS_CR_EXC_CODE_SHIFT 2 @@ -176,31 +175,6 @@ * MIPS_SR_KU_CUR Current kernel/user mode bit. 1 => user mode. */ -#define MIPS1_PARITY_ERR 0x00100000 -#define MIPS1_CACHE_MISS 0x00080000 -#define MIPS1_PARITY_ZERO 0x00040000 -#define MIPS1_SWAP_CACHES 0x00020000 -#define MIPS1_ISOL_CACHES 0x00010000 - -#define MIPS1_SR_KU_OLD 0x00000020 /* 2nd stacked KU/IE*/ -#define MIPS1_SR_INT_ENA_OLD 0x00000010 /* 2nd stacked KU/IE*/ -#define MIPS1_SR_KU_PREV 0x00000008 /* 1st stacked KU/IE*/ -#define MIPS1_SR_INT_ENA_PREV 0x00000004 /* 1st stacked KU/IE*/ -#define MIPS1_SR_KU_CUR 0x00000002 /* current KU */ - -/* backwards compatibility */ -#define MIPS_SR_PARITY_ERR MIPS1_PARITY_ERR -#define MIPS_SR_CACHE_MISS MIPS1_CACHE_MISS -#define MIPS_SR_PARITY_ZERO MIPS1_PARITY_ZERO -#define MIPS_SR_SWAP_CACHES MIPS1_SWAP_CACHES -#define MIPS_SR_ISOL_CACHES MIPS1_ISOL_CACHES - -#define MIPS_SR_KU_OLD MIPS1_SR_KU_OLD -#define MIPS_SR_INT_ENA_OLD MIPS1_SR_INT_ENA_OLD -#define MIPS_SR_KU_PREV MIPS1_SR_KU_PREV -#define MIPS_SR_KU_CUR MIPS1_SR_KU_CUR -#define MIPS_SR_INT_ENA_PREV MIPS1_SR_INT_ENA_PREV - /* * R4000 status register bit definitons, * where different from r2000/r3000. @@ -275,9 +249,9 @@ /* * The bits in the context register. + * + * XXX XContext */ -#define MIPS1_CNTXT_PTE_BASE 0xFFE00000 -#define MIPS1_CNTXT_BAD_VPN 0x001FFFFC #define MIPS3_CNTXT_PTE_BASE 0xFF800000 #define MIPS3_CNTXT_BAD_VPN2 0x007FFFF0 @@ -365,11 +339,6 @@ #define MIPS_UTLB_MISS_EXC_VEC 0xFFFFFFFF80000000 /* - * MIPS-1 general exception vector (everything else) - */ -#define MIPS1_GEN_EXC_VEC 0xFFFFFFFF80000080 - -/* * MIPS-III exception vectors */ #define MIPS3_XTLB_MISS_EXC_VEC 0xFFFFFFFF80000080 @@ -540,7 +509,6 @@ #define MIPS_FPU_EXCEPTION_UNIMPL 0x00020000 #define MIPS_FPU_COND_BIT 0x00800000 #define MIPS_FPU_FLUSH_BIT 0x01000000 /* r4k, MBZ on r3k */ -#define MIPS1_FPC_MBZ_BITS 0xff7c0000 #define MIPS3_FPC_MBZ_BITS 0xfe7c0000 @@ -550,109 +518,15 @@ #define MIPS_OPCODE_SHIFT 26 #define MIPS_OPCODE_C1 0x11 - -/* - * The low part of the TLB entry. - */ -#define MIPS1_TLB_PFN 0xfffff000 -#define MIPS1_TLB_NON_CACHEABLE_BIT 0x00000800 -#define MIPS1_TLB_DIRTY_BIT 0x00000400 -#define MIPS1_TLB_VALID_BIT 0x00000200 -#define MIPS1_TLB_GLOBAL_BIT 0x00000100 - -#define MIPS3_TLB_PFN 0x3fffffc0 -#define MIPS3_TLB_ATTR_MASK 0x00000038 -#define MIPS3_TLB_ATTR_SHIFT 3 -#define MIPS3_TLB_DIRTY_BIT 0x00000004 -#define MIPS3_TLB_VALID_BIT 0x00000002 -#define MIPS3_TLB_GLOBAL_BIT 0x00000001 - -#define MIPS1_TLB_PHYS_PAGE_SHIFT 12 -#define MIPS3_TLB_PHYS_PAGE_SHIFT 6 -#define MIPS1_TLB_PF_NUM MIPS1_TLB_PFN -#define MIPS3_TLB_PF_NUM MIPS3_TLB_PFN -#define MIPS1_TLB_MOD_BIT MIPS1_TLB_DIRTY_BIT -#define MIPS3_TLB_MOD_BIT MIPS3_TLB_DIRTY_BIT - -/* - * MIPS3_TLB_ATTR values - coherency algorithm: - * 0: cacheable, noncoherent, write-through, no write allocate - * 1: cacheable, noncoherent, write-through, write allocate - * 2: uncached - * 3: cacheable, noncoherent, write-back (noncoherent) - * 4: cacheable, coherent, write-back, exclusive (exclusive) - * 5: cacheable, coherent, write-back, exclusive on write (sharable) - * 6: cacheable, coherent, write-back, update on write (update) - * 7: uncached, accelerated (gather STORE operations) - */ -#define MIPS3_TLB_ATTR_WT 0 /* IDT */ -#define MIPS3_TLB_ATTR_WT_WRITEALLOCATE 1 /* IDT */ -#define MIPS3_TLB_ATTR_UNCACHED 2 /* R4000/R4400, IDT */ -#define MIPS3_TLB_ATTR_WB_NONCOHERENT 3 /* R4000/R4400, IDT */ -#define MIPS3_TLB_ATTR_WB_EXCLUSIVE 4 /* R4000/R4400 */ -#define MIPS3_TLB_ATTR_WB_SHARABLE 5 /* R4000/R4400 */ -#define MIPS3_TLB_ATTR_WB_UPDATE 6 /* R4000/R4400 */ -#define MIPS4_TLB_ATTR_UNCACHED_ACCELERATED 7 /* R10000 */ - - /* - * The high part of the TLB entry. - */ -#define MIPS1_TLB_VPN 0xfffff000 -#define MIPS1_TLB_PID 0x00000fc0 -#define MIPS1_TLB_PID_SHIFT 6 - -#define MIPS3_TLB_VPN2 0xffffe000 -#define MIPS3_TLB_ASID 0x000000ff - -#define MIPS1_TLB_VIRT_PAGE_NUM MIPS1_TLB_VPN -#define MIPS3_TLB_VIRT_PAGE_NUM MIPS3_TLB_VPN2 -#define MIPS3_TLB_PID MIPS3_TLB_ASID -#define MIPS_TLB_VIRT_PAGE_SHIFT 12 - -/* - * r3000: shift count to put the index in the right spot. - */ -#define MIPS1_TLB_INDEX_SHIFT 8 - -/* - * The first TLB that write random hits. - */ -#define MIPS1_TLB_FIRST_RAND_ENTRY 8 -#define MIPS3_TLB_WIRED_UPAGES 1 - -/* * The number of process id entries. */ -#define MIPS1_TLB_NUM_PIDS 64 #define MIPS3_TLB_NUM_ASIDS 256 -/* - * Patch codes to hide CPU design differences between MIPS1 and MIPS3. - */ - /* XXX simonb: this is before MIPS3_PLUS is defined (and is ugly!) */ -#if !(defined(MIPS3) || defined(MIPS4) || defined(MIPS32) || defined(MIPS64)) \ - && defined(MIPS1) /* XXX simonb must be neater! */ -#define MIPS_TLB_PID_SHIFT MIPS1_TLB_PID_SHIFT -#define MIPS_TLB_NUM_PIDS MIPS1_TLB_NUM_PIDS -#endif - -#if (defined(MIPS3) || defined(MIPS4) || defined(MIPS32) || defined(MIPS64)) \ - && !defined(MIPS1) /* XXX simonb must be neater! */ #define MIPS_TLB_PID_SHIFT 0 #define MIPS_TLB_NUM_PIDS MIPS3_TLB_NUM_ASIDS -#endif - - -#if !defined(MIPS_TLB_PID_SHIFT) -#define MIPS_TLB_PID_SHIFT \ - ((MIPS_HAS_R4K_MMU) ? 0 : MIPS1_TLB_PID_SHIFT) - -#define MIPS_TLB_NUM_PIDS \ - ((MIPS_HAS_R4K_MMU) ? MIPS3_TLB_NUM_ASIDS : MIPS1_TLB_NUM_PIDS) -#endif /* * CPU processor revision IDs for company ID == 0 (non mips32/64 chips) ==== //depot/projects/mips/sys/mips/mips/machdep.c#38 (text+ko) ==== @@ -738,7 +738,6 @@ case CPU_ARCH_MIPS64: mips_wr_wired(0); tlb_invalidate_all(); - mips_wr_wired(MIPS3_TLB_WIRED_UPAGES); mips64_vector_init(); break; default: From owner-p4-projects@FreeBSD.ORG Wed Nov 12 00:29:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E20CB16A4D0; Wed, 12 Nov 2003 00:29:51 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BBB9A16A4CE for ; Wed, 12 Nov 2003 00:29:51 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6B9B43FF2 for ; Wed, 12 Nov 2003 00:29:50 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC8ToXJ056018 for ; Wed, 12 Nov 2003 00:29:50 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC8ToEK056015 for perforce@freebsd.org; Wed, 12 Nov 2003 00:29:50 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Wed, 12 Nov 2003 00:29:50 -0800 (PST) Message-Id: <200311120829.hAC8ToEK056015@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42112 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 08:29:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=42112 Change 42112 by jmallett@jmallett_dalek on 2003/11/12 00:28:53 Nuke some redundency, clean up flags a little, lots of code still could use a re-work for clarity. Tons. Print the current process. Re-organize some vector init code. Get rid of some layering badness with regard to touching the TLB, etc. Affected files ... .. //depot/projects/mips/sys/mips/include/cpuregs.h#14 edit .. //depot/projects/mips/sys/mips/mips/cache.c#6 edit .. //depot/projects/mips/sys/mips/mips/cache_mipsNN.c#2 edit .. //depot/projects/mips/sys/mips/mips/cache_r5k_subr.S#3 edit .. //depot/projects/mips/sys/mips/mips/locore.S#9 edit .. //depot/projects/mips/sys/mips/mips/machdep.c#39 edit .. //depot/projects/mips/sys/mips/mips/tlb.c#16 edit .. //depot/projects/mips/sys/mips/mips/trap.c#14 edit .. //depot/projects/mips/sys/mips/sgimips/ip22_cache.S#2 edit Differences ... ==== //depot/projects/mips/sys/mips/include/cpuregs.h#14 (text+ko) ==== @@ -95,7 +95,7 @@ #define MIPS_PHYS_TO_KSEG1(x) ((vm_offset_t)(x) | MIPS_KSEG1_START) /* Map virtual address to index in mips3 r4k virtually-indexed cache */ -#define MIPS3_VA_TO_CINDEX(x) \ +#define MIPS_VA_TO_CINDEX(x) \ ((vm_offset_t)(x) & 0xffffff | MIPS_KSEG0_START) #define MIPS_PHYS_TO_XKPHYS(cca,x) \ @@ -121,7 +121,7 @@ */ #define MIPS_CR_BR_DELAY 0x80000000 #define MIPS_CR_COP_ERR 0x30000000 -#define MIPS3_CR_EXC_CODE 0x0000007C /* five bits */ +#define MIPS_CR_EXC_CODE 0x0000007C /* five bits */ #define MIPS_CR_IP 0x0000FF00 #define MIPS_CR_EXC_CODE_SHIFT 2 @@ -154,10 +154,7 @@ /* r4k and r3k differences, see below */ #define MIPS_SR_INT_IE MIPS_SR_IE -/*#define MIPS_SR_MBZ 0x0f8000c0*/ /* Never used, true for r3k */ -/*#define MIPS_SR_INT_MASK 0x0000ff00*/ - /* * The R2000/R3000-specific status register bit definitions. * all bits are active when set to 1. @@ -179,59 +176,42 @@ * R4000 status register bit definitons, * where different from r2000/r3000. */ -#define MIPS3_SR_XX 0x80000000 -#define MIPS3_SR_RP 0x08000000 -#define MIPS3_SR_FR_32 0x04000000 -#define MIPS3_SR_RE 0x02000000 +#define MIPS_SR_XX 0x80000000 +#define MIPS_SR_RP 0x08000000 +#define MIPS_SR_FR_32 0x04000000 +#define MIPS_SR_RE 0x02000000 -#define MIPS3_SR_DIAG_DL 0x01000000 /* QED 52xx */ -#define MIPS3_SR_DIAG_IL 0x00800000 /* QED 52xx */ -#define MIPS3_SR_SR 0x00100000 -#define MIPS3_SR_EIE 0x00100000 /* TX79/R5900 */ -#define MIPS3_SR_NMI 0x00080000 /* MIPS32/64 */ -#define MIPS3_SR_DIAG_CH 0x00040000 -#define MIPS3_SR_DIAG_CE 0x00020000 -#define MIPS3_SR_DIAG_PE 0x00010000 -#define MIPS3_SR_KX 0x00000080 -#define MIPS3_SR_SX 0x00000040 -#define MIPS3_SR_UX 0x00000020 -#define MIPS3_SR_KSU_MASK 0x00000018 -#define MIPS3_SR_KSU_USER 0x00000010 -#define MIPS3_SR_KSU_SUPER 0x00000008 -#define MIPS3_SR_KSU_KERNEL 0x00000000 -#define MIPS3_SR_ERL 0x00000004 -#define MIPS3_SR_EXL 0x00000002 -#define MIPS3_SR_IE 0x00000001 +#define MIPS_SR_DIAG_DL 0x01000000 /* QED 52xx */ +#define MIPS_SR_DIAG_IL 0x00800000 /* QED 52xx */ +#define MIPS_SR_SR 0x00100000 +#define MIPS_SR_EIE 0x00100000 /* TX79/R5900 */ +#define MIPS_SR_NMI 0x00080000 /* MIPS32/64 */ +#define MIPS_SR_DIAG_CH 0x00040000 +#define MIPS_SR_DIAG_CE 0x00020000 +#define MIPS_SR_DIAG_PE 0x00010000 +#define MIPS_SR_KX 0x00000080 +#define MIPS_SR_SX 0x00000040 +#define MIPS_SR_UX 0x00000020 +#define MIPS_SR_KSU_MASK 0x00000018 +#define MIPS_SR_KSU_USER 0x00000010 +#define MIPS_SR_KSU_SUPER 0x00000008 +#define MIPS_SR_KSU_KERNEL 0x00000000 +#define MIPS_SR_ERL 0x00000004 +#define MIPS_SR_EXL 0x00000002 +#define MIPS_SR_IE 0x00000001 -#define MIPS_SR_SOFT_RESET MIPS3_SR_SOFT_RESET -#define MIPS_SR_DIAG_CH MIPS3_SR_DIAG_CH -#define MIPS_SR_DIAG_CE MIPS3_SR_DIAG_CE -#define MIPS_SR_DIAG_PE MIPS3_SR_DIAG_PE -#define MIPS_SR_KX MIPS3_SR_KX -#define MIPS_SR_SX MIPS3_SR_SX -#define MIPS_SR_UX MIPS3_SR_UX - -#define MIPS_SR_KSU_MASK MIPS3_SR_KSU_MASK -#define MIPS_SR_KSU_USER MIPS3_SR_KSU_USER -#define MIPS_SR_KSU_SUPER MIPS3_SR_KSU_SUPER -#define MIPS_SR_KSU_KERNEL MIPS3_SR_KSU_KERNEL -#define MIPS_SR_ERL MIPS3_SR_ERL -#define MIPS_SR_EXL MIPS3_SR_EXL -#define MIPS_SR_IE MIPS3_SR_IE - - /* * The interrupt masks. * If a bit in the mask is 1 then the interrupt is enabled (or pending). */ -#define MIPS_INT_MASK 0xff00 +#define MIPS_INT_MASKX 0xff00 #define MIPS_INT_MASK_5 0x8000 #define MIPS_INT_MASK_4 0x4000 #define MIPS_INT_MASK_3 0x2000 #define MIPS_INT_MASK_2 0x1000 #define MIPS_INT_MASK_1 0x0800 #define MIPS_INT_MASK_0 0x0400 -#define MIPS_HARD_INT_MASK 0xfc00 +#define MIPS_HARD_INT_MASKX 0xfc00 #define MIPS_SOFT_INT_MASK_1 0x0200 #define MIPS_SOFT_INT_MASK_0 0x0100 @@ -239,12 +219,12 @@ * mips3 CPUs have on-chip timer at INT_MASK_5. Each platform can * choose to enable this interrupt. */ -#if defined(MIPS3_ENABLE_CLOCK_INTR) -#define MIPS3_INT_MASK MIPS_INT_MASK -#define MIPS3_HARD_INT_MASK MIPS_HARD_INT_MASK +#if defined(MIPS_ENABLE_CLOCK_INTR) +#define MIPS_INT_MASK MIPS_INT_MASKX +#define MIPS_HARD_INT_MASK MIPS_HARD_INT_MASKX #else -#define MIPS3_INT_MASK (MIPS_INT_MASK & ~MIPS_INT_MASK_5) -#define MIPS3_HARD_INT_MASK (MIPS_HARD_INT_MASK & ~MIPS_INT_MASK_5) +#define MIPS_INT_MASK (MIPS_INT_MASKX & ~MIPS_INT_MASK_5) +#define MIPS_HARD_INT_MASK (MIPS_HARD_INT_MASKX & ~MIPS_INT_MASK_5) #endif /* @@ -253,8 +233,8 @@ * XXX XContext */ -#define MIPS3_CNTXT_PTE_BASE 0xFF800000 -#define MIPS3_CNTXT_BAD_VPN2 0x007FFFF0 +#define MIPS_CNTXT_PTE_BASE 0xFF800000 +#define MIPS_CNTXT_BAD_VPN2 0x007FFFF0 /* * The bits in the MIPS3 config register. @@ -262,73 +242,73 @@ * bit 0..5: R/W, Bit 6..31: R/O */ -/* kseg0 coherency algorithm - see MIPS3_TLB_ATTR values */ -#define MIPS3_CONFIG_K0_MASK 0x00000007 +/* kseg0 coherency algorithm - see MIPS_TLB_ATTR values */ +#define MIPS_CONFIG_K0_MASK 0x00000007 /* * R/W Update on Store Conditional * 0: Store Conditional uses coherency algorithm specified by TLB * 1: Store Conditional uses cacheable coherent update on write */ -#define MIPS3_CONFIG_CU 0x00000008 +#define MIPS_CONFIG_CU 0x00000008 -#define MIPS3_CONFIG_DB 0x00000010 /* Primary D-cache line size */ -#define MIPS3_CONFIG_IB 0x00000020 /* Primary I-cache line size */ -#define MIPS3_CONFIG_CACHE_L1_LSIZE(config, bit) \ +#define MIPS_CONFIG_DB 0x00000010 /* Primary D-cache line size */ +#define MIPS_CONFIG_IB 0x00000020 /* Primary I-cache line size */ +#define MIPS_CONFIG_CACHE_L1_LSIZE(config, bit) \ (((config) & (bit)) ? 32 : 16) -#define MIPS3_CONFIG_DC_MASK 0x000001c0 /* Primary D-cache size */ -#define MIPS3_CONFIG_DC_SHIFT 6 -#define MIPS3_CONFIG_IC_MASK 0x00000e00 /* Primary I-cache size */ -#define MIPS3_CONFIG_IC_SHIFT 9 -#define MIPS3_CONFIG_C_DEFBASE 0x1000 /* default base 2^12 */ -#define MIPS3_CONFIG_CACHE_SIZE(config, mask, base, shift) \ +#define MIPS_CONFIG_DC_MASK 0x000001c0 /* Primary D-cache size */ +#define MIPS_CONFIG_DC_SHIFT 6 +#define MIPS_CONFIG_IC_MASK 0x00000e00 /* Primary I-cache size */ +#define MIPS_CONFIG_IC_SHIFT 9 +#define MIPS_CONFIG_C_DEFBASE 0x1000 /* default base 2^12 */ +#define MIPS_CONFIG_CACHE_SIZE(config, mask, base, shift) \ ((base) << (((config) & (mask)) >> (shift))) /* External cache enable: Controls L2 for R5000/Rm527x and L3 for Rm7000 */ -#define MIPS3_CONFIG_SE 0x00001000 +#define MIPS_CONFIG_SE 0x00001000 /* Block ordering: 0: sequential, 1: sub-block */ -#define MIPS3_CONFIG_EB 0x00002000 +#define MIPS_CONFIG_EB 0x00002000 /* ECC mode - 0: ECC mode, 1: parity mode */ -#define MIPS3_CONFIG_EM 0x00004000 +#define MIPS_CONFIG_EM 0x00004000 /* BigEndianMem - 0: kernel and memory are little endian, 1: big endian */ -#define MIPS3_CONFIG_BE 0x00008000 +#define MIPS_CONFIG_BE 0x00008000 /* Dirty Shared coherency state - 0: enabled, 1: disabled */ -#define MIPS3_CONFIG_SM 0x00010000 +#define MIPS_CONFIG_SM 0x00010000 /* Secondary Cache - 0: present, 1: not present */ -#define MIPS3_CONFIG_SC 0x00020000 +#define MIPS_CONFIG_SC 0x00020000 /* System Port width - 0: 64-bit, 1: 32-bit (QED RM523x), 2,3: reserved */ -#define MIPS3_CONFIG_EW_MASK 0x000c0000 -#define MIPS3_CONFIG_EW_SHIFT 18 +#define MIPS_CONFIG_EW_MASK 0x000c0000 +#define MIPS_CONFIG_EW_SHIFT 18 /* Secondary Cache port width - 0: 128-bit data path to S-cache, 1: reserved */ -#define MIPS3_CONFIG_SW 0x00100000 +#define MIPS_CONFIG_SW 0x00100000 /* Split Secondary Cache Mode - 0: I/D mixed, 1: I/D separated by SCAddr(17) */ -#define MIPS3_CONFIG_SS 0x00200000 +#define MIPS_CONFIG_SS 0x00200000 /* Secondary Cache line size */ -#define MIPS3_CONFIG_SB_MASK 0x00c00000 -#define MIPS3_CONFIG_SB_SHIFT 22 -#define MIPS3_CONFIG_CACHE_L2_LSIZE(config) \ - (0x10 << (((config) & MIPS3_CONFIG_SB_MASK) >> MIPS3_CONFIG_SB_SHIFT)) +#define MIPS_CONFIG_SB_MASK 0x00c00000 +#define MIPS_CONFIG_SB_SHIFT 22 +#define MIPS_CONFIG_CACHE_L2_LSIZE(config) \ + (0x10 << (((config) & MIPS_CONFIG_SB_MASK) >> MIPS_CONFIG_SB_SHIFT)) /* Write back data rate */ -#define MIPS3_CONFIG_EP_MASK 0x0f000000 -#define MIPS3_CONFIG_EP_SHIFT 24 +#define MIPS_CONFIG_EP_MASK 0x0f000000 +#define MIPS_CONFIG_EP_SHIFT 24 /* System clock ratio - this value is CPU dependent */ -#define MIPS3_CONFIG_EC_MASK 0x70000000 -#define MIPS3_CONFIG_EC_SHIFT 28 +#define MIPS_CONFIG_EC_MASK 0x70000000 +#define MIPS_CONFIG_EC_SHIFT 28 /* Master-Checker Mode - 1: enabled */ -#define MIPS3_CONFIG_CM 0x80000000 +#define MIPS_CONFIG_CM 0x80000000 /* * Location of exception vectors. @@ -341,14 +321,14 @@ /* * MIPS-III exception vectors */ -#define MIPS3_XTLB_MISS_EXC_VEC 0xFFFFFFFF80000080 -#define MIPS3_CACHE_ERR_EXC_VEC 0xFFFFFFFF80000100 -#define MIPS3_GEN_EXC_VEC 0xFFFFFFFF80000180 +#define MIPS_XTLB_MISS_EXC_VEC 0xFFFFFFFF80000080 +#define MIPS_CACHE_ERR_EXC_VEC 0xFFFFFFFF80000100 +#define MIPS_GEN_EXC_VEC 0xFFFFFFFF80000180 /* * MIPS32/MIPS64 (and some MIPS3) dedicated interrupt vector. */ -#define MIPS3_INTR_EXC_VEC 0xFFFFFFFF80000200 +#define MIPS_INTR_EXC_VEC 0xFFFFFFFF80000200 /* * Coprocessor 0 registers: @@ -472,7 +452,7 @@ */ #define MIPS_MIN_CACHE_SIZE (16 * 1024) #define MIPS_MAX_CACHE_SIZE (256 * 1024) -#define MIPS3_MAX_PCACHE_SIZE (32 * 1024) /* max. primary cache size */ +#define MIPS_MAX_PCACHE_SIZE (32 * 1024) /* max. primary cache size */ /* * The floating point version and status registers. @@ -509,7 +489,7 @@ #define MIPS_FPU_EXCEPTION_UNIMPL 0x00020000 #define MIPS_FPU_COND_BIT 0x00800000 #define MIPS_FPU_FLUSH_BIT 0x01000000 /* r4k, MBZ on r3k */ -#define MIPS3_FPC_MBZ_BITS 0xfe7c0000 +#define MIPS_FPC_MBZ_BITS 0xfe7c0000 /* @@ -521,12 +501,8 @@ /* * The number of process id entries. */ -#define MIPS3_TLB_NUM_ASIDS 256 - -/* XXX simonb: this is before MIPS3_PLUS is defined (and is ugly!) */ - +#define MIPS_TLB_NUM_ASIDS 256 #define MIPS_TLB_PID_SHIFT 0 -#define MIPS_TLB_NUM_PIDS MIPS3_TLB_NUM_ASIDS /* * CPU processor revision IDs for company ID == 0 (non mips32/64 chips) ==== //depot/projects/mips/sys/mips/mips/cache.c#6 (text+ko) ==== @@ -224,7 +224,7 @@ void mips_config_cache_prehistoric(void) { - int csizebase = MIPS3_CONFIG_C_DEFBASE; + int csizebase = MIPS_CONFIG_C_DEFBASE; KASSERT(PAGE_SIZE != 0, ("sane page size")); @@ -448,8 +448,8 @@ * is ignored wrt VCED/VCEI. */ mips_cache_alias_mask = - (MIPS3_MAX_PCACHE_SIZE - 1) & ~(PAGE_SIZE - 1); - mips_cache_prefer_mask = MIPS3_MAX_PCACHE_SIZE - 1; + (MIPS_MAX_PCACHE_SIZE - 1) & ~(PAGE_SIZE - 1); + mips_cache_prefer_mask = MIPS_MAX_PCACHE_SIZE - 1; /* FALLTHROUGH */ case MIPS_R4100: case MIPS_R4300: @@ -565,15 +565,15 @@ config = mips_rd_config(); - mips_picache_size = MIPS3_CONFIG_CACHE_SIZE(config, - MIPS3_CONFIG_IC_MASK, csizebase, MIPS3_CONFIG_IC_SHIFT); - mips_picache_line_size = MIPS3_CONFIG_CACHE_L1_LSIZE(config, - MIPS3_CONFIG_IB); + mips_picache_size = MIPS_CONFIG_CACHE_SIZE(config, + MIPS_CONFIG_IC_MASK, csizebase, MIPS_CONFIG_IC_SHIFT); + mips_picache_line_size = MIPS_CONFIG_CACHE_L1_LSIZE(config, + MIPS_CONFIG_IB); - mips_pdcache_size = MIPS3_CONFIG_CACHE_SIZE(config, - MIPS3_CONFIG_DC_MASK, csizebase, MIPS3_CONFIG_DC_SHIFT); - mips_pdcache_line_size = MIPS3_CONFIG_CACHE_L1_LSIZE(config, - MIPS3_CONFIG_DB); + mips_pdcache_size = MIPS_CONFIG_CACHE_SIZE(config, + MIPS_CONFIG_DC_MASK, csizebase, MIPS_CONFIG_DC_SHIFT); + mips_pdcache_line_size = MIPS_CONFIG_CACHE_L1_LSIZE(config, + MIPS_CONFIG_DB); mips_cache_alias_mask = ((mips_pdcache_size / mips_pdcache_ways) - 1) & ~(PAGE_SIZE - 1); @@ -595,12 +595,12 @@ * L2 is usable. If the L2 is disabled, we treat it the same * as if there were no L2 cache. */ - if ((config & MIPS3_CONFIG_SC) == 0) { + if ((config & MIPS_CONFIG_SC) == 0) { if (has_sdcache_enable == 0 || - (has_sdcache_enable && (config & MIPS3_CONFIG_SE))) { + (has_sdcache_enable && (config & MIPS_CONFIG_SE))) { mips_sdcache_line_size = - MIPS3_CONFIG_CACHE_L2_LSIZE(config); - if ((config & MIPS3_CONFIG_SS) == 0) + MIPS_CONFIG_CACHE_L2_LSIZE(config); + if ((config & MIPS_CONFIG_SS) == 0) mips_scache_unified = 1; } else { #ifdef CACHE_DEBUG ==== //depot/projects/mips/sys/mips/mips/cache_mipsNN.c#2 (text+ko) ==== ==== //depot/projects/mips/sys/mips/mips/cache_r5k_subr.S#3 (text+ko) ==== @@ -56,7 +56,7 @@ 1: mfc0 v0, MIPS_COP_0_CONFIG - or v1, v0, MIPS3_CONFIG_SE + or v1, v0, MIPS_CONFIG_SE mtc0 v1, MIPS_COP_0_CONFIG # enable the secondary cache nop nop ==== //depot/projects/mips/sys/mips/mips/locore.S#9 (text+ko) ==== @@ -58,13 +58,13 @@ * Soft reset * Boot exception vectors (firmware-provided) */ - li t0, MIPS_SR_BEV | MIPS3_SR_SR + li t0, MIPS_SR_BEV | MIPS_SR_SR /* * t1: Bits to set explicitly: * Kernel mode is 64-bit * Enable FPU */ - li t1, MIPS3_SR_KX | MIPS_SR_COP_1_BIT + li t1, MIPS_SR_KX | MIPS_SR_COP_1_BIT /* * Read coprocessor 0 status register, clear bits not ==== //depot/projects/mips/sys/mips/mips/machdep.c#39 (text+ko) ==== @@ -359,8 +359,6 @@ * XXX begin NetBSD stuff, I want to rewrite or move out most. */ -static void mips64_vector_init(void); - struct pridtab { int cpu_cid; int cpu_pid; @@ -376,10 +374,10 @@ * Assumptions: * - All MIPS3+ have an r4k-style MMU. _Many_ assumptions throughout * much of the mips code about this. Includes overloaded usage of - * MIPS3_PLUS. + * MIPS_PLUS. * - All MIPS3+ use the same exception model (cp0 status, cause bits, * etc). _Many_ assumptions throughout much of the mips code about - * this. Includes overloaded usage of MIPS3_PLUS. + * this. Includes overloaded usage of MIPS_PLUS. * - All MIPS3+ have a count register. MIPS_HAS_CLOCK in * will need to be revised if this is false. */ @@ -573,7 +571,7 @@ #define ncidnames (sizeof(cidnames) / sizeof(cidnames[0])) static void -mips64_vector_install(vm_offset_t addr, char *begin, char *end) +mips_vector_install(vm_offset_t addr, char *begin, char *end) { size_t len, max; @@ -598,32 +596,6 @@ /* Cache error handler */ extern char CacheVector[], CacheVectorEnd[]; -static void -mips64_vector_init(void) -{ - /* - * Copy down exception vector code. - */ - - mips64_vector_install(MIPS_UTLB_MISS_EXC_VEC, - TLBMissVector, TLBMissVectorEnd); - mips64_vector_install(MIPS3_XTLB_MISS_EXC_VEC, - XTLBMissVector, XTLBMissVectorEnd); - mips64_vector_install(MIPS3_CACHE_ERR_EXC_VEC, - CacheVector, CacheVectorEnd); - mips64_vector_install(MIPS3_GEN_EXC_VEC, - ExceptionVector, ExceptionVectorEnd); - /* XXX do a real interrupt vector for the mips32/64? */ - mips64_vector_install(MIPS3_INTR_EXC_VEC, - ExceptionVector, ExceptionVectorEnd); - - mips_icache_sync_all(); - mips_dcache_wbinv_all(); - - /* Clear BEV in SR so we start handling our own exceptions */ - mips_wr_status(mips_rd_status() & ~MIPS_SR_BEV); -} - /* * Do all the stuff that locore normally does before calling main(), * that is common to all mips-CPU NetBSD ports. @@ -736,14 +708,35 @@ switch (cpu_arch) { case CPU_ARCH_MIPS3: case CPU_ARCH_MIPS64: - mips_wr_wired(0); - tlb_invalidate_all(); - mips64_vector_init(); break; default: printf("cpu_arch 0x%x: not supported\n", cpu_arch); cpu_halt(); } + + tlb_invalidate_all(); + + /* + * Copy down exception vector code. + */ + + mips_vector_install(MIPS_UTLB_MISS_EXC_VEC, + TLBMissVector, TLBMissVectorEnd); + mips_vector_install(MIPS_XTLB_MISS_EXC_VEC, + XTLBMissVector, XTLBMissVectorEnd); + mips_vector_install(MIPS_CACHE_ERR_EXC_VEC, + CacheVector, CacheVectorEnd); + mips_vector_install(MIPS_GEN_EXC_VEC, + ExceptionVector, ExceptionVectorEnd); + /* XXX do a real interrupt vector for the mips32/64? */ + mips_vector_install(MIPS_INTR_EXC_VEC, + ExceptionVector, ExceptionVectorEnd); + + mips_icache_sync_all(); + mips_dcache_wbinv_all(); + + /* Clear BEV in SR so we start handling our own exceptions */ + mips_wr_status(mips_rd_status() & ~MIPS_SR_BEV); } /* ==== //depot/projects/mips/sys/mips/mips/tlb.c#16 (text+ko) ==== @@ -63,7 +63,7 @@ /* * XXX Move the ASID code here. */ -static int tlb_maxasid = MIPS3_TLB_NUM_ASIDS; +static int tlb_maxasid = MIPS_TLB_NUM_ASIDS; #endif void ==== //depot/projects/mips/sys/mips/mips/trap.c#14 (text+ko) ==== @@ -96,7 +96,7 @@ platform_trap_enter(); - code = (cause & MIPS3_CR_EXC_CODE) >> MIPS_CR_EXC_CODE_SHIFT; + code = (cause & MIPS_CR_EXC_CODE) >> MIPS_CR_EXC_CODE_SHIFT; kernelmode = (tf->tf_regs[TF_SR] & MIPS_SR_KSU_USER) == 0; /* @@ -132,6 +132,13 @@ printf("cause = %#x\n", cause); printf("status = %#lx\n", tf->tf_regs[TF_SR]); printf("current thread = %p\n", curthread); + printf("current process = "); + if (curproc != NULL) { + printf("%d", curproc->p_pid); + printf(" (%s)", curproc->p_comm); + } else + printf("%p", curproc); + printf("\n"); switch (code) { case T_BREAK: ==== //depot/projects/mips/sys/mips/sgimips/ip22_cache.S#2 (text+ko) ==== @@ -53,7 +53,7 @@ nop ; \ li v0, ~MIPS_SR_INT_IE /* ints off */ ; \ and t1, v0, t0 ; \ - or t1, MIPS3_SR_KX /* enable 64-bit */ ; \ + or t1, MIPS_SR_KX /* enable 64-bit */ ; \ mtc0 t1, MIPS_COP_0_STATUS ; \ nop ; \ nop ; \ From owner-p4-projects@FreeBSD.ORG Wed Nov 12 00:31:54 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9121916A4D0; Wed, 12 Nov 2003 00:31:54 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6CF2A16A4CE for ; Wed, 12 Nov 2003 00:31:54 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF90043F93 for ; Wed, 12 Nov 2003 00:31:53 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAC8VrXJ056202 for ; Wed, 12 Nov 2003 00:31:53 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAC8VrBR056199 for perforce@freebsd.org; Wed, 12 Nov 2003 00:31:53 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Wed, 12 Nov 2003 00:31:53 -0800 (PST) Message-Id: <200311120831.hAC8VrBR056199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42113 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 08:31:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=42113 Change 42113 by jmallett@jmallett_dalek on 2003/11/12 00:31:48 Clarify some things that are page size relative. Badly need to init PageMask as necessary. Have some patches, but don't trust them. Affected files ... .. //depot/projects/mips/sys/mips/include/pte.h#16 edit Differences ... ==== //depot/projects/mips/sys/mips/include/pte.h#16 (text+ko) ==== @@ -46,8 +46,9 @@ /* * VPN for EntryHi register. Upper two bits select user, supervisor, - * or kernel. Bits 61 to 40 copy bit 63. VPN2 is bits 39 to 13. From - * bit 12 to bit 8 there is a 5-bit 0 field. Low byte is ASID. + * or kernel. Bits 61 to 40 copy bit 63. VPN2 is bits 39 and down to + * as low as 13, down to PAGE_SHIFT + 1, to index 2 pages. From bit 12 + * to bit 8 there is a 5-bit 0 field. Low byte is ASID. */ #define MIPS_HI_R_SHIFT 62 #ifdef LOCORE @@ -64,7 +65,8 @@ #define MIPS_HI_FILL_SHIFT 40 #define MIPS_HI_FILL_MASK ((0x800000UL - 1) << MIPS_HI_FILL_SHIFT) #define MIPS_HI_VA_FILL(va) ((((va) & (1ULL << 63)) != 0 ? MIPS_HI_FILL_MASK : 0)) -#define MIPS_HI_VPN2_SHIFT 13 +#define MIPS_HI_VPN2_SHIFT (PAGE_SHIFT + 1) +/* XXX VPN2 masking is wrong. Should trim off below VPN2_SHIFT, and from FILL_SHIFT up. */ #ifdef LOCORE #define MIPS_HI_VPN2_BMASK 0xFFFFFFF #else From owner-p4-projects@FreeBSD.ORG Wed Nov 12 08:55:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E6ACE16A4D0; Wed, 12 Nov 2003 08:55:27 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B81DC16A4CE for ; Wed, 12 Nov 2003 08:55:27 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6DFC144008 for ; Wed, 12 Nov 2003 08:55:04 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACGt4XJ000897 for ; Wed, 12 Nov 2003 08:55:04 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACGt3Dw000894 for perforce@freebsd.org; Wed, 12 Nov 2003 08:55:03 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 12 Nov 2003 08:55:03 -0800 (PST) Message-Id: <200311121655.hACGt3Dw000894@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42136 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 16:55:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=42136 Change 42136 by peter@peter_daintree on 2003/11/12 08:54:49 IFC @42135 Affected files ... .. //depot/projects/hammer/UPDATING#24 integrate .. //depot/projects/hammer/bin/df/df.c#9 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/gdb/freebsd-uthread.c#3 integrate .. //depot/projects/hammer/lib/libc/stdio/vfwprintf.c#9 integrate .. //depot/projects/hammer/release/i386/drivers.conf#14 integrate .. //depot/projects/hammer/share/man/man4/dc.4#6 integrate .. //depot/projects/hammer/share/man/man4/ddb.4#4 integrate .. //depot/projects/hammer/share/man/man4/inet.4#7 integrate .. //depot/projects/hammer/share/man/man4/intro.4#5 integrate .. //depot/projects/hammer/share/man/man4/ips.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/lnc.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/svr4.4#4 integrate .. //depot/projects/hammer/share/man/man4/netgraph.4#4 integrate .. //depot/projects/hammer/share/man/man7/ports.7#7 integrate .. //depot/projects/hammer/share/man/man9/style.9#12 integrate .. //depot/projects/hammer/sys/amd64/amd64/autoconf.c#8 integrate .. //depot/projects/hammer/sys/conf/files#36 integrate .. //depot/projects/hammer/sys/crypto/rijndael/rijndael-api.c#1 branch .. //depot/projects/hammer/sys/crypto/rijndael/rijndael.c#2 delete .. //depot/projects/hammer/sys/dev/acpica/Osd/OsdInterrupt.c#4 integrate .. //depot/projects/hammer/sys/dev/aha/ahareg.h#3 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.c#24 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.h#2 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/hammer/sys/dev/pccbb/pccbb.c#19 integrate .. //depot/projects/hammer/sys/dev/usb/ohci.c#9 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs.h#5 integrate .. //depot/projects/hammer/sys/fs/nwfs/nwfs_vfsops.c#6 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs_vfsops.c#8 integrate .. //depot/projects/hammer/sys/geom/geom_ccd.c#5 integrate .. //depot/projects/hammer/sys/ia64/ia64/interrupt.c#8 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#28 integrate .. //depot/projects/hammer/sys/ia64/ia64/trap.c#20 integrate .. //depot/projects/hammer/sys/ia64/include/md_var.h#6 integrate .. //depot/projects/hammer/sys/kern/init_sysent.c#19 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#16 integrate .. //depot/projects/hammer/sys/kern/kern_mac.c#23 integrate .. //depot/projects/hammer/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/hammer/sys/kern/syscalls.c#19 integrate .. //depot/projects/hammer/sys/kern/syscalls.master#19 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#23 integrate .. //depot/projects/hammer/sys/kern/vfs_cluster.c#14 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#16 integrate .. //depot/projects/hammer/sys/kern/vfs_syscalls.c#18 integrate .. //depot/projects/hammer/sys/net/bpfdesc.h#5 integrate .. //depot/projects/hammer/sys/net/if_var.h#9 integrate .. //depot/projects/hammer/sys/net/if_vlan.c#10 integrate .. //depot/projects/hammer/sys/netgraph/netgraph.h#4 integrate .. //depot/projects/hammer/sys/netgraph/ng_message.h#5 integrate .. //depot/projects/hammer/sys/netinet/ip_var.h#12 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#18 integrate .. //depot/projects/hammer/sys/security/mac/mac_internal.h#4 integrate .. //depot/projects/hammer/sys/security/mac/mac_label.c#1 branch .. //depot/projects/hammer/sys/security/mac/mac_net.c#4 integrate .. //depot/projects/hammer/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/hammer/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/hammer/sys/security/mac/mac_system.c#2 integrate .. //depot/projects/hammer/sys/security/mac/mac_vfs.c#3 integrate .. //depot/projects/hammer/sys/security/mac_biba/mac_biba.c#18 integrate .. //depot/projects/hammer/sys/security/mac_lomac/mac_lomac.c#12 integrate .. //depot/projects/hammer/sys/security/mac_mls/mac_mls.c#18 integrate .. //depot/projects/hammer/sys/security/mac_partition/mac_partition.c#5 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#12 integrate .. //depot/projects/hammer/sys/sys/mac.h#13 integrate .. //depot/projects/hammer/sys/sys/mount.h#10 integrate .. //depot/projects/hammer/sys/sys/pipe.h#5 integrate .. //depot/projects/hammer/sys/sys/proc.h#37 integrate .. //depot/projects/hammer/sys/sys/socketvar.h#9 integrate .. //depot/projects/hammer/sys/sys/syscall.h#19 integrate .. //depot/projects/hammer/sys/sys/syscall.mk#19 integrate .. //depot/projects/hammer/sys/sys/sysproto.h#19 integrate .. //depot/projects/hammer/sys/sys/ucred.h#4 integrate .. //depot/projects/hammer/sys/sys/vnode.h#19 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_vfsops.c#16 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/releng_4.rc#3 integrate .. //depot/projects/hammer/tools/tools/tinderbox/www/index.cgi#7 integrate .. //depot/projects/hammer/tools/tools/tinderbox/www/tb.css#3 integrate .. //depot/projects/hammer/usr.sbin/ngctl/list.c#2 integrate .. //depot/projects/hammer/usr.sbin/ngctl/main.c#2 integrate .. //depot/projects/hammer/usr.sbin/ngctl/msg.c#2 integrate Differences ... ==== //depot/projects/hammer/UPDATING#24 (text+ko) ==== @@ -17,6 +17,13 @@ developers choose to disable these features on build machines to maximize performance. +20031112: + Some netgraph string length constants have been changed. This + change requires the netgraph kernel modules and all netgraph + userland components to be in sync. Especially users who require + netgraph to boot need to make sure to have world and kernel in + sync before rebooting. + 20031103: The i386 APIC_IO kernel option has been replaced by 'device apic'. The ACPI module has also been temporarily @@ -1398,4 +1405,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.276 2003/11/04 19:42:55 ceri Exp $ +$FreeBSD: src/UPDATING,v 1.277 2003/11/12 09:11:18 harti Exp $ ==== //depot/projects/hammer/bin/df/df.c#9 (text+ko) ==== @@ -48,7 +48,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.51 2003/09/13 20:46:58 obrien Exp $"); +__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.52 2003/11/12 08:01:39 mckusick Exp $"); #include #include @@ -120,9 +120,9 @@ static unit_t unitp [] = { NONE, KILO, MEGA, GIGA, TERA, PETA }; static char *getmntpt(const char *); -static size_t longwidth(long); +static size_t int64width(int64_t); static char *makenetvfslist(void); -static void prthuman(const struct statfs *, size_t); +static void prthuman(const struct statfs *, int64_t); static void prthumanval(double); static void prtstat(struct statfs *, struct maxwidths *); static size_t regetmntinfo(struct statfs **, long, const char **); @@ -371,7 +371,7 @@ } static void -prthuman(const struct statfs *sfsp, size_t used) +prthuman(const struct statfs *sfsp, int64_t used) { prthumanval((double)sfsp->f_blocks * (double)sfsp->f_bsize); @@ -408,10 +408,10 @@ static void prtstat(struct statfs *sfsp, struct maxwidths *mwp) { - static long blocksize; + static u_long blocksize; static int headerlen, timesthrough = 0; static const char *header; - size_t used, availblks, inodes; + int64_t used, availblks, inodes; if (++timesthrough == 1) { mwp->mntfrom = max(mwp->mntfrom, strlen("Filesystem")); @@ -445,21 +445,23 @@ if (hflag) { prthuman(sfsp, used); } else { - (void)printf(" %*ld %*ld %*ld", - (u_int)mwp->total, fsbtoblk(sfsp->f_blocks, sfsp->f_bsize, blocksize), - (u_int)mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize), - (u_int)mwp->avail, fsbtoblk(sfsp->f_bavail, sfsp->f_bsize, - blocksize)); + (void)printf(" %*qd %*qd %*qd", + (u_int)mwp->total, + (intmax_t)fsbtoblk(sfsp->f_blocks, sfsp->f_bsize, blocksize), + (u_int)mwp->used, + (intmax_t)fsbtoblk(used, sfsp->f_bsize, blocksize), + (u_int)mwp->avail, + (intmax_t)fsbtoblk(sfsp->f_bavail, sfsp->f_bsize, blocksize)); } (void)printf(" %5.0f%%", availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0); if (iflag) { inodes = sfsp->f_files; used = inodes - sfsp->f_ffree; - (void)printf(" %*lu %*lu %4.0f%% ", - (u_int)mwp->iused, (u_long)used, - (u_int)mwp->ifree, sfsp->f_ffree, - inodes == 0 ? 100.0 : (double)used / (double)inodes * 100.0); + (void)printf(" %*qd %*qd %4.0f%% ", + (u_int)mwp->iused, (intmax_t)used, + (u_int)mwp->ifree, (intmax_t)sfsp->f_ffree, + inodes == 0 ? 100.0 : (double)used / (double)inodes * 100.0); } else (void)printf(" "); (void)printf(" %s\n", sfsp->f_mntonname); @@ -472,27 +474,27 @@ static void update_maxwidths(struct maxwidths *mwp, const struct statfs *sfsp) { - static long blocksize = 0; + static u_long blocksize = 0; int dummy; if (blocksize == 0) getbsize(&dummy, &blocksize); mwp->mntfrom = max(mwp->mntfrom, strlen(sfsp->f_mntfromname)); - mwp->total = max(mwp->total, longwidth(fsbtoblk(sfsp->f_blocks, + mwp->total = max(mwp->total, int64width( + fsbtoblk((int64_t)sfsp->f_blocks, sfsp->f_bsize, blocksize))); + mwp->used = max(mwp->used, int64width(fsbtoblk((int64_t)sfsp->f_blocks - + (int64_t)sfsp->f_bfree, sfsp->f_bsize, blocksize))); + mwp->avail = max(mwp->avail, int64width(fsbtoblk(sfsp->f_bavail, sfsp->f_bsize, blocksize))); - mwp->used = max(mwp->used, longwidth(fsbtoblk(sfsp->f_blocks - - sfsp->f_bfree, sfsp->f_bsize, blocksize))); - mwp->avail = max(mwp->avail, longwidth(fsbtoblk(sfsp->f_bavail, - sfsp->f_bsize, blocksize))); - mwp->iused = max(mwp->iused, longwidth(sfsp->f_files - + mwp->iused = max(mwp->iused, int64width((int64_t)sfsp->f_files - sfsp->f_ffree)); - mwp->ifree = max(mwp->ifree, longwidth(sfsp->f_ffree)); + mwp->ifree = max(mwp->ifree, int64width(sfsp->f_ffree)); } /* Return the width in characters of the specified long. */ static size_t -longwidth(long val) +int64width(int64_t val) { size_t len; ==== //depot/projects/hammer/gnu/usr.bin/binutils/gdb/freebsd-uthread.c#3 (text+ko) ==== @@ -1,4 +1,3 @@ -/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/freebsd-uthread.c,v 1.10 2003/01/04 17:35:54 fjoe Exp $ */ /* Low level interface for debugging FreeBSD user threads for GDB, the GNU debugger. Copyright 1996, 1999 Free Software Foundation, Inc. @@ -18,6 +17,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/freebsd-uthread.c,v 1.11 2003/11/12 08:33:18 obrien Exp $ */ + /* This module implements a sort of half target that sits between the machine-independent parts of GDB and the ptrace interface (infptrace.c) to provide access to the FreeBSD user-mode thread implementation. ==== //depot/projects/hammer/lib/libc/stdio/vfwprintf.c#9 (text+ko) ==== @@ -41,7 +41,7 @@ #endif /* LIBC_SCCS and not lint */ __FBSDID("FreeBSD: src/lib/libc/stdio/vfprintf.c,v 1.58 2003/04/14 11:24:53 das Exp"); #endif -__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.13 2003/11/05 08:20:45 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.14 2003/11/12 08:49:12 tjr Exp $"); /* * Actual wprintf innards. @@ -114,6 +114,7 @@ }; static int __sbprintf(FILE *, const wchar_t *, va_list); +static wint_t __xfputwc(wchar_t, FILE *); static wchar_t *__ujtoa(uintmax_t, wchar_t *, int, int, const wchar_t *, int, char, const char *); static wchar_t *__ultoa(u_long, wchar_t *, int, int, const wchar_t *, int, @@ -156,6 +157,34 @@ } /* + * Like __fputwc, but handles fake string (__SSTR) files properly. + * File must already be locked. + */ +static wint_t +__xfputwc(wchar_t wc, FILE *fp) +{ + char buf[MB_LEN_MAX]; + struct __suio uio; + struct __siov iov; + size_t i, len; + int ret; + + if ((fp->_flags & __SSTR) == 0) + return (__fputwc(wc, fp)); + + if ((len = wcrtomb(buf, wc, NULL)) == (size_t)-1) { + fp->_flags |= __SERR; + return (WEOF); + } + uio.uio_iov = &iov; + uio.uio_resid = len; + uio.uio_iovcnt = 1; + iov.iov_base = buf; + iov.iov_len = len; + return (__sfvwrite(fp, &uio) != EOF ? (wint_t)wc : WEOF); +} + +/* * Macros for converting digits to letters and vice versa */ #define to_digit(c) ((c) - '0') @@ -529,7 +558,7 @@ */ #define PRINT(ptr, len) do { \ for (n3 = 0; n3 < (len); n3++) \ - __fputwc((ptr)[n3], fp); \ + __xfputwc((ptr)[n3], fp); \ } while (0) #define PAD(howmany, with) do { \ if ((n = (howmany)) > 0) { \ ==== //depot/projects/hammer/release/i386/drivers.conf#14 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/release/i386/drivers.conf,v 1.30 2003/09/12 08:20:47 kuriyama Exp $ +# $FreeBSD: src/release/i386/drivers.conf,v 1.31 2003/11/12 08:08:16 kuriyama Exp $ # # drv: driver name in kernel config file @@ -94,7 +94,7 @@ wlan rc4 3 network "802.11 crypto support" wlan wlan 3 network "802.11 support" -CD9660 cd9660 3 options "ISO 9660 Filesystem" +CD9660 cd9660 2 options "ISO 9660 Filesystem" MSDOSFS msdosfs 3 options "MSDOS filsystem" NFSCLIENT nfsclient 3 options "Network Filesystem Client" ==== //depot/projects/hammer/share/man/man4/dc.4#6 (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/dc.4,v 1.22 2003/11/11 13:34:53 simon Exp $ +.\" $FreeBSD: src/share/man/man4/dc.4,v 1.23 2003/11/12 14:13:36 simon Exp $ .\" .Dd November 20, 1999 .Dt DC 4 @@ -49,19 +49,20 @@ .It DEC/Intel 21143 .It -ADMtek AL981 Comet and AN985 Centaur +ADMtek AL981 Comet, AN985 Centaur, ADM9511 Centaur II and ADM9513 +Centaur II .It ASIX Electronics AX88140A and AX88141 .It Conexant LANfinity RS7112 (miniPCI) .It -Davicom DM9100, DM9102 and DM9102A +Davicom DM9009, DM9100, DM9102 and DM9102A .It Lite-On 82c168 and 82c169 PNIC .It Lite-On/Macronix 82c115 PNIC II .It -Macronix 98713, 98713A, 98715, 98715A, 98725, 98727 and 98732 +Macronix 98713, 98713A, 98715, 98715A, 98715AEC-C, 98725, 98727 and 98732 .It Xircom X3201 (cardbus only) .El @@ -105,6 +106,14 @@ .It 3Com OfficeConnect 10/100B (ADMtek AN985 Centaur-P) .It +Abocom FE2500 +.It +Accton EN1217 (98715A) +.It +Accton EN2242 MiniPCI +.It +Adico AE310TX (98715A) +.It Alfa Inc GFC2204 (ASIX AX88140A) .It Built in 10Mbps only ethernet on Compaq Presario 7900 series @@ -124,6 +133,8 @@ .It Digital DE500-BA 10/100 (21143, non-MII) .It +Hawking CB102 CardBus +.It Jaton XpressNet (Davicom DM9102) .It Kingston KNE100TX (21143, MII) @@ -148,6 +159,10 @@ .It NetGear FA310-TX Rev. D1, D2 or D3 (PNIC 82c169) .It +Netgear FA511 +.It +PlaneX FNW-3602-T (ADMtek AN985) +.It SVEC PN102-TX (98713) .El .Pp ==== //depot/projects/hammer/share/man/man4/ddb.4#4 (text+ko) ==== @@ -57,7 +57,7 @@ .\" Created. .\" [90/08/30 dbg] .\" -.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.23 2003/10/14 02:47:23 imp Exp $ +.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.24 2003/11/12 02:35:20 hmp Exp $ .Dd January 16, 1996 .Dt DDB 4 .Os @@ -312,7 +312,8 @@ point at the low-level code paths may also cause strange behavior. .It Cm delete Ar addr .It Cm delete Li \&# Ns Ar number -Delete the break point. The target break point can be specified by a +Delete the break point. +The target break point can be specified by a break point number with .Li # , or by using the same @@ -520,7 +521,10 @@ .It Li maxwidth The width of the displayed line. .It Li lines -The number of lines. It is used by "more" feature. +The number of lines. +It is used by +.Dq more +feature. .It Li tabstops Tab stop width. .It Li work Ns Ar xx @@ -583,7 +587,8 @@ a binary operator which rounds up the left hand side to the next multiple of right hand side. .It Li \&* Ns Em expr -indirection. It may be followed by a +indirection. +It may be followed by a .Sq Li : and modifiers as described above. .El ==== //depot/projects/hammer/share/man/man4/inet.4#7 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man4/inet.4,v 1.25 2003/10/14 02:59:13 imp Exp $ +.\" $FreeBSD: src/share/man/man4/inet.4,v 1.26 2003/11/12 02:35:20 hmp Exp $ .\" .Dd February 14, 1995 .Dt INET 4 @@ -297,7 +297,8 @@ .Re .Sh CAVEAT The Internet protocol support is subject to change as -the Internet protocols develop. Users should not depend +the Internet protocols develop. +Users should not depend on details of the current implementation, but rather the services exported. .Sh HISTORY ==== //depot/projects/hammer/share/man/man4/intro.4#5 (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/share/man/man4/intro.4,v 1.27 2003/06/28 23:53:37 ru Exp $ +.\" $FreeBSD: src/share/man/man4/intro.4,v 1.28 2003/11/12 02:35:20 hmp Exp $ .\" .Dd January 20, 1996 .Dt INTRO 4 @@ -149,8 +149,8 @@ .Xr config 8 for a detailed description of the files involved. The individual manual pages in this section provide a sample line for the -configuration file in their synopsis portion. See also the sample -config file +configuration file in their synopsis portion. +See also the sample config file .Pa /sys/i386/conf/LINT (for the .Em i386 ==== //depot/projects/hammer/share/man/man4/ips.4#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ips.4,v 1.1 2003/11/11 18:47:01 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/ips.4,v 1.2 2003/11/12 02:26:47 hmp Exp $ .\" .Dd November 11, 2003 .Dt IPS 4 @@ -63,7 +63,7 @@ key combination during the initial card .Tn POST . .Pp -It is highly recommended that this be used to configure the card +It is highly recommended that this utility be used to configure the card before attempting to diagnose the below error messages. .Pp In some cases, the @@ -71,12 +71,12 @@ driver can have difficulties attaching during the system initialization period. To avoid these difficulties, set the -.Pp -.Dl hw.ips.0.disable=1 -.Pp -.Xr sysctl -.Dq MIB -to prevent the driver from attaching. +.Dl hw.ips.0.disable +tunable to +.Dq 1 . +This +.Tn MIB +prevents the driver from attaching. .Sh DIAGNOSTICS Several error codes may be shown when the card initializes the .Tn IBM @@ -92,7 +92,7 @@ .It ips%d iobuf error .Pp A buffer input/output error has occurred. -.Op ENXIO +.Bq Er ENXIO .El .Ss General adapter errors: .Bl -diag @@ -143,7 +143,7 @@ The .Nm driver will return -.Op ENOMEM +.Bq Er ENOMEM in such cases. .It ERROR: unable to get a command! can't flush cache! .It ERROR: cache flush command failed! @@ -177,5 +177,6 @@ .An David Jefferys and .An Scott Long Aq scottl@FreeBSD.org . +.Pp This manual page was written by .An Tom Rhodes Aq trhodes@FreeBSD.org . ==== //depot/projects/hammer/share/man/man4/man4.i386/lnc.4#2 (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/share/man/man4/man4.i386/lnc.4,v 1.20 2001/10/13 09:08:37 yokota Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/lnc.4,v 1.21 2003/11/12 02:35:20 hmp Exp $ .\" .Dd January 19, 1997 .Dt LNC 4 i386 @@ -68,20 +68,24 @@ .Sh DIAGNOSTICS .Bl -diag .It "lnc%d: Framing error" -A framing error occurred. This means a CRC error also occurred. +A framing error occurred. +This means a CRC error also occurred. This caused the driver to drop the packet that contained the framing error. .It "lnc%d: Receive CRC error The received Ethernet frame failed the CRC checksum. This caused the driver to drop the packet that failed the checksum. .It "lnc%d: Packet dropped, no mbufs" -The driver ran out of mbuf's. This may suggest a resource problem. +The driver ran out of mbuf's. +This may suggest a resource problem. .It "lnc%d: Couldn't allocate memory for NIC" -This is a fatal error. The driver will not attach to the card under this +This is a fatal error. +The driver will not attach to the card under this circumstance. .It "lnc%d: Memory allocated above 16Mb limit" ISA and ESIA cards require bounce buffers for DMA transfers above 16mb. The Am7990 and Am79C960 only have 24 address lines and so can only access -the lower 16Mb of physical memory. The +the lower 16Mb of physical memory. +The .Nm driver assumes the memory it allocates is within the lower 16Mb range. This is not a very valid assumption but there's nothing that can be done @@ -89,7 +93,8 @@ For shared memory NICs this isn't relevant. .It "lnc%d: Device timeout -- Resetting" The device has stopped responding to the network, or there is a problem with -the network connection (cable). Make sure the network connection in use +the network connection (cable). +Make sure the network connection in use is the same one the card is configured for. .It "lnc%d: Transmit late collision -- Net error?" .It "lnc%d: Loss of carrier during transmit -- Net error?" ==== //depot/projects/hammer/share/man/man4/man4.i386/svr4.4#4 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.9 2003/10/28 05:22:19 tjr Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/svr4.4,v 1.10 2003/11/12 02:35:20 hmp Exp $ .Dd October 28, 2003 .Dt SVR4 4 i386 .Os @@ -141,7 +141,9 @@ .Pa /compat/svr4/dev . Internally, the .Xr streams 4 -driver produces a socket descriptor and "tags" it with additional STREAMS +driver produces a socket descriptor and +.Dq tags +it with additional STREAMS state information before returning it to the client application. The .Nm @@ -177,9 +179,11 @@ .Pp Extensive testing has only really been carried out with Solaris 2.x binaries, with anecdotal reports of limited success coming from testers with -early-revision SCO media. In theory, the basic SVR4 ABI should be constant +early-revision SCO media. +In theory, the basic SVR4 ABI should be constant across the set of vendors who produce SVR4 operating systems, but in -practice that's probably not the case. If necessary, future work can +practice that's probably not the case. +If necessary, future work can either implement additional .Xr kld 4 modules which produce functionality which contains OS-dependent @@ -187,7 +191,9 @@ ABI implementation. Alternatively, .Xr sysctl 8 -variables could set the "personality" the environment should present to +variables could set the +.Dq personality +the environment should present to client applications. .Sh FILES .Bl -tag -width /sys/compat/svr4/syscalls.master -compact ==== //depot/projects/hammer/share/man/man4/netgraph.4#4 (text+ko) ==== @@ -33,7 +33,7 @@ .\" Authors: Julian Elischer .\" Archie Cobbs .\" -.\" $FreeBSD: src/share/man/man4/netgraph.4,v 1.42 2003/06/28 23:53:37 ru Exp $ +.\" $FreeBSD: src/share/man/man4/netgraph.4,v 1.43 2003/11/12 13:24:03 harti Exp $ .\" $Whistle: netgraph.4,v 1.7 1999/01/28 23:54:52 julian Exp $ .\" .Dd January 19, 1999 @@ -103,7 +103,7 @@ or .Dq \&: and is limited to -.Dv "NG_NODELEN + 1" +.Dv "NG_NODESIZ" characters (including NUL byte). .Pp Each node instance has a unique @@ -134,7 +134,7 @@ .Dq \&: and is limited to -.Dv "NG_HOOKLEN + 1" +.Dv "NG_HOOKSIZ" characters (including NUL byte). .It A hook is always connected to another hook. @@ -696,9 +696,9 @@ .Fn ( NG_NODE_NAME "node" [0]) .... .Pp -if (strncmp( +if (strcmp( .Fn NG_NODE_NAME "node" , -"fred", NG_NODELEN)) ... +"fred")) ... .Pp .It A node dependent opaque cookie @@ -815,7 +815,7 @@ .Ss Netgraph Message Structure Control messages have the following structure: .Bd -literal -#define NG_CMDSTRLEN 15 /* Max command string (16 with null) */ +#define NG_CMDSTRSIZ 32 /* Max command string (including nul) */ struct ng_mesg { struct ng_msghdr { @@ -826,7 +826,7 @@ u_long token; /* Reply should have the same token */ u_long typecookie; /* Node type understanding this message */ u_long cmd; /* Command identifier */ - u_char cmdstr[NG_CMDSTRLEN+1]; /* Cmd string (for debug) */ + u_char cmdstr[NG_CMDSTRSIZ]; /* Cmd string (for debug) */ } header; char data[0]; /* Start of cmd/resp data */ }; ==== //depot/projects/hammer/share/man/man7/ports.7#7 (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/share/man/man7/ports.7,v 1.39 2003/11/09 09:30:39 brueffer Exp $ +.\" $FreeBSD: src/share/man/man7/ports.7,v 1.41 2003/11/12 08:26:08 brueffer Exp $ .\" .Dd January 25, 1998 .Dt PORTS 7 @@ -78,7 +78,7 @@ .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html ) . For information about creating new ports, see .%B "The Porter's Handbook" -.Pa ( file:/usr/share/doc/porters-handbook/index.html +.Pa ( file:/usr/share/doc/en_US.ISO8859-1/books/porters-handbook/index.html or .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/ ) . .Sh TARGETS @@ -163,6 +163,9 @@ Show list of files needed to be fetched in order to build the port. .It Cm fetch-recursive Fetch the distfiles of the port and all its dependencies. +.It Cm fetch-recursive-list +Show list of files that would be retrieved by +.Cm fetch-recursive . .It Cm pretty-print-run-depends-list , pretty-print-build-depends-list Print a list of all the compile and run dependencies, and dependencies of those dependencies. @@ -191,6 +194,10 @@ .It Cm deinstall Remove an installed port from the system, similar to .Xr pkg_delete 1 . +.It Cm deinstall-all +Remove all installed ports with the same +.Va PKGORIGIN +from the system. .It Cm package Make a binary package for the port. The port will be installed if it has not already been. ==== //depot/projects/hammer/share/man/man9/style.9#12 (text+ko) ==== @@ -43,7 +43,7 @@ * Style guide for FreeBSD. Based on the CSRG's KNF (Kernel Normal Form). * * @(#)style 1.14 (Berkeley) 4/28/95 - * $FreeBSD: src/share/man/man9/style.9,v 1.104 2003/11/10 14:32:13 fanf Exp $ + * $FreeBSD: src/share/man/man9/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp $ */ /* @@ -86,7 +86,7 @@ #endif #include -__FBSDID("$FreeBSD: src/share/man/man9/style.9,v 1.104 2003/11/10 14:32:13 fanf Exp $"); +__FBSDID("$FreeBSD: src/share/man/man9/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp $"); .Ed .Pp Leave another blank line before the header files. @@ -328,7 +328,7 @@ incomplete structure type can be mentioned as many times as necessary. Typedefs are difficult to use in stand-alone header files: -the header that defines the typedef must either be included +the header that defines the typedef must be included before the header that uses it, or by the header that uses it (which causes namespace pollution), or there must be a back-door mechanism for obtaining the typedef. ==== //depot/projects/hammer/sys/amd64/amd64/autoconf.c#8 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.174 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.175 2003/11/12 01:49:49 peter Exp $"); /* * Setup the system to run on the current machine. @@ -136,6 +136,8 @@ { cninit_finish(); + if (bootverbose) + printf("Device configuration finished.\n"); cold = 0; } ==== //depot/projects/hammer/sys/conf/files#36 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.848 2003/11/11 22:07:29 jhb Exp $ +# $FreeBSD: src/sys/conf/files,v 1.850 2003/11/12 04:22:36 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -207,7 +207,7 @@ crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec -crypto/rijndael/rijndael.c optional ipsec +crypto/rijndael/rijndael-api.c optional ipsec opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec @@ -1618,6 +1618,7 @@ posix4/p1003_1b.c standard posix4/posix4_mib.c standard kern/uipc_sem.c optional p1003_1b_semaphores +security/mac/mac_label.c optional mac security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_process.c optional mac ==== //depot/projects/hammer/sys/dev/acpica/Osd/OsdInterrupt.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.13 2003/11/11 18:12:12 jhb Exp $ + * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.15 2003/11/12 16:24:16 jhb Exp $ */ /* @@ -135,10 +135,12 @@ acpi_OverrideInterruptLevel(UINT32 InterruptNumber) { - if (InterruptOverride != 0) - return_ACPI_STATUS(AE_ALREADY_EXISTS); - InterruptOverride = InterruptNumber; - return_ACPI_STATUS(AE_OK); + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (InterruptOverride != 0) + return_ACPI_STATUS(AE_ALREADY_EXISTS); + InterruptOverride = InterruptNumber; + return_ACPI_STATUS(AE_OK); } /* ==== //depot/projects/hammer/sys/dev/aha/ahareg.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.15 2003/11/09 19:51:16 imp Exp $ + * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.16 2003/11/12 05:44:44 imp Exp $ */ #ifndef _AHAREG_H_ @@ -426,4 +426,4 @@ #define AHA1542_PNPCOMPAT 0xA000D040 /* PNP00A0 */ #define ICU0091_PNP 0X91005AA4 /* ICU0091 */ -#endif /* _AHA_H_ */ +#endif /* _AHAREG_H_ */ ==== //depot/projects/hammer/sys/dev/firewire/sbp.c#24 (text+ko) ==== @@ -1,6 +1,6 @@ /* - * Copyright (c) 2003 Hidetosh Shimokawa - * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetosh Shimokawa + * Copyright (c) 2003 Hidetoshi Shimokawa + * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.68 2003/11/10 14:04:37 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.71 2003/11/12 04:06:21 simokawa Exp $ * */ @@ -1142,7 +1142,7 @@ END_DEBUG if (xfer->resp != 0) { /* XXX */ - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); } sbp_xfer_free(xfer); sdev->flags &= ~ORB_POINTER_ACTIVE; @@ -1208,7 +1208,7 @@ END_DEBUG if (xfer->resp != 0) { /* XXX */ - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); } sbp_xfer_free(xfer); return; @@ -1317,6 +1317,7 @@ } if ((ocb = sbp_get_ocb(sdev)) == NULL) { splx(s); + /* XXX */ return; } ocb->flags = OCB_ACT_MGM; @@ -1572,7 +1573,7 @@ */ sbp = (struct sbp_softc *)xfer->sc; if (xfer->resp != 0){ - printf("sbp_recv: xfer->resp != 0\n"); + printf("sbp_recv: xfer->resp = %d\n", xfer->resp); goto done0; } if (xfer->recv.payload == NULL){ @@ -1903,7 +1904,7 @@ sbp->sim = cam_sim_alloc(sbp_action, sbp_poll, "sbp", sbp, device_get_unit(dev), /*untagged*/ 1, - /*tagged*/ SBP_QUEUE_LEN, + /*tagged*/ SBP_QUEUE_LEN - 1, devq); if (sbp->sim == NULL) { @@ -2325,8 +2326,11 @@ } } #endif - if ((ocb = sbp_get_ocb(sdev)) == NULL) + if ((ocb = sbp_get_ocb(sdev)) == NULL) { + ccb->ccb_h.status = CAM_REQUEUE_REQ; + xpt_done(ccb); return; + } ocb->flags = OCB_ACT_CMD; ocb->sdev = sdev; ==== //depot/projects/hammer/sys/dev/firewire/sbp.h#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* - * Copyright (c) 2003 Hidetosh Shimokawa - * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetosh Shimokawa + * Copyright (c) 2003 Hidetoshi Shimokawa + * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.1 2003/10/02 04:06:56 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.2 2003/11/12 03:29:57 simokawa Exp $ * */ ==== //depot/projects/hammer/sys/dev/firewire/sbp_targ.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.1 2003/10/18 05:41:31 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.2 2003/11/12 04:06:21 simokawa Exp $ */ #include @@ -471,7 +471,7 @@ orbi = (struct orb_info *)xfer->sc; if (xfer->resp != 0) { /* XXX */ - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); } free(orbi, M_SBP_TARG); fw_xfer_free(xfer); @@ -589,7 +589,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 12 09:01:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5DAFB16A4D0; Wed, 12 Nov 2003 09:01:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3140716A4CE for ; Wed, 12 Nov 2003 09:01:37 -0800 (PST) Received: from mail.speakeasy.net (mail8.speakeasy.net [216.254.0.208]) by mx1.FreeBSD.org (Postfix) with ESMTP id D855E43FDD for ; Wed, 12 Nov 2003 09:01:34 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 27811 invoked from network); 12 Nov 2003 17:01:34 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 12 Nov 2003 17:01:34 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id hACH1Ace026088; Wed, 12 Nov 2003 12:01:11 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200311120244.hAC2iLb3027692@repoman.freebsd.org> Date: Wed, 12 Nov 2003 12:01:08 -0500 (EST) From: John Baldwin To: Peter Wemm X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: Perforce Change Reviews Subject: RE: PERFORCE change 42073 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 17:01:37 -0000 On 12-Nov-2003 Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=42073 > > Change 42073 by peter@peter_daintree on 2003/11/11 18:43:20 > > clean up a leftover merge turd. Add note about moving the EOI and > masking into C, along with the curthread->td_intr_nesting_level++; > frobbing etc. I'm about to move the EOI and masking into C as well. Need to do that if I'm going to do bde's optimization of not masking for fast handlers. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ From owner-p4-projects@FreeBSD.ORG Wed Nov 12 09:08:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B1CF16A4D0; Wed, 12 Nov 2003 09:08:05 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 11F8316A4CE for ; Wed, 12 Nov 2003 09:08:05 -0800 (PST) Received: from mail.speakeasy.net (mail6.speakeasy.net [216.254.0.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3C20843F93 for ; Wed, 12 Nov 2003 09:08:04 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 27220 invoked from network); 12 Nov 2003 17:08:03 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 12 Nov 2003 17:08:03 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id hACH7dce026136; Wed, 12 Nov 2003 12:07:39 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20031112041040.B47B12A8FB@canning.wemm.org> Date: Wed, 12 Nov 2003 12:07:37 -0500 (EST) From: John Baldwin To: Peter Wemm X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: Perforce Change Reviews Subject: Re: PERFORCE change 42080 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 17:08:05 -0000 On 12-Nov-2003 Peter Wemm wrote: > Peter Wemm wrote: >> http://perforce.freebsd.org/chv.cgi?CH=42080 >> >> Change 42080 by peter@peter_daintree on 2003/11/11 19:24:43 >> >> Stab the 8259A's in the heart real early to make damn >> sure they're dead. > >> @@ -1123,6 +1122,10 @@ >> u_int64_t msr; >> char *env; >> >> + /* Preemptively mask the atpics and leave them shut down */ >> + outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); >> + outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); >> + >> /* Turn on PTE NX (no execute) bit */ > > > And with this series of changes, I made it to single user. > > John: I doubt your imen mask handling in the atpic code. What problems do you see? -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ From owner-p4-projects@FreeBSD.ORG Wed Nov 12 09:39:13 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 99AF116A4D0; Wed, 12 Nov 2003 09:39:13 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 758B716A4CE for ; Wed, 12 Nov 2003 09:39:13 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 43E564400D for ; Wed, 12 Nov 2003 09:39:01 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACHd0XJ003996 for ; Wed, 12 Nov 2003 09:39:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACHd0n9003989 for perforce@freebsd.org; Wed, 12 Nov 2003 09:39:00 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 12 Nov 2003 09:39:00 -0800 (PST) Message-Id: <200311121739.hACHd0n9003989@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42141 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 17:39:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=42141 Change 42141 by peter@peter_daintree on 2003/11/12 09:38:03 IFC @42140 Affected files ... .. //depot/projects/hammer/sys/kern/vfs_mount.c#17 edit .. //depot/projects/hammer/sys/netgraph/ng_message.h#6 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#13 integrate Differences ... ==== //depot/projects/hammer/sys/kern/vfs_mount.c#17 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.113 2003/11/12 02:54:47 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.114 2003/11/12 17:09:12 peter Exp $"); #include #include @@ -1302,7 +1302,7 @@ vfsname = malloc(MFSNAMELEN, M_MOUNT, M_WAITOK); path = malloc(MNAMELEN, M_MOUNT, M_WAITOK); vfsname[0] = path[0] = 0; - sprintf(patt, "%%%d[a-z0-9]:%%%zds", MFSNAMELEN, MNAMELEN); + sprintf(patt, "%%%d[a-z0-9]:%%%ds", MFSNAMELEN, MNAMELEN); if (sscanf(mountfrom, patt, vfsname, path) < 1) goto done; ==== //depot/projects/hammer/sys/netgraph/ng_message.h#6 (text+ko) ==== @@ -36,7 +36,7 @@ * * Author: Julian Elischer * - * $FreeBSD: src/sys/netgraph/ng_message.h,v 1.20 2003/11/12 09:10:11 harti Exp $ + * $FreeBSD: src/sys/netgraph/ng_message.h,v 1.21 2003/11/12 17:03:40 harti Exp $ * $Whistle: ng_message.h,v 1.12 1999/01/25 01:17:44 archie Exp $ */ @@ -98,7 +98,7 @@ * Interfaces within the kernel are defined by a different * value (see NG_ABI_VERSION in netgraph.g) */ -#define NG_VERSION 5 +#define NG_VERSION 6 /* Flags field flags */ #define NGF_ORIG 0x00000000 /* the msg is the original request */ ==== //depot/projects/hammer/sys/security/mac_test/mac_test.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/security/mac_test/mac_test.c,v 1.32 2003/11/12 03:14:31 rwatson Exp $ + * $FreeBSD: src/sys/security/mac_test/mac_test.c,v 1.33 2003/11/12 17:21:57 jhb Exp $ */ /* @@ -1065,7 +1065,7 @@ mac_test_check_kenv_dump(struct ucred *cred) { - ASSERT_CRED_LABEL(&cred->cr_label); + ASSERT_CRED_LABEL(cred->cr_label); return (0); } From owner-p4-projects@FreeBSD.ORG Wed Nov 12 10:53:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36F2A16A4D0; Wed, 12 Nov 2003 10:53:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 110D516A4CE for ; Wed, 12 Nov 2003 10:53:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 885C143FA3 for ; Wed, 12 Nov 2003 10:53:34 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACIrYXJ008301 for ; Wed, 12 Nov 2003 10:53:34 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACIrYj0008298 for perforce@freebsd.org; Wed, 12 Nov 2003 10:53:34 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 10:53:34 -0800 (PST) Message-Id: <200311121853.hACIrYj0008298@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42147 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 18:53:35 -0000 X-List-Received-Date: Wed, 12 Nov 2003 18:53:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=42147 Change 42147 by sam@sam_ebb on 2003/11/12 10:53:06 don't count PHY errors as input errors; it's too confusing and doesn't properly reflect network traffic Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#33 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#33 (text+ko) ==== @@ -1633,7 +1633,6 @@ break; TAILQ_REMOVE(&sc->sc_rxbuf, bf, bf_list); if (ds->ds_rxstat.rs_status != 0) { - ifp->if_ierrors++; if (ds->ds_rxstat.rs_status & HAL_RXERR_CRC) sc->sc_stats.ast_rx_crcerr++; if (ds->ds_rxstat.rs_status & HAL_RXERR_FIFO) @@ -1644,6 +1643,15 @@ sc->sc_stats.ast_rx_phyerr++; phyerr = ds->ds_rxstat.rs_phyerr & 0x1f; sc->sc_stats.ast_rx_phy[phyerr]++; + } else { + /* + * NB: don't count PHY errors as input errors; + * we enable them on the 5212 to collect info + * about environmental noise and, in that + * setting, they don't really reflect tx/rx + * errors. + */ + ifp->if_ierrors++; } goto rx_next; } From owner-p4-projects@FreeBSD.ORG Wed Nov 12 10:53:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76C1516A4D0; Wed, 12 Nov 2003 10:53:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 36BBB16A4CF for ; Wed, 12 Nov 2003 10:53:37 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CC6643FA3 for ; Wed, 12 Nov 2003 10:53:35 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACIrZXJ008307 for ; Wed, 12 Nov 2003 10:53:35 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACIrYjF008304 for perforce@freebsd.org; Wed, 12 Nov 2003 10:53:34 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 10:53:34 -0800 (PST) Message-Id: <200311121853.hACIrYjF008304@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42148 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 18:53:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=42148 Change 42148 by sam@sam_ebb on 2003/11/12 10:53:13 IFC Affected files ... .. //depot/projects/netperf/sys/boot/sparc64/loader/metadata.c#2 integrate .. //depot/projects/netperf/sys/conf/files#24 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael.c#1 branch .. //depot/projects/netperf/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/netperf/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/netperf/sys/dev/acpica/acpivar.h#5 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/ac97.c#7 integrate .. //depot/projects/netperf/sys/i386/acpica/madt.c#5 integrate .. //depot/projects/netperf/sys/i386/i386/mptable.c#5 integrate .. //depot/projects/netperf/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/netperf/sys/kern/kern_thread.c#7 integrate .. //depot/projects/netperf/sys/kern/subr_turnstile.c#1 branch .. //depot/projects/netperf/sys/kern/subr_witness.c#6 integrate .. //depot/projects/netperf/sys/modules/mac_stub/Makefile#2 integrate .. //depot/projects/netperf/sys/net/if_loop.c#13 integrate .. //depot/projects/netperf/sys/netinet/tcp_syncache.c#12 integrate .. //depot/projects/netperf/sys/netinet6/esp_rijndael.c#3 integrate .. //depot/projects/netperf/sys/netipsec/ipsec_osdep.h#4 integrate .. //depot/projects/netperf/sys/pci/agp.c#4 integrate .. //depot/projects/netperf/sys/pci/agp_ali.c#3 integrate .. //depot/projects/netperf/sys/sys/_mutex.h#2 integrate .. //depot/projects/netperf/sys/sys/filedesc.h#2 integrate .. //depot/projects/netperf/sys/sys/proc.h#11 integrate .. //depot/projects/netperf/sys/sys/turnstile.h#1 branch Differences ... ==== //depot/projects/netperf/sys/boot/sparc64/loader/metadata.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * from: FreeBSD: src/sys/boot/i386/libi386/bootinfo.c,v 1.29 - * $FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.9 2003/04/30 22:00:16 peter Exp $ + * $FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.10 2003/11/11 18:01:44 jake Exp $ */ #include @@ -67,6 +67,8 @@ int md_getboothowto(char *kargs) { + char buf[32]; + phandle_t options; char *cp; int howto; int active; @@ -126,10 +128,10 @@ for (i = 0; howto_names[i].ev != NULL; i++) if (getenv(howto_names[i].ev) != NULL) howto |= howto_names[i].mask; - if (!strcmp(getenv("console"), "comconsole")) - howto |= RB_SERIAL; - if (!strcmp(getenv("console"), "nullconsole")) - howto |= RB_MUTE; + options = OF_finddevice("/options"); + OF_getprop(options, "output-device", buf, sizeof(buf)); + if (strcmp(buf, "ttya") == 0 || strcmp(buf, "ttyb") == 0) + howto |= RB_SERIAL; return(howto); } ==== //depot/projects/netperf/sys/conf/files#24 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.846 2003/11/10 10:39:14 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.848 2003/11/11 22:07:29 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -207,7 +207,7 @@ crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec -crypto/rijndael/rijndael-api-fst.c optional ipsec +crypto/rijndael/rijndael.c optional ipsec opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec @@ -1155,6 +1155,7 @@ kern/subr_smp.c optional smp kern/subr_taskqueue.c standard kern/subr_trap.c standard +kern/subr_turnstile.c standard kern/subr_witness.c optional witness kern/sys_generic.c standard kern/sys_pipe.c standard ==== //depot/projects/netperf/sys/crypto/rijndael/rijndael.h#2 (text+ko) ==== @@ -1,3 +1,52 @@ -/* $KAME: rijndael.h,v 1.2 2000/10/02 17:14:27 itojun Exp $ */ +/* $KAME: rijndael.h,v 1.6 2003/08/28 08:36:32 itojun Exp $ */ +/* $FreeBSD: src/sys/crypto/rijndael/rijndael.h,v 1.2 2003/11/11 18:58:53 ume Exp $ */ + +/** + * rijndael-alg-fst.h + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __RIJNDAEL_H +#define __RIJNDAEL_H +#include #include + +/* XXX: avoid conflicts with opencrypto */ +#define rijndael_set_key _rijndael_set_key +#define rijndael_decrypt _rijndael_decrypt +#define rijndael_encrypt _rijndael_encrypt + +typedef struct { + int decrypt; + int Nr; /* key-length-dependent number of rounds */ + uint32_t ek[4 * (RIJNDAEL_MAXNR + 1)]; /* encrypt key schedule */ + uint32_t dk[4 * (RIJNDAEL_MAXNR + 1)]; /* decrypt key schedule */ +} rijndael_ctx; + +void rijndael_set_key(rijndael_ctx *, const u_char *, int); +void rijndael_decrypt(const rijndael_ctx *, const u_char *, u_char *); +void rijndael_encrypt(const rijndael_ctx *, const u_char *, u_char *); + +#endif /* __RIJNDAEL_H */ ==== //depot/projects/netperf/sys/dev/acpica/Osd/OsdInterrupt.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.12 2002/10/16 17:28:53 jhb Exp $ + * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.13 2003/11/11 18:12:12 jhb Exp $ */ /* @@ -46,6 +46,8 @@ static void InterruptWrapper(void *arg); static OSD_HANDLER InterruptHandler; +static UINT32 InterruptOverride = 0; + /* * XXX this does not correctly free resources in the case of partically successful * attachment. @@ -81,6 +83,12 @@ return_ACPI_STATUS(AE_ALREADY_EXISTS); } sc->acpi_irq_rid = 0; + if (InterruptOverride != 0) { + device_printf(sc->acpi_dev, + "Overriding SCI Interrupt from IRQ %u to IRQ %u\n", + InterruptNumber, InterruptOverride); + InterruptNumber = InterruptOverride; + } bus_set_resource(sc->acpi_dev, SYS_RES_IRQ, 0, InterruptNumber, 1); if ((sc->acpi_irq = bus_alloc_resource(sc->acpi_dev, SYS_RES_IRQ, &sc->acpi_irq_rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE)) == NULL) { @@ -123,6 +131,16 @@ return_ACPI_STATUS(AE_OK); } +ACPI_STATUS +acpi_OverrideInterruptLevel(UINT32 InterruptNumber) +{ + + if (InterruptOverride != 0) + return_ACPI_STATUS(AE_ALREADY_EXISTS); + InterruptOverride = InterruptNumber; + return_ACPI_STATUS(AE_OK); +} + /* * Interrupt handler wrapper. */ ==== //depot/projects/netperf/sys/dev/acpica/acpivar.h#5 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.46 2003/10/25 05:03:24 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.47 2003/11/11 18:12:12 jhb Exp $ */ #include "bus_if.h" @@ -184,6 +184,7 @@ ACPI_RESOURCE **resp); extern ACPI_STATUS acpi_AppendBufferResource(ACPI_BUFFER *buf, ACPI_RESOURCE *res); +extern ACPI_STATUS acpi_OverrideInterruptLevel(UINT32 InterruptNumber); extern ACPI_STATUS acpi_SetIntrModel(int model); extern ACPI_STATUS acpi_SetSleepState(struct acpi_softc *sc, int state); extern ACPI_STATUS acpi_Enable(struct acpi_softc *sc); ==== //depot/projects/netperf/sys/dev/sound/pcm/ac97.c#7 (text+ko) ==== @@ -30,7 +30,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.48 2003/10/12 11:51:24 des Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.49 2003/11/11 22:15:17 kuriyama Exp $"); MALLOC_DEFINE(M_AC97, "ac97", "ac97 codec"); @@ -138,6 +138,7 @@ { 0x414c4740, 0x0f, 0, "ALC202", 0 }, { 0x414c4720, 0x0f, 0, "ALC650", 0 }, { 0x414c4760, 0x0f, 0, "ALC655", 0 }, + { 0x414c4780, 0x0f, 0, "ALC658", 0 }, { 0x43525900, 0x07, 0, "CS4297", 0 }, { 0x43525910, 0x07, 0, "CS4297A", 0 }, { 0x43525920, 0x07, 0, "CS4294/98", 0 }, ==== //depot/projects/netperf/sys/i386/acpica/madt.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.5 2003/11/10 19:52:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.6 2003/11/11 18:20:10 jhb Exp $"); #include #include @@ -536,7 +536,12 @@ } if (intr->Source != intr->GlobalSystemInterrupt) { - ioapic_remap_vector(new_ioapic, new_pin, intr->Source); + /* XXX: This assumes that the SCI uses IRQ 9. */ + if (intr->GlobalSystemInterrupt > 15 && intr->Source == 9) + acpi_OverrideInterruptLevel( + intr->GlobalSystemInterrupt); + else + ioapic_remap_vector(new_ioapic, new_pin, intr->Source); if (madt_find_interrupt(intr->Source, &old_ioapic, &old_pin) != 0) printf("MADT: Could not find APIC for source IRQ %d\n", ==== //depot/projects/netperf/sys/i386/i386/mptable.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.224 2003/11/11 17:14:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); #include "opt_mptable_force_htt.h" #include @@ -893,6 +893,8 @@ return (EINVAL); if (pci0 == -1 || pci0 + bus > mptable_maxbusid) return (ENXIO); + if (busses[pci0 + bus].bus_type != PCI) + return (ENXIO); args.bus = pci0 + bus; args.found = 0; mptable_walk_table(mptable_pci_probe_table_handler, &args); ==== //depot/projects/netperf/sys/kern/kern_mutex.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.131 2003/07/31 18:52:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.132 2003/11/11 22:07:29 jhb Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -90,122 +91,6 @@ struct mtx sched_lock; struct mtx Giant; -/* - * Prototypes for non-exported routines. - */ -static void propagate_priority(struct thread *); - -static void -propagate_priority(struct thread *td) -{ - int pri = td->td_priority; - struct mtx *m = td->td_blocked; - - mtx_assert(&sched_lock, MA_OWNED); - for (;;) { - struct thread *td1; - - td = mtx_owner(m); - - if (td == NULL) { - /* - * This really isn't quite right. Really - * ought to bump priority of thread that - * next acquires the mutex. - */ - MPASS(m->mtx_lock == MTX_CONTESTED); - return; - } - - MPASS(td->td_proc != NULL); - MPASS(td->td_proc->p_magic == P_MAGIC); - KASSERT(!TD_IS_SLEEPING(td), ( - "sleeping thread (pid %d) owns a mutex", - td->td_proc->p_pid)); - if (td->td_priority <= pri) /* lower is higher priority */ - return; - - - /* - * If lock holder is actually running, just bump priority. - */ - if (TD_IS_RUNNING(td)) { - td->td_priority = pri; - return; - } - -#ifndef SMP - /* - * For UP, we check to see if td is curthread (this shouldn't - * ever happen however as it would mean we are in a deadlock.) - */ - KASSERT(td != curthread, ("Deadlock detected")); -#endif - - /* - * If on run queue move to new run queue, and quit. - * XXXKSE this gets a lot more complicated under threads - * but try anyhow. - */ - if (TD_ON_RUNQ(td)) { - MPASS(td->td_blocked == NULL); - sched_prio(td, pri); - return; - } - /* - * Adjust for any other cases. - */ - td->td_priority = pri; - - /* - * If we aren't blocked on a mutex, we should be. - */ - KASSERT(TD_ON_LOCK(td), ( - "process %d(%s):%d holds %s but isn't blocked on a mutex\n", - td->td_proc->p_pid, td->td_proc->p_comm, td->td_state, - m->mtx_object.lo_name)); - - /* - * Pick up the mutex that td is blocked on. - */ - m = td->td_blocked; - MPASS(m != NULL); - - /* - * Check if the thread needs to be moved up on - * the blocked chain - */ - if (td == TAILQ_FIRST(&m->mtx_blocked)) { - continue; - } - - td1 = TAILQ_PREV(td, threadqueue, td_lockq); - if (td1->td_priority <= pri) { - continue; - } - - /* - * Remove thread from blocked chain and determine where - * it should be moved up to. Since we know that td1 has - * a lower priority than td, we know that at least one - * thread in the chain has a lower priority and that - * td1 will thus not be NULL after the loop. - */ - TAILQ_REMOVE(&m->mtx_blocked, td, td_lockq); - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) { - MPASS(td1->td_proc->p_magic == P_MAGIC); - if (td1->td_priority > pri) - break; - } - - MPASS(td1 != NULL); - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - CTR4(KTR_LOCK, - "propagate_priority: p %p moved before %p on [%p] %s", - td, td1, m, m->mtx_object.lo_name); - } -} - #ifdef MUTEX_PROFILING SYSCTL_NODE(_debug, OID_AUTO, mutex, CTLFLAG_RD, NULL, "mutex debugging"); SYSCTL_NODE(_debug_mutex, OID_AUTO, prof, CTLFLAG_RD, NULL, "mutex profiling"); @@ -484,8 +369,8 @@ void _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td = curthread; - struct thread *td1; #if defined(SMP) && defined(ADAPTIVE_MUTEXES) struct thread *owner; #endif @@ -509,15 +394,15 @@ while (!_obtain_lock(m, td)) { - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); v = m->mtx_lock; /* * Check if the lock has been released while spinning for - * the sched_lock. + * the turnstile chain lock. */ if (v == MTX_UNOWNED) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -531,14 +416,9 @@ * necessary. */ if (v == MTX_CONTESTED) { - td1 = TAILQ_FIRST(&m->mtx_blocked); - MPASS(td1 != NULL); + MPASS(ts != NULL); m->mtx_lock = (uintptr_t)td | MTX_CONTESTED; - LIST_INSERT_HEAD(&td->td_contested, m, mtx_contested); - - if (td1->td_priority < td->td_priority) - td->td_priority = td1->td_priority; - mtx_unlock_spin(&sched_lock); + turnstile_claim(ts); return; } @@ -550,7 +430,7 @@ if ((v & MTX_CONTESTED) == 0 && !atomic_cmpset_ptr(&m->mtx_lock, (void *)v, (void *)(v | MTX_CONTESTED))) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); #ifdef __i386__ ia32_pause(); #endif @@ -564,7 +444,7 @@ */ owner = (struct thread *)(v & MTX_FLAGMASK); if (m != &Giant && TD_IS_RUNNING(owner)) { - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); while (mtx_owner(m) == owner && TD_IS_RUNNING(owner)) { #ifdef __i386__ ia32_pause(); @@ -579,42 +459,6 @@ */ mtx_assert(m, MA_NOTOWNED); -#ifdef notyet - /* - * If we're borrowing an interrupted thread's VM context, we - * must clean up before going to sleep. - */ - if (td->td_ithd != NULL) { - struct ithd *it = td->td_ithd; - - if (it->it_interrupted) { - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR2(KTR_LOCK, - "_mtx_lock_sleep: %p interrupted %p", - it, it->it_interrupted); - intr_thd_fixup(it); - } - } -#endif - - /* - * Put us on the list of threads blocked on this mutex - * and add this mutex to the owning thread's list of - * contested mutexes if needed. - */ - if (TAILQ_EMPTY(&m->mtx_blocked)) { - td1 = mtx_owner(m); - LIST_INSERT_HEAD(&td1->td_contested, m, mtx_contested); - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } else { - TAILQ_FOREACH(td1, &m->mtx_blocked, td_lockq) - if (td1->td_priority > td->td_priority) - break; - if (td1) - TAILQ_INSERT_BEFORE(td1, td, td_lockq); - else - TAILQ_INSERT_TAIL(&m->mtx_blocked, td, td_lockq); - } #ifdef KTR if (!cont_logged) { CTR6(KTR_CONTENTION, @@ -627,27 +471,9 @@ #endif /* - * Save who we're blocked on. + * Block on the turnstile. */ - td->td_blocked = m; - td->td_lockname = m->mtx_object.lo_name; - TD_SET_LOCK(td); - propagate_priority(td); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p blocked on [%p] %s", td, m, - m->mtx_object.lo_name); - - td->td_proc->p_stats->p_ru.ru_nvcsw++; - mi_switch(); - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR3(KTR_LOCK, - "_mtx_lock_sleep: p %p free from blocked on [%p] %s", - td, m, m->mtx_object.lo_name); - - mtx_unlock_spin(&sched_lock); + turnstile_wait(ts, &m->mtx_object, mtx_owner(m)); } #ifdef KTR @@ -724,11 +550,8 @@ void _mtx_unlock_sleep(struct mtx *m, int opts, const char *file, int line) { + struct turnstile *ts; struct thread *td, *td1; - struct mtx *m1; - int pri; - - td = curthread; if (mtx_recursed(m)) { if (--(m->mtx_recurse) == 0) @@ -738,57 +561,47 @@ return; } - mtx_lock_spin(&sched_lock); + ts = turnstile_lookup(&m->mtx_object); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p contested", m); - td1 = TAILQ_FIRST(&m->mtx_blocked); #if defined(SMP) && defined(ADAPTIVE_MUTEXES) - if (td1 == NULL) { + if (ts == NULL) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p no sleepers", m); - mtx_unlock_spin(&sched_lock); + turnstile_release(&m->mtx_object); return; } +#else + MPASS(ts != NULL); #endif - MPASS(td->td_proc->p_magic == P_MAGIC); - MPASS(td1->td_proc->p_magic == P_MAGIC); - - TAILQ_REMOVE(&m->mtx_blocked, td1, td_lockq); - - LIST_REMOVE(m, mtx_contested); - if (TAILQ_EMPTY(&m->mtx_blocked)) { + /* XXX */ + td1 = turnstile_head(ts); + if (turnstile_signal(ts)) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); - } else + } else { m->mtx_lock = MTX_CONTESTED; - - pri = PRI_MAX; - LIST_FOREACH(m1, &td->td_contested, mtx_contested) { - int cp = TAILQ_FIRST(&m1->mtx_blocked)->td_priority; - if (cp < pri) - pri = cp; + if (LOCK_LOG_TEST(&m->mtx_object, opts)) + CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p still contested", + m); } + turnstile_unpend(ts); - if (pri > td->td_base_pri) - pri = td->td_base_pri; - td->td_priority = pri; - - if (LOCK_LOG_TEST(&m->mtx_object, opts)) - CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p contested setrunqueue %p", - m, td1); - - td1->td_blocked = NULL; - TD_CLR_LOCK(td1); - if (!TD_CAN_RUN(td1)) { - mtx_unlock_spin(&sched_lock); + /* + * XXX: This is just a hack until preemption is done. However, + * once preemption is done we need to either wrap the + * turnstile_signal() and release of the actual lock in an + * extra critical section or change the preemption code to + * always just set a flag and never do instant-preempts. + */ + td = curthread; + if (td->td_critnest > 0 || td1->td_priority >= td->td_priority) return; - } - setrunqueue(td1); - - if (td->td_critnest == 1 && td1->td_priority < pri) { + mtx_lock_spin(&sched_lock); + if (!TD_IS_RUNNING(td1)) { #ifdef notyet if (td->td_ithd != NULL) { struct ithd *it = td->td_ithd; @@ -813,7 +626,6 @@ CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p resuming lock=%p", m, (void *)m->mtx_lock); } - mtx_unlock_spin(&sched_lock); return; @@ -948,7 +760,6 @@ lock->lo_flags |= LO_DUPOK; m->mtx_lock = MTX_UNOWNED; - TAILQ_INIT(&m->mtx_blocked); LOCK_LOG_INIT(lock, opts); @@ -992,6 +803,9 @@ /* Setup thread0 so that mutexes work. */ LIST_INIT(&thread0.td_contested); + /* Setup turnstiles so that sleep mutexes work. */ + init_turnstiles(); + /* * Initialize mutexes. */ ==== //depot/projects/netperf/sys/kern/kern_thread.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.161 2003/08/26 11:33:15 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.162 2003/11/11 22:07:29 jhb Exp $"); #include #include @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -190,6 +191,7 @@ vm_thread_new(td, 0); mtx_unlock(&Giant); cpu_thread_setup(td); + td->td_turnstile = turnstile_alloc(); td->td_sched = (struct td_sched *)&td[1]; } @@ -202,6 +204,7 @@ struct thread *td; td = (struct thread *)mem; + turnstile_free(td->td_turnstile); vm_thread_dispose(td); } ==== //depot/projects/netperf/sys/kern/subr_witness.c#6 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.161 2003/11/03 22:38:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.162 2003/11/11 22:07:29 jhb Exp $"); #include "opt_ddb.h" #include "opt_witness.h" @@ -288,6 +288,8 @@ { "intr table", &lock_class_mtx_spin }, { "ithread table lock", &lock_class_mtx_spin }, { "sched lock", &lock_class_mtx_spin }, + { "turnstile chain", &lock_class_mtx_spin }, + { "td_contested", &lock_class_mtx_spin }, { "callout", &lock_class_mtx_spin }, /* * leaf locks @@ -342,9 +344,7 @@ LO_INITIALIZED, /* mtx_object.lo_flags */ { NULL, NULL }, /* mtx_object.lo_list */ NULL }, /* mtx_object.lo_witness */ - MTX_UNOWNED, 0, /* mtx_lock, mtx_recurse */ - TAILQ_HEAD_INITIALIZER(all_mtx.mtx_blocked), - { NULL, NULL } /* mtx_contested */ + MTX_UNOWNED, 0 /* mtx_lock, mtx_recurse */ }; /* ==== //depot/projects/netperf/sys/modules/mac_stub/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.3 2003/08/21 15:43:01 rwatson Exp $ +# $FreeBSD: src/sys/modules/mac_stub/Makefile,v 1.4 2003/11/11 21:23:54 rwatson Exp $ -.PATH: ${.CURDIR}/../../security/mac_none +.PATH: ${.CURDIR}/../../security/mac_stub -KMOD= mac_none +KMOD= mac_stub SRCS= vnode_if.h \ - mac_none.c + mac_stub.c .include ==== //depot/projects/netperf/sys/net/if_loop.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_loop.c 8.2 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if_loop.c,v 1.90 2003/10/31 18:32:08 brooks Exp $ + * $FreeBSD: src/sys/net/if_loop.c,v 1.91 2003/11/11 17:58:36 silby Exp $ */ /* @@ -191,10 +191,6 @@ struct sockaddr *dst; register struct rtentry *rt; { -#ifdef INET6 - struct mbuf *n; -#endif - M_ASSERTPKTHDR(m); /* check if we have the packet header */ if (rt && rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)) { @@ -202,29 +198,6 @@ return (rt->rt_flags & RTF_BLACKHOLE ? 0 : rt->rt_flags & RTF_HOST ? EHOSTUNREACH : ENETUNREACH); } -#ifdef INET6 - /* - * KAME requires that the packet to be contiguous on the - * mbuf. We need to make that sure. - * this kind of code should be avoided. - * - * XXX: KAME may no longer need contiguous packets. Once - * that has been verified, the following code _should_ be - * removed. - */ - - if (m && m->m_next != NULL) { - - n = m_defrag(m, M_DONTWAIT); - - if (n == NULL) { - m_freem(m); - return (ENOBUFS); - } else { - m = n; - } - } -#endif ifp->if_opackets++; ifp->if_obytes += m->m_pkthdr.len; ==== //depot/projects/netperf/sys/netinet/tcp_syncache.c#12 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.46 2003/11/10 23:29:33 sam Exp $ + * $FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.48 2003/11/11 18:16:54 sam Exp $ */ #include "opt_inet6.h" @@ -379,7 +379,7 @@ if (callout_pending(&tcp_syncache.tt_timerq[slot]) || !callout_active(&tcp_syncache.tt_timerq[slot])) { /* XXX can this happen? */ - INP_INFO_WLOCK(&tcbinfo); + INP_INFO_WUNLOCK(&tcbinfo); return; } callout_deactivate(&tcp_syncache.tt_timerq[slot]); @@ -416,7 +416,7 @@ if (nsc != NULL) callout_reset(&tcp_syncache.tt_timerq[slot], nsc->sc_rxttime - ticks, syncache_timer, (void *)(slot)); - INP_INFO_WLOCK(&tcbinfo); + INP_INFO_WUNLOCK(&tcbinfo); } /* ==== //depot/projects/netperf/sys/netinet6/esp_rijndael.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ -/* $FreeBSD: src/sys/netinet6/esp_rijndael.c,v 1.3 2003/10/13 14:57:41 ume Exp $ */ -/* $KAME: esp_rijndael.c,v 1.4 2001/03/02 05:53:05 itojun Exp $ */ +/* $FreeBSD: src/sys/netinet6/esp_rijndael.c,v 1.4 2003/11/11 18:58:54 ume Exp $ */ +/* $KAME: esp_rijndael.c,v 1.14 2003/08/28 08:23:20 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -30,9 +30,6 @@ * SUCH DAMAGE. */ -#include "opt_inet.h" -#include "opt_inet6.h" - #include #include #include @@ -50,13 +47,12 @@ #include -/* as rijndael uses assymetric scheduled keys, we need to do it twice. */ size_t esp_rijndael_schedlen(algo) const struct esp_algorithm *algo; { - return sizeof(keyInstance) * 2; + return sizeof(rijndael_ctx); } int @@ -64,15 +60,11 @@ const struct esp_algorithm *algo; struct secasvar *sav; { - keyInstance *k; + rijndael_ctx *ctx; - k = (keyInstance *)sav->sched; - if (rijndael_makeKey(&k[0], DIR_DECRYPT, _KEYLEN(sav->key_enc) * 8, - _KEYBUF(sav->key_enc)) < 0) - return -1; - if (rijndael_makeKey(&k[1], DIR_ENCRYPT, _KEYLEN(sav->key_enc) * 8, - _KEYBUF(sav->key_enc)) < 0) - return -1; + ctx = (rijndael_ctx *)sav->sched; + rijndael_set_key(ctx, + (u_char *)_KEYBUF(sav->key_enc), _KEYLEN(sav->key_enc) * 8); return 0; } @@ -83,16 +75,10 @@ u_int8_t *s; u_int8_t *d; { - cipherInstance c; - keyInstance *p; + rijndael_ctx *ctx; - /* does not take advantage of CBC mode support */ - bzero(&c, sizeof(c)); - if (rijndael_cipherInit(&c, MODE_ECB, NULL) < 0) - return -1; - p = (keyInstance *)sav->sched; - if (rijndael_blockDecrypt(&c, &p[0], s, algo->padbound * 8, d) < 0) - return -1; + ctx = (rijndael_ctx *)sav->sched; + rijndael_decrypt(ctx, s, d); return 0; } @@ -103,15 +89,9 @@ u_int8_t *s; u_int8_t *d; { - cipherInstance c; - keyInstance *p; + rijndael_ctx *ctx; - /* does not take advantage of CBC mode support */ - bzero(&c, sizeof(c)); - if (rijndael_cipherInit(&c, MODE_ECB, NULL) < 0) - return -1; - p = (keyInstance *)sav->sched; - if (rijndael_blockEncrypt(&c, &p[1], s, algo->padbound * 8, d) < 0) - return -1; + ctx = (rijndael_ctx *)sav->sched; + rijndael_encrypt(ctx, s, d); return 0; } ==== //depot/projects/netperf/sys/netipsec/ipsec_osdep.h#4 (text+ko) ==== ==== //depot/projects/netperf/sys/pci/agp.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/agp.c,v 1.33 2003/10/23 18:08:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/agp.c,v 1.34 2003/11/11 21:49:18 anholt Exp $"); #include "opt_bus.h" @@ -175,6 +175,11 @@ "allocating GATT for aperture of size %dM\n", apsize / (1024*1024)); + if (entries == 0) { + device_printf(dev, "bad aperture size\n"); + return NULL; + } + gatt = malloc(sizeof(struct agp_gatt), M_AGP, M_NOWAIT); if (!gatt) return 0; ==== //depot/projects/netperf/sys/pci/agp_ali.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/agp_ali.c,v 1.8 2003/08/22 07:13:20 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/agp_ali.c,v 1.9 2003/11/11 21:49:18 anholt Exp $"); #include "opt_bus.h" @@ -102,6 +102,10 @@ return error; sc->initial_aperture = AGP_GET_APERTURE(dev); + if (sc->initial_aperture == 0) { + device_printf(dev, "bad initial aperture size, disabling\n"); + return ENXIO; + } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 12 10:54:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B72B316A4D0; Wed, 12 Nov 2003 10:54:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9211316A4CE for ; Wed, 12 Nov 2003 10:54:37 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0EE2643F3F for ; Wed, 12 Nov 2003 10:54:37 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACIsaXJ008372 for ; Wed, 12 Nov 2003 10:54:36 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACIsaLv008369 for perforce@freebsd.org; Wed, 12 Nov 2003 10:54:36 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 10:54:36 -0800 (PST) Message-Id: <200311121854.hACIsaLv008369@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42149 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 18:54:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=42149 Change 42149 by sam@sam_ebb on 2003/11/12 10:53:46 IFC Affected files ... .. //depot/projects/netperf/sys/dev/bge/if_bge.c#12 integrate .. //depot/projects/netperf/sys/dev/bge/if_bgereg.h#7 integrate Differences ... ==== //depot/projects/netperf/sys/dev/bge/if_bge.c#12 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.57 2003/10/31 18:31:57 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.58 2003/11/11 17:57:03 sam Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.57 2003/10/31 18:31:57 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.58 2003/11/11 17:57:03 sam Exp $"); #include #include ==== //depot/projects/netperf/sys/dev/bge/if_bgereg.h#7 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.24 2003/10/31 16:25:39 wpaul Exp $ + * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.25 2003/11/11 17:57:03 sam Exp $ */ /* From owner-p4-projects@FreeBSD.ORG Wed Nov 12 10:55:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4800E16A4D0; Wed, 12 Nov 2003 10:55:40 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2203816A4CE for ; Wed, 12 Nov 2003 10:55:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D39943FE5 for ; Wed, 12 Nov 2003 10:55:39 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACItdXJ008441 for ; Wed, 12 Nov 2003 10:55:39 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACItcZ4008438 for perforce@freebsd.org; Wed, 12 Nov 2003 10:55:38 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 10:55:38 -0800 (PST) Message-Id: <200311121855.hACItcZ4008438@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42150 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 18:55:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=42150 Change 42150 by sam@sam_ebb on 2003/11/12 10:55:11 drop driver lock around calls to if_input to avoid a LOR if the packet comes back directly from the bridge or a packet forwarding path Affected files ... .. //depot/projects/netperf/sys/dev/an/if_an.c#5 edit .. //depot/projects/netperf/sys/dev/an/if_anreg.h#4 edit .. //depot/projects/netperf/sys/dev/bfe/if_bfe.c#3 edit .. //depot/projects/netperf/sys/dev/my/if_my.c#5 edit .. //depot/projects/netperf/sys/dev/owi/if_owi.c#3 edit .. //depot/projects/netperf/sys/dev/owi/if_wivar.h#2 edit .. //depot/projects/netperf/sys/dev/re/if_re.c#5 edit .. //depot/projects/netperf/sys/dev/wl/if_wl.c#4 edit .. //depot/projects/netperf/sys/pci/if_dc.c#12 edit .. //depot/projects/netperf/sys/pci/if_dcreg.h#3 edit .. //depot/projects/netperf/sys/pci/if_pcn.c#4 edit .. //depot/projects/netperf/sys/pci/if_rl.c#11 edit .. //depot/projects/netperf/sys/pci/if_rlreg.h#7 edit .. //depot/projects/netperf/sys/pci/if_sf.c#4 edit .. //depot/projects/netperf/sys/pci/if_sfreg.h#2 edit .. //depot/projects/netperf/sys/pci/if_sis.c#15 edit .. //depot/projects/netperf/sys/pci/if_sisreg.h#5 edit .. //depot/projects/netperf/sys/pci/if_sk.c#6 edit .. //depot/projects/netperf/sys/pci/if_skreg.h#4 edit .. //depot/projects/netperf/sys/pci/if_ste.c#4 edit .. //depot/projects/netperf/sys/pci/if_stereg.h#2 edit .. //depot/projects/netperf/sys/pci/if_ti.c#6 edit .. //depot/projects/netperf/sys/pci/if_tireg.h#2 edit .. //depot/projects/netperf/sys/pci/if_tl.c#4 edit .. //depot/projects/netperf/sys/pci/if_tlreg.h#2 edit .. //depot/projects/netperf/sys/pci/if_vr.c#4 edit .. //depot/projects/netperf/sys/pci/if_vrreg.h#2 edit .. //depot/projects/netperf/sys/pci/if_wb.c#4 edit .. //depot/projects/netperf/sys/pci/if_wbreg.h#2 edit .. //depot/projects/netperf/sys/pci/if_xl.c#10 edit .. //depot/projects/netperf/sys/pci/if_xlreg.h#3 edit Differences ... ==== //depot/projects/netperf/sys/dev/an/if_an.c#5 (text+ko) ==== @@ -833,6 +833,8 @@ struct an_card_rx_desc an_rx_desc; u_int8_t *buf; + AN_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; if (!sc->mpi350) { @@ -981,7 +983,9 @@ rx_frame.an_rx_signal_strength, rx_frame.an_rsvd0); #endif + AN_UNLOCK(sc); (*ifp->if_input)(ifp, m); + AN_LOCK(sc); } } else { /* MPI-350 */ ==== //depot/projects/netperf/sys/dev/an/if_anreg.h#4 (text+ko) ==== @@ -502,6 +502,7 @@ #define AN_LOCK(_sc) mtx_lock(&(_sc)->an_mtx) #define AN_UNLOCK(_sc) mtx_unlock(&(_sc)->an_mtx) +#define AN_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->an_mtx, MA_OWNED) void an_release_resources (device_t); int an_alloc_port (device_t, int, int); ==== //depot/projects/netperf/sys/dev/bfe/if_bfe.c#3 (text+ko) ==== @@ -1153,7 +1153,9 @@ ifp->if_ipackets++; m->m_pkthdr.rcvif = ifp; + BFE_UNLOCK(sc); (*ifp->if_input)(ifp, m); + BFE_LOCK(sc); BFE_INC(cons, BFE_RX_LIST_CNT); } ==== //depot/projects/netperf/sys/dev/my/if_my.c#5 (text+ko) ==== @@ -1279,7 +1279,9 @@ } } #endif + MY_UNLOCK(sc); (*ifp->if_input)(ifp, m); + MY_LOCK(sc); } MY_UNLOCK(sc); return; ==== //depot/projects/netperf/sys/dev/owi/if_owi.c#3 (text+ko) ==== @@ -449,6 +449,8 @@ struct mbuf *m; int id; + WI_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; id = CSR_READ_2(sc, WI_RX_FID); @@ -650,7 +652,9 @@ #ifdef WICACHE wi_cache_store(sc, eh, m, rx_frame.wi_q_info); #endif + WI_UNLOCK(sc); (*ifp->if_input)(ifp, m); + WI_LOCK(sc); } } ==== //depot/projects/netperf/sys/dev/owi/if_wivar.h#2 (text+ko) ==== @@ -171,9 +171,11 @@ #define ifaddr_byindex(idx) ifnet_addrs[(idx) - 1]; #define WI_LOCK(_sc, _s) s = splimp() #define WI_UNLOCK(_sc, _s) splx(s) +#define WI_LOCK_ASSERT(_sc) #else #define WI_LOCK(_sc, _s) _s = 1 #define WI_UNLOCK(_sc, _s) +#define WI_LOCK_ASSERT(_sc) #endif int owi_generic_attach(device_t); ==== //depot/projects/netperf/sys/dev/re/if_re.c#5 (text+ko) ==== @@ -1519,6 +1519,8 @@ struct rl_desc *cur_rx; u_int32_t rxstat, rxvlan; + RL_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; i = sc->rl_ldata.rl_rx_prodidx; @@ -1661,7 +1663,9 @@ if (rxvlan & RL_RDESC_VLANCTL_TAG) VLAN_INPUT_TAG(ifp, m, ntohs((rxvlan & RL_RDESC_VLANCTL_DATA)), continue); + RL_UNLOCK(sc); (*ifp->if_input)(ifp, m); + RL_LOCK(sc); } /* Flush the RX DMA ring */ ==== //depot/projects/netperf/sys/dev/wl/if_wl.c#4 (text+ko) ==== @@ -266,6 +266,7 @@ }; #define WL_LOCK(_sc) mtx_lock(&(_sc)->wl_mtx) +#define WL_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->wl_mtx, MA_OWNED) #define WL_UNLOCK(_sc) mtx_unlock(&(_sc)->wl_mtx) static int wlprobe(device_t); @@ -1070,6 +1071,7 @@ u_short mlen, len; u_short bytes_in_msg, bytes_in_mbuf, bytes; + WL_LOCK_ASSERT(sc); #ifdef WLDEBUG if (sc->wl_if.if_flags & IFF_DEBUG) @@ -1213,7 +1215,9 @@ * received packet is now in a chain of mbuf's. next step is * to pass the packet upwards. */ + WL_UNLOCK(sc); (*ifp->if_input)(ifp, m); + WL_LOCK(sc); return 1; } ==== //depot/projects/netperf/sys/pci/if_dc.c#12 (text+ko) ==== @@ -2721,6 +2721,8 @@ int i, total_len = 0; u_int32_t rxstat; + DC_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; i = sc->dc_cdata.dc_rx_prod; @@ -2814,7 +2816,9 @@ } ifp->if_ipackets++; + DC_UNLOCK(sc); (*ifp->if_input)(ifp, m); + DC_LOCK(sc); } sc->dc_cdata.dc_rx_prod = i; @@ -3067,6 +3071,7 @@ CSR_WRITE_4(sc, DC_IMR, DC_INTRS); return; } + DC_LOCK(sc); sc->rxcycles = count; dc_rxeof(sc); dc_txeof(sc); @@ -3080,8 +3085,10 @@ status &= (DC_ISR_RX_WATDOGTIMEO | DC_ISR_RX_NOBUF | DC_ISR_TX_NOBUF | DC_ISR_TX_IDLE | DC_ISR_TX_UNDERRUN | DC_ISR_BUS_ERR); - if (!status) + if (!status) { + DC_UNLOCK(sc); return; + } /* ack what we have */ CSR_WRITE_4(sc, DC_ISR, status); @@ -3105,6 +3112,7 @@ dc_init(sc); } } + DC_UNLOCK(sc); } #endif /* DEVICE_POLLING */ ==== //depot/projects/netperf/sys/pci/if_dcreg.h#3 (text+ko) ==== @@ -766,6 +766,7 @@ #define DC_LOCK(_sc) mtx_lock(&(_sc)->dc_mtx) #define DC_UNLOCK(_sc) mtx_unlock(&(_sc)->dc_mtx) +#define DC_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->dc_mtx, MA_OWNED) #define DC_TX_POLL 0x00000001 #define DC_TX_COALESCE 0x00000002 ==== //depot/projects/netperf/sys/pci/if_pcn.c#4 (text+ko) ==== @@ -794,6 +794,8 @@ struct pcn_rx_desc *cur_rx; int i; + PCN_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; i = sc->pcn_cdata.pcn_rx_prod; @@ -831,7 +833,9 @@ cur_rx->pcn_rxlen - ETHER_CRC_LEN; m->m_pkthdr.rcvif = ifp; + PCN_UNLOCK(sc); (*ifp->if_input)(ifp, m); + PCN_LOCK(sc); } sc->pcn_cdata.pcn_rx_prod = i; ==== //depot/projects/netperf/sys/pci/if_rl.c#11 (text+ko) ==== @@ -1239,6 +1239,8 @@ u_int16_t limit; u_int16_t rx_bytes = 0, max_bytes; + RL_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; bus_dmamap_sync(sc->rl_tag, sc->rl_cdata.rl_rx_dmamap, @@ -1339,7 +1341,9 @@ continue; ifp->if_ipackets++; + RL_UNLOCK(sc); (*ifp->if_input)(ifp, m); + RL_LOCK(sc); } return; ==== //depot/projects/netperf/sys/pci/if_rlreg.h#7 (text+ko) ==== @@ -692,6 +692,7 @@ #define RL_LOCK(_sc) mtx_lock(&(_sc)->rl_mtx) #define RL_UNLOCK(_sc) mtx_unlock(&(_sc)->rl_mtx) +#define RL_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->rl_mtx, MA_OWNED) /* * register space access macros ==== //depot/projects/netperf/sys/pci/if_sf.c#4 (text+ko) ==== @@ -958,6 +958,8 @@ u_int32_t rxcons, rxprod; int cmpprodidx, cmpconsidx, bufprodidx; + SF_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; rxcons = csr_read_4(sc, SF_CQ_CONSIDX); @@ -991,7 +993,9 @@ m = m0; ifp->if_ipackets++; + SF_UNLOCK(sc); (*ifp->if_input)(ifp, m); + SF_LOCK(sc); } csr_write_4(sc, SF_CQ_CONSIDX, ==== //depot/projects/netperf/sys/pci/if_sfreg.h#2 (text+ko) ==== @@ -1051,6 +1051,7 @@ #define SF_LOCK(_sc) mtx_lock(&(_sc)->sf_mtx) #define SF_UNLOCK(_sc) mtx_unlock(&(_sc)->sf_mtx) +#define SF_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sf_mtx, MA_OWNED) #define SF_TIMEOUT 1000 ==== //depot/projects/netperf/sys/pci/if_sis.c#15 (text+ko) ==== @@ -1596,6 +1596,8 @@ int i, total_len = 0; u_int32_t rxstat; + SIS_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; i = sc->sis_cdata.sis_rx_prod; @@ -1663,7 +1665,9 @@ ifp->if_ipackets++; m->m_pkthdr.rcvif = ifp; + SIS_UNLOCK(sc); (*ifp->if_input)(ifp, m); + SIS_LOCK(sc); } sc->sis_cdata.sis_rx_prod = i; ==== //depot/projects/netperf/sys/pci/if_sisreg.h#5 (text+ko) ==== @@ -479,6 +479,7 @@ #define SIS_LOCK(_sc) mtx_lock(&(_sc)->sis_mtx) #define SIS_UNLOCK(_sc) mtx_unlock(&(_sc)->sis_mtx) +#define SIS_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sis_mtx, MA_OWNED) /* * register space access macros ==== //depot/projects/netperf/sys/pci/if_sk.c#6 (text+ko) ==== @@ -1834,6 +1834,7 @@ sk_rxeof(sc_if) struct sk_if_softc *sc_if; { + struct sk_softc *sc; struct mbuf *m; struct ifnet *ifp; struct sk_chain *cur_rx; @@ -1841,10 +1842,13 @@ int i; u_int32_t rxstat; + sc = sc_if->sk_softc; ifp = &sc_if->arpcom.ac_if; i = sc_if->sk_cdata.sk_rx_prod; cur_rx = &sc_if->sk_cdata.sk_rx_chain[i]; + SK_LOCK_ASSERT(sc); + while(!(sc_if->sk_rdata->sk_rx_ring[i].sk_ctl & SK_RXCTL_OWN)) { cur_rx = &sc_if->sk_cdata.sk_rx_chain[i]; @@ -1886,7 +1890,9 @@ } ifp->if_ipackets++; + SK_UNLOCK(sc); (*ifp->if_input)(ifp, m); + SK_LOCK(sc); } sc_if->sk_cdata.sk_rx_prod = i; ==== //depot/projects/netperf/sys/pci/if_skreg.h#4 (text+ko) ==== @@ -1418,6 +1418,7 @@ #define SK_LOCK(_sc) mtx_lock(&(_sc)->sk_mtx) #define SK_UNLOCK(_sc) mtx_unlock(&(_sc)->sk_mtx) +#define SK_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sk_mtx, MA_OWNED) #define SK_IF_LOCK(_sc) mtx_lock(&(_sc)->sk_softc->sk_mtx) #define SK_IF_UNLOCK(_sc) mtx_unlock(&(_sc)->sk_softc->sk_mtx) ==== //depot/projects/netperf/sys/pci/if_ste.c#4 (text+ko) ==== @@ -695,6 +695,8 @@ int total_len = 0, count=0; u_int32_t rxstat; + STE_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; while((rxstat = sc->ste_cdata.ste_rx_head->ste_ptr->ste_status) @@ -752,7 +754,9 @@ m->m_pkthdr.len = m->m_len = total_len; ifp->if_ipackets++; + STE_UNLOCK(sc); (*ifp->if_input)(ifp, m); + STE_LOCK(sc); cur_rx->ste_ptr->ste_status = 0; count++; ==== //depot/projects/netperf/sys/pci/if_stereg.h#2 (text+ko) ==== @@ -530,6 +530,7 @@ #define STE_LOCK(_sc) mtx_lock(&(_sc)->ste_mtx) #define STE_UNLOCK(_sc) mtx_unlock(&(_sc)->ste_mtx) +#define STE_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->ste_mtx, MA_OWNED) struct ste_mii_frame { u_int8_t mii_stdelim; ==== //depot/projects/netperf/sys/pci/if_ti.c#6 (text+ko) ==== @@ -2384,6 +2384,8 @@ struct ifnet *ifp; struct ti_cmd_desc cmd; + TI_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; while(sc->ti_rx_saved_considx != sc->ti_return_prodidx.ti_idx) { @@ -2479,7 +2481,9 @@ */ if (have_tag) VLAN_INPUT_TAG(ifp, m, vlan_tag, continue); + TI_UNLOCK(sc); (*ifp->if_input)(ifp, m); + TI_LOCK(sc); } /* Only necessary on the Tigon 1. */ ==== //depot/projects/netperf/sys/pci/if_tireg.h#2 (text+ko) ==== @@ -1030,6 +1030,7 @@ #define TI_LOCK(_sc) mtx_lock(&(_sc)->ti_mtx) #define TI_UNLOCK(_sc) mtx_unlock(&(_sc)->ti_mtx) +#define TI_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->ti_mtx, MA_OWNED) /* * Microchip Technology 24Cxx EEPROM control bytes ==== //depot/projects/netperf/sys/pci/if_tl.c#4 (text+ko) ==== @@ -1506,6 +1506,8 @@ sc = xsc; ifp = &sc->arpcom.ac_if; + TL_LOCK_ASSERT(sc); + while(sc->tl_cdata.tl_rx_head != NULL) { cur_rx = sc->tl_cdata.tl_rx_head; if (!(cur_rx->tl_ptr->tlist_cstat & TL_CSTAT_FRAMECMP)) @@ -1545,7 +1547,9 @@ m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = m->m_len = total_len; + TL_UNLOCK(sc); (*ifp->if_input)(ifp, m); + TL_LOCK(sc); } return(r); ==== //depot/projects/netperf/sys/pci/if_tlreg.h#2 (text+ko) ==== @@ -130,6 +130,7 @@ #define TL_LOCK(_sc) mtx_lock(&(_sc)->tl_mtx) #define TL_UNLOCK(_sc) mtx_unlock(&(_sc)->tl_mtx) +#define TL_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->tl_mtx, MA_OWNED) /* * Transmit interrupt threshold. ==== //depot/projects/netperf/sys/pci/if_vr.c#4 (text+ko) ==== @@ -1063,6 +1063,8 @@ int total_len = 0; u_int32_t rxstat; + VR_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; while(!((rxstat = sc->vr_cdata.vr_rx_head->vr_ptr->vr_status) & @@ -1124,7 +1126,9 @@ m = m0; ifp->if_ipackets++; + VR_UNLOCK(sc); (*ifp->if_input)(ifp, m); + VR_LOCK(sc); } return; ==== //depot/projects/netperf/sys/pci/if_vrreg.h#2 (text+ko) ==== @@ -475,6 +475,7 @@ #define VR_LOCK(_sc) mtx_lock(&(_sc)->vr_mtx) #define VR_UNLOCK(_sc) mtx_unlock(&(_sc)->vr_mtx) +#define VR_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->vr_mtx, MA_OWNED) /* * register space access macros ==== //depot/projects/netperf/sys/pci/if_wb.c#4 (text+ko) ==== @@ -1134,6 +1134,8 @@ int total_len = 0; u_int32_t rxstat; + WB_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; while(!((rxstat = sc->wb_cdata.wb_rx_head->wb_ptr->wb_status) & @@ -1188,7 +1190,9 @@ m = m0; ifp->if_ipackets++; + WB_UNLOCK(sc); (*ifp->if_input)(ifp, m); + WB_LOCK(sc); } } ==== //depot/projects/netperf/sys/pci/if_wbreg.h#2 (text+ko) ==== @@ -383,6 +383,7 @@ #define WB_LOCK(_sc) mtx_lock(&(_sc)->wb_mtx) #define WB_UNLOCK(_sc) mtx_unlock(&(_sc)->wb_mtx) +#define WB_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->wb_mtx, MA_OWNED) /* * register space access macros ==== //depot/projects/netperf/sys/pci/if_xl.c#10 (text+ko) ==== @@ -2048,6 +2048,8 @@ int total_len = 0; u_int32_t rxstat; + XL_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; again: @@ -2139,7 +2141,9 @@ } } + XL_UNLOCK(sc); (*ifp->if_input)(ifp, m); + XL_LOCK(sc); } /* ==== //depot/projects/netperf/sys/pci/if_xlreg.h#3 (text+ko) ==== @@ -610,9 +610,11 @@ /* These are a bit premature. The driver still tries to sleep with locks. */ #define XL_LOCK(_sc) mtx_lock(&(_sc)->xl_mtx) #define XL_UNLOCK(_sc) mtx_unlock(&(_sc)->xl_mtx) +#define XL_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->xl_mtx, MA_OWNED) #else #define XL_LOCK(x) do { } while (0) #define XL_UNLOCK(x) do { } while (0) +#define XL_LOCK_ASSERT(x) do { } while (0) #endif #define xl_rx_goodframes(x) \ From owner-p4-projects@FreeBSD.ORG Wed Nov 12 11:20:12 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 805A916A4D0; Wed, 12 Nov 2003 11:20:12 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 59B3816A4CE for ; Wed, 12 Nov 2003 11:20:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3073243F85 for ; Wed, 12 Nov 2003 11:20:11 -0800 (PST) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACJKBXJ010267 for ; Wed, 12 Nov 2003 11:20:11 -0800 (PST) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACJK8Tp010264 for perforce@freebsd.org; Wed, 12 Nov 2003 11:20:08 -0800 (PST) (envelope-from cvance@nailabs.com) Date: Wed, 12 Nov 2003 11:20:08 -0800 (PST) Message-Id: <200311121920.hACJK8Tp010264@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 42151 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 19:20:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=42151 Change 42151 by cvance@cvance_osx_laptop on 2003/11/12 11:20:04 Come another step closer to HFS extended attributes mostly by removing '#if 0' from the extattr hfs syscall implementations (except extattrctl) and adding autostart code and supporting functions This code is mostly untested. All I'll promise is that it won't hurt you if you don't run it. Certainly don't create .attribute directories/backing files and expect the autostart to do anything other than panic. Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs.h#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.c#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.h#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vfsops.c#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vnops.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/malloc.h#6 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#9 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs.h#2 (text+ko) ==== @@ -38,6 +38,7 @@ #include +#include #include #include #include @@ -177,6 +178,7 @@ } vfsVCB_t; +struct hfs_extattr_per_mount hfs_extattr; /* This structure describes the HFS specific mount structure data. */ typedef struct hfsmount { @@ -206,6 +208,9 @@ /* simple lock for shared meta renaming */ simple_lock_data_t hfs_renamelock; + /* extended attributes */ + struct hfs_extattr_per_mount hfs_extattr; + /* HFS Specific */ struct vfsVCB hfs_vcb; struct cat_desc hfs_privdir_desc; ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.c#2 (text+ko) ==== @@ -52,11 +52,579 @@ #include #include #include +#include +#include "hfs_extattr.h" +#include "hfs.h" #ifdef HFS_EXTATTR /* + * Lock functions copied/ported From FreeBSD 5.1, including comments... + * + * Per-FS attribute lock protecting attribute operations. + * XXX Right now there is a lot of lock contention due to having a single + * lock per-FS; really, this should be far more fine-grained. + */ +static void +hfs_extattr_uepm_lock(struct hfsmount *hfsmp, struct proc *p) +{ + + /* Ideally, LK_CANRECURSE would not be used, here. */ + lockmgr(&hfsmp->hfs_extattr.uepm_lock, LK_EXCLUSIVE | LK_RETRY | + LK_CANRECURSE, 0, p); +} + +static void +hfs_extattr_uepm_unlock(struct hfsmount *hfsmp, struct proc *p) +{ + + lockmgr(&hfsmp->hfs_extattr.uepm_lock, LK_RELEASE, 0, p); +} + +/* + * Determine whether the name passed is a valid name for an actual + * attribute. + * + * Invalid currently consists of: + * NULL pointer for attrname + * zero-length attrname (used to retrieve application attribute list) + */ +static int +hfs_extattr_valid_attrname(int attrnamespace, const char *attrname) +{ + + if (attrname == NULL) + return (0); + if (strlen(attrname) == 0) + return (0); + return (1); +} + +/* + * Locate an attribute given a name and mountpoint. + * Must be holding uepm lock for the mount point. + */ +static struct hfs_extattr_list_entry * +hfs_extattr_find_attr(struct hfsmount *hfsmp, int attrnamespace, + const char *attrname) +{ + struct hfs_extattr_list_entry *search_attribute; + + for (search_attribute = LIST_FIRST(&hfsmp->hfs_extattr.uepm_list); + search_attribute; + search_attribute = LIST_NEXT(search_attribute, uele_entries)) { + if (!(strncmp(attrname, search_attribute->uele_attrname, + HFS_EXTATTR_MAXEXTATTRNAME)) && + (attrnamespace == search_attribute->uele_attrnamespace)) { + return (search_attribute); + } + } + + return (0); +} + + +/* + * Destroy per-FS structures supporting extended attributes. Assumes + * that EAs have already been stopped, and will panic if not. + */ +void +hfs_extattr_uepm_destroy(struct hfs_extattr_per_mount *uepm, struct proc *p) +{ + + if (!(uepm->uepm_flags & HFS_EXTATTR_UEPM_INITIALIZED)) + panic("hfs_extattr_uepm_destroy: not initialized"); + + if ((uepm->uepm_flags & HFS_EXTATTR_UEPM_STARTED)) + panic("Hfs_extattr_uepm_destroy: called while still started"); + + simple_lock(&mountlist_slock); + uepm->uepm_flags &= ~HFS_EXTATTR_UEPM_INITIALIZED; + lockmgr(&uepm->uepm_lock, LK_RELEASE | LK_INTERLOCK | LK_REENABLE, + &mountlist_slock, p); +} + +/* + * Start extended attribute support on an FS. + */ +int +hfs_extattr_start(struct mount *mp, struct proc *p) +{ + struct hfsmount *hfsmp = VFSTOHFS(mp); + int error = 0; + + hfs_extattr_uepm_lock(hfsmp, p); + + if (!(hfsmp->hfs_extattr.uepm_flags & HFS_EXTATTR_UEPM_INITIALIZED)) { + error = EOPNOTSUPP; + goto unlock; + } + if (hfsmp->hfs_extattr.uepm_flags & HFS_EXTATTR_UEPM_STARTED) { + error = EBUSY; + goto unlock; + } + + hfsmp->hfs_extattr.uepm_flags |= HFS_EXTATTR_UEPM_STARTED; + crhold(p->p_ucred); + hfsmp->hfs_extattr.uepm_ucred = p->p_ucred; + + unlock: + hfs_extattr_uepm_unlock(hfsmp, p); + + return (error); +} + +/* + * Helper routine: given a locked parent directory and filename, return + * the locked vnode of the inode associated with the name. Will not + * follow symlinks, may return any type of vnode. Lock on parent will + * be released even in the event of a failure. In the event that the + * target is the parent (i.e., "."), there will be two references and + * one lock, requiring the caller to possibly special-case. + */ +#define UE_GETDIR_LOCKPARENT 1 +#define UE_GETDIR_LOCKPARENT_DONT 2 +static int +hfs_extattr_lookup(struct vnode *start_dvp, int lockparent, char *dirname, + struct vnode **vp, struct proc *p) +{ + struct vop_cachedlookup_args vargs; + struct componentname cnp; + struct vnode *target_vp; + int error; + + bzero(&cnp, sizeof(cnp)); + cnp.cn_nameiop = LOOKUP; + cnp.cn_flags = ISLASTCN; + if (lockparent == UE_GETDIR_LOCKPARENT) + cnp.cn_flags |= LOCKPARENT; + cnp.cn_proc = p; + cnp.cn_cred = p->p_ucred; + MALLOC_ZONE(cnp.cn_pnbuf, caddr_t, MAXPATHLEN, M_NAMEI, M_WAITOK); + cnp.cn_pnlen = MAXPATHLEN; + cnp.cn_nameptr = cnp.cn_pnbuf; + error = copystr(dirname, cnp.cn_pnbuf, MAXPATHLEN, + (size_t *) &cnp.cn_namelen); + if (error) { + if (lockparent == UE_GETDIR_LOCKPARENT_DONT) { + VOP_UNLOCK(start_dvp, 0, p); + } + _FREE_ZONE(cnp.cn_pnbuf, cnp.cn_pnlen, M_NAMEI); + printf("hfs_extattr_lookup: copystr failed\n"); + return (error); + } + cnp.cn_namelen--; /* trim nul termination */ + vargs.a_desc = NULL; + vargs.a_dvp = start_dvp; + vargs.a_vpp = &target_vp; + vargs.a_cnp = &cnp; + error = hfs_lookup(&vargs); + _FREE_ZONE(cnp.cn_pnbuf, cnp.cn_pnlen, M_NAMEI); + if (error) { + /* + * Error condition, may have to release the lock on the parent + * if hfs_lookup() didn't. + */ + if (lockparent == UE_GETDIR_LOCKPARENT_DONT) + VOP_UNLOCK(start_dvp, 0, p); + + /* + * Check that hfs_lookup() didn't release the lock when we + * didn't want it to. + */ + if (lockparent == UE_GETDIR_LOCKPARENT) + panic("hfs_extattr_lookup: lockparent but PDIRUNLOCK"); + + return (error); + } +/* + if (target_vp == start_dvp) + panic("hfs_extattr_lookup: target_vp == start_dvp"); +*/ + + if (target_vp != start_dvp && + (lockparent == UE_GETDIR_LOCKPARENT_DONT)) + panic("hfs_extattr_lookup: !lockparent but !PDIRUNLOCK"); + + if (lockparent == UE_GETDIR_LOCKPARENT) + panic("hfs_extattr_lookup: lockparent but PDIRUNLOCK"); + + /* printf("hfs_extattr_lookup: success\n"); */ + *vp = target_vp; + return (0); +} + +/* + * Enable a named attribute on the specified filesystem; provide an + * unlocked backing vnode to hold the attribute data. + */ +static int +hfs_extattr_enable(struct hfsmount *hfsmp, int attrnamespace, + const char *attrname, struct vnode *backing_vnode, struct proc *p) +{ + struct hfs_extattr_list_entry *attribute; + struct iovec aiov; + struct uio auio; + int error = 0; + + if (!hfs_extattr_valid_attrname(attrnamespace, attrname)) + return (EINVAL); + if (backing_vnode->v_type != VREG) + return (EINVAL); + + MALLOC(attribute, struct hfs_extattr_list_entry *, + sizeof(struct hfs_extattr_list_entry), M_EXTATTR, M_WAITOK); + if (attribute == NULL) + return (ENOMEM); + + if (!(hfsmp->hfs_extattr.uepm_flags & HFS_EXTATTR_UEPM_STARTED)) { + error = ENOTSUP; + goto free_exit; + } + + if (hfs_extattr_find_attr(hfsmp, attrnamespace, attrname)) { + error = EEXIST; + goto free_exit; + } + + strncpy(attribute->uele_attrname, attrname, + HFS_EXTATTR_MAXEXTATTRNAME); + attribute->uele_attrnamespace = attrnamespace; + bzero(&attribute->uele_fileheader, + sizeof(struct hfs_extattr_fileheader)); + + attribute->uele_backing_vnode = backing_vnode; + + auio.uio_iov = &aiov; + auio.uio_iovcnt = 1; + aiov.iov_base = (caddr_t) &attribute->uele_fileheader; + aiov.iov_len = sizeof(struct hfs_extattr_fileheader); + auio.uio_resid = sizeof(struct hfs_extattr_fileheader); + auio.uio_offset = (off_t) 0; + auio.uio_segflg = UIO_SYSSPACE; + auio.uio_rw = UIO_READ; + auio.uio_procp = p; + + VOP_LEASE(backing_vnode, p, p->p_ucred, LEASE_WRITE); + vn_lock(backing_vnode, LK_SHARED | LK_RETRY, p); + error = VOP_READ(backing_vnode, &auio, IO_NODELOCKED, + hfsmp->hfs_extattr.uepm_ucred); + + if (error) + goto unlock_free_exit; + + if (auio.uio_resid != 0) { + printf("hfs_extattr_enable: malformed attribute header\n"); + error = EINVAL; + goto unlock_free_exit; + } + + if (attribute->uele_fileheader.uef_magic != HFS_EXTATTR_MAGIC) { + printf("hfs_extattr_enable: invalid attribute header magic\n"); + error = EINVAL; + goto unlock_free_exit; + } + + if (attribute->uele_fileheader.uef_version != HFS_EXTATTR_VERSION) { + printf("hfs_extattr_enable: incorrect attribute header " + "version\n"); + error = EINVAL; + goto unlock_free_exit; + } + + backing_vnode->v_flag |= VSYSTEM; + LIST_INSERT_HEAD(&hfsmp->hfs_extattr.uepm_list, attribute, + uele_entries); + + VOP_UNLOCK(backing_vnode, 0, p); + return (0); + +unlock_free_exit: + VOP_UNLOCK(backing_vnode, 0, p); + +free_exit: + FREE(attribute, M_EXTATTR); + return (error); +} + +/* + * Enable an EA using the passed filesystem, backing vnode, attribute name, + * namespace, and proc. Will perform a VOP_OPEN() on the vp, so expects vp + * to be locked when passed in. The vnode will be returned unlocked, + * regardless of success/failure of the function. As a result, the caller + * will always need to vrele(), but not vput(). + */ +static int +hfs_extattr_enable_with_open(struct hfsmount *hfsmp, struct vnode *vp, + int attrnamespace, const char *attrname, struct proc *p) +{ + int error; + + if (UBCINFOEXISTS(vp) && !ubc_hold(vp)) { + error = ENOENT; + VOP_UNLOCK(vp, 0, p); + return error; + } + + error = VOP_OPEN(vp, FREAD|FWRITE, p->p_ucred, p); + if (error) { + ubc_rele(vp); + printf("hfs_extattr_enable_with_open.VOP_OPEN(): failed " + "with %d\n", error); + VOP_UNLOCK(vp, 0, p); + return (error); + } + + if(++vp->v_writecount <= 0) + panic("hfs_extattr_enable_with_open:v_writecount"); + + vref(vp); + + VOP_UNLOCK(vp, 0, p); + + error = hfs_extattr_enable(hfsmp, attrnamespace, attrname, vp, p); + if (error != 0) + vn_close(vp, FREAD|FWRITE, p->p_ucred, p); + return (error); +} + +/* + * Given a locked directory vnode, iterate over the names in the directory + * and use hfs_extattr_lookup() to retrieve locked vnodes of potential + * attribute files. Then invoke hfs_extattr_enable_with_open() on each + * to attempt to start the attribute. Leaves the directory locked on + * exit. + */ + +/* + * Defining DIRBLKSIZ as the same value as ufs can't possibly be right + * reading the comments prior to hfs_readdir() shows the confusion. + */ +#define DIRBLKSIZ 1024 +static int +hfs_extattr_iterate_directory(struct hfsmount *hfsmp, struct vnode *dvp, + int attrnamespace, struct proc *p) +{ + struct vop_readdir_args vargs; + struct dirent *dp, *edp; + struct vnode *attr_vp; + struct uio auio; + struct iovec aiov; + char *dirbuf; + int error, eofflag = 0; + + if (dvp->v_type != VDIR) + return (ENOTDIR); + + MALLOC(dirbuf, char *, DIRBLKSIZ, M_TEMP, M_WAITOK); + + auio.uio_iov = &aiov; + auio.uio_iovcnt = 1; + auio.uio_rw = UIO_READ; + auio.uio_segflg = UIO_SYSSPACE; + auio.uio_procp = p; + auio.uio_offset = 0; + + vargs.a_desc = NULL; + vargs.a_vp = dvp; + vargs.a_uio = &auio; + vargs.a_cred = p->p_ucred; + vargs.a_eofflag = &eofflag; + vargs.a_ncookies = NULL; + vargs.a_cookies = NULL; + + while (!eofflag) { + auio.uio_resid = DIRBLKSIZ; + aiov.iov_base = dirbuf; + aiov.iov_len = DIRBLKSIZ; + error = hfs_readdir(&vargs); + if (error) { + printf("hfs_extattr_iterate_directory: hfs_readdir " + "%d\n", error); + return (error); + } + + edp = (struct dirent *)&dirbuf[DIRBLKSIZ]; + for (dp = (struct dirent *)dirbuf; dp < edp; ) { +#if (BYTE_ORDER == LITTLE_ENDIAN) + dp->d_type = dp->d_namlen; + dp->d_namlen = 0; +#else + dp->d_type = 0; +#endif + if (dp->d_reclen == 0) + break; + error = hfs_extattr_lookup(dvp, UE_GETDIR_LOCKPARENT, + dp->d_name, &attr_vp, p); + if (error) { + printf("hfs_extattr_iterate_directory: lookup " + "%s %d\n", dp->d_name, error); + } else if (attr_vp == dvp) { + vrele(attr_vp); + } else if (attr_vp->v_type != VREG) { + vput(attr_vp); + } else { + error = hfs_extattr_enable_with_open(hfsmp, + attr_vp, attrnamespace, dp->d_name, p); + vrele(attr_vp); + if (error) { + printf("hfs_extattr_iterate_directory: " + "enable %s %d\n", dp->d_name, + error); + } else { + printf("HFS autostarted EA %s\n", + dp->d_name); + } + } + dp = (struct dirent *) ((char *)dp + dp->d_reclen); + if (dp >= edp) + break; + } + } + FREE(dirbuf, M_TEMP); + + return (0); +} + + +/* + * Auto-start of extended attributes, to be executed (optionally) at + * mount-time. + */ +int +hfs_extattr_autostart(struct mount *mp, struct proc *p) +{ + + printf("hfs_extattr_autostart called\n"); + struct vnode *rvp, *attr_dvp, *attr_system_dvp, *attr_user_dvp; + int error; + + /* + * Does HFS_EXTATTR_FSROOTSUBDIR exist off the filesystem root? + * If so, automatically start EA's. + */ + error = VFS_ROOT(mp, &rvp); + if (error) { + printf("hfs_extattr_autostart.VFS_ROOT() returned %d\n", + error); + return (error); + } + + error = hfs_extattr_lookup(rvp, UE_GETDIR_LOCKPARENT_DONT, + HFS_EXTATTR_FSROOTSUBDIR, &attr_dvp, p); + if (error) { + /* rvp ref'd but now unlocked */ + vrele(rvp); + return (error); + } + if (rvp == attr_dvp) { + /* Should never happen. */ + vrele(attr_dvp); + vput(rvp); + return (EINVAL); + } + vrele(rvp); + + if (attr_dvp->v_type != VDIR) { + printf("hfs_extattr_autostart: %s != VDIR\n", + HFS_EXTATTR_FSROOTSUBDIR); + goto return_vput_attr_dvp; + } + + error = hfs_extattr_start(mp, p); + if (error) { + printf("hfs_extattr_autostart: hfs_extattr_start failed (%d)\n", + error); + goto return_vput_attr_dvp; + } + + /* + * Look for two subdirectories: HFS_EXTATTR_SUBDIR_SYSTEM, + * HFS_EXTATTR_SUBDIR_USER. For each, iterate over the sub-directory, + * and start with appropriate type. Failures in either don't + * result in an over-all failure. attr_dvp is left locked to + * be cleaned up on exit. + */ + error = hfs_extattr_lookup(attr_dvp, UE_GETDIR_LOCKPARENT, + HFS_EXTATTR_SUBDIR_SYSTEM, &attr_system_dvp, p); + if (!error) { + error = hfs_extattr_iterate_directory(VFSTOHFS(mp), + attr_system_dvp, EXTATTR_NAMESPACE_SYSTEM, p); + if (error) + printf("hfs_extattr_iterate_directory returned %d\n", + error); + vput(attr_system_dvp); + } + + error = hfs_extattr_lookup(attr_dvp, UE_GETDIR_LOCKPARENT, + HFS_EXTATTR_SUBDIR_USER, &attr_user_dvp, p); + if (!error) { + error = hfs_extattr_iterate_directory(VFSTOHFS(mp), + attr_user_dvp, EXTATTR_NAMESPACE_USER, p); + if (error) + printf("hfs_extattr_iterate_directory returned %d\n", + error); + vput(attr_user_dvp); + } + + /* Mask startup failures in sub-directories. */ + error = 0; + +return_vput_attr_dvp: + vput(attr_dvp); + + return (error); +} + +/* + * Stop extended attribute support on an FS. + */ +int +hfs_extattr_stop(struct mount *mp, struct proc *p) +{ + + printf("hfs_extattr_stop called\n"); + return (0); +} + +/* + * Real work associated with retrieving a named attribute--assumes that + * the attribute lock has already been grabbed. + */ +static int +hfs_extattr_get(struct vnode *vp, int attrnamespace, const char *name, + struct uio *uio, size_t *size, struct ucred *cred, struct proc *p) +{ + + return (ENOTSUP); +} + +/* + * Real work associated with setting a vnode's extended attributes; + * assumes that the attribute lock has already been grabbed. + */ +static int +hfs_extattr_set(struct vnode *vp, int attrnamespace, const char *name, + struct uio *uio, struct ucred *cred, struct proc *p) +{ + + return (ENOTSUP); +} + +/* + * Real work associated with removing an extended attribute from a vnode. + * Assumes the attribute lock has already been grabbed. + */ +static int +hfs_extattr_rm(struct vnode *vp, int attrnamespace, const char *name, + struct ucred *cred, struct proc *p) +{ + + return (ENOTSUP); +} + +/* * Vnode operating to retrieve a named extended attribute. */ int @@ -73,22 +641,20 @@ }; */ { - printf("hfs_getextattr called\n"); - return (ENOTSUP); -#if 0 struct mount *mp = ap->a_vp->v_mount; - struct ufsmount *ump = VFSTOUFS(mp); + struct hfsmount *hfsmp = VTOHFS(ap->a_vp); int error; - hfs_extattr_uepm_lock(ump, ap->a_td); + printf("hfs_getextattr called\n"); + + hfs_extattr_uepm_lock(hfsmp, ap->a_p); error = hfs_extattr_get(ap->a_vp, ap->a_attrnamespace, ap->a_name, - ap->a_uio, ap->a_size, ap->a_cred, ap->a_td); + ap->a_uio, ap->a_size, ap->a_cred, ap->a_p); - hfs_extattr_uepm_unlock(ump, ap->a_td); + hfs_extattr_uepm_unlock(hfsmp, ap->a_p); return (error); -#endif } /* @@ -107,15 +673,13 @@ }; */ { - printf("hfs_setextattr called\n"); - return (ENOTSUP); -#if 0 struct mount *mp = ap->a_vp->v_mount; - struct ufsmount *ump = VFSTOUFS(mp); + struct hfsmount *hfsmp = VTOHFS(ap->a_vp); int error; - hfs_extattr_uepm_lock(ump, ap->a_td); + printf("hfs_setextattr called\n"); + hfs_extattr_uepm_lock(hfsmp, ap->a_p); /* * XXX: No longer a supported way to delete extended attributes. @@ -124,12 +688,11 @@ return (EINVAL); error = hfs_extattr_set(ap->a_vp, ap->a_attrnamespace, ap->a_name, - ap->a_uio, ap->a_cred, ap->a_td); + ap->a_uio, ap->a_cred, ap->a_p); - hfs_extattr_uepm_unlock(ump, ap->a_td); + hfs_extattr_uepm_unlock(hfsmp, ap->a_p); return (error); -#endif } /* @@ -147,24 +710,22 @@ }; */ { - printf("hfs_deleteextattr called\n"); - return (ENOTSUP); -#if 0 struct mount *mp = ap->a_vp->v_mount; - struct ufsmount *ump = VFSTOUFS(mp); + struct hfsmount *hfsmp = VTOHFS(ap->a_vp); int error; - hfs_extattr_uepm_lock(ump, ap->a_td); + printf("hfs_deleteextattr called\n"); + hfs_extattr_uepm_lock(hfsmp, ap->a_p); error = hfs_extattr_rm(ap->a_vp, ap->a_attrnamespace, ap->a_name, - ap->a_cred, ap->a_td); + ap->a_cred, ap->a_p); - hfs_extattr_uepm_unlock(ump, ap->a_td); + hfs_extattr_uepm_unlock(hfsmp, ap->a_p); return (error); -#endif } + #endif /* !HFS_EXTATTR */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.h#2 (text+ko) ==== @@ -68,7 +68,7 @@ /* data follows the header */ }; -#ifdef _KERNEL +#ifdef KERNEL #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_EXTATTR); @@ -84,17 +84,19 @@ struct vnode *uele_backing_vnode; }; +struct lock__bsd__; struct lock; struct ucred; struct hfs_extattr_per_mount { - struct lock uepm_lock; + struct lock__bsd__ uepm_lock; struct hfs_extattr_list_head uepm_list; struct ucred *uepm_ucred; int uepm_flags; }; void hfs_extattr_uepm_init(struct hfs_extattr_per_mount *uepm); -void hfs_extattr_uepm_destroy(struct hfs_extattr_per_mount *uepm); +void hfs_extattr_uepm_destroy(struct hfs_extattr_per_mount *uepm, + struct proc *p); int hfs_extattr_start(struct mount *mp, struct proc *p); int hfs_extattr_autostart(struct mount *mp, struct proc *p); int hfs_extattr_stop(struct mount *mp, struct proc *p); @@ -105,6 +107,6 @@ int hfs_setextattr(struct vop_setextattr_args *ap); void hfs_extattr_vnode_inactive(struct vnode *vp, struct proc *p); -#endif /* !_KERNEL */ +#endif /* !KERNEL */ #endif /* !_HFS_HFS_EXTATTR_H_ */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vfsops.c#2 (text+ko) ==== @@ -88,6 +88,7 @@ #include "hfs_cnode.h" #include "hfs_dbg.h" #include "hfs_endian.h" +#include "hfs_extattr.h" #include "hfs_quota.h" #include "hfscommon/headers/FileMgrInternal.h" @@ -1151,6 +1152,20 @@ (void) hfs_flushvolumeheader(hfsmp, MNT_WAIT, 0); } FREE(mdbp, M_TEMP); + +#ifdef HFS_EXTATTR + /* + * + * Auto-starting does the following: + * - check for /.attribute in the fs, and extattr_start if so + * - for each file in .attribute, enable that file with + * an attribute of the same name. + * Not clear how to report errors -- probably eat them. + * This would all happen while the filesystem was busy/not + * available, so would effectively be "atomic". + */ + (void) hfs_extattr_autostart(mp, p); +#endif /* !HFS_EXTATTR */ return (0); error_exit: @@ -1208,6 +1223,16 @@ force = 1; } +#ifdef UFS_EXTATTR + if ((error = hfs_extattr_stop(mp, p))) { + if (error != ENOTSUP) + printf("hfs_unmount: hfs_extattr_stop returned %d\n", + error); + } else { + hfs_extattr_uepm_destroy(&hfsmp->hfs_extattr, p); + } +#endif + if ((retval = hfs_flushfiles(mp, flags, p)) && !force) return (retval); ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vnops.c#3 (text+ko) ==== @@ -2547,7 +2547,7 @@ OUT int *ncookies; INOUT u_long **cookies; */ -static int +int hfs_readdir(ap) struct vop_readdir_args /* { struct vnode *vp; ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/malloc.h#6 (text+ko) ==== @@ -170,7 +170,7 @@ #define M_MACPIPELABEL 93 #define M_MACTEMP 94 #define M_SBUF 95 -#define M_HFS_EXTATTR 96 +#define M_EXTATTR 96 #define M_LAST 97 /* Must be last type + 1 */ /* Strings corresponding to types of memory */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#9 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Wed Nov 12 13:10:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C329216A4D0; Wed, 12 Nov 2003 13:10:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9DA1816A4CE for ; Wed, 12 Nov 2003 13:10:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2025643F75 for ; Wed, 12 Nov 2003 13:10:35 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACLAYXJ022476 for ; Wed, 12 Nov 2003 13:10:34 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACLAYoN022473 for perforce@freebsd.org; Wed, 12 Nov 2003 13:10:34 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 12 Nov 2003 13:10:34 -0800 (PST) Message-Id: <200311122110.hACLAYoN022473@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42164 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 21:10:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=42164 Change 42164 by peter@peter_overcee on 2003/11/12 13:09:44 GC unused Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/genassym.c#24 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/genassym.c#24 (text+ko) ==== @@ -85,11 +85,6 @@ ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); -ASSYM(TD_INTR_NESTING_LEVEL, offsetof(struct thread, td_intr_nesting_level)); -ASSYM(TD_CRITNEST, offsetof(struct thread, td_critnest)); -ASSYM(TD_MD, offsetof(struct thread, td_md)); - -ASSYM(P_MD, offsetof(struct proc, p_md)); ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); From owner-p4-projects@FreeBSD.ORG Wed Nov 12 13:10:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 72DA916A4D1; Wed, 12 Nov 2003 13:10:36 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B63816A4CF for ; Wed, 12 Nov 2003 13:10:36 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C6CC43FA3 for ; Wed, 12 Nov 2003 13:10:35 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACLAZXJ022484 for ; Wed, 12 Nov 2003 13:10:35 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACLAZDM022480 for perforce@freebsd.org; Wed, 12 Nov 2003 13:10:35 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 12 Nov 2003 13:10:35 -0800 (PST) Message-Id: <200311122110.hACLAZDM022480@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42165 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 21:10:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=42165 Change 42165 by peter@peter_overcee on 2003/11/12 13:10:15 define struct thread Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic.c#17 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#17 (text+ko) ==== @@ -43,6 +43,7 @@ #include #include #include +#include #include #include From owner-p4-projects@FreeBSD.ORG Wed Nov 12 14:12:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A943416A4D0; Wed, 12 Nov 2003 14:12:01 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8395416A4CE for ; Wed, 12 Nov 2003 14:12:01 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EABD443FAF for ; Wed, 12 Nov 2003 14:12:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACMC0XJ026241 for ; Wed, 12 Nov 2003 14:12:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACMC0LO026235 for perforce@freebsd.org; Wed, 12 Nov 2003 14:12:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 12 Nov 2003 14:12:00 -0800 (PST) Message-Id: <200311122212.hACMC0LO026235@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42170 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 22:12:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=42170 Change 42170 by rwatson@rwatson_tislabs on 2003/11/12 14:11:05 Slide MAC label allocations outside of Giant in system calls touching VFS. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#431 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#431 (text+ko) ==== @@ -752,15 +752,15 @@ case DTYPE_VNODE: vp = fp->f_vnode; + intlabel = mac_vnode_label_alloc(); mtx_lock(&Giant); /* VFS */ - intlabel = mac_vnode_label_alloc(); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); mac_copy_vnode_label(vp->v_label, intlabel); VOP_UNLOCK(vp, 0, td); error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); + mtx_unlock(&Giant); /* VFS */ mac_vnode_label_free(intlabel); - mtx_unlock(&Giant); /* VFS */ break; case DTYPE_PIPE: pipe = fp->f_data; @@ -951,8 +951,8 @@ error = vn_setlabel(vp, intlabel, td->td_ucred); VOP_UNLOCK(vp, 0, td); vn_finished_write(mp); + mtx_unlock(&Giant); /* VFS */ mac_vnode_label_free(intlabel); - mtx_unlock(&Giant); /* VFS */ break; case DTYPE_PIPE: From owner-p4-projects@FreeBSD.ORG Wed Nov 12 14:13:03 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A496B16A4D0; Wed, 12 Nov 2003 14:13:03 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7B1E116A4CE for ; Wed, 12 Nov 2003 14:13:03 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3E0743F93 for ; Wed, 12 Nov 2003 14:13:02 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACMD2XJ026277 for ; Wed, 12 Nov 2003 14:13:02 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACMD2ej026271 for perforce@freebsd.org; Wed, 12 Nov 2003 14:13:02 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 12 Nov 2003 14:13:02 -0800 (PST) Message-Id: <200311122213.hACMD2ej026271@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42171 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 22:13:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=42171 Change 42171 by rwatson@rwatson_tislabs on 2003/11/12 14:12:14 Slide Giant even further: not required for label externalization. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#432 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#432 (text+ko) ==== @@ -757,9 +757,9 @@ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); mac_copy_vnode_label(vp->v_label, intlabel); VOP_UNLOCK(vp, 0, td); + mtx_unlock(&Giant); /* VFS */ error = mac_externalize_vnode_label(intlabel, elements, buffer, mac.m_buflen); - mtx_unlock(&Giant); /* VFS */ mac_vnode_label_free(intlabel); break; case DTYPE_PIPE: From owner-p4-projects@FreeBSD.ORG Wed Nov 12 14:28:24 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B92016A4D2; Wed, 12 Nov 2003 14:28:24 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 19E6716A4CE for ; Wed, 12 Nov 2003 14:28:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C75943FCB for ; Wed, 12 Nov 2003 14:28:23 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACMSNXJ026994 for ; Wed, 12 Nov 2003 14:28:23 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACMSMSI026991 for perforce@freebsd.org; Wed, 12 Nov 2003 14:28:22 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 12 Nov 2003 14:28:22 -0800 (PST) Message-Id: <200311122228.hACMSMSI026991@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42174 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 22:28:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=42174 Change 42174 by rwatson@rwatson_tislabs on 2003/11/12 14:28:05 Slide Giant a little more, whitespace synchronization to the version committed to the main FreeBSD source tree. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#433 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#433 (text+ko) ==== @@ -553,6 +553,9 @@ return (0); } +/* + * MPSAFE + */ int __mac_get_pid(struct thread *td, struct __mac_get_pid_args *uap) { @@ -751,7 +754,6 @@ case DTYPE_FIFO: case DTYPE_VNODE: vp = fp->f_vnode; - intlabel = mac_vnode_label_alloc(); mtx_lock(&Giant); /* VFS */ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); @@ -762,9 +764,9 @@ buffer, mac.m_buflen); mac_vnode_label_free(intlabel); break; + case DTYPE_PIPE: pipe = fp->f_data; - intlabel = mac_pipe_label_alloc(); PIPE_LOCK(pipe); mac_copy_pipe_label(pipe->pipe_label, intlabel); @@ -773,12 +775,14 @@ buffer, mac.m_buflen); mac_pipe_label_free(intlabel); break; + default: error = EINVAL; } fdrop(fp, td); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); + out: free(buffer, M_MACTEMP); free(elements, M_MACTEMP); @@ -937,16 +941,14 @@ mac_vnode_label_free(intlabel); break; } - vp = fp->f_vnode; mtx_lock(&Giant); /* VFS */ error = vn_start_write(vp, &mp, V_WAIT | PCATCH); if (error != 0) { + mtx_unlock(&Giant); /* VFS */ mac_vnode_label_free(intlabel); - mtx_unlock(&Giant); /* VFS */ break; } - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); error = vn_setlabel(vp, intlabel, td->td_ucred); VOP_UNLOCK(vp, 0, td); From owner-p4-projects@FreeBSD.ORG Wed Nov 12 14:29:26 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34A5316A4D0; Wed, 12 Nov 2003 14:29:26 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ECBAE16A4CE for ; Wed, 12 Nov 2003 14:29:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6790143FDD for ; Wed, 12 Nov 2003 14:29:25 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACMTPXJ027131 for ; Wed, 12 Nov 2003 14:29:25 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACMTO4R027128 for perforce@freebsd.org; Wed, 12 Nov 2003 14:29:24 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 14:29:24 -0800 (PST) Message-Id: <200311122229.hACMTO4R027128@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42175 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 22:29:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=42175 Change 42175 by sam@sam_ebb on 2003/11/12 14:28:49 o shuffle lock assertions so they reflect the order the locks are to be taken o add missing inpcb lock required before destroying the inpcb mutex in tcp_twclose Affected files ... .. //depot/projects/netperf/sys/netinet/in_pcb.c#15 edit Differences ... ==== //depot/projects/netperf/sys/netinet/in_pcb.c#15 (text+ko) ==== @@ -208,9 +208,9 @@ { int anonport, error; + INP_INFO_WLOCK_ASSERT(inp->inp_pcbinfo); INP_LOCK_ASSERT(inp); - INP_INFO_WLOCK_ASSERT(inp->inp_pcbinfo); if (inp->inp_lport != 0 || inp->inp_laddr.s_addr != INADDR_ANY) return (EINVAL); anonport = inp->inp_lport == 0 && (nam == NULL || @@ -255,9 +255,9 @@ int wild = 0, reuseport = (so->so_options & SO_REUSEPORT); int error, prison = 0; + INP_INFO_WLOCK_ASSERT(pcbinfo); INP_LOCK_ASSERT(inp); - INP_INFO_WLOCK_ASSERT(pcbinfo); if (TAILQ_EMPTY(&in_ifaddrhead)) /* XXX broken! */ return (EADDRNOTAVAIL); laddr.s_addr = *laddrp; @@ -939,7 +939,8 @@ int matchwild = 3, wildcard; u_short lport = lport_arg; - INP_INFO_RLOCK_ASSERT(pcbinfo); + INP_INFO_WLOCK_ASSERT(pcbinfo); + if (!wild_okay) { struct inpcbhead *head; /* @@ -999,6 +1000,7 @@ */ if ((inp->inp_vflag & INP_TIMEWAIT) != 0) { if (tcp_twrecycleable((struct tcptw *)inp->inp_ppcb)) { + INP_LOCK(inp); tcp_twclose((struct tcptw *)inp->inp_ppcb, 0); match = NULL; goto retrylookup; From owner-p4-projects@FreeBSD.ORG Wed Nov 12 14:30:31 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5EA9B16A4D0; Wed, 12 Nov 2003 14:30:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C33816A4CE for ; Wed, 12 Nov 2003 14:30:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C30A943FBF for ; Wed, 12 Nov 2003 14:30:28 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACMUSXJ027216 for ; Wed, 12 Nov 2003 14:30:28 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACMUQdd027209 for perforce@freebsd.org; Wed, 12 Nov 2003 14:30:26 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 14:30:26 -0800 (PST) Message-Id: <200311122230.hACMUQdd027209@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42176 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 22:30:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=42176 Change 42176 by sam@sam_ebb on 2003/11/12 14:30:23 IFC Affected files ... .. //depot/projects/netperf/sys/amd64/amd64/autoconf.c#3 integrate .. //depot/projects/netperf/sys/conf/files#25 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-api.c#1 branch .. //depot/projects/netperf/sys/crypto/rijndael/rijndael.c#2 delete .. //depot/projects/netperf/sys/dev/acpica/Osd/OsdInterrupt.c#3 integrate .. //depot/projects/netperf/sys/dev/aha/ahareg.h#4 integrate .. //depot/projects/netperf/sys/dev/firewire/sbp.c#11 integrate .. //depot/projects/netperf/sys/dev/firewire/sbp.h#2 integrate .. //depot/projects/netperf/sys/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/netperf/sys/dev/pccbb/pccbb.c#8 integrate .. //depot/projects/netperf/sys/dev/usb/ohci.c#4 integrate .. //depot/projects/netperf/sys/fs/devfs/devfs.h#2 integrate .. //depot/projects/netperf/sys/fs/nwfs/nwfs_vfsops.c#2 integrate .. //depot/projects/netperf/sys/fs/smbfs/smbfs_vfsops.c#4 integrate .. //depot/projects/netperf/sys/geom/geom_ccd.c#5 integrate .. //depot/projects/netperf/sys/i386/i386/apic_vector.s#2 integrate .. //depot/projects/netperf/sys/i386/i386/genassym.c#4 integrate .. //depot/projects/netperf/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/netperf/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/mp_machdep.c#13 integrate .. //depot/projects/netperf/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/netperf/sys/i386/include/clock.h#6 integrate .. //depot/projects/netperf/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/netperf/sys/i386/isa/atpic_vector.s#2 integrate .. //depot/projects/netperf/sys/i386/isa/icu.h#3 integrate .. //depot/projects/netperf/sys/ia64/ia64/interrupt.c#5 integrate .. //depot/projects/netperf/sys/ia64/ia64/machdep.c#18 integrate .. //depot/projects/netperf/sys/ia64/ia64/trap.c#9 integrate .. //depot/projects/netperf/sys/ia64/include/md_var.h#5 integrate .. //depot/projects/netperf/sys/kern/init_sysent.c#6 integrate .. //depot/projects/netperf/sys/kern/kern_exec.c#8 integrate .. //depot/projects/netperf/sys/kern/kern_mac.c#9 integrate .. //depot/projects/netperf/sys/kern/syscalls.c#6 integrate .. //depot/projects/netperf/sys/kern/syscalls.master#6 integrate .. //depot/projects/netperf/sys/kern/vfs_bio.c#15 integrate .. //depot/projects/netperf/sys/kern/vfs_cluster.c#5 integrate .. //depot/projects/netperf/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/netperf/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/netperf/sys/net/bpfdesc.h#3 integrate .. //depot/projects/netperf/sys/net/if_var.h#5 integrate .. //depot/projects/netperf/sys/net/if_vlan.c#7 integrate .. //depot/projects/netperf/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/netperf/sys/netgraph/ng_message.h#4 integrate .. //depot/projects/netperf/sys/netinet/ip_var.h#12 integrate .. //depot/projects/netperf/sys/nfsclient/nfs_vfsops.c#9 integrate .. //depot/projects/netperf/sys/security/mac/mac_internal.h#5 integrate .. //depot/projects/netperf/sys/security/mac/mac_label.c#1 branch .. //depot/projects/netperf/sys/security/mac/mac_net.c#5 integrate .. //depot/projects/netperf/sys/security/mac/mac_pipe.c#4 integrate .. //depot/projects/netperf/sys/security/mac/mac_process.c#4 integrate .. //depot/projects/netperf/sys/security/mac/mac_system.c#2 integrate .. //depot/projects/netperf/sys/security/mac/mac_vfs.c#4 integrate .. //depot/projects/netperf/sys/security/mac_biba/mac_biba.c#5 integrate .. //depot/projects/netperf/sys/security/mac_lomac/mac_lomac.c#6 integrate .. //depot/projects/netperf/sys/security/mac_mls/mac_mls.c#4 integrate .. //depot/projects/netperf/sys/security/mac_partition/mac_partition.c#2 integrate .. //depot/projects/netperf/sys/security/mac_test/mac_test.c#3 integrate .. //depot/projects/netperf/sys/sys/mac.h#6 integrate .. //depot/projects/netperf/sys/sys/mount.h#3 integrate .. //depot/projects/netperf/sys/sys/pipe.h#4 integrate .. //depot/projects/netperf/sys/sys/proc.h#12 integrate .. //depot/projects/netperf/sys/sys/socketvar.h#5 integrate .. //depot/projects/netperf/sys/sys/syscall.h#6 integrate .. //depot/projects/netperf/sys/sys/syscall.mk#6 integrate .. //depot/projects/netperf/sys/sys/sysproto.h#6 integrate .. //depot/projects/netperf/sys/sys/ucred.h#2 integrate .. //depot/projects/netperf/sys/sys/vnode.h#6 integrate .. //depot/projects/netperf/sys/ufs/ffs/ffs_vfsops.c#8 integrate Differences ... ==== //depot/projects/netperf/sys/amd64/amd64/autoconf.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.174 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.175 2003/11/12 01:49:49 peter Exp $"); /* * Setup the system to run on the current machine. @@ -155,6 +155,8 @@ { cninit_finish(); + if (bootverbose) + printf("Device configuration finished.\n"); cold = 0; } ==== //depot/projects/netperf/sys/conf/files#25 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.848 2003/11/11 22:07:29 jhb Exp $ +# $FreeBSD: src/sys/conf/files,v 1.850 2003/11/12 04:22:36 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -207,7 +207,7 @@ crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec -crypto/rijndael/rijndael.c optional ipsec +crypto/rijndael/rijndael-api.c optional ipsec opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec @@ -1619,6 +1619,7 @@ posix4/p1003_1b.c standard posix4/posix4_mib.c standard kern/uipc_sem.c optional p1003_1b_semaphores +security/mac/mac_label.c optional mac security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_process.c optional mac ==== //depot/projects/netperf/sys/dev/acpica/Osd/OsdInterrupt.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.13 2003/11/11 18:12:12 jhb Exp $ + * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.15 2003/11/12 16:24:16 jhb Exp $ */ /* @@ -135,10 +135,12 @@ acpi_OverrideInterruptLevel(UINT32 InterruptNumber) { - if (InterruptOverride != 0) - return_ACPI_STATUS(AE_ALREADY_EXISTS); - InterruptOverride = InterruptNumber; - return_ACPI_STATUS(AE_OK); + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (InterruptOverride != 0) + return_ACPI_STATUS(AE_ALREADY_EXISTS); + InterruptOverride = InterruptNumber; + return_ACPI_STATUS(AE_OK); } /* ==== //depot/projects/netperf/sys/dev/aha/ahareg.h#4 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.15 2003/11/09 19:51:16 imp Exp $ + * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.16 2003/11/12 05:44:44 imp Exp $ */ #ifndef _AHAREG_H_ @@ -426,4 +426,4 @@ #define AHA1542_PNPCOMPAT 0xA000D040 /* PNP00A0 */ #define ICU0091_PNP 0X91005AA4 /* ICU0091 */ -#endif /* _AHA_H_ */ +#endif /* _AHAREG_H_ */ ==== //depot/projects/netperf/sys/dev/firewire/sbp.c#11 (text+ko) ==== @@ -1,6 +1,6 @@ /* - * Copyright (c) 2003 Hidetosh Shimokawa - * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetosh Shimokawa + * Copyright (c) 2003 Hidetoshi Shimokawa + * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.68 2003/11/10 14:04:37 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.71 2003/11/12 04:06:21 simokawa Exp $ * */ @@ -1142,7 +1142,7 @@ END_DEBUG if (xfer->resp != 0) { /* XXX */ - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); } sbp_xfer_free(xfer); sdev->flags &= ~ORB_POINTER_ACTIVE; @@ -1208,7 +1208,7 @@ END_DEBUG if (xfer->resp != 0) { /* XXX */ - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); } sbp_xfer_free(xfer); return; @@ -1317,6 +1317,7 @@ } if ((ocb = sbp_get_ocb(sdev)) == NULL) { splx(s); + /* XXX */ return; } ocb->flags = OCB_ACT_MGM; @@ -1572,7 +1573,7 @@ */ sbp = (struct sbp_softc *)xfer->sc; if (xfer->resp != 0){ - printf("sbp_recv: xfer->resp != 0\n"); + printf("sbp_recv: xfer->resp = %d\n", xfer->resp); goto done0; } if (xfer->recv.payload == NULL){ @@ -1903,7 +1904,7 @@ sbp->sim = cam_sim_alloc(sbp_action, sbp_poll, "sbp", sbp, device_get_unit(dev), /*untagged*/ 1, - /*tagged*/ SBP_QUEUE_LEN, + /*tagged*/ SBP_QUEUE_LEN - 1, devq); if (sbp->sim == NULL) { @@ -2325,8 +2326,11 @@ } } #endif - if ((ocb = sbp_get_ocb(sdev)) == NULL) + if ((ocb = sbp_get_ocb(sdev)) == NULL) { + ccb->ccb_h.status = CAM_REQUEUE_REQ; + xpt_done(ccb); return; + } ocb->flags = OCB_ACT_CMD; ocb->sdev = sdev; ==== //depot/projects/netperf/sys/dev/firewire/sbp.h#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* - * Copyright (c) 2003 Hidetosh Shimokawa - * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetosh Shimokawa + * Copyright (c) 2003 Hidetoshi Shimokawa + * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.1 2003/10/02 04:06:56 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.2 2003/11/12 03:29:57 simokawa Exp $ * */ ==== //depot/projects/netperf/sys/dev/firewire/sbp_targ.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.1 2003/10/18 05:41:31 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.2 2003/11/12 04:06:21 simokawa Exp $ */ #include @@ -471,7 +471,7 @@ orbi = (struct orb_info *)xfer->sc; if (xfer->resp != 0) { /* XXX */ - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); } free(orbi, M_SBP_TARG); fw_xfer_free(xfer); @@ -589,7 +589,7 @@ xfer->resp, orbi->refcount); if (xfer->resp != 0) { - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); orbi->status.resp = SBP_TRANS_FAIL; orbi->status.status = htonl(OBJ_DATA | SBE_TIMEOUT /*XXX*/); orbi->status.dead = 1; @@ -734,7 +734,7 @@ return; } if (xfer->resp != 0) { - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); orbi->status.resp = SBP_TRANS_FAIL; orbi->status.status = htonl(OBJ_PT | SBE_TIMEOUT /*XXX*/); orbi->status.dead = 1; @@ -1013,7 +1013,7 @@ orbi = (struct orb_info *)xfer->sc; if (xfer->resp != 0) { - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); orbi->status.resp = SBP_TRANS_FAIL; orbi->status.status = htonl(OBJ_ORB | SBE_TIMEOUT /*XXX*/); orbi->status.dead = 1; @@ -1126,7 +1126,7 @@ orbi = (struct orb_info *)xfer->sc; if (xfer->resp != 0) { - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); orbi->status.resp = SBP_TRANS_FAIL; orbi->status.status = htonl(OBJ_ORB | SBE_TIMEOUT /*XXX*/); orbi->status.dead = 1; @@ -1203,7 +1203,7 @@ orbi = (struct orb_info *)xfer->sc; if (xfer->resp != 0) { - printf("%s: xfer->resp != 0\n", __FUNCTION__); + printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); goto done; } ==== //depot/projects/netperf/sys/dev/pccbb/pccbb.c#8 (text+ko) ==== @@ -25,8 +25,6 @@ * LIABILITY, OR TORT (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/sys/dev/pccbb/pccbb.c,v 1.98 2003/11/08 03:28:43 imp Exp $ */ /* @@ -74,6 +72,9 @@ * * David Cross: Author of the initial ugly hack for a specific cardbus card */ +#include +__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.99 2003/11/12 05:21:06 imp Exp $"); + #include #include #include @@ -337,7 +338,7 @@ * it later. */ rle = malloc(sizeof(struct cbb_reslist), M_DEVBUF, M_NOWAIT); - if (!res) + if (rle == NULL) panic("cbb_cardbus_alloc_resource: can't record entry!"); rle->res = res; rle->type = type; ==== //depot/projects/netperf/sys/dev/usb/ohci.c#4 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.137 2003/11/10 00:20:52 joe Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.138 2003/11/12 01:40:11 joe Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1475,7 +1475,7 @@ printf("ohci_softintr: sitd=%p is done\n", sitd); sitd->isdone = 1; #endif - struct ohci_pipe *opipe = (struct ohci_pipe *)xfer->pipe; + opipe = (struct ohci_pipe *)xfer->pipe; if (opipe->aborting) continue; ==== //depot/projects/netperf/sys/fs/devfs/devfs.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * @(#)kernfs.h 8.6 (Berkeley) 3/29/95 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs.h 1.14 * - * $FreeBSD: src/sys/fs/devfs/devfs.h,v 1.17 2002/12/09 03:44:27 rwatson Exp $ + * $FreeBSD: src/sys/fs/devfs/devfs.h,v 1.18 2003/11/12 03:14:29 rwatson Exp $ */ #ifndef _FS_DEVFS_DEVFS_H_ @@ -159,7 +159,7 @@ mode_t de_mode; uid_t de_uid; gid_t de_gid; - struct label de_label; + struct label *de_label; struct timespec de_atime; struct timespec de_mtime; struct timespec de_ctime; ==== //depot/projects/netperf/sys/fs/nwfs/nwfs_vfsops.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/nwfs/nwfs_vfsops.c,v 1.30 2003/06/12 20:48:37 phk Exp $ + * $FreeBSD: src/sys/fs/nwfs/nwfs_vfsops.c,v 1.31 2003/11/12 09:54:07 phk Exp $ */ #include "opt_ncp.h" #ifndef NCP @@ -428,7 +428,6 @@ nmp->n_volume, &vi, td, td->td_ucred); if (error) return error; secsize = 512; /* XXX how to get real value ??? */ - sbp->f_spare2=0; /* placeholder */ /* fundamental filesystem block size */ sbp->f_bsize = vi.sectors_per_block*secsize; /* optimal transfer block size */ ==== //depot/projects/netperf/sys/fs/smbfs/smbfs_vfsops.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/sys/fs/smbfs/smbfs_vfsops.c,v 1.21 2003/09/26 20:26:23 fjoe Exp $ + * $FreeBSD: src/sys/fs/smbfs/smbfs_vfsops.c,v 1.22 2003/11/12 09:52:10 phk Exp $ */ #include "opt_netsmb.h" #ifndef NETSMB @@ -375,7 +375,6 @@ return EINVAL; sbp->f_iosize = SSTOVC(ssp)->vc_txmax; /* optimal transfer block size */ - sbp->f_spare2 = 0; /* placeholder */ smb_makescred(&scred, td, td->td_ucred); if (SMB_DIALECT(SSTOVC(ssp)) >= SMB_DIALECT_LANMAN2_0) ==== //depot/projects/netperf/sys/geom/geom_ccd.c#5 (text+ko) ==== @@ -50,7 +50,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_ccd.c,v 1.147 2003/10/24 18:47:31 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_ccd.c,v 1.148 2003/11/12 09:46:54 phk Exp $"); #include #include @@ -447,7 +447,7 @@ err = ccdbuffer(cbp, cs, bp, bn, addr, bcount); if (err) { bp->bio_completed += bcount; - if (bp->bio_error != 0) + if (bp->bio_error == 0) bp->bio_error = err; if (bp->bio_completed == bp->bio_length) g_io_deliver(bp, bp->bio_error); ==== //depot/projects/netperf/sys/i386/i386/apic_vector.s#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.91 2003/11/03 21:53:36 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.92 2003/11/12 18:13:57 jhb Exp $ */ /* @@ -82,9 +82,7 @@ movl $KPSEL, %eax ; /* reload with per-CPU data segment */ \ mov %ax, %fs ; \ movl lapic, %edx ; /* pointer to local APIC */ \ - movl PCPU(CURTHREAD), %ebx ; \ movl LA_ISR + 16 * (index)(%edx), %eax ; /* load ISR */ \ - incl TD_INTR_NESTING_LEVEL(%ebx) ; \ bsrl %eax, %eax ; /* index of highset set bit in ISR */ \ jz 2f ; \ addl $(32 * index),%eax ; \ @@ -93,7 +91,6 @@ pushl %eax ; /* pass the IRQ */ \ call lapic_handle_intr ; \ addl $4, %esp ; /* discard parameter */ \ - decl TD_INTR_NESTING_LEVEL(%ebx) ; \ MEXITCOUNT ; \ jmp doreti ; \ 2: movl $-1, %eax ; /* send a vector of -1 */ \ @@ -245,12 +242,9 @@ movl lapic, %edx movl $0, LA_EOI(%edx) /* End Of Interrupt to APIC */ - movl PCPU(CURTHREAD),%ebx - incl TD_INTR_NESTING_LEVEL(%ebx) pushl $0 /* XXX convert trapframe to clockframe */ call forwarded_hardclock addl $4, %esp /* XXX convert clockframe to trapframe */ - decl TD_INTR_NESTING_LEVEL(%ebx) MEXITCOUNT jmp doreti @@ -273,12 +267,9 @@ FAKE_MCOUNT(13*4(%esp)) - movl PCPU(CURTHREAD),%ebx - incl TD_INTR_NESTING_LEVEL(%ebx) pushl $0 /* XXX convert trapframe to clockframe */ call forwarded_statclock addl $4, %esp /* XXX convert clockframe to trapframe */ - decl TD_INTR_NESTING_LEVEL(%ebx) MEXITCOUNT jmp doreti ==== //depot/projects/netperf/sys/i386/i386/genassym.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.145 2003/11/03 22:34:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.146 2003/11/12 18:14:34 jhb Exp $"); #include "opt_apic.h" #include "opt_compat.h" @@ -88,8 +88,6 @@ ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); -ASSYM(TD_INTR_NESTING_LEVEL, offsetof(struct thread, td_intr_nesting_level)); -ASSYM(TD_CRITNEST, offsetof(struct thread, td_critnest)); ASSYM(TD_MD, offsetof(struct thread, td_md)); ASSYM(P_MD, offsetof(struct proc, p_md)); ==== //depot/projects/netperf/sys/i386/i386/intr_machdep.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.1 2003/11/03 21:25:52 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.2 2003/11/12 18:13:57 jhb Exp $ */ /* @@ -49,6 +49,7 @@ #include #include #include +#include #include #ifdef DDB #include @@ -152,10 +153,14 @@ void intr_execute_handlers(struct intsrc *isrc, struct intrframe *iframe) { + struct thread *td; struct ithd *it; struct intrhand *ih; int error, vector; + td = curthread; + td->td_intr_nesting_level++; + /* * We count software interrupts when we process them. The * code here follows previous practice, but there's an @@ -165,18 +170,25 @@ atomic_add_long(isrc->is_count, 1); atomic_add_int(&cnt.v_intr, 1); + it = isrc->is_ithread; + ih = TAILQ_FIRST(&it->it_handlers); + /* - * Execute fast interrupt handlers directly. - * To support clock handlers, if a handler registers - * with a NULL argument, then we pass it a pointer to - * a trapframe as its argument. + * XXX: We assume that IRQ 0 is only used for the ISA timer + * device (clk). */ - it = isrc->is_ithread; - ih = TAILQ_FIRST(&it->it_handlers); + vector = isrc->is_pic->pic_vector(isrc); + if (vector == 0) + clkintr_pending = 1; + critical_enter(); - if (ih == NULL) - error = EINVAL; - else if (ih->ih_flags & IH_FAST) { + if (ih != NULL && ih->ih_flags & IH_FAST) { + /* + * Execute fast interrupt handlers directly. + * To support clock handlers, if a handler registers + * with a NULL argument, then we pass it a pointer to + * a trapframe as its argument. + */ TAILQ_FOREACH(ih, &it->it_handlers, ih_next) { MPASS(ih->ih_flags & IH_FAST); CTR3(KTR_INTR, "%s: executing handler %p(%p)", @@ -188,13 +200,22 @@ else ih->ih_handler(ih->ih_argument); } - isrc->is_pic->pic_enable_source(isrc); + isrc->is_pic->pic_eoi_source(isrc); error = 0; - } else - error = ithread_schedule(it, !cold); + } else { + /* + * For stray and threaded interrupts, we mask and EOI the + * source. + */ + isrc->is_pic->pic_disable_source(isrc); + isrc->is_pic->pic_eoi_source(isrc); + if (ih == NULL) + error = EINVAL; + else + error = ithread_schedule(it, !cold); + } critical_exit(); if (error == EINVAL) { - vector = isrc->is_pic->pic_vector(isrc); atomic_add_long(isrc->is_straycount, 1); if (*isrc->is_straycount < MAX_STRAY_LOG) log(LOG_ERR, "stray irq%d\n", vector); @@ -203,6 +224,7 @@ "too many stray irq %d's: not logging anymore\n", vector); } + td->td_intr_nesting_level--; } void ==== //depot/projects/netperf/sys/i386/i386/io_apic.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.5 2003/11/07 23:44:35 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.6 2003/11/12 18:13:57 jhb Exp $"); #include "opt_isa.h" #include "opt_no_mixed_mode.h" @@ -201,8 +201,7 @@ ioapic_eoi_source(struct intsrc *isrc) { - TODO; - /* lapic_eoi(); */ + lapic_eoi(); } /* ==== //depot/projects/netperf/sys/i386/i386/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.1 2003/11/03 21:53:36 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.2 2003/11/12 18:13:57 jhb Exp $"); #include #include @@ -467,6 +467,13 @@ } void +lapic_eoi(void) +{ + + lapic->eoi = 0; +} + +void lapic_handle_intr(struct intrframe frame) { struct intsrc *isrc; @@ -474,8 +481,6 @@ if (frame.if_vec == -1) panic("Couldn't get vector from ISR!"); isrc = intr_lookup_source(apic_idt_to_irq(frame.if_vec)); - isrc->is_pic->pic_disable_source(isrc); - lapic->eoi = 0; intr_execute_handlers(isrc, &frame); } ==== //depot/projects/netperf/sys/i386/i386/mp_machdep.c#13 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.223 2003/11/11 17:16:15 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.224 2003/11/12 18:13:57 jhb Exp $"); #include "opt_apic.h" #include "opt_cpu.h" @@ -1047,12 +1047,16 @@ void forwarded_statclock(struct clockframe frame) { + struct thread *td; CTR0(KTR_SMP, "forwarded_statclock"); + td = curthread; + td->td_intr_nesting_level++; if (profprocs != 0) profclock(&frame); if (pscnt == psdiv) statclock(&frame); + td->td_intr_nesting_level--; } void @@ -1080,9 +1084,13 @@ void forwarded_hardclock(struct clockframe frame) { + struct thread *td; CTR0(KTR_SMP, "forwarded_hardclock"); + td = curthread; + td->td_intr_nesting_level++; hardclock_process(&frame); + td->td_intr_nesting_level--; } void ==== //depot/projects/netperf/sys/i386/include/apicvar.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.1 2003/11/03 21:53:38 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.2 2003/11/12 18:13:57 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -147,6 +147,7 @@ void lapic_disable(void); void lapic_dump(const char *str); void lapic_enable_intr(u_int vector); +void lapic_eoi(void); int lapic_id(void); void lapic_init(uintptr_t addr); int lapic_intr_pending(u_int vector); ==== //depot/projects/netperf/sys/i386/include/clock.h#6 (text+ko) ==== @@ -3,7 +3,7 @@ * Garrett Wollman, September 1994. * This file is in the public domain. * - * $FreeBSD: src/sys/i386/include/clock.h,v 1.48 2003/11/03 21:53:38 jhb Exp $ + * $FreeBSD: src/sys/i386/include/clock.h,v 1.49 2003/11/12 18:13:57 jhb Exp $ */ #ifndef _MACHINE_CLOCK_H_ @@ -15,6 +15,7 @@ * XXX large parts of the driver and its interface are misplaced. */ extern int adjkerntz; +extern int clkintr_pending; extern int disable_rtc_set; extern int pscnt; extern int psdiv; ==== //depot/projects/netperf/sys/i386/isa/atpic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.2 2003/11/04 13:13:04 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.3 2003/11/12 18:13:57 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -192,6 +192,10 @@ #endif } +/* + * The data sheet says no auto-EOI on slave, but it sometimes works. + * So, if AUTO_EOI_2 is enabled, we use it. + */ static void atpic_eoi_slave(struct intsrc *isrc) { @@ -327,7 +331,7 @@ SYSINIT(atpic_init, SI_SUB_INTR, SI_ORDER_SECOND + 1, atpic_init, NULL) void -atpic_sched_ithd(struct intrframe iframe) +atpic_handle_intr(struct intrframe iframe) { struct intsrc *isrc; ==== //depot/projects/netperf/sys/i386/isa/atpic_vector.s#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.38 2003/11/03 21:34:45 jhb Exp $ + * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.39 2003/11/12 18:13:57 jhb Exp $ */ /* @@ -52,50 +52,10 @@ #include "assym.s" -#define IRQ_BIT(irq_num) (1 << ((irq_num) % 8)) -#define IRQ_BYTE(irq_num) ((irq_num) >> 3) - -#ifdef AUTO_EOI_1 - -#define ENABLE_ICU1 /* use auto-EOI to reduce i/o */ -#define OUTB_ICU1 - -#else - -#define ENABLE_ICU1 \ - movb $ICU_EOI,%al ; /* as soon as possible send EOI ... */ \ - OUTB_ICU1 /* ... to clear in service bit */ - -#define OUTB_ICU1 \ - outb %al,$IO_ICU1 - -#endif - -#ifdef AUTO_EOI_2 -/* - * The data sheet says no auto-EOI on slave, but it sometimes works. - */ -#define ENABLE_ICU1_AND_2 ENABLE_ICU1 - -#else - -#define ENABLE_ICU1_AND_2 \ - movb $ICU_EOI,%al ; /* as above */ \ - outb %al,$IO_ICU2 ; /* but do second icu first ... */ \ - OUTB_ICU1 /* ... then first icu (if !AUTO_EOI_1) */ - -#endif - /* * Macros for interrupt interrupt entry, call to handler, and exit. - * - * XXX Most of the parameters here are obsolete. Fix this when we're - * done. - * XXX we really shouldn't return via doreti if we just schedule the - * interrupt handler and don't run anything. We could just do an - * iret. FIXME. */ -#define INTR(irq_num, vec_name, icu, enable_icus, maybe_extra_ipending) \ +#define INTR(irq_num, vec_name) \ .text ; \ SUPERALIGN_TEXT ; \ IDTVEC(vec_name) ; \ @@ -111,42 +71,29 @@ mov $KPSEL,%ax ; \ mov %ax,%fs ; \ ; \ - maybe_extra_ipending ; \ - movb imen + IRQ_BYTE(irq_num),%al ; \ - orb $IRQ_BIT(irq_num),%al ; \ - movb %al,imen + IRQ_BYTE(irq_num) ; \ - outb %al,$icu+ICU_IMR_OFFSET ; \ - enable_icus ; \ -; \ - movl PCPU(CURTHREAD),%ebx ; \ - incl TD_INTR_NESTING_LEVEL(%ebx) ; \ -; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ pushl $irq_num; /* pass the IRQ */ \ - call atpic_sched_ithd ; \ + call atpic_handle_intr ; \ addl $4, %esp ; /* discard the parameter */ \ ; \ - decl TD_INTR_NESTING_LEVEL(%ebx) ; \ MEXITCOUNT ; \ jmp doreti MCOUNT_LABEL(bintr) -#define CLKINTR_PENDING movl $1,CNAME(clkintr_pending) -/* Threaded interrupts */ - INTR(0,atpic_intr0, IO_ICU1, ENABLE_ICU1, CLKINTR_PENDING) - INTR(1,atpic_intr1, IO_ICU1, ENABLE_ICU1,) - INTR(2,atpic_intr2, IO_ICU1, ENABLE_ICU1,) - INTR(3,atpic_intr3, IO_ICU1, ENABLE_ICU1,) - INTR(4,atpic_intr4, IO_ICU1, ENABLE_ICU1,) - INTR(5,atpic_intr5, IO_ICU1, ENABLE_ICU1,) - INTR(6,atpic_intr6, IO_ICU1, ENABLE_ICU1,) - INTR(7,atpic_intr7, IO_ICU1, ENABLE_ICU1,) - INTR(8,atpic_intr8, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(9,atpic_intr9, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(10,atpic_intr10, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(11,atpic_intr11, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(12,atpic_intr12, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(13,atpic_intr13, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(14,atpic_intr14, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(15,atpic_intr15, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(0, atpic_intr0) + INTR(1, atpic_intr1) + INTR(2, atpic_intr2) + INTR(3, atpic_intr3) + INTR(4, atpic_intr4) + INTR(5, atpic_intr5) + INTR(6, atpic_intr6) + INTR(7, atpic_intr7) + INTR(8, atpic_intr8) + INTR(9, atpic_intr9) + INTR(10, atpic_intr10) + INTR(11, atpic_intr11) + INTR(12, atpic_intr12) + INTR(13, atpic_intr13) + INTR(14, atpic_intr14) + INTR(15, atpic_intr15) MCOUNT_LABEL(eintr) ==== //depot/projects/netperf/sys/i386/isa/icu.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)icu.h 5.6 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/i386/isa/icu.h,v 1.28 2003/11/03 21:34:45 jhb Exp $ + * $FreeBSD: src/sys/i386/isa/icu.h,v 1.29 2003/11/12 18:13:57 jhb Exp $ */ /* @@ -104,7 +104,7 @@ #define HWI_MASK 0xffff /* bits for h/w interrupts */ #ifndef LOCORE -void atpic_sched_ithd(struct intrframe iframe); +void atpic_handle_intr(struct intrframe iframe); void atpic_startup(void); #endif ==== //depot/projects/netperf/sys/ia64/ia64/interrupt.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.41 2003/09/10 22:49:38 marcel Exp $ */ +/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.42 2003/11/12 01:26:02 marcel Exp $ */ /* $NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $ */ /* @@ -200,8 +200,12 @@ asts[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_AST, cpuid=%d", PCPU_GET(cpuid)); } else if (vector == ipi_vector[IPI_HIGH_FP]) { - if (PCPU_GET(fpcurthread) != NULL) - ia64_highfp_save(PCPU_GET(fpcurthread)); + struct thread *thr = PCPU_GET(fpcurthread); + if (thr != NULL) { + save_high_fp(&thr->td_pcb->pcb_high_fp); + thr->td_pcb->pcb_fpcpu = NULL; + PCPU_SET(fpcurthread, NULL); + } } else if (vector == ipi_vector[IPI_RENDEZVOUS]) { rdvs[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_RENDEZVOUS, cpuid=%d", PCPU_GET(cpuid)); ==== //depot/projects/netperf/sys/ia64/ia64/machdep.c#18 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 12 15:06:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 73E1B16A4CF; Wed, 12 Nov 2003 15:06:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8DC1D16A4D3 for ; Wed, 12 Nov 2003 15:06:48 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F299D43FDF for ; Wed, 12 Nov 2003 15:06:46 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACN6kXJ029786 for ; Wed, 12 Nov 2003 15:06:46 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACN6EBV029780 for perforce@freebsd.org; Wed, 12 Nov 2003 15:06:15 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Wed, 12 Nov 2003 15:06:15 -0800 (PST) Message-Id: <200311122306.hACN6EBV029780@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 42181 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 23:06:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=42181 Change 42181 by jhb@jhb_blue on 2003/11/12 15:05:25 IFC @42179. Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/autoconf.c#3 integrate .. //depot/projects/smpng/sys/conf/files#94 integrate .. //depot/projects/smpng/sys/crypto/rijndael/rijndael-api.c#1 branch .. //depot/projects/smpng/sys/crypto/rijndael/rijndael.c#2 delete .. //depot/projects/smpng/sys/dev/acpica/Osd/OsdInterrupt.c#9 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#8 integrate .. //depot/projects/smpng/sys/dev/aha/ahareg.h#3 integrate .. //depot/projects/smpng/sys/dev/drm/drm.h#5 integrate .. //depot/projects/smpng/sys/dev/drm/drmP.h#7 integrate .. //depot/projects/smpng/sys/dev/drm/drm_bufs.h#6 integrate .. //depot/projects/smpng/sys/dev/drm/drm_drv.h#13 integrate .. //depot/projects/smpng/sys/dev/drm/drm_fops.h#8 integrate .. //depot/projects/smpng/sys/dev/drm/drm_ioctl.h#6 integrate .. //depot/projects/smpng/sys/dev/drm/drm_irq.h#2 integrate .. //depot/projects/smpng/sys/dev/drm/drm_os_freebsd.h#13 integrate .. //depot/projects/smpng/sys/dev/drm/mga_dma.c#7 integrate .. //depot/projects/smpng/sys/dev/drm/r128_cce.c#7 integrate .. //depot/projects/smpng/sys/dev/drm/radeon.h#7 integrate .. //depot/projects/smpng/sys/dev/drm/radeon_cp.c#8 integrate .. //depot/projects/smpng/sys/dev/drm/radeon_drm.h#6 integrate .. //depot/projects/smpng/sys/dev/drm/radeon_drv.h#7 integrate .. //depot/projects/smpng/sys/dev/drm/radeon_state.c#7 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#29 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.h#2 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb.c#37 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#21 integrate .. //depot/projects/smpng/sys/dev/usb/ohci.c#26 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs.h#9 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vfsops.c#13 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vfsops.c#21 integrate .. //depot/projects/smpng/sys/geom/geom_ccd.c#8 integrate .. //depot/projects/smpng/sys/i386/i386/apic_vector.s#2 integrate .. //depot/projects/smpng/sys/i386/i386/genassym.c#27 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/smpng/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#58 integrate .. //depot/projects/smpng/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/smpng/sys/i386/include/clock.h#8 integrate .. //depot/projects/smpng/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/smpng/sys/i386/isa/atpic_vector.s#2 integrate .. //depot/projects/smpng/sys/i386/isa/icu.h#7 integrate .. //depot/projects/smpng/sys/ia64/ia64/interrupt.c#22 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#72 integrate .. //depot/projects/smpng/sys/ia64/ia64/trap.c#60 integrate .. //depot/projects/smpng/sys/ia64/include/md_var.h#13 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#35 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#63 integrate .. //depot/projects/smpng/sys/kern/kern_mac.c#32 integrate .. //depot/projects/smpng/sys/kern/kern_timeout.c#15 integrate .. //depot/projects/smpng/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#35 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#34 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#54 integrate .. //depot/projects/smpng/sys/kern/vfs_cluster.c#30 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#20 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#64 integrate .. //depot/projects/smpng/sys/net/bpfdesc.h#7 integrate .. //depot/projects/smpng/sys/net/if_var.h#19 integrate .. //depot/projects/smpng/sys/net/if_vlan.c#22 integrate .. //depot/projects/smpng/sys/netgraph/netgraph.h#6 integrate .. //depot/projects/smpng/sys/netgraph/ng_message.h#6 integrate .. //depot/projects/smpng/sys/netinet/ip_var.h#17 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#40 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#32 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#14 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#30 integrate .. //depot/projects/smpng/sys/security/mac/mac_internal.h#4 integrate .. //depot/projects/smpng/sys/security/mac/mac_label.c#1 branch .. //depot/projects/smpng/sys/security/mac/mac_net.c#5 integrate .. //depot/projects/smpng/sys/security/mac/mac_pipe.c#4 integrate .. //depot/projects/smpng/sys/security/mac/mac_process.c#4 integrate .. //depot/projects/smpng/sys/security/mac/mac_system.c#2 integrate .. //depot/projects/smpng/sys/security/mac/mac_vfs.c#4 integrate .. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#20 integrate .. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#15 integrate .. //depot/projects/smpng/sys/security/mac_mls/mac_mls.c#19 integrate .. //depot/projects/smpng/sys/security/mac_partition/mac_partition.c#5 integrate .. //depot/projects/smpng/sys/security/mac_test/mac_test.c#15 integrate .. //depot/projects/smpng/sys/sys/mac.h#20 integrate .. //depot/projects/smpng/sys/sys/mount.h#24 integrate .. //depot/projects/smpng/sys/sys/pipe.h#6 integrate .. //depot/projects/smpng/sys/sys/proc.h#105 integrate .. //depot/projects/smpng/sys/sys/socketvar.h#33 integrate .. //depot/projects/smpng/sys/sys/syscall.h#35 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#35 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#37 integrate .. //depot/projects/smpng/sys/sys/turnstile.h#1 branch .. //depot/projects/smpng/sys/sys/ucred.h#22 integrate .. //depot/projects/smpng/sys/sys/vnode.h#39 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#48 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/autoconf.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.174 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.175 2003/11/12 01:49:49 peter Exp $"); /* * Setup the system to run on the current machine. @@ -155,6 +155,8 @@ { cninit_finish(); + if (bootverbose) + printf("Device configuration finished.\n"); cold = 0; } ==== //depot/projects/smpng/sys/conf/files#94 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.848 2003/11/11 22:07:29 jhb Exp $ +# $FreeBSD: src/sys/conf/files,v 1.850 2003/11/12 04:22:36 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -207,7 +207,7 @@ crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec -crypto/rijndael/rijndael.c optional ipsec +crypto/rijndael/rijndael-api.c optional ipsec opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec @@ -1618,6 +1618,7 @@ posix4/p1003_1b.c standard posix4/posix4_mib.c standard kern/uipc_sem.c optional p1003_1b_semaphores +security/mac/mac_label.c optional mac security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_process.c optional mac ==== //depot/projects/smpng/sys/dev/acpica/Osd/OsdInterrupt.c#9 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.13 2003/11/11 18:12:12 jhb Exp $ + * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.15 2003/11/12 16:24:16 jhb Exp $ */ /* @@ -135,10 +135,12 @@ acpi_OverrideInterruptLevel(UINT32 InterruptNumber) { - if (InterruptOverride != 0) - return_ACPI_STATUS(AE_ALREADY_EXISTS); - InterruptOverride = InterruptNumber; - return_ACPI_STATUS(AE_OK); + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (InterruptOverride != 0) + return_ACPI_STATUS(AE_ALREADY_EXISTS); + InterruptOverride = InterruptNumber; + return_ACPI_STATUS(AE_OK); } /* ==== //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.7 2003/08/24 17:48:01 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.8 2003/11/12 19:46:17 jhb Exp $"); #include "opt_acpi.h" #include @@ -120,7 +120,7 @@ break; default: - printf("unkown,"); + printf("unknown,"); break; } @@ -134,7 +134,7 @@ break; default: - printf("unkown,"); + printf("unknown,"); break; } @@ -148,7 +148,7 @@ break; default: - printf("unkown"); + printf("unknown"); break; } ==== //depot/projects/smpng/sys/dev/aha/ahareg.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.15 2003/11/09 19:51:16 imp Exp $ + * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.16 2003/11/12 05:44:44 imp Exp $ */ #ifndef _AHAREG_H_ @@ -426,4 +426,4 @@ #define AHA1542_PNPCOMPAT 0xA000D040 /* PNP00A0 */ #define ICU0091_PNP 0X91005AA4 /* ICU0091 */ -#endif /* _AHA_H_ */ +#endif /* _AHAREG_H_ */ ==== //depot/projects/smpng/sys/dev/drm/drm.h#5 (text+ko) ==== @@ -1,6 +1,14 @@ -/* drm.h -- Header for Direct Rendering Manager -*- linux-c -*- - * Created: Mon Jan 4 10:05:05 1999 by faith@precisioninsight.com +/** + * \file drm.h + * Header for the Direct Rendering Manager + * + * \author Rickard E. (Rik) Faith * + * \par Acknowledgments: + * Dec 1999, Richard Henderson , move to generic \c cmpxchg. + */ + +/* * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All rights reserved. @@ -24,15 +32,10 @@ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * - * Authors: - * Rickard E. (Rik) Faith - * - * Acknowledgements: - * Dec 1999, Richard Henderson , move to generic cmpxchg. - * - * $FreeBSD: src/sys/dev/drm/drm.h,v 1.5 2003/10/24 01:48:16 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm.h,v 1.6 2003/11/12 20:56:30 anholt Exp $ */ + #ifndef _DRM_H_ #define _DRM_H_ @@ -79,29 +82,42 @@ #define DRM_DEV_GID 0 #endif -#define DRM_NAME "drm" /* Name in kernel, /dev, and /proc */ -#define DRM_MIN_ORDER 5 /* At least 2^5 bytes = 32 bytes */ -#define DRM_MAX_ORDER 22 /* Up to 2^22 bytes = 4MB */ -#define DRM_RAM_PERCENT 10 /* How much system ram can we lock? */ +#if CONFIG_XFREE86_VERSION >= XFREE86_VERSION(4,1,0,0) +#ifdef __OpenBSD__ +#define DRM_MAJOR 81 +#endif +#if defined(__linux__) || defined(__NetBSD__) +#define DRM_MAJOR 226 +#endif +#define DRM_MAX_MINOR 15 +#endif +#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */ +#define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */ +#define DRM_MAX_ORDER 22 /**< Up to 2^22 bytes = 4MB */ +#define DRM_RAM_PERCENT 10 /**< How much system ram can we lock? */ -#define _DRM_LOCK_HELD 0x80000000 /* Hardware lock is held */ -#define _DRM_LOCK_CONT 0x40000000 /* Hardware lock is contended */ +#define _DRM_LOCK_HELD 0x80000000 /**< Hardware lock is held */ +#define _DRM_LOCK_CONT 0x40000000 /**< Hardware lock is contended */ #define _DRM_LOCK_IS_HELD(lock) ((lock) & _DRM_LOCK_HELD) #define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT) #define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT)) + typedef unsigned long drm_handle_t; typedef unsigned int drm_context_t; typedef unsigned int drm_drawable_t; typedef unsigned int drm_magic_t; -/* Warning: If you change this structure, make sure you change - * XF86DRIClipRectRec in the server as well */ -/* KW: Actually it's illegal to change either for +/** + * Cliprect. + * + * \warning: If you change this structure, make sure you change + * XF86DRIClipRectRec in the server as well + * + * \note KW: Actually it's illegal to change either for * backwards-compatibility reasons. */ - typedef struct drm_clip_rect { unsigned short x1; unsigned short y1; @@ -109,6 +125,10 @@ unsigned short y2; } drm_clip_rect_t; + +/** + * Texture region, + */ typedef struct drm_tex_region { unsigned char next; unsigned char prev; @@ -117,32 +137,52 @@ unsigned int age; } drm_tex_region_t; + +/** + * DRM_IOCTL_VERSION ioctl argument type. + * + * \sa drmGetVersion(). + */ typedef struct drm_version { - int version_major; /* Major version */ - int version_minor; /* Minor version */ - int version_patchlevel;/* Patch level */ - size_t name_len; /* Length of name buffer */ - char *name; /* Name of driver */ - size_t date_len; /* Length of date buffer */ - char *date; /* User-space buffer to hold date */ - size_t desc_len; /* Length of desc buffer */ - char *desc; /* User-space buffer to hold desc */ + int version_major; /**< Major version */ + int version_minor; /**< Minor version */ + int version_patchlevel;/**< Patch level */ + size_t name_len; /**< Length of name buffer */ + char *name; /**< Name of driver */ + size_t date_len; /**< Length of date buffer */ + char *date; /**< User-space buffer to hold date */ + size_t desc_len; /**< Length of desc buffer */ + char *desc; /**< User-space buffer to hold desc */ } drm_version_t; + +/** + * DRM_IOCTL_GET_UNIQUE ioctl argument type. + * + * \sa drmGetBusid() and drmSetBusId(). + */ typedef struct drm_unique { - size_t unique_len; /* Length of unique */ - char *unique; /* Unique name for driver instantiation */ + size_t unique_len; /**< Length of unique */ + char *unique; /**< Unique name for driver instantiation */ } drm_unique_t; + typedef struct drm_list { - int count; /* Length of user-space structures */ + int count; /**< Length of user-space structures */ drm_version_t *version; } drm_list_t; + typedef struct drm_block { int unused; } drm_block_t; + +/** + * DRM_IOCTL_CONTROL ioctl argument type. + * + * \sa drmCtlInstHandler() and drmCtlUninstHandler(). + */ typedef struct drm_control { enum { DRM_ADD_COMMAND, @@ -153,49 +193,70 @@ int irq; } drm_control_t; + +/** + * Type of memory to map. + */ typedef enum drm_map_type { - _DRM_FRAME_BUFFER = 0, /* WC (no caching), no core dump */ - _DRM_REGISTERS = 1, /* no caching, no core dump */ - _DRM_SHM = 2, /* shared, cached */ - _DRM_AGP = 3, /* AGP/GART */ - _DRM_SCATTER_GATHER = 4 /* Scatter/gather memory for PCI DMA */ + _DRM_FRAME_BUFFER = 0, /**< WC (no caching), no core dump */ + _DRM_REGISTERS = 1, /**< no caching, no core dump */ + _DRM_SHM = 2, /**< shared, cached */ + _DRM_AGP = 3, /**< AGP/GART */ + _DRM_SCATTER_GATHER = 4 /**< Scatter/gather memory for PCI DMA */ } drm_map_type_t; + +/** + * Memory mapping flags. + */ typedef enum drm_map_flags { - _DRM_RESTRICTED = 0x01, /* Cannot be mapped to user-virtual */ + _DRM_RESTRICTED = 0x01, /**< Cannot be mapped to user-virtual */ _DRM_READ_ONLY = 0x02, - _DRM_LOCKED = 0x04, /* shared, cached, locked */ - _DRM_KERNEL = 0x08, /* kernel requires access */ - _DRM_WRITE_COMBINING = 0x10, /* use write-combining if available */ - _DRM_CONTAINS_LOCK = 0x20, /* SHM page that contains lock */ - _DRM_REMOVABLE = 0x40 /* Removable mapping */ + _DRM_LOCKED = 0x04, /**< shared, cached, locked */ + _DRM_KERNEL = 0x08, /**< kernel requires access */ + _DRM_WRITE_COMBINING = 0x10, /**< use write-combining if available */ + _DRM_CONTAINS_LOCK = 0x20, /**< SHM page that contains lock */ + _DRM_REMOVABLE = 0x40 /**< Removable mapping */ } drm_map_flags_t; + typedef struct drm_ctx_priv_map { - unsigned int ctx_id; /* Context requesting private mapping */ - void *handle; /* Handle of map */ + unsigned int ctx_id; /**< Context requesting private mapping */ + void *handle; /**< Handle of map */ } drm_ctx_priv_map_t; + +/** + * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls + * argument type. + * + * \sa drmAddMap(). + */ typedef struct drm_map { - unsigned long offset; /* Requested physical address (0 for SAREA)*/ - unsigned long size; /* Requested physical size (bytes) */ - drm_map_type_t type; /* Type of memory to map */ - drm_map_flags_t flags; /* Flags */ - void *handle; /* User-space: "Handle" to pass to mmap */ - /* Kernel-space: kernel-virtual address */ - int mtrr; /* MTRR slot used */ - /* Private data */ + unsigned long offset; /**< Requested physical address (0 for SAREA)*/ + unsigned long size; /**< Requested physical size (bytes) */ + drm_map_type_t type; /**< Type of memory to map */ + drm_map_flags_t flags; /**< Flags */ + void *handle; /**< User-space: "Handle" to pass to mmap() */ + /**< Kernel-space: kernel-virtual address */ + int mtrr; /**< MTRR slot used */ + /* Private data */ } drm_map_t; + +/** + * DRM_IOCTL_GET_CLIENT ioctl argument type. + */ typedef struct drm_client { - int idx; /* Which client desired? */ - int auth; /* Is client authenticated? */ - unsigned long pid; /* Process id */ - unsigned long uid; /* User id */ - unsigned long magic; /* Magic */ - unsigned long iocs; /* Ioctl count */ + int idx; /**< Which client desired? */ + int auth; /**< Is client authenticated? */ + unsigned long pid; /**< Process ID */ + unsigned long uid; /**< User ID */ + unsigned long magic; /**< Magic */ + unsigned long iocs; /**< Ioctl count */ } drm_client_t; + typedef enum { _DRM_STAT_LOCK, _DRM_STAT_OPENS, @@ -203,20 +264,24 @@ _DRM_STAT_IOCTLS, _DRM_STAT_LOCKS, _DRM_STAT_UNLOCKS, - _DRM_STAT_VALUE, /* Generic value */ - _DRM_STAT_BYTE, /* Generic byte counter (1024bytes/K) */ - _DRM_STAT_COUNT, /* Generic non-byte counter (1000/k) */ + _DRM_STAT_VALUE, /**< Generic value */ + _DRM_STAT_BYTE, /**< Generic byte counter (1024bytes/K) */ + _DRM_STAT_COUNT, /**< Generic non-byte counter (1000/k) */ - _DRM_STAT_IRQ, /* IRQ */ - _DRM_STAT_PRIMARY, /* Primary DMA bytes */ - _DRM_STAT_SECONDARY, /* Secondary DMA bytes */ - _DRM_STAT_DMA, /* DMA */ - _DRM_STAT_SPECIAL, /* Special DMA (e.g., priority or polled) */ - _DRM_STAT_MISSED /* Missed DMA opportunity */ + _DRM_STAT_IRQ, /**< IRQ */ + _DRM_STAT_PRIMARY, /**< Primary DMA bytes */ + _DRM_STAT_SECONDARY, /**< Secondary DMA bytes */ + _DRM_STAT_DMA, /**< DMA */ + _DRM_STAT_SPECIAL, /**< Special DMA (e.g., priority or polled) */ + _DRM_STAT_MISSED /**< Missed DMA opportunity */ /* Add to the *END* of the list */ } drm_stat_type_t; + +/** + * DRM_IOCTL_GET_STATS ioctl argument type. + */ typedef struct drm_stats { unsigned long count; struct { @@ -225,137 +290,220 @@ } data[15]; } drm_stats_t; + +/** + * Hardware locking flags. + */ typedef enum drm_lock_flags { - _DRM_LOCK_READY = 0x01, /* Wait until hardware is ready for DMA */ - _DRM_LOCK_QUIESCENT = 0x02, /* Wait until hardware quiescent */ - _DRM_LOCK_FLUSH = 0x04, /* Flush this context's DMA queue first */ - _DRM_LOCK_FLUSH_ALL = 0x08, /* Flush all DMA queues first */ + _DRM_LOCK_READY = 0x01, /**< Wait until hardware is ready for DMA */ + _DRM_LOCK_QUIESCENT = 0x02, /**< Wait until hardware quiescent */ + _DRM_LOCK_FLUSH = 0x04, /**< Flush this context's DMA queue first */ + _DRM_LOCK_FLUSH_ALL = 0x08, /**< Flush all DMA queues first */ /* These *HALT* flags aren't supported yet -- they will be used to support the full-screen DGA-like mode. */ - _DRM_HALT_ALL_QUEUES = 0x10, /* Halt all current and future queues */ - _DRM_HALT_CUR_QUEUES = 0x20 /* Halt all current queues */ + _DRM_HALT_ALL_QUEUES = 0x10, /**< Halt all current and future queues */ + _DRM_HALT_CUR_QUEUES = 0x20 /**< Halt all current queues */ } drm_lock_flags_t; + +/** + * DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type. + * + * \sa drmGetLock() and drmUnlock(). + */ typedef struct drm_lock { int context; drm_lock_flags_t flags; } drm_lock_t; -typedef enum drm_dma_flags { /* These values *MUST* match xf86drm.h */ - /* Flags for DMA buffer dispatch */ - _DRM_DMA_BLOCK = 0x01, /* Block until buffer dispatched. - Note, the buffer may not yet have - been processed by the hardware -- - getting a hardware lock with the - hardware quiescent will ensure - that the buffer has been - processed. */ - _DRM_DMA_WHILE_LOCKED = 0x02, /* Dispatch while lock held */ - _DRM_DMA_PRIORITY = 0x04, /* High priority dispatch */ + +/** + * DMA flags + * + * \warning + * These values \e must match xf86drm.h. + * + * \sa drm_dma. + */ +typedef enum drm_dma_flags { + /* Flags for DMA buffer dispatch */ + _DRM_DMA_BLOCK = 0x01, /**< + * Block until buffer dispatched. + * + * \note The buffer may not yet have + * been processed by the hardware -- + * getting a hardware lock with the + * hardware quiescent will ensure + * that the buffer has been + * processed. + */ + _DRM_DMA_WHILE_LOCKED = 0x02, /**< Dispatch while lock held */ + _DRM_DMA_PRIORITY = 0x04, /**< High priority dispatch */ - /* Flags for DMA buffer request */ - _DRM_DMA_WAIT = 0x10, /* Wait for free buffers */ - _DRM_DMA_SMALLER_OK = 0x20, /* Smaller-than-requested buffers ok */ - _DRM_DMA_LARGER_OK = 0x40 /* Larger-than-requested buffers ok */ + /* Flags for DMA buffer request */ + _DRM_DMA_WAIT = 0x10, /**< Wait for free buffers */ + _DRM_DMA_SMALLER_OK = 0x20, /**< Smaller-than-requested buffers OK */ + _DRM_DMA_LARGER_OK = 0x40 /**< Larger-than-requested buffers OK */ } drm_dma_flags_t; + +/** + * DRM_IOCTL_ADD_BUFS and DRM_IOCTL_MARK_BUFS ioctl argument type. + * + * \sa drmAddBufs(). + */ typedef struct drm_buf_desc { - int count; /* Number of buffers of this size */ - int size; /* Size in bytes */ - int low_mark; /* Low water mark */ - int high_mark; /* High water mark */ + int count; /**< Number of buffers of this size */ + int size; /**< Size in bytes */ + int low_mark; /**< Low water mark */ + int high_mark; /**< High water mark */ enum { - _DRM_PAGE_ALIGN = 0x01, /* Align on page boundaries for DMA */ - _DRM_AGP_BUFFER = 0x02, /* Buffer is in agp space */ - _DRM_SG_BUFFER = 0x04 /* Scatter/gather memory buffer */ + _DRM_PAGE_ALIGN = 0x01, /**< Align on page boundaries for DMA */ + _DRM_AGP_BUFFER = 0x02, /**< Buffer is in AGP space */ + _DRM_SG_BUFFER = 0x04 /**< Scatter/gather memory buffer */ } flags; - unsigned long agp_start; /* Start address of where the agp buffers - * are in the agp aperture */ + unsigned long agp_start; /**< + * Start address of where the AGP buffers are + * in the AGP aperture + */ } drm_buf_desc_t; + +/** + * DRM_IOCTL_INFO_BUFS ioctl argument type. + */ typedef struct drm_buf_info { - int count; /* Entries in list */ + int count; /**< Entries in list */ drm_buf_desc_t *list; } drm_buf_info_t; + +/** + * DRM_IOCTL_FREE_BUFS ioctl argument type. + */ typedef struct drm_buf_free { int count; int *list; } drm_buf_free_t; + +/** + * Buffer information + * + * \sa drm_buf_map. + */ typedef struct drm_buf_pub { - int idx; /* Index into master buflist */ - int total; /* Buffer size */ - int used; /* Amount of buffer in use (for DMA) */ - void *address; /* Address of buffer */ + int idx; /**< Index into the master buffer list */ + int total; /**< Buffer size */ + int used; /**< Amount of buffer in use (for DMA) */ + void *address; /**< Address of buffer */ } drm_buf_pub_t; + +/** + * DRM_IOCTL_MAP_BUFS ioctl argument type. + */ typedef struct drm_buf_map { - int count; /* Length of buflist */ - void *virtual; /* Mmaped area in user-virtual */ - drm_buf_pub_t *list; /* Buffer information */ + int count; /**< Length of the buffer list */ + void *virtual; /**< Mmap'd area in user-virtual */ + drm_buf_pub_t *list; /**< Buffer information */ } drm_buf_map_t; + +/** + * DRM_IOCTL_DMA ioctl argument type. + * + * Indices here refer to the offset into the buffer list in drm_buf_get. + * + * \sa drmDMA(). + */ typedef struct drm_dma { - /* Indices here refer to the offset into - buflist in drm_buf_get_t. */ - int context; /* Context handle */ - int send_count; /* Number of buffers to send */ - int *send_indices; /* List of handles to buffers */ - int *send_sizes; /* Lengths of data to send */ - drm_dma_flags_t flags; /* Flags */ - int request_count; /* Number of buffers requested */ - int request_size; /* Desired size for buffers */ - int *request_indices; /* Buffer information */ + int context; /**< Context handle */ + int send_count; /**< Number of buffers to send */ + int *send_indices; /**< List of handles to buffers */ + int *send_sizes; /**< Lengths of data to send */ + drm_dma_flags_t flags; /**< Flags */ + int request_count; /**< Number of buffers requested */ + int request_size; /**< Desired size for buffers */ + int *request_indices; /**< Buffer information */ int *request_sizes; - int granted_count; /* Number of buffers granted */ + int granted_count; /**< Number of buffers granted */ } drm_dma_t; + typedef enum { _DRM_CONTEXT_PRESERVED = 0x01, _DRM_CONTEXT_2DONLY = 0x02 } drm_ctx_flags_t; + +/** + * DRM_IOCTL_ADD_CTX ioctl argument type. + * + * \sa drmCreateContext() and drmDestroyContext(). + */ typedef struct drm_ctx { drm_context_t handle; drm_ctx_flags_t flags; } drm_ctx_t; + +/** + * DRM_IOCTL_RES_CTX ioctl argument type. + */ typedef struct drm_ctx_res { int count; drm_ctx_t *contexts; } drm_ctx_res_t; + +/** + * DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type. + */ typedef struct drm_draw { drm_drawable_t handle; } drm_draw_t; + +/** + * DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type. + */ typedef struct drm_auth { drm_magic_t magic; } drm_auth_t; + +/** + * DRM_IOCTL_IRQ_BUSID ioctl argument type. + * + * \sa drmGetInterruptFromBusID(). + */ typedef struct drm_irq_busid { - int irq; - int busnum; - int devnum; - int funcnum; + int irq; /**< IRQ number */ + int busnum; /**< bus number */ + int devnum; /**< device number */ + int funcnum; /**< function number */ } drm_irq_busid_t; + typedef enum { - _DRM_VBLANK_ABSOLUTE = 0x0, /* Wait for specific vblank sequence number */ - _DRM_VBLANK_RELATIVE = 0x1, /* Wait for given number of vblanks */ - _DRM_VBLANK_SIGNAL = 0x40000000 /* Send signal instead of blocking */ + _DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */ + _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */ + _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking */ } drm_vblank_seq_type_t; + #define _DRM_VBLANK_FLAGS_MASK _DRM_VBLANK_SIGNAL + struct drm_wait_vblank_request { drm_vblank_seq_type_t type; unsigned int sequence; unsigned long signal; }; + struct drm_wait_vblank_reply { drm_vblank_seq_type_t type; unsigned int sequence; @@ -363,29 +511,59 @@ long tval_usec; }; + +/** + * DRM_IOCTL_WAIT_VBLANK ioctl argument type. + * + * \sa drmWaitVBlank(). + */ typedef union drm_wait_vblank { struct drm_wait_vblank_request request; struct drm_wait_vblank_reply reply; } drm_wait_vblank_t; + +/** + * DRM_IOCTL_AGP_ENABLE ioctl argument type. + * + * \sa drmAgpEnable(). + */ typedef struct drm_agp_mode { - unsigned long mode; + unsigned long mode; /**< AGP mode */ } drm_agp_mode_t; - /* For drm_agp_alloc -- allocated a buffer */ + +/** + * DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type. + * + * \sa drmAgpAlloc() and drmAgpFree(). + */ typedef struct drm_agp_buffer { - unsigned long size; /* In bytes -- will round to page boundary */ - unsigned long handle; /* Used for BIND/UNBIND ioctls */ - unsigned long type; /* Type of memory to allocate */ - unsigned long physical; /* Physical used by i810 */ + unsigned long size; /**< In bytes -- will round to page boundary */ + unsigned long handle; /**< Used for binding / unbinding */ + unsigned long type; /**< Type of memory to allocate */ + unsigned long physical; /**< Physical used by i810 */ } drm_agp_buffer_t; - /* For drm_agp_bind */ + +/** + * DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type. + * + * \sa drmAgpBind() and drmAgpUnbind(). + */ typedef struct drm_agp_binding { - unsigned long handle; /* From drm_agp_buffer */ - unsigned long offset; /* In bytes -- will round to page boundary */ + unsigned long handle; /**< From drm_agp_buffer */ + unsigned long offset; /**< In bytes -- will round to page boundary */ } drm_agp_binding_t; + +/** + * DRM_IOCTL_AGP_INFO ioctl argument type. + * + * \sa drmAgpVersionMajor(), drmAgpVersionMinor(), drmAgpGetMode(), + * drmAgpBase(), drmAgpSize(), drmAgpMemoryUsed(), drmAgpMemoryAvail(), + * drmAgpVendorId() and drmAgpDeviceId(). + */ typedef struct drm_agp_info { int agp_version_major; int agp_version_minor; @@ -400,11 +578,18 @@ unsigned short id_device; } drm_agp_info_t; + +/** + * DRM_IOCTL_SG_ALLOC ioctl argument type. + */ typedef struct drm_scatter_gather { - unsigned long size; /* In bytes -- will round to page boundary */ - unsigned long handle; /* Used for mapping / unmapping */ + unsigned long size; /**< In bytes -- will round to page boundary */ + unsigned long handle; /**< Used for mapping / unmapping */ } drm_scatter_gather_t; +/** + * DRM_IOCTL_SET_VERSION ioctl argument type. + */ typedef struct drm_set_version { int drm_di_major; int drm_di_minor; @@ -412,6 +597,7 @@ int drm_dd_minor; } drm_set_version_t; + #define DRM_IOCTL_BASE 'd' #define DRM_IO(nr) _IO(DRM_IOCTL_BASE,nr) #define DRM_IOR(nr,type) _IOR(DRM_IOCTL_BASE,nr,type) @@ -472,8 +658,13 @@ #define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, drm_wait_vblank_t) -/* Device specfic ioctls should only be in their respective headers - * The device specific ioctl range is 0x40 to 0x79. */ +/** + * Device specific ioctls should only be in their respective headers + * The device specific ioctl range is from 0x40 to 0x79. + * + * \sa drmCommandNone(), drmCommandRead(), drmCommandWrite(), and + * drmCommandReadWrite(). + */ #define DRM_COMMAND_BASE 0x40 #endif ==== //depot/projects/smpng/sys/dev/drm/drmP.h#7 (text+ko) ==== @@ -28,7 +28,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.7 2003/10/24 01:48:16 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.8 2003/11/12 20:56:30 anholt Exp $ */ #ifndef _DRM_P_H_ @@ -119,6 +119,8 @@ #define DRM_MIN(a,b) ((a)<(b)?(a):(b)) #define DRM_MAX(a,b) ((a)>(b)?(a):(b)) +#define DRM_IF_VERSION(maj, min) (maj << 16 | min) + #define DRM_GET_PRIV_SAREA(_dev, _ctx, _map) do { \ (_map) = (_dev)->context_sareas[_ctx]; \ } while(0) @@ -211,6 +213,9 @@ drm_magic_t magic; unsigned long ioctl_count; struct drm_device *devXX; +#ifdef DRIVER_FILE_FIELDS + DRIVER_FILE_FIELDS; +#endif }; typedef struct drm_lock_data { @@ -314,6 +319,7 @@ device_t device; /* Device instance from newbus */ #endif dev_t devnode; /* Device number for mknod */ + int if_version; /* Highest interface version set */ int flags; /* Flags to open(2) */ @@ -330,7 +336,6 @@ /* Usage Counters */ int open_count; /* Outstanding files open */ int buf_use; /* Buffers in use -- cannot alloc */ - int buf_alloc; /* Buffer allocation in progress */ /* Performance counters */ unsigned long counters; @@ -354,14 +359,21 @@ /* Context support */ int irq; /* Interrupt used by board */ - int irqrid; /* Interrupt used by board */ + int irq_enabled; /* True if the irq handler is enabled */ #ifdef __FreeBSD__ + int irqrid; /* Interrupt used by board */ struct resource *irqr; /* Resource for interrupt used by board */ #elif defined(__NetBSD__) struct pci_attach_args pa; pci_intr_handle_t ih; #endif void *irqh; /* Handle from bus_setup_intr */ + + int pci_domain; + int pci_bus; + int pci_slot; + int pci_func; + atomic_t context_flag; /* Context swapping flag */ int last_context; /* Last current context */ #if __FreeBSD_version >= 400005 @@ -444,7 +456,7 @@ #if __HAVE_IRQ /* IRQ support (drm_irq.h) */ -extern int DRM(irq_install)( drm_device_t *dev, int irq ); +extern int DRM(irq_install)(drm_device_t *dev); extern int DRM(irq_uninstall)( drm_device_t *dev ); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 12 15:09:44 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47F7316A4D0; Wed, 12 Nov 2003 15:09:44 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1F9B016A4CE for ; Wed, 12 Nov 2003 15:09:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8CE4F43FBD for ; Wed, 12 Nov 2003 15:09:43 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACN9ZXJ029922 for ; Wed, 12 Nov 2003 15:09:35 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACN90cb029908 for perforce@freebsd.org; Wed, 12 Nov 2003 15:09:00 -0800 (PST) (envelope-from jhb@freebsd.org) Date: Wed, 12 Nov 2003 15:09:00 -0800 (PST) Message-Id: <200311122309.hACN90cb029908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 42184 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 23:09:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=42184 Change 42184 by jhb@jhb_blue on 2003/11/12 15:07:05 IFC @42183. Affected files ... .. //depot/projects/smpng/sys/pci/if_sk.c#24 integrate .. //depot/projects/smpng/sys/pci/if_skreg.h#4 integrate Differences ... ==== //depot/projects/smpng/sys/pci/if_sk.c#24 (text+ko) ==== @@ -85,7 +85,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.67 2003/11/07 22:04:26 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.68 2003/11/12 23:01:15 wilko Exp $"); #include #include @@ -137,7 +137,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/pci/if_sk.c,v 1.67 2003/11/07 22:04:26 peter Exp $"; + "$FreeBSD: src/sys/pci/if_sk.c,v 1.68 2003/11/12 23:01:15 wilko Exp $"; #endif static struct sk_type sk_devs[] = { @@ -152,6 +152,11 @@ "SysKonnect Gigabit Ethernet (V2.0)" }, { + VENDORID_MARVELL, + DEVICEID_SK_V2, + "Marvell Gigabit Ethernet" + }, + { VENDORID_3COM, DEVICEID_3COM_3C940, "3Com 3C940 Gigabit Ethernet" ==== //depot/projects/smpng/sys/pci/if_skreg.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_skreg.h,v 1.17 2003/11/07 22:04:26 peter Exp $ + * $FreeBSD: src/sys/pci/if_skreg.h,v 1.18 2003/11/12 23:01:15 wilko Exp $ */ /* @@ -60,6 +60,11 @@ #define VENDORID_SK 0x1148 /* + * Marvell PCI vendor ID + */ +#define VENDORID_MARVELL 0x11AB + +/* * SK-NET gigabit ethernet device IDs */ #define DEVICEID_SK_V1 0x4300 From owner-p4-projects@FreeBSD.ORG Wed Nov 12 15:16:48 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38CE216A4D0; Wed, 12 Nov 2003 15:16:48 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1414916A4CE for ; Wed, 12 Nov 2003 15:16:48 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7999443FE1 for ; Wed, 12 Nov 2003 15:16:47 -0800 (PST) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hACNGgXJ030170 for ; Wed, 12 Nov 2003 15:16:42 -0800 (PST) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hACNGSwe030163 for perforce@freebsd.org; Wed, 12 Nov 2003 15:16:28 -0800 (PST) (envelope-from cvance@nailabs.com) Date: Wed, 12 Nov 2003 15:16:28 -0800 (PST) Message-Id: <200311122316.hACNGSwe030163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 42185 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 23:16:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=42185 Change 42185 by cvance@cvance_osx_laptop on 2003/11/12 15:15:34 Initialize the hfs mount point extattr structure Fix a couple bugs, add some debugging. HFS extattrs now auto-initialize (or seem to, at least). Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vfsops.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.c#3 (text+ko) ==== @@ -126,6 +126,23 @@ /* + * Initialize per-FS structures supporting extended attributes. Do not + * start extended attributes yet. + */ +void +hfs_extattr_uepm_init(struct hfs_extattr_per_mount *uepm) +{ + + uepm->uepm_flags = 0; + + LIST_INIT(&uepm->uepm_list); + /* XXX is PVFS right, here? */ + lockinit(&uepm->uepm_lock, PVFS, "extattr", 0, 0); + uepm->uepm_flags |= HFS_EXTATTR_UEPM_INITIALIZED; +} + + +/* * Destroy per-FS structures supporting extended attributes. Assumes * that EAs have already been stopped, and will panic if not. */ @@ -194,6 +211,7 @@ struct vnode *target_vp; int error; + printf("hfs_extattr_lookup: called with dirname=%s\n", dirname); bzero(&cnp, sizeof(cnp)); cnp.cn_nameiop = LOOKUP; cnp.cn_flags = ISLASTCN; @@ -233,9 +251,11 @@ * Check that hfs_lookup() didn't release the lock when we * didn't want it to. */ + /* if (lockparent == UE_GETDIR_LOCKPARENT) panic("hfs_extattr_lookup: lockparent but PDIRUNLOCK"); - + */ + printf("hfs_extattr_lookup: hfs_lookup failed with error %d\n", error); return (error); } /* @@ -243,14 +263,16 @@ panic("hfs_extattr_lookup: target_vp == start_dvp"); */ +/* if (target_vp != start_dvp && (lockparent == UE_GETDIR_LOCKPARENT_DONT)) panic("hfs_extattr_lookup: !lockparent but !PDIRUNLOCK"); if (lockparent == UE_GETDIR_LOCKPARENT) panic("hfs_extattr_lookup: lockparent but PDIRUNLOCK"); +*/ - /* printf("hfs_extattr_lookup: success\n"); */ + printf("hfs_extattr_lookup: success, vp=%x\n", vp); *vp = target_vp; return (0); } ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vfsops.c#3 (text+ko) ==== @@ -1147,7 +1147,9 @@ mp->mnt_stat.f_fsid.val[1] = mp->mnt_vfc->vfc_typenum; mp->mnt_maxsymlinklen = 0; devvp->v_specflags |= SI_MOUNTEDON; - +#ifdef HFS_EXTATTR + hfs_extattr_uepm_init(&hfsmp->hfs_extattr); +#endif if (ronly == 0) { (void) hfs_flushvolumeheader(hfsmp, MNT_WAIT, 0); } From owner-p4-projects@FreeBSD.ORG Wed Nov 12 16:37:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C3CA16A4D0; Wed, 12 Nov 2003 16:37:40 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D989B16A4CE for ; Wed, 12 Nov 2003 16:37:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 472ED43FA3 for ; Wed, 12 Nov 2003 16:37:39 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD0bcXJ035376 for ; Wed, 12 Nov 2003 16:37:38 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD0bcgr035373 for perforce@freebsd.org; Wed, 12 Nov 2003 16:37:38 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 16:37:38 -0800 (PST) Message-Id: <200311130037.hAD0bcgr035373@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 00:37:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=42196 Change 42196 by sam@sam_ebb on 2003/11/12 16:37:12 remove kttcp kernel module; it's now with the tool Affected files ... .. //depot/projects/netperf/sys/dev/kttcp/kttcp.c#3 delete .. //depot/projects/netperf/sys/dev/kttcp/kttcpio.h#2 delete .. //depot/projects/netperf/sys/modules/Makefile#11 edit .. //depot/projects/netperf/sys/modules/kttcp/Makefile#2 delete Differences ... ==== //depot/projects/netperf/sys/modules/Makefile#11 (text+ko) ==== @@ -65,7 +65,6 @@ isp \ ispfw \ joy \ - kttcp \ kue \ lge \ libiconv \ From owner-p4-projects@FreeBSD.ORG Wed Nov 12 16:43:49 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 95B4B16A4D0; Wed, 12 Nov 2003 16:43:49 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7040016A4CE for ; Wed, 12 Nov 2003 16:43:49 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C9DA43F3F for ; Wed, 12 Nov 2003 16:43:48 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD0hmXJ035710 for ; Wed, 12 Nov 2003 16:43:48 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD0hlUC035707 for perforce@freebsd.org; Wed, 12 Nov 2003 16:43:47 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 12 Nov 2003 16:43:47 -0800 (PST) Message-Id: <200311130043.hAD0hlUC035707@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 00:43:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=42198 Change 42198 by peter@peter_daintree on 2003/11/12 16:43:01 integ -I -b smp_hammer. Gah, conflict city. I guess jhb has been waiting to pay me back for committing Bosko's tlb fixes :-) Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#4 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#8 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#17 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#19 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#28 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#10 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic.c#18 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#5 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#4 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.91 2003/11/03 21:53:36 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.92 2003/11/12 18:13:57 jhb Exp $ */ /* ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.1 2003/11/03 21:25:52 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.2 2003/11/12 18:13:57 jhb Exp $ */ /* @@ -49,6 +49,7 @@ #include #include #include +#include #include #ifdef DDB #include @@ -152,10 +153,14 @@ void intr_execute_handlers(struct intsrc *isrc, struct intrframe *iframe) { + struct thread *td; struct ithd *it; struct intrhand *ih; int error, vector; + td = curthread; + td->td_intr_nesting_level++; + /* * We count software interrupts when we process them. The * code here follows previous practice, but there's an @@ -165,18 +170,25 @@ atomic_add_long(isrc->is_count, 1); atomic_add_int(&cnt.v_intr, 1); + it = isrc->is_ithread; + ih = TAILQ_FIRST(&it->it_handlers); + /* - * Execute fast interrupt handlers directly. - * To support clock handlers, if a handler registers - * with a NULL argument, then we pass it a pointer to - * a trapframe as its argument. + * XXX: We assume that IRQ 0 is only used for the ISA timer + * device (clk). */ - it = isrc->is_ithread; - ih = TAILQ_FIRST(&it->it_handlers); + vector = isrc->is_pic->pic_vector(isrc); + if (vector == 0) + clkintr_pending = 1; + critical_enter(); - if (ih == NULL) - error = EINVAL; - else if (ih->ih_flags & IH_FAST) { + if (ih != NULL && ih->ih_flags & IH_FAST) { + /* + * Execute fast interrupt handlers directly. + * To support clock handlers, if a handler registers + * with a NULL argument, then we pass it a pointer to + * a trapframe as its argument. + */ TAILQ_FOREACH(ih, &it->it_handlers, ih_next) { MPASS(ih->ih_flags & IH_FAST); CTR3(KTR_INTR, "%s: executing handler %p(%p)", @@ -188,13 +200,22 @@ else ih->ih_handler(ih->ih_argument); } - isrc->is_pic->pic_enable_source(isrc); + isrc->is_pic->pic_eoi_source(isrc); error = 0; - } else - error = ithread_schedule(it, !cold); + } else { + /* + * For stray and threaded interrupts, we mask and EOI the + * source. + */ + isrc->is_pic->pic_disable_source(isrc); + isrc->is_pic->pic_eoi_source(isrc); + if (ih == NULL) + error = EINVAL; + else + error = ithread_schedule(it, !cold); + } critical_exit(); if (error == EINVAL) { - vector = isrc->is_pic->pic_vector(isrc); atomic_add_long(isrc->is_straycount, 1); if (*isrc->is_straycount < MAX_STRAY_LOG) log(LOG_ERR, "stray irq%d\n", vector); @@ -203,6 +224,7 @@ "too many stray irq %d's: not logging anymore\n", vector); } + td->td_intr_nesting_level--; } void ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#17 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.5 2003/11/07 23:44:35 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.6 2003/11/12 18:13:57 jhb Exp $"); #include "opt_isa.h" #include "opt_mixed_mode.h" @@ -201,8 +201,7 @@ ioapic_eoi_source(struct intsrc *isrc) { - TODO; - /* lapic_eoi(); */ + lapic_eoi(); } /* ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#19 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.1 2003/11/03 21:53:36 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.2 2003/11/12 18:13:57 jhb Exp $"); #include #include @@ -466,20 +466,22 @@ } void +lapic_eoi(void) +{ + + lapic->eoi = 0; +} + +void lapic_handle_intr(void *cookie, struct intrframe frame) { struct intsrc *isrc; - struct thread *td = curthread; int vec = (uintptr_t)cookie; - td->td_intr_nesting_level++; if (vec == -1) panic("Couldn't get vector from ISR!"); isrc = intr_lookup_source(apic_idt_to_irq(vec)); - isrc->is_pic->pic_disable_source(isrc); - lapic->eoi = 0; intr_execute_handlers(isrc, &frame); - td->td_intr_nesting_level--; } /* Translate between IDT vectors and IRQ vectors. */ ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#28 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.223 2003/11/11 17:16:15 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.224 2003/11/12 18:13:57 jhb Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -781,10 +781,11 @@ void forwarded_statclock(struct clockframe frame) { - struct thread *td = curthread; + struct thread *td; + CTR0(KTR_SMP, "forwarded_statclock"); + td = curthread; td->td_intr_nesting_level++; - CTR0(KTR_SMP, "forwarded_statclock"); if (profprocs != 0) profclock(&frame); if (pscnt == psdiv) @@ -817,10 +818,11 @@ void forwarded_hardclock(struct clockframe frame) { - struct thread *td = curthread; + struct thread *td; + CTR0(KTR_SMP, "forwarded_hardclock"); + td = curthread; td->td_intr_nesting_level++; - CTR0(KTR_SMP, "forwarded_hardclock"); hardclock_process(&frame); td->td_intr_nesting_level--; } ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#10 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.1 2003/11/03 21:53:38 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.2 2003/11/12 18:13:57 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -149,6 +149,7 @@ void lapic_disable(void); void lapic_dump(const char *str); void lapic_enable_intr(u_int vector); +void lapic_eoi(void); int lapic_id(void); void lapic_init(uintptr_t addr); int lapic_intr_pending(u_int vector); ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#18 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.2 2003/11/04 13:13:04 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.3 2003/11/12 18:13:57 jhb Exp $"); #include "opt_isa.h" @@ -169,6 +169,10 @@ mtx_unlock_spin(&icu_lock); } +/* + * The data sheet says no auto-EOI on slave, but it sometimes works. + * So, if AUTO_EOI_2 is enabled, we use it. + */ static void atpic_eoi_slave(struct intsrc *isrc) { @@ -293,17 +297,14 @@ SYSINIT(atpic_init, SI_SUB_INTR, SI_ORDER_SECOND + 1, atpic_init, NULL) void -atpic_sched_ithd(void *cookie, struct intrframe iframe) +atpic_handle_intr(void *cookie, struct intrframe iframe) { struct intsrc *isrc; - struct thread *td = curthread; int vec = (uintptr_t)cookie; KASSERT(vec < ICU_LEN, ("unknown int %d\n", vec)); - td->td_intr_nesting_level++; isrc = &atintrs[vec].at_intsrc; intr_execute_handlers(isrc, &iframe); - td->td_intr_nesting_level--; } #ifdef DEV_ISA ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#5 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.38 2003/11/03 21:34:45 jhb Exp $ + * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.39 2003/11/12 18:13:57 jhb Exp $ */ /* @@ -46,29 +46,10 @@ #include "assym.s" -#define IRQ_BIT(irq_num) (1 << ((irq_num) % 8)) -#define IRQ_BYTE(irq_num) ((irq_num) >> 3) - -#define ENABLE_ICU1 \ - movb $ICU_EOI,%al ; /* as soon as possible send EOI ... */ \ - outb %al,$IO_ICU1 /* ... to clear in service bit */ - -#define ENABLE_ICU1_AND_2 \ - movb $ICU_EOI,%al ; /* as above */ \ - outb %al,$IO_ICU2 ; /* but do second icu first ... */ \ - outb %al,$IO_ICU1 /* ... then first icu */ - /* * Macros for interrupt interrupt entry, call to handler, and exit. - * - * XXX Most of the parameters here are obsolete. Fix this when we're - * done. - * XXX we really shouldn't return via doreti if we just schedule the - * interrupt handler and don't run anything. We could just do an - * iret. FIXME. - * XXX move the mask, EOI and td_intr_nesting_level frobbing into C code. */ -#define INTR(irq_num, vec_name, icu, enable_icus, maybe_extra_ipending) \ +#define INTR(irq_num, vec_name) \ .text ; \ SUPERALIGN_TEXT ; \ IDTVEC(vec_name) ; \ @@ -91,12 +72,6 @@ movq %r13,TF_R13(%rsp) ; \ movq %r14,TF_R14(%rsp) ; \ movq %r15,TF_R15(%rsp) ; \ - maybe_extra_ipending ; \ - movb imen + IRQ_BYTE(irq_num),%al ; \ - orb $IRQ_BIT(irq_num),%al ; \ - movb %al,imen + IRQ_BYTE(irq_num) ; \ - outb %al,$icu+ICU_IMR_OFFSET ; \ - enable_icus ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ movq $irq_num, %rdi; /* pass the IRQ */ \ call atpic_sched_ithd ; \ @@ -104,22 +79,20 @@ jmp doreti MCOUNT_LABEL(bintr) -#define CLKINTR_PENDING movl $1,CNAME(clkintr_pending) -/* Threaded interrupts */ - INTR(0,atpic_intr0, IO_ICU1, ENABLE_ICU1, CLKINTR_PENDING) - INTR(1,atpic_intr1, IO_ICU1, ENABLE_ICU1,) - INTR(2,atpic_intr2, IO_ICU1, ENABLE_ICU1,) - INTR(3,atpic_intr3, IO_ICU1, ENABLE_ICU1,) - INTR(4,atpic_intr4, IO_ICU1, ENABLE_ICU1,) - INTR(5,atpic_intr5, IO_ICU1, ENABLE_ICU1,) - INTR(6,atpic_intr6, IO_ICU1, ENABLE_ICU1,) - INTR(7,atpic_intr7, IO_ICU1, ENABLE_ICU1,) - INTR(8,atpic_intr8, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(9,atpic_intr9, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(10,atpic_intr10, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(11,atpic_intr11, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(12,atpic_intr12, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(13,atpic_intr13, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(14,atpic_intr14, IO_ICU2, ENABLE_ICU1_AND_2,) - INTR(15,atpic_intr15, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(0, atpic_intr0) + INTR(1, atpic_intr1) + INTR(2, atpic_intr2) + INTR(3, atpic_intr3) + INTR(4, atpic_intr4) + INTR(5, atpic_intr5) + INTR(6, atpic_intr6) + INTR(7, atpic_intr7) + INTR(8, atpic_intr8) + INTR(9, atpic_intr9) + INTR(10, atpic_intr10) + INTR(11, atpic_intr11) + INTR(12, atpic_intr12) + INTR(13, atpic_intr13) + INTR(14, atpic_intr14) + INTR(15, atpic_intr15) MCOUNT_LABEL(eintr) From owner-p4-projects@FreeBSD.ORG Wed Nov 12 16:59:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 427F616A4D0; Wed, 12 Nov 2003 16:59:08 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1BE8B16A4CE for ; Wed, 12 Nov 2003 16:59:08 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E35C43FE1 for ; Wed, 12 Nov 2003 16:59:07 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD0x7XJ041847 for ; Wed, 12 Nov 2003 16:59:07 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD0x7U1041844 for perforce@freebsd.org; Wed, 12 Nov 2003 16:59:07 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 12 Nov 2003 16:59:07 -0800 (PST) Message-Id: <200311130059.hAD0x7U1041844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42199 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 00:59:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=42199 Change 42199 by peter@peter_daintree on 2003/11/12 16:58:17 add extern for clkintr_pending; Affected files ... .. //depot/projects/hammer/sys/amd64/include/clock.h#9 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/clock.h#9 (text+ko) ==== @@ -15,6 +15,7 @@ * XXX large parts of the driver and its interface are misplaced. */ extern int adjkerntz; +extern int clkintr_pending; extern int disable_rtc_set; extern int pscnt; extern int psdiv; From owner-p4-projects@FreeBSD.ORG Wed Nov 12 17:26:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED5C816A4D0; Wed, 12 Nov 2003 17:26:00 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AA0A316A4CF for ; Wed, 12 Nov 2003 17:26:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4167B43F3F for ; Wed, 12 Nov 2003 17:25:57 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD1PvXJ044149 for ; Wed, 12 Nov 2003 17:25:57 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD1PeA7043981 for perforce@freebsd.org; Wed, 12 Nov 2003 17:25:40 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 12 Nov 2003 17:25:40 -0800 (PST) Message-Id: <200311130125.hAD1PeA7043981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42201 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 01:26:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=42201 Change 42201 by rwatson@rwatson_paprika on 2003/11/12 17:24:51 Integrate the trustedbsd_sebsd branch from trustedbsd_mac: mostly, bring in lots of changes from the main FreeBSD tree (ATM support, turnstiles, IPv6 upgrades, minor gcc upgrade, lukemftp upgrade, network stack locking changes, M:N threading improvements, i386 interrupt routing stuff, if_xname. Minor MAC feature integration: MAC_INTERNALIZE/EXTERNALIZE accept object names not entry point names. Zone allocator for Biba/MLS labels. Affected files ... .. //depot/projects/trustedbsd/sebsd/Makefile#6 integrate .. //depot/projects/trustedbsd/sebsd/Makefile.inc1#6 integrate .. //depot/projects/trustedbsd/sebsd/UPDATING#6 integrate .. //depot/projects/trustedbsd/sebsd/bin/Makefile.inc#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/chmod/chmod.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/rm/rm.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/FREEBSD-upgrade#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/NEWS#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/README#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/TODO#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/VERSION#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/gensnmptree/gensnmptree.1#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/gensnmptree/gensnmptree.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/asn1.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/asn1.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/asn1.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/bsnmpagent.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/bsnmpclient.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/bsnmplib.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmp.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmp.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmpagent.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmpagent.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmpclient.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmpclient.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmppriv.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_ifmib.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_ifstack.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_ip.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_nettomedia.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_rcvaddr.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_route.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_tcp.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_tree.def#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_udp.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/snmp_mibII.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/snmp_mibII.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/.gdbinit#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/BEGEMOT-MIB.txt#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/FOKUS-MIB.txt#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/action.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/bsnmpd.1#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/config.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/export.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/main.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/snmpd.config#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/snmpd.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/snmpd.sh#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/snmpmod.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/snmpmod.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/trap.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/tree.def#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/diff/util.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/ChangeLog#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/Makefile.in#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/aclocal.m4#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/alias.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/builtins.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/c-decl.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/c-lex.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/c-objc-common.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/c-typeck.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/calls.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cfgcleanup.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cfgloop.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cfgrtl.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/collect2.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/combine.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config.gcc#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/alpha/alpha.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/alpha/alpha.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/alpha/alpha.md#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/alpha/linux.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/arm/linux-elf.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/darwin.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/freebsd-spec.h#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/emmintrin.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/i386.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/i386.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/i386.md#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/mmintrin.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/pmmintrin.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/sco5.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/sol2.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/t-sco5#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/i386/xmmintrin.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/hpux.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/ia64-protos.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/ia64.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/ia64.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/ia64.md#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/ia64intrin.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/libgcc-ia64.ver#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/ia64/unwind-ia64.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/linux.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/rs6000/linux.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/rs6000/linux64.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/rs6000/rs6000.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/rs6000/rs6000.md#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/rs6000/sysv4.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/sparc/linux.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/sparc/linux64.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/sparc/sol2-c1.asm#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/sparc/sparc.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/sparc/sparc.md#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/t-darwin#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/config/t-libunwind#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/gcc/configure#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/configure.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/ChangeLog#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/call.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/class.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/cp-tree.h#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/decl.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/decl2.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/friend.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/init.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/pt.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/search.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/tree.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/typeck.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cp/typeck2.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cppinit.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cpplib.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cppmain.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/cse.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/dbxout.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/doc/contrib.texi#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/doc/extend.texi#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/doc/include/gcc-common.texi#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/doc/invoke.texi#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/doc/tm.texi#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/dwarf2out.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/expr.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/f/ChangeLog#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/function.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/gcc.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/libgcc-std.ver#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/loop.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/loop.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/mklibgcc.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/mkmap-symver.awk#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/real.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/reg-stack.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/reorg.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/scan-decls.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/stmt.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/stor-layout.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/tlink.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/toplev.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/tree.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/tree.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/unroll.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/unwind-dw2.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/unwind-libunwind.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/gcc/unwind.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/varasm.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/gcc/version.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/groff/src/roff/nroff/nroff.man#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/groff/src/roff/nroff/nroff.sh#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libf2c/ChangeLog#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libf2c/configure#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libobjc/ChangeLog#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libobjc/configure#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/gencode.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap.3#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/scanner.l#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/ChangeLog#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/acinclude.m4#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/aclocal.m4#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/config/cpu/m68k/atomicity.h#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/config/locale/generic/ctype_members.cc#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/config/locale/gnu/ctype_members.cc#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/config/os/generic/ctype_inline.h#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/config/os/hpux/os_defines.h#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/configure#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/configure.target#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/include/Makefile.am#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/include/Makefile.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/include/bits/basic_ios.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/include/bits/c++config#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/include/bits/istream.tcc#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/include/bits/locale_facets.tcc#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/include/bits/stl_algo.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libstdc++/libsupc++/cxxabi.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/cmds.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/cmdtab.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/domacro.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/extern.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/fetch.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/ftp.1#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/ftp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/ftp_var.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/main.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/progressbar.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/ruserpass.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/util.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/version.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/libngatm/net_in.fig#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/libngatm/net_out.fig#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/libngatm/unicust.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/man/libngatm.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/man/uniaddr.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/man/unifunc.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/man/unistruct.3#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/sscop/common.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/sscop/common.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/sscop/sscop.1#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/ngatm/sscop/sscop_main.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/sendmail/smrsh/smrsh.c#4 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/sshd_config.5#5 integrate .. //depot/projects/trustedbsd/sebsd/etc/Makefile#8 integrate .. //depot/projects/trustedbsd/sebsd/etc/bluetooth/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/etc/defaults/periodic.conf#4 integrate .. //depot/projects/trustedbsd/sebsd/etc/mac.conf#4 integrate .. //depot/projects/trustedbsd/sebsd/etc/mtree/BSD.include.dist#7 integrate .. //depot/projects/trustedbsd/sebsd/etc/mtree/BSD.local.dist#5 integrate .. //depot/projects/trustedbsd/sebsd/etc/mtree/BSD.root.dist#6 integrate .. //depot/projects/trustedbsd/sebsd/etc/mtree/BSD.usr.dist#7 integrate .. //depot/projects/trustedbsd/sebsd/etc/periodic/daily/405.status-ata-raid#1 branch .. //depot/projects/trustedbsd/sebsd/etc/periodic/daily/460.status-mail-rejects#2 integrate .. //depot/projects/trustedbsd/sebsd/etc/periodic/daily/470.status-named#4 integrate .. //depot/projects/trustedbsd/sebsd/etc/periodic/daily/Makefile#4 integrate .. //depot/projects/trustedbsd/sebsd/etc/rc.d/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/etc/rc.d/ip6addrctl#1 branch .. //depot/projects/trustedbsd/sebsd/etc/rc.d/ipnat#5 integrate .. //depot/projects/trustedbsd/sebsd/etc/rc.firewall#4 integrate .. //depot/projects/trustedbsd/sebsd/etc/rc.firewall6#4 integrate .. //depot/projects/trustedbsd/sebsd/games/fortune/datfiles/fortunes2#6 integrate .. //depot/projects/trustedbsd/sebsd/games/morse/morse.6#2 integrate .. //depot/projects/trustedbsd/sebsd/games/morse/morse.c#2 integrate .. //depot/projects/trustedbsd/sebsd/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c#3 integrate .. //depot/projects/trustedbsd/sebsd/gnu/usr.bin/gzip/getopt.c#2 integrate .. //depot/projects/trustedbsd/sebsd/gnu/usr.bin/man/man/man.c#3 integrate .. //depot/projects/trustedbsd/sebsd/gnu/usr.bin/man/manpath/manpath.config#5 integrate .. //depot/projects/trustedbsd/sebsd/gnu/usr.bin/patch/backupfile.c#4 integrate .. //depot/projects/trustedbsd/sebsd/gnu/usr.bin/rcs/lib/conf.h#2 integrate .. //depot/projects/trustedbsd/sebsd/gnu/usr.bin/send-pr/send-pr.sh#5 integrate .. //depot/projects/trustedbsd/sebsd/include/Makefile#9 integrate .. //depot/projects/trustedbsd/sebsd/include/pthread.h#5 integrate .. //depot/projects/trustedbsd/sebsd/include/rpcsvc/ypclnt.h#2 integrate .. //depot/projects/trustedbsd/sebsd/include/strhash.h#2 delete .. //depot/projects/trustedbsd/sebsd/include/vis.h#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/Makefile#8 integrate .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/Makefile.inc#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/libbsnmp/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/Makefile.inc#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_mibII/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_mibII/genfiles#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_mibII/mibII_oid.h#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_mibII/mibII_tree.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_mibII/mibII_tree.h#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/genfiles#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/netgraph_oid.h#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.def#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.h#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.h#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libc/alpha/SYS.h#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/daemon.3#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/daemon.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/fnmatch.3#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/getcwd.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/getlogin.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/getvfsbyname.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/glob.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/vis.3#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/gen/vis.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/ia64/gen/unwind.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/include/libc_private.h#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/include/spinlock.h#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/Makefile.inc#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/big5.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/euc.4#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/euc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/frune.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/gb18030.5#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/gb2312.5#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/gb2312.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/gbk.5#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/gbk.c#3 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/mbrtowc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/mskanji.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/multibyte.3#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/none.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/setlocale.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/setrunelocale.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/srune.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/table.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/utf2.4#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/utf8.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/wcrtomb.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/wcsftime.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/wcstod.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/wcstof.c#3 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/wcstold.c#3 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/locale/wctrans.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/net/getaddrinfo.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/nls/msgcat.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/rpc/clnt_simple.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/rpc/rpc_generic.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/rpc/rpcb_clnt.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/fgetwc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/fputwc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/ungetwc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/vfprintf.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/vfscanf.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/vfwprintf.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/vfwscanf.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/vswprintf.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdio/vswscanf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdlib/Makefile.inc#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdlib/malloc.c#6 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdlib/radixsort.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/stdlib/strhash.c#2 delete .. //depot/projects/trustedbsd/sebsd/lib/libc/string/bcopy.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/string/wcscoll.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/string/wcsxfrm.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/sys/Makefile.inc#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/sys/jail.2#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/sys/kqueue.2#6 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/sys/ktrace.2#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/sys/munmap.2#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libc/sys/utrace.2#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libdisk/Makefile#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/chunk.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/create_chunk.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/disk.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/libdisk.h#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/open_disk.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libdisk/open_ia64_disk.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libdisk/rules.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/tst01.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/write_disk.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libdisk/write_ia64_disk.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/Makefile#3 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/ipsec_dump_policy.c#3 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/ipsec_set_policy.3#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/ipsec_strerror.3#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/pfkey.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/pfkey_dump.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/policy_parse.y#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/policy_token.l#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libipsec/test-policy.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libkvm/kvm.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libngatm/Makefile#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpcap/Makefile#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/pthread.map#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/sys/lock.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/sys/lock.h#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/Makefile.inc#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_atfork.c#1 branch .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_fork.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_init.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_kern.c#6 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_mutex.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_private.h#6 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_pspinlock.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_rtld.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libpthread/thread/thr_spinlock.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/librpcsvc/rnusers.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/librpcsvc/rstat.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/librpcsvc/rwall.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/librpcsvc/yp_passwd.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/librpcsvc/yp_update.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libsdp/search.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libsdp/util.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libstand/environment.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/libstand/stand.h#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/libutil/login_cap.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/libutil/login_class.c#5 integrate .. //depot/projects/trustedbsd/sebsd/lib/msun/src/e_scalb.c#4 integrate .. //depot/projects/trustedbsd/sebsd/lib/msun/src/e_scalbf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/lib/msun/src/s_fabsl.c#2 integrate .. //depot/projects/trustedbsd/sebsd/libexec/ftpd/ftpcmd.y#4 integrate .. //depot/projects/trustedbsd/sebsd/libexec/ypxfr/ypxfr_main.c#4 integrate .. //depot/projects/trustedbsd/sebsd/libexec/ypxfr/ypxfrd_getmap.c#4 integrate .. //depot/projects/trustedbsd/sebsd/release/Makefile#8 integrate .. //depot/projects/trustedbsd/sebsd/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#6 integrate .. //depot/projects/trustedbsd/sebsd/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#6 integrate .. //depot/projects/trustedbsd/sebsd/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#5 integrate .. //depot/projects/trustedbsd/sebsd/release/i386/dokern.sh#4 integrate .. //depot/projects/trustedbsd/sebsd/release/picobsd/build/picobsd#2 integrate .. //depot/projects/trustedbsd/sebsd/rescue/rescue/Makefile#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/Makefile#6 integrate .. //depot/projects/trustedbsd/sebsd/sbin/Makefile.inc#3 integrate .. //depot/projects/trustedbsd/sebsd/sbin/atacontrol/Makefile#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/atacontrol/atacontrol.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sbin/atm/atmconfig/diag.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/dump/dump.8#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/dump/dump.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/dump/traverse.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/fsck/Makefile#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/fsck/fsck.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/fsck/fsutil.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/fsck_msdosfs/check.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/fsck_msdosfs/ext.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/growfs/growfs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/ifconfig/ifconfig.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sbin/ifconfig/ifieee80211.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sbin/init/init.8#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/ip6fw/ip6fw.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sbin/ipfw/ipfw2.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sbin/md5/md5.1#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/md5/md5.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/mksnap_ffs/mksnap_ffs.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sbin/mount/Makefile#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/mount_cd9660/mount_cd9660.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sbin/mount_udf/Makefile#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/mount_udf/mount_udf.8#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/mount_udf/mount_udf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/newfs/mkfs.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sbin/nos-tun/nos-tun.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/restore/dirs.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sbin/route/route.8#3 integrate .. //depot/projects/trustedbsd/sebsd/sbin/sunlabel/sunlabel.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sbin/sysctl/sysctl.8#5 integrate .. //depot/projects/trustedbsd/sebsd/sbin/sysctl/sysctl.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sbin/umount/umount.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sbin/vinum/list.c#4 integrate .. //depot/projects/trustedbsd/sebsd/share/colldef/Makefile#6 integrate .. //depot/projects/trustedbsd/sebsd/share/doc/IPv6/IMPLEMENTATION#5 integrate .. //depot/projects/trustedbsd/sebsd/share/examples/Makefile#2 integrate .. //depot/projects/trustedbsd/sebsd/share/examples/cvsup/refuse#5 integrate .. //depot/projects/trustedbsd/sebsd/share/examples/cvsup/refuse.README#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man3/tree.3#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/Makefile#7 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/aac.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/acpi.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/aha.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ahb.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ahc.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/an.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ata.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ath.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ath_hal.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ciss.4#3 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/dc.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/dcons.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/dcons_crom.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ddb.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/de.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/hatm.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/inet.4#6 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/intro.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ips.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/kld.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/led.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/man4.i386/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/man4.i386/aic.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/man4.i386/ep.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/man4.i386/ex.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/man4.i386/lnc.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/man4.i386/svr4.4#3 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/man4.i386/wd.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/miibus.4#3 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/mpt.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/ncr.4#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_bluetooth.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_bt3c.4#6 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_btsocket.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_h4.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_hci.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_l2cap.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_sscfu.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_sscop.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_ubt.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/ng_uni.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/rl.4#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/sbp_targ.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/sis.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/sym.4#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/uaudio.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/ufm.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man4/utopia.4#3 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man4/xe.4#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man5/elf.5#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man5/rc.conf.5#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man7/hier.7#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man7/ports.7#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man9/Makefile#6 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man9/alq.9#1 branch .. //depot/projects/trustedbsd/sebsd/share/man/man9/device_get_name.9#4 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man9/ifnet.9#5 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man9/pfind.9#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man9/pgfind.9#2 integrate .. //depot/projects/trustedbsd/sebsd/share/man/man9/resource_query_string.9#2 delete .. //depot/projects/trustedbsd/sebsd/share/man/man9/style.9#5 integrate .. //depot/projects/trustedbsd/sebsd/share/misc/bsd-family-tree#5 integrate .. //depot/projects/trustedbsd/sebsd/share/misc/pci_vendors#4 integrate .. //depot/projects/trustedbsd/sebsd/share/mk/bsd.libnames.mk#7 integrate .. //depot/projects/trustedbsd/sebsd/share/mklocale/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/share/mklocale/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/sebsd/share/monetdef/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/share/monetdef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/sebsd/share/msgdef/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/share/msgdef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/sebsd/share/numericdef/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/share/security/Makefile#4 integrate .. //depot/projects/trustedbsd/sebsd/share/timedef/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/share/timedef/zh_CN.GB2312.src#1 branch .. //depot/projects/trustedbsd/sebsd/sys/alpha/alpha/machdep.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/include/bus.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/linux/linux_proto.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/linux/linux_syscall.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/linux/linux_sysent.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/linux/syscalls.master#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/osf1/osf1_ioctl.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/osf1/osf1_proto.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/osf1/osf1_syscall.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/osf1/osf1_sysent.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/alpha/osf1/syscalls.master#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/autoconf.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/nexus.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/trap.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/conf/gethints.awk#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/ia32/ia32_signal.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/bus_dma.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/cpufunc.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/fpu.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/frame.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/ieeefp.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/npx.h#4 delete .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/pcb.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/pmap.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/reg.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/signal.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/specialreg.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/ucontext.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/include/vmparam.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/amd64/isa/npx.c#4 delete .. //depot/projects/trustedbsd/sebsd/sys/amd64/isa/vector.S#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/boot/common/dev_net.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/boot/forth/beastie.4th#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/boot/i386/boot2/boot2.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/boot/i386/btx/btxldr/btxldr.s#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/boot/ia64/libski/pal_stub.S#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/boot/ia64/skiload/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/boot/sparc64/loader/metadata.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/cam/cam_periph.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/cam/cam_xpt.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/cam/scsi/scsi_cd.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/cam/scsi/scsi_target.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/coda/coda_psdev.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/coda/coda_subr.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/linux/linux_ioctl.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/linux/linux_ipc.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/linux/linux_socket.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/NOTES#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/files#11 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/files.amd64#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/files.i386#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/files.pc98#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/files.sparc64#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/kern.mk#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/kern.post.mk#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/kmod.mk#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/majors#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/options#9 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/options.i386#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/conf/options.pc98#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/acpica/dmresrc.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/ath/ah.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/ath/ah_devid.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/ath/freebsd/ah_osdep.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/ath/freebsd/ah_osdep.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/ath/version.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/dev/oltr/if_oltr.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_bstream.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_bstream.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_context.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_context.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_env.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_env.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_scoreboard.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_self.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_self.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_step.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_step.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_str.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_str.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_swap.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_swap.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_trace.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_trace.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_uinfo.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_utable.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/src/uwx_utable.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/test/Makefile#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/test/dump_context.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/test/dumpmyself.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ia64/libuwx/test/primeregs.s#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ipfilter/netinet/ip_compat.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ipfilter/netinet/ip_fil.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ipfilter/netinet/ip_log.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/FREEBSD-upgrade#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/addr.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/genfiles#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/misc/straddr.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/geniec.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/genieh.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/genmsgc.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/genmsgh.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/ie.def#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/msg.def#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/parseie.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/parsemsg.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/priv.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/privmsg.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/traffic.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uni_config.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uni_hdr.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uni_ie.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uni_ie.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uni_ietab.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uni_msg.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uni_msg.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/unimsglib.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/uniprint.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/msg/unistruct.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/genmsgcpyc.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/genmsgcpyh.awk#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_call.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_coord.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_party.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_print.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_reset.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_uni.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_unimsgcpy.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/sig_verify.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/uni.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/unidef.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/unimkmsg.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/unimsgcpy.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/unipriv.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/contrib/ngatm/netnatm/sig/unisig.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/crypto/rijndael/rijndael-alg-fst.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/crypto/rijndael/rijndael-alg-fst.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/crypto/rijndael/rijndael-api-fst.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/crypto/rijndael/rijndael-api-fst.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/crypto/rijndael/rijndael.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/crypto/rijndael/rijndael.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aac/aac.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aac/aac_pci.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/acpica/Osd/OsdInterrupt.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/acpica/acpivar.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aha/aha.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aha/aha_isa.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aha/aha_mca.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aha/ahareg.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aic7xxx/ahc_pci.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/aic7xxx/ahd_pci.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/an/if_an.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ar/if_ar.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-all.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-all.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-chipset.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-disk.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-lowlevel.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-pci.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/ata-raid.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/atapi-cam.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/atapi-cd.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/atapi-cd.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/atapi-fd.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ata/atapi-tape.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ath/if_ath_pci.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/awi/if_awi_pccard.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/bge/if_bge.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/bge/if_bgereg.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/bktr/bktr_core.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cardbus/cardbus.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ciss/ciss.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cm/if_cm_isa.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cm/smc90cx6.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cm/smc90cx6var.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cnw/if_cnw.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cs/if_cs.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cs/if_cs_isa.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cs/if_cs_pccard.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cs/if_csreg.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/cs/if_csvar.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/dcons/dcons_crom.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/drm/drm_drv.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/drm/drm_os_freebsd.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ed/if_ed.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ed/if_ed_cbus.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ed/if_ed_isa.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ed/if_ed_pccard.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ed/if_ed_pci.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ed/if_edvar.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/em/if_em.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/en/if_en_pci.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/en/midway.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ep/if_ep.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ep/if_ep_eisa.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ep/if_ep_isa.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ep/if_ep_mca.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ep/if_ep_pccard.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ep/if_epreg.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ep/if_epvar.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ex/if_ex.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ex/if_ex_pccard.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/fatm/if_fatm.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/fb/creator.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/fe/if_fe.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/fe/if_fevar.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/firewire.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/firewire.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/firewirereg.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/fwdev.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/fwmem.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/fwohci.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/fwohci_pci.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/if_fwe.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/firewire/sbp.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/fxp/if_fxp.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/fxp/if_fxpvar.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/gem/if_gem.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/gx/if_gx.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/harp/if_harp.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/hatm/if_hatm.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/hatm/if_hatm_intr.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/hatm/if_hatm_rx.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/hatm/if_hatm_tx.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/hatm/if_hatmvar.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/hme/if_hme.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ie/if_ie.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/iicbus/if_ic.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/kbd/kbd.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/led/led.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/dev/led/led.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/dev/lge/if_lge.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/lnc/if_lnc.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/mii/brgphy.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/my/if_my.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ncv/ncr53c500_pccard.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/nge/if_nge.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/nmdm/nmdm.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/null/null.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/patm/if_patm_attach.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pccard/pccard.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pccard/pccarddevs#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pccard/pccarddevs.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pccard/pccardvar.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pccbb/pccbb.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pci/pci.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pdq/if_fea.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pdq/if_fpa.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pdq/pdq_freebsd.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/pdq/pdqvar.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ppbus/if_plip.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/puc/puc_pccard.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/puc/puc_pci.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/random/randomdev.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/ray/if_ray.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/re/if_re.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sab/sab.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sbni/if_sbni.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sbni/if_sbni_isa.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sbsh/if_sbsh.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sio/sio_pci.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sn/if_sn.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sn/if_sn_isa.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sn/if_sn_pccard.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sn/if_snreg.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sn/if_snvar.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/snc/dp83932.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/snp/snp.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sound/isa/mpu.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sound/midi/midibuf.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sound/pci/cmi.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sound/pcm/ac97.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sound/pcm/channel.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sound/pcm/dsp.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sound/pcm/mixer.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/sr/if_sr.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/syscons/syscons.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/twe/twereg.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/tx/if_tx.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/txp/if_txp.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/uart/uart_bus_pci.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/uart/uart_cpu_sparc64.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/uart/uart_kbd_sun.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/dev/uart/uart_kbd_sun.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/dev/uart/uart_kbd_sun_tables.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/ehci.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/if_aue.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/if_axe.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/if_cue.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/if_kue.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/if_rue.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/ohci.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/ohci_pci.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/ucom.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/ugen.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/uhci.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/uhci_pci.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/uhid.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/ums.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/usb.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/usb_ethersubr.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/usb_port.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/usbdi.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/usb/uvisor.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/vx/if_vx.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/vx/if_vx_eisa.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/vx/if_vx_pci.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/vx/if_vxvar.h#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/wl/if_wl.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/xe/if_xe.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/xe/if_xe_pccard.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/dev/zs/zs.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/devfs/devfs.h#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/fifofs/fifo_vnops.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/msdosfs/msdosfs_vfsops.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/udf/osta.c#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/udf/osta.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/udf/udf.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/udf/udf_iconv.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/fs/udf/udf_mount.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/fs/udf/udf_vfsops.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/udf/udf_vnops.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/fs/unionfs/union_vfsops.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/gnu/ext2fs/alpha-bitops.h#3 delete .. //depot/projects/trustedbsd/sebsd/sys/gnu/ext2fs/ext2_linux_balloc.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/gnu/ext2fs/ext2_linux_ialloc.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/gnu/ext2fs/ext2_vfsops.c#8 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/acpica/Makefile#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/acpica/acpi_machdep.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/acpica/acpi_wakecode.S#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/acpica/acpi_wakeup.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/acpica/madt.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/bios/apm.c#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/conf/GENERIC#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/conf/NOTES#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/conf/PAE#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/conf/SMP#4 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/apic_vector.s#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/autoconf.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/bios.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/critical.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/db_interface.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/db_trace.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/elan-mmcr.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/exception.s#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/genassym.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/identcpu.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/initcpu.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/intr_machdep.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/io_apic.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/local_apic.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/locore.s#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/machdep.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/mp_machdep.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/mpapic.c#6 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/mpboot.s#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/mptable.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/mptable_pci.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/nexus.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/pmap.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/support.s#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/i386/trap.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/apic.h#6 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/include/apicreg.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/include/apicvar.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/include/asmacros.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/bus_dma.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/clock.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/critical.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/intr_machdep.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/include/md_var.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/mptable.h#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/include/pcpu.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/pmap.h#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/proc.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/segments.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/smp.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/include/smptests.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/apic_ipl.s#3 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/apic_vector.s#6 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/asc.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/atpic.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/atpic_vector.s#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/bs/bsif.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/clock.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/cx.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/icu.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/icu_ipl.s#3 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/icu_vector.s#3 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/if_cx.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/if_el.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/if_le.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/if_rdp.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/intr_machdep.c#5 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/intr_machdep.h#5 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/isa_compat.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/istallion.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/ithread.c#5 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/mse.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/nmi.c#1 branch .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/npx.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/spic.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/stallion.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/isa/vector.s#3 delete .. //depot/projects/trustedbsd/sebsd/sys/i386/linux/linux_proto.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/pci/pci_bus.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/i386/pci/pci_cfgreg.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/i4b/driver/i4b_ipr.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i4b/driver/i4b_isppp.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i4b/driver/i4b_rbch.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i4b/driver/i4b_tel.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i4b/driver/i4b_trace.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/i4b/include/i4b_global.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/i4b/layer4/i4b_i4bdrv.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/conf/GENERIC#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/conf/GENERIC.hints#4 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia32/ia32_proto.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia32/ia32_syscall.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia32/ia32_sysent.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia32/syscalls.master#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/elf_machdep.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/exception.S#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/interrupt.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/machdep.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/ptrace_machdep.c#2 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/sys_machdep.c#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/syscall.S#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/trap.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/unaligned.c#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/ia64/vm_machdep.c#7 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/include/_types.h#5 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/include/bus.h#6 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/include/pc/bios.h#3 delete .. //depot/projects/trustedbsd/sebsd/sys/ia64/include/pc/msdos.h#3 delete .. //depot/projects/trustedbsd/sebsd/sys/ia64/include/pc/vesa.h#3 delete .. //depot/projects/trustedbsd/sebsd/sys/ia64/include/sysarch.h#3 integrate .. //depot/projects/trustedbsd/sebsd/sys/ia64/include/ucontext.h#6 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 12 18:58:56 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9EFDE16A4D0; Wed, 12 Nov 2003 18:58:55 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 78CCD16A4CE for ; Wed, 12 Nov 2003 18:58:55 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB93F43F93 for ; Wed, 12 Nov 2003 18:58:54 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD2wsXJ058847 for ; Wed, 12 Nov 2003 18:58:54 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD2wsaD058844 for perforce@freebsd.org; Wed, 12 Nov 2003 18:58:54 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 12 Nov 2003 18:58:54 -0800 (PST) Message-Id: <200311130258.hAD2wsaD058844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42207 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 02:58:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=42207 Change 42207 by peter@peter_daintree on 2003/11/12 18:58:47 catch up with function renames Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#6 edit .. //depot/projects/hammer/sys/amd64/isa/icu.h#9 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#6 (text+ko) ==== @@ -74,7 +74,7 @@ movq %r15,TF_R15(%rsp) ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ movq $irq_num, %rdi; /* pass the IRQ */ \ - call atpic_sched_ithd ; \ + call atpic_handle_intr ; \ MEXITCOUNT ; \ jmp doreti ==== //depot/projects/hammer/sys/amd64/isa/icu.h#9 (text+ko) ==== @@ -128,7 +128,7 @@ #define HWI_MASK 0xffff /* bits for h/w interrupts */ #ifndef LOCORE -void atpic_sched_ithd(void *cookie, struct intrframe iframe); +void atpic_handle_intr(void *cookie, struct intrframe iframe); void atpic_startup(void); #endif From owner-p4-projects@FreeBSD.ORG Wed Nov 12 20:53:19 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6BB1416A4D0; Wed, 12 Nov 2003 20:53:19 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 43C3116A4CE for ; Wed, 12 Nov 2003 20:53:19 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C072443FA3 for ; Wed, 12 Nov 2003 20:53:17 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD4rHXJ071081 for ; Wed, 12 Nov 2003 20:53:17 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD4rH7U071078 for perforce@freebsd.org; Wed, 12 Nov 2003 20:53:17 -0800 (PST) (envelope-from sam@freebsd.org) Date: Wed, 12 Nov 2003 20:53:17 -0800 (PST) Message-Id: <200311130453.hAD4rH7U071078@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42214 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 04:53:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=42214 Change 42214 by sam@sam_ebb on 2003/11/12 20:53:02 IFC Affected files ... .. //depot/projects/netperf/sys/dev/acpica/acpi_pci_link.c#3 integrate .. //depot/projects/netperf/sys/dev/drm/drm.h#4 integrate .. //depot/projects/netperf/sys/dev/drm/drmP.h#5 integrate .. //depot/projects/netperf/sys/dev/drm/drm_bufs.h#4 integrate .. //depot/projects/netperf/sys/dev/drm/drm_drv.h#5 integrate .. //depot/projects/netperf/sys/dev/drm/drm_fops.h#4 integrate .. //depot/projects/netperf/sys/dev/drm/drm_ioctl.h#4 integrate .. //depot/projects/netperf/sys/dev/drm/drm_irq.h#2 integrate .. //depot/projects/netperf/sys/dev/drm/drm_os_freebsd.h#6 integrate .. //depot/projects/netperf/sys/dev/drm/mga_dma.c#4 integrate .. //depot/projects/netperf/sys/dev/drm/r128_cce.c#4 integrate .. //depot/projects/netperf/sys/dev/drm/radeon.h#5 integrate .. //depot/projects/netperf/sys/dev/drm/radeon_cp.c#5 integrate .. //depot/projects/netperf/sys/dev/drm/radeon_drm.h#4 integrate .. //depot/projects/netperf/sys/dev/drm/radeon_drv.h#4 integrate .. //depot/projects/netperf/sys/dev/drm/radeon_state.c#4 integrate .. //depot/projects/netperf/sys/kern/kern_mac.c#10 integrate .. //depot/projects/netperf/sys/kern/kern_timeout.c#4 integrate .. //depot/projects/netperf/sys/kern/subr_turnstile.c#2 edit .. //depot/projects/netperf/sys/netinet/ip_icmp.c#9 integrate .. //depot/projects/netperf/sys/netinet/ip_output.c#15 integrate .. //depot/projects/netperf/sys/netinet/tcp_input.c#11 integrate .. //depot/projects/netperf/sys/netinet/udp_usrreq.c#11 integrate .. //depot/projects/netperf/sys/netinet6/in6_src.c#19 integrate .. //depot/projects/netperf/sys/pci/if_sk.c#7 integrate .. //depot/projects/netperf/sys/pci/if_skreg.h#5 integrate Differences ... ==== //depot/projects/netperf/sys/dev/acpica/acpi_pci_link.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.7 2003/08/24 17:48:01 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.8 2003/11/12 19:46:17 jhb Exp $"); #include "opt_acpi.h" #include @@ -120,7 +120,7 @@ break; default: - printf("unkown,"); + printf("unknown,"); break; } @@ -134,7 +134,7 @@ break; default: - printf("unkown,"); + printf("unknown,"); break; } @@ -148,7 +148,7 @@ break; default: - printf("unkown"); + printf("unknown"); break; } ==== //depot/projects/netperf/sys/dev/drm/drm.h#4 (text+ko) ==== @@ -1,6 +1,14 @@ -/* drm.h -- Header for Direct Rendering Manager -*- linux-c -*- - * Created: Mon Jan 4 10:05:05 1999 by faith@precisioninsight.com +/** + * \file drm.h + * Header for the Direct Rendering Manager + * + * \author Rickard E. (Rik) Faith * + * \par Acknowledgments: + * Dec 1999, Richard Henderson , move to generic \c cmpxchg. + */ + +/* * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All rights reserved. @@ -24,15 +32,10 @@ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * - * Authors: - * Rickard E. (Rik) Faith - * - * Acknowledgements: - * Dec 1999, Richard Henderson , move to generic cmpxchg. - * - * $FreeBSD: src/sys/dev/drm/drm.h,v 1.5 2003/10/24 01:48:16 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm.h,v 1.6 2003/11/12 20:56:30 anholt Exp $ */ + #ifndef _DRM_H_ #define _DRM_H_ @@ -79,29 +82,42 @@ #define DRM_DEV_GID 0 #endif -#define DRM_NAME "drm" /* Name in kernel, /dev, and /proc */ -#define DRM_MIN_ORDER 5 /* At least 2^5 bytes = 32 bytes */ -#define DRM_MAX_ORDER 22 /* Up to 2^22 bytes = 4MB */ -#define DRM_RAM_PERCENT 10 /* How much system ram can we lock? */ +#if CONFIG_XFREE86_VERSION >= XFREE86_VERSION(4,1,0,0) +#ifdef __OpenBSD__ +#define DRM_MAJOR 81 +#endif +#if defined(__linux__) || defined(__NetBSD__) +#define DRM_MAJOR 226 +#endif +#define DRM_MAX_MINOR 15 +#endif +#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */ +#define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */ +#define DRM_MAX_ORDER 22 /**< Up to 2^22 bytes = 4MB */ +#define DRM_RAM_PERCENT 10 /**< How much system ram can we lock? */ -#define _DRM_LOCK_HELD 0x80000000 /* Hardware lock is held */ -#define _DRM_LOCK_CONT 0x40000000 /* Hardware lock is contended */ +#define _DRM_LOCK_HELD 0x80000000 /**< Hardware lock is held */ +#define _DRM_LOCK_CONT 0x40000000 /**< Hardware lock is contended */ #define _DRM_LOCK_IS_HELD(lock) ((lock) & _DRM_LOCK_HELD) #define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT) #define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT)) + typedef unsigned long drm_handle_t; typedef unsigned int drm_context_t; typedef unsigned int drm_drawable_t; typedef unsigned int drm_magic_t; -/* Warning: If you change this structure, make sure you change - * XF86DRIClipRectRec in the server as well */ -/* KW: Actually it's illegal to change either for +/** + * Cliprect. + * + * \warning: If you change this structure, make sure you change + * XF86DRIClipRectRec in the server as well + * + * \note KW: Actually it's illegal to change either for * backwards-compatibility reasons. */ - typedef struct drm_clip_rect { unsigned short x1; unsigned short y1; @@ -109,6 +125,10 @@ unsigned short y2; } drm_clip_rect_t; + +/** + * Texture region, + */ typedef struct drm_tex_region { unsigned char next; unsigned char prev; @@ -117,32 +137,52 @@ unsigned int age; } drm_tex_region_t; + +/** + * DRM_IOCTL_VERSION ioctl argument type. + * + * \sa drmGetVersion(). + */ typedef struct drm_version { - int version_major; /* Major version */ - int version_minor; /* Minor version */ - int version_patchlevel;/* Patch level */ - size_t name_len; /* Length of name buffer */ - char *name; /* Name of driver */ - size_t date_len; /* Length of date buffer */ - char *date; /* User-space buffer to hold date */ - size_t desc_len; /* Length of desc buffer */ - char *desc; /* User-space buffer to hold desc */ + int version_major; /**< Major version */ + int version_minor; /**< Minor version */ + int version_patchlevel;/**< Patch level */ + size_t name_len; /**< Length of name buffer */ + char *name; /**< Name of driver */ + size_t date_len; /**< Length of date buffer */ + char *date; /**< User-space buffer to hold date */ + size_t desc_len; /**< Length of desc buffer */ + char *desc; /**< User-space buffer to hold desc */ } drm_version_t; + +/** + * DRM_IOCTL_GET_UNIQUE ioctl argument type. + * + * \sa drmGetBusid() and drmSetBusId(). + */ typedef struct drm_unique { - size_t unique_len; /* Length of unique */ - char *unique; /* Unique name for driver instantiation */ + size_t unique_len; /**< Length of unique */ + char *unique; /**< Unique name for driver instantiation */ } drm_unique_t; + typedef struct drm_list { - int count; /* Length of user-space structures */ + int count; /**< Length of user-space structures */ drm_version_t *version; } drm_list_t; + typedef struct drm_block { int unused; } drm_block_t; + +/** + * DRM_IOCTL_CONTROL ioctl argument type. + * + * \sa drmCtlInstHandler() and drmCtlUninstHandler(). + */ typedef struct drm_control { enum { DRM_ADD_COMMAND, @@ -153,49 +193,70 @@ int irq; } drm_control_t; + +/** + * Type of memory to map. + */ typedef enum drm_map_type { - _DRM_FRAME_BUFFER = 0, /* WC (no caching), no core dump */ - _DRM_REGISTERS = 1, /* no caching, no core dump */ - _DRM_SHM = 2, /* shared, cached */ - _DRM_AGP = 3, /* AGP/GART */ - _DRM_SCATTER_GATHER = 4 /* Scatter/gather memory for PCI DMA */ + _DRM_FRAME_BUFFER = 0, /**< WC (no caching), no core dump */ + _DRM_REGISTERS = 1, /**< no caching, no core dump */ + _DRM_SHM = 2, /**< shared, cached */ + _DRM_AGP = 3, /**< AGP/GART */ + _DRM_SCATTER_GATHER = 4 /**< Scatter/gather memory for PCI DMA */ } drm_map_type_t; + +/** + * Memory mapping flags. + */ typedef enum drm_map_flags { - _DRM_RESTRICTED = 0x01, /* Cannot be mapped to user-virtual */ + _DRM_RESTRICTED = 0x01, /**< Cannot be mapped to user-virtual */ _DRM_READ_ONLY = 0x02, - _DRM_LOCKED = 0x04, /* shared, cached, locked */ - _DRM_KERNEL = 0x08, /* kernel requires access */ - _DRM_WRITE_COMBINING = 0x10, /* use write-combining if available */ - _DRM_CONTAINS_LOCK = 0x20, /* SHM page that contains lock */ - _DRM_REMOVABLE = 0x40 /* Removable mapping */ + _DRM_LOCKED = 0x04, /**< shared, cached, locked */ + _DRM_KERNEL = 0x08, /**< kernel requires access */ + _DRM_WRITE_COMBINING = 0x10, /**< use write-combining if available */ + _DRM_CONTAINS_LOCK = 0x20, /**< SHM page that contains lock */ + _DRM_REMOVABLE = 0x40 /**< Removable mapping */ } drm_map_flags_t; + typedef struct drm_ctx_priv_map { - unsigned int ctx_id; /* Context requesting private mapping */ - void *handle; /* Handle of map */ + unsigned int ctx_id; /**< Context requesting private mapping */ + void *handle; /**< Handle of map */ } drm_ctx_priv_map_t; + +/** + * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls + * argument type. + * + * \sa drmAddMap(). + */ typedef struct drm_map { - unsigned long offset; /* Requested physical address (0 for SAREA)*/ - unsigned long size; /* Requested physical size (bytes) */ - drm_map_type_t type; /* Type of memory to map */ - drm_map_flags_t flags; /* Flags */ - void *handle; /* User-space: "Handle" to pass to mmap */ - /* Kernel-space: kernel-virtual address */ - int mtrr; /* MTRR slot used */ - /* Private data */ + unsigned long offset; /**< Requested physical address (0 for SAREA)*/ + unsigned long size; /**< Requested physical size (bytes) */ + drm_map_type_t type; /**< Type of memory to map */ + drm_map_flags_t flags; /**< Flags */ + void *handle; /**< User-space: "Handle" to pass to mmap() */ + /**< Kernel-space: kernel-virtual address */ + int mtrr; /**< MTRR slot used */ + /* Private data */ } drm_map_t; + +/** + * DRM_IOCTL_GET_CLIENT ioctl argument type. + */ typedef struct drm_client { - int idx; /* Which client desired? */ - int auth; /* Is client authenticated? */ - unsigned long pid; /* Process id */ - unsigned long uid; /* User id */ - unsigned long magic; /* Magic */ - unsigned long iocs; /* Ioctl count */ + int idx; /**< Which client desired? */ + int auth; /**< Is client authenticated? */ + unsigned long pid; /**< Process ID */ + unsigned long uid; /**< User ID */ + unsigned long magic; /**< Magic */ + unsigned long iocs; /**< Ioctl count */ } drm_client_t; + typedef enum { _DRM_STAT_LOCK, _DRM_STAT_OPENS, @@ -203,20 +264,24 @@ _DRM_STAT_IOCTLS, _DRM_STAT_LOCKS, _DRM_STAT_UNLOCKS, - _DRM_STAT_VALUE, /* Generic value */ - _DRM_STAT_BYTE, /* Generic byte counter (1024bytes/K) */ - _DRM_STAT_COUNT, /* Generic non-byte counter (1000/k) */ + _DRM_STAT_VALUE, /**< Generic value */ + _DRM_STAT_BYTE, /**< Generic byte counter (1024bytes/K) */ + _DRM_STAT_COUNT, /**< Generic non-byte counter (1000/k) */ - _DRM_STAT_IRQ, /* IRQ */ - _DRM_STAT_PRIMARY, /* Primary DMA bytes */ - _DRM_STAT_SECONDARY, /* Secondary DMA bytes */ - _DRM_STAT_DMA, /* DMA */ - _DRM_STAT_SPECIAL, /* Special DMA (e.g., priority or polled) */ - _DRM_STAT_MISSED /* Missed DMA opportunity */ + _DRM_STAT_IRQ, /**< IRQ */ + _DRM_STAT_PRIMARY, /**< Primary DMA bytes */ + _DRM_STAT_SECONDARY, /**< Secondary DMA bytes */ + _DRM_STAT_DMA, /**< DMA */ + _DRM_STAT_SPECIAL, /**< Special DMA (e.g., priority or polled) */ + _DRM_STAT_MISSED /**< Missed DMA opportunity */ /* Add to the *END* of the list */ } drm_stat_type_t; + +/** + * DRM_IOCTL_GET_STATS ioctl argument type. + */ typedef struct drm_stats { unsigned long count; struct { @@ -225,137 +290,220 @@ } data[15]; } drm_stats_t; + +/** + * Hardware locking flags. + */ typedef enum drm_lock_flags { - _DRM_LOCK_READY = 0x01, /* Wait until hardware is ready for DMA */ - _DRM_LOCK_QUIESCENT = 0x02, /* Wait until hardware quiescent */ - _DRM_LOCK_FLUSH = 0x04, /* Flush this context's DMA queue first */ - _DRM_LOCK_FLUSH_ALL = 0x08, /* Flush all DMA queues first */ + _DRM_LOCK_READY = 0x01, /**< Wait until hardware is ready for DMA */ + _DRM_LOCK_QUIESCENT = 0x02, /**< Wait until hardware quiescent */ + _DRM_LOCK_FLUSH = 0x04, /**< Flush this context's DMA queue first */ + _DRM_LOCK_FLUSH_ALL = 0x08, /**< Flush all DMA queues first */ /* These *HALT* flags aren't supported yet -- they will be used to support the full-screen DGA-like mode. */ - _DRM_HALT_ALL_QUEUES = 0x10, /* Halt all current and future queues */ - _DRM_HALT_CUR_QUEUES = 0x20 /* Halt all current queues */ + _DRM_HALT_ALL_QUEUES = 0x10, /**< Halt all current and future queues */ + _DRM_HALT_CUR_QUEUES = 0x20 /**< Halt all current queues */ } drm_lock_flags_t; + +/** + * DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type. + * + * \sa drmGetLock() and drmUnlock(). + */ typedef struct drm_lock { int context; drm_lock_flags_t flags; } drm_lock_t; -typedef enum drm_dma_flags { /* These values *MUST* match xf86drm.h */ - /* Flags for DMA buffer dispatch */ - _DRM_DMA_BLOCK = 0x01, /* Block until buffer dispatched. - Note, the buffer may not yet have - been processed by the hardware -- - getting a hardware lock with the - hardware quiescent will ensure - that the buffer has been - processed. */ - _DRM_DMA_WHILE_LOCKED = 0x02, /* Dispatch while lock held */ - _DRM_DMA_PRIORITY = 0x04, /* High priority dispatch */ + +/** + * DMA flags + * + * \warning + * These values \e must match xf86drm.h. + * + * \sa drm_dma. + */ +typedef enum drm_dma_flags { + /* Flags for DMA buffer dispatch */ + _DRM_DMA_BLOCK = 0x01, /**< + * Block until buffer dispatched. + * + * \note The buffer may not yet have + * been processed by the hardware -- + * getting a hardware lock with the + * hardware quiescent will ensure + * that the buffer has been + * processed. + */ + _DRM_DMA_WHILE_LOCKED = 0x02, /**< Dispatch while lock held */ + _DRM_DMA_PRIORITY = 0x04, /**< High priority dispatch */ - /* Flags for DMA buffer request */ - _DRM_DMA_WAIT = 0x10, /* Wait for free buffers */ - _DRM_DMA_SMALLER_OK = 0x20, /* Smaller-than-requested buffers ok */ - _DRM_DMA_LARGER_OK = 0x40 /* Larger-than-requested buffers ok */ + /* Flags for DMA buffer request */ + _DRM_DMA_WAIT = 0x10, /**< Wait for free buffers */ + _DRM_DMA_SMALLER_OK = 0x20, /**< Smaller-than-requested buffers OK */ + _DRM_DMA_LARGER_OK = 0x40 /**< Larger-than-requested buffers OK */ } drm_dma_flags_t; + +/** + * DRM_IOCTL_ADD_BUFS and DRM_IOCTL_MARK_BUFS ioctl argument type. + * + * \sa drmAddBufs(). + */ typedef struct drm_buf_desc { - int count; /* Number of buffers of this size */ - int size; /* Size in bytes */ - int low_mark; /* Low water mark */ - int high_mark; /* High water mark */ + int count; /**< Number of buffers of this size */ + int size; /**< Size in bytes */ + int low_mark; /**< Low water mark */ + int high_mark; /**< High water mark */ enum { - _DRM_PAGE_ALIGN = 0x01, /* Align on page boundaries for DMA */ - _DRM_AGP_BUFFER = 0x02, /* Buffer is in agp space */ - _DRM_SG_BUFFER = 0x04 /* Scatter/gather memory buffer */ + _DRM_PAGE_ALIGN = 0x01, /**< Align on page boundaries for DMA */ + _DRM_AGP_BUFFER = 0x02, /**< Buffer is in AGP space */ + _DRM_SG_BUFFER = 0x04 /**< Scatter/gather memory buffer */ } flags; - unsigned long agp_start; /* Start address of where the agp buffers - * are in the agp aperture */ + unsigned long agp_start; /**< + * Start address of where the AGP buffers are + * in the AGP aperture + */ } drm_buf_desc_t; + +/** + * DRM_IOCTL_INFO_BUFS ioctl argument type. + */ typedef struct drm_buf_info { - int count; /* Entries in list */ + int count; /**< Entries in list */ drm_buf_desc_t *list; } drm_buf_info_t; + +/** + * DRM_IOCTL_FREE_BUFS ioctl argument type. + */ typedef struct drm_buf_free { int count; int *list; } drm_buf_free_t; + +/** + * Buffer information + * + * \sa drm_buf_map. + */ typedef struct drm_buf_pub { - int idx; /* Index into master buflist */ - int total; /* Buffer size */ - int used; /* Amount of buffer in use (for DMA) */ - void *address; /* Address of buffer */ + int idx; /**< Index into the master buffer list */ + int total; /**< Buffer size */ + int used; /**< Amount of buffer in use (for DMA) */ + void *address; /**< Address of buffer */ } drm_buf_pub_t; + +/** + * DRM_IOCTL_MAP_BUFS ioctl argument type. + */ typedef struct drm_buf_map { - int count; /* Length of buflist */ - void *virtual; /* Mmaped area in user-virtual */ - drm_buf_pub_t *list; /* Buffer information */ + int count; /**< Length of the buffer list */ + void *virtual; /**< Mmap'd area in user-virtual */ + drm_buf_pub_t *list; /**< Buffer information */ } drm_buf_map_t; + +/** + * DRM_IOCTL_DMA ioctl argument type. + * + * Indices here refer to the offset into the buffer list in drm_buf_get. + * + * \sa drmDMA(). + */ typedef struct drm_dma { - /* Indices here refer to the offset into - buflist in drm_buf_get_t. */ - int context; /* Context handle */ - int send_count; /* Number of buffers to send */ - int *send_indices; /* List of handles to buffers */ - int *send_sizes; /* Lengths of data to send */ - drm_dma_flags_t flags; /* Flags */ - int request_count; /* Number of buffers requested */ - int request_size; /* Desired size for buffers */ - int *request_indices; /* Buffer information */ + int context; /**< Context handle */ + int send_count; /**< Number of buffers to send */ + int *send_indices; /**< List of handles to buffers */ + int *send_sizes; /**< Lengths of data to send */ + drm_dma_flags_t flags; /**< Flags */ + int request_count; /**< Number of buffers requested */ + int request_size; /**< Desired size for buffers */ + int *request_indices; /**< Buffer information */ int *request_sizes; - int granted_count; /* Number of buffers granted */ + int granted_count; /**< Number of buffers granted */ } drm_dma_t; + typedef enum { _DRM_CONTEXT_PRESERVED = 0x01, _DRM_CONTEXT_2DONLY = 0x02 } drm_ctx_flags_t; + +/** + * DRM_IOCTL_ADD_CTX ioctl argument type. + * + * \sa drmCreateContext() and drmDestroyContext(). + */ typedef struct drm_ctx { drm_context_t handle; drm_ctx_flags_t flags; } drm_ctx_t; + +/** + * DRM_IOCTL_RES_CTX ioctl argument type. + */ typedef struct drm_ctx_res { int count; drm_ctx_t *contexts; } drm_ctx_res_t; + +/** + * DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type. + */ typedef struct drm_draw { drm_drawable_t handle; } drm_draw_t; + +/** + * DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type. + */ typedef struct drm_auth { drm_magic_t magic; } drm_auth_t; + +/** + * DRM_IOCTL_IRQ_BUSID ioctl argument type. + * + * \sa drmGetInterruptFromBusID(). + */ typedef struct drm_irq_busid { - int irq; - int busnum; - int devnum; - int funcnum; + int irq; /**< IRQ number */ + int busnum; /**< bus number */ + int devnum; /**< device number */ + int funcnum; /**< function number */ } drm_irq_busid_t; + typedef enum { - _DRM_VBLANK_ABSOLUTE = 0x0, /* Wait for specific vblank sequence number */ - _DRM_VBLANK_RELATIVE = 0x1, /* Wait for given number of vblanks */ - _DRM_VBLANK_SIGNAL = 0x40000000 /* Send signal instead of blocking */ + _DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */ + _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */ + _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking */ } drm_vblank_seq_type_t; + #define _DRM_VBLANK_FLAGS_MASK _DRM_VBLANK_SIGNAL + struct drm_wait_vblank_request { drm_vblank_seq_type_t type; unsigned int sequence; unsigned long signal; }; + struct drm_wait_vblank_reply { drm_vblank_seq_type_t type; unsigned int sequence; @@ -363,29 +511,59 @@ long tval_usec; }; + +/** + * DRM_IOCTL_WAIT_VBLANK ioctl argument type. + * + * \sa drmWaitVBlank(). + */ typedef union drm_wait_vblank { struct drm_wait_vblank_request request; struct drm_wait_vblank_reply reply; } drm_wait_vblank_t; + +/** + * DRM_IOCTL_AGP_ENABLE ioctl argument type. + * + * \sa drmAgpEnable(). + */ typedef struct drm_agp_mode { - unsigned long mode; + unsigned long mode; /**< AGP mode */ } drm_agp_mode_t; - /* For drm_agp_alloc -- allocated a buffer */ + +/** + * DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type. + * + * \sa drmAgpAlloc() and drmAgpFree(). + */ typedef struct drm_agp_buffer { - unsigned long size; /* In bytes -- will round to page boundary */ - unsigned long handle; /* Used for BIND/UNBIND ioctls */ - unsigned long type; /* Type of memory to allocate */ - unsigned long physical; /* Physical used by i810 */ + unsigned long size; /**< In bytes -- will round to page boundary */ + unsigned long handle; /**< Used for binding / unbinding */ + unsigned long type; /**< Type of memory to allocate */ + unsigned long physical; /**< Physical used by i810 */ } drm_agp_buffer_t; - /* For drm_agp_bind */ + +/** + * DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type. + * + * \sa drmAgpBind() and drmAgpUnbind(). + */ typedef struct drm_agp_binding { - unsigned long handle; /* From drm_agp_buffer */ - unsigned long offset; /* In bytes -- will round to page boundary */ + unsigned long handle; /**< From drm_agp_buffer */ + unsigned long offset; /**< In bytes -- will round to page boundary */ } drm_agp_binding_t; + +/** + * DRM_IOCTL_AGP_INFO ioctl argument type. + * + * \sa drmAgpVersionMajor(), drmAgpVersionMinor(), drmAgpGetMode(), + * drmAgpBase(), drmAgpSize(), drmAgpMemoryUsed(), drmAgpMemoryAvail(), + * drmAgpVendorId() and drmAgpDeviceId(). + */ typedef struct drm_agp_info { int agp_version_major; int agp_version_minor; @@ -400,11 +578,18 @@ unsigned short id_device; } drm_agp_info_t; + +/** + * DRM_IOCTL_SG_ALLOC ioctl argument type. + */ typedef struct drm_scatter_gather { - unsigned long size; /* In bytes -- will round to page boundary */ - unsigned long handle; /* Used for mapping / unmapping */ + unsigned long size; /**< In bytes -- will round to page boundary */ + unsigned long handle; /**< Used for mapping / unmapping */ } drm_scatter_gather_t; +/** + * DRM_IOCTL_SET_VERSION ioctl argument type. + */ typedef struct drm_set_version { int drm_di_major; int drm_di_minor; @@ -412,6 +597,7 @@ int drm_dd_minor; } drm_set_version_t; + #define DRM_IOCTL_BASE 'd' #define DRM_IO(nr) _IO(DRM_IOCTL_BASE,nr) #define DRM_IOR(nr,type) _IOR(DRM_IOCTL_BASE,nr,type) @@ -472,8 +658,13 @@ #define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, drm_wait_vblank_t) -/* Device specfic ioctls should only be in their respective headers - * The device specific ioctl range is 0x40 to 0x79. */ +/** + * Device specific ioctls should only be in their respective headers + * The device specific ioctl range is from 0x40 to 0x79. + * + * \sa drmCommandNone(), drmCommandRead(), drmCommandWrite(), and + * drmCommandReadWrite(). + */ #define DRM_COMMAND_BASE 0x40 #endif ==== //depot/projects/netperf/sys/dev/drm/drmP.h#5 (text+ko) ==== @@ -28,7 +28,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.7 2003/10/24 01:48:16 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.8 2003/11/12 20:56:30 anholt Exp $ */ #ifndef _DRM_P_H_ @@ -119,6 +119,8 @@ #define DRM_MIN(a,b) ((a)<(b)?(a):(b)) #define DRM_MAX(a,b) ((a)>(b)?(a):(b)) +#define DRM_IF_VERSION(maj, min) (maj << 16 | min) + #define DRM_GET_PRIV_SAREA(_dev, _ctx, _map) do { \ (_map) = (_dev)->context_sareas[_ctx]; \ } while(0) @@ -211,6 +213,9 @@ drm_magic_t magic; unsigned long ioctl_count; struct drm_device *devXX; +#ifdef DRIVER_FILE_FIELDS + DRIVER_FILE_FIELDS; +#endif }; typedef struct drm_lock_data { @@ -314,6 +319,7 @@ device_t device; /* Device instance from newbus */ #endif dev_t devnode; /* Device number for mknod */ + int if_version; /* Highest interface version set */ int flags; /* Flags to open(2) */ @@ -330,7 +336,6 @@ /* Usage Counters */ int open_count; /* Outstanding files open */ int buf_use; /* Buffers in use -- cannot alloc */ - int buf_alloc; /* Buffer allocation in progress */ /* Performance counters */ unsigned long counters; @@ -354,14 +359,21 @@ /* Context support */ int irq; /* Interrupt used by board */ - int irqrid; /* Interrupt used by board */ + int irq_enabled; /* True if the irq handler is enabled */ #ifdef __FreeBSD__ + int irqrid; /* Interrupt used by board */ struct resource *irqr; /* Resource for interrupt used by board */ #elif defined(__NetBSD__) struct pci_attach_args pa; pci_intr_handle_t ih; #endif void *irqh; /* Handle from bus_setup_intr */ + + int pci_domain; + int pci_bus; + int pci_slot; + int pci_func; + atomic_t context_flag; /* Context swapping flag */ int last_context; /* Last current context */ #if __FreeBSD_version >= 400005 @@ -444,7 +456,7 @@ #if __HAVE_IRQ /* IRQ support (drm_irq.h) */ -extern int DRM(irq_install)( drm_device_t *dev, int irq ); +extern int DRM(irq_install)(drm_device_t *dev); extern int DRM(irq_uninstall)( drm_device_t *dev ); extern irqreturn_t DRM(irq_handler)( DRM_IRQ_ARGS ); extern void DRM(driver_irq_preinstall)( drm_device_t *dev ); @@ -493,7 +505,7 @@ extern int DRM(setversion)( DRM_IOCTL_ARGS ); /* Misc. IOCTL support (drm_ioctl.h) */ -extern int DRM(irq_busid)(DRM_IOCTL_ARGS); +extern int DRM(irq_by_busid)(DRM_IOCTL_ARGS); extern int DRM(getunique)(DRM_IOCTL_ARGS); extern int DRM(setunique)(DRM_IOCTL_ARGS); extern int DRM(getmap)(DRM_IOCTL_ARGS); ==== //depot/projects/netperf/sys/dev/drm/drm_bufs.h#4 (text+ko) ==== @@ -28,7 +28,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drm_bufs.h,v 1.7 2003/10/24 01:48:16 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_bufs.h,v 1.8 2003/11/12 20:56:30 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -137,7 +137,17 @@ } map->offset = (unsigned long)map->handle; if ( map->flags & _DRM_CONTAINS_LOCK ) { + /* Prevent a 2nd X Server from creating a 2nd lock */ + DRM_LOCK(); + if (dev->lock.hw_lock != NULL) { + DRM_UNLOCK(); + DRM(free)(map->handle, map->size, + DRM_MEM_SAREA); + DRM(free)(map, sizeof(*map), DRM_MEM_MAPS); + return DRM_ERR(EBUSY); + } dev->lock.hw_lock = map->handle; /* Pointer to lock */ + DRM_UNLOCK(); } break; #if __REALLY_HAVE_AGP ==== //depot/projects/netperf/sys/dev/drm/drm_drv.h#5 (text+ko) ==== @@ -28,7 +28,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drm_drv.h,v 1.16 2003/11/03 20:44:00 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_drv.h,v 1.17 2003/11/12 20:56:30 anholt Exp $ */ /* @@ -102,6 +102,9 @@ #ifndef DRIVER_IOCTLS #define DRIVER_IOCTLS #endif +#ifndef DRIVER_OPEN_HELPER +#define DRIVER_OPEN_HELPER( priv, dev ) +#endif #ifndef DRIVER_FOPS #endif @@ -132,7 +135,9 @@ [DRM_IOCTL_NR(DRM_IOCTL_VERSION)] = { DRM(version), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_UNIQUE)] = { DRM(getunique), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_MAGIC)] = { DRM(getmagic), 0, 0 }, - [DRM_IOCTL_NR(DRM_IOCTL_IRQ_BUSID)] = { DRM(irq_busid), 0, 1 }, +#if __HAVE_IRQ + [DRM_IOCTL_NR(DRM_IOCTL_IRQ_BUSID)] = { DRM(irq_by_busid), 0, 1 }, +#endif [DRM_IOCTL_NR(DRM_IOCTL_GET_MAP)] = { DRM(getmap), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_CLIENT)] = { DRM(getclient), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_STATS)] = { DRM(getstats), 0, 0 }, @@ -413,14 +418,15 @@ return NULL; } -/* Initialize the DRM on first open. Called with device's lock held */ +/* Initialize the DRM on first open. */ static int DRM(setup)( drm_device_t *dev ) { int i; + DRM_SPINLOCK_ASSERT(&dev->dev_lock); + DRIVER_PRESETUP(); dev->buf_use = 0; - dev->buf_alloc = 0; #if __HAVE_DMA i = DRM(dma_setup)( dev ); @@ -476,9 +482,10 @@ dev->lock.hw_lock = NULL; dev->lock.lock_queue = 0; - dev->irq = 0; + dev->irq_enabled = 0; dev->context_flag = 0; dev->last_context = 0; + dev->if_version = 0; #ifdef __FreeBSD__ dev->buf_sigio = NULL; @@ -492,9 +499,7 @@ return 0; } -/* Free resources associated with the DRM on the last close. - * Called with the device's lock held. - */ +/* Free resources associated with the DRM on the last close. */ static int DRM(takedown)( drm_device_t *dev ) { drm_magic_entry_t *pt, *next; @@ -502,11 +507,13 @@ drm_map_list_entry_t *list; int i; + DRM_SPINLOCK_ASSERT(&dev->dev_lock); + DRM_DEBUG( "\n" ); DRIVER_PRETAKEDOWN(); #if __HAVE_IRQ - if (dev->irq != 0) + if (dev->irq_enabled) DRM(irq_uninstall)( dev ); #endif @@ -643,6 +650,13 @@ unit = minor(dev->device.dv_unit); #endif + dev->irq = pci_get_irq(dev->device); + /* XXX Fix domain number (alpha hoses) */ + dev->pci_domain = 0; + dev->pci_bus = pci_get_bus(dev->device); + dev->pci_slot = pci_get_slot(dev->device); + dev->pci_func = pci_get_function(dev->device); + dev->maplist = DRM(calloc)(1, sizeof(*dev->maplist), DRM_MEM_MAPS); if (dev->maplist == NULL) { retcode = ENOMEM; ==== //depot/projects/netperf/sys/dev/drm/drm_fops.h#4 (text+ko) ==== @@ -29,12 +29,11 @@ * Daryll Strauss * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drm_fops.h,v 1.9 2003/10/24 01:48:16 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_fops.h,v 1.10 2003/11/12 20:56:30 anholt Exp $ */ #include "dev/drm/drmP.h" -/* Requires device lock held */ drm_file_t *DRM(find_file_by_proc)(drm_device_t *dev, DRM_STRUCTPROC *p) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 12 21:03:31 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65A4616A4D0; Wed, 12 Nov 2003 21:03:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3FA6716A4CE for ; Wed, 12 Nov 2003 21:03:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB87743F3F for ; Wed, 12 Nov 2003 21:03:30 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD53UXJ072708 for ; Wed, 12 Nov 2003 21:03:30 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD53U0o072705 for perforce@freebsd.org; Wed, 12 Nov 2003 21:03:30 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Wed, 12 Nov 2003 21:03:30 -0800 (PST) Message-Id: <200311130503.hAD53U0o072705@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42215 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 05:03:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=42215 Change 42215 by jmallett@jmallett_dalek on 2003/11/12 21:02:55 Empty file. Affected files ... .. //depot/projects/mips/sys/mips/sgimips/vmparam.h#2 edit Differences ... ==== //depot/projects/mips/sys/mips/sgimips/vmparam.h#2 (text+ko) ==== @@ -1,7 +1,35 @@ -/* $NetBSD$ */ -/* $FreeBSD$ */ +/*- + * Copyright (c) 2003 Juli Mallett. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (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$ + */ + +#ifndef _SGIMIPS_VMPARAM_H_ +#define _SGIMIPS_VMPARAM_H_ -#define VM_PHYSSEG_MAX 32 +/* + * Nothing to see here. + */ -#define VM_NFREELIST 1 -#define VM_FREELIST_DEFAULT 0 +#endif From owner-p4-projects@FreeBSD.ORG Wed Nov 12 23:07:06 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82E9216A4D0; Wed, 12 Nov 2003 23:07:06 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5868E16A4CE for ; Wed, 12 Nov 2003 23:07:06 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6B2643F93 for ; Wed, 12 Nov 2003 23:07:04 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD774XJ080161 for ; Wed, 12 Nov 2003 23:07:04 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD774NT080158 for perforce@freebsd.org; Wed, 12 Nov 2003 23:07:04 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Wed, 12 Nov 2003 23:07:04 -0800 (PST) Message-Id: <200311130707.hAD774NT080158@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42224 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 07:07:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=42224 Change 42224 by jmallett@jmallett_dalek on 2003/11/12 23:06:44 init_param2 takes pages. fun though it was to watch vm try to tune maxusers based on memory<<12, well, yeah. DUH pill from: imp Affected files ... .. //depot/projects/mips/sys/mips/sgimips/machdep_sgimips.c#23 edit Differences ... ==== //depot/projects/mips/sys/mips/sgimips/machdep_sgimips.c#23 (text+ko) ==== @@ -164,7 +164,7 @@ if (kend == 0) panic("End of kernel should not be 0"); - init_param2(ctob(availmem)); + init_param2(btoc(physsz)); mips_init(); } From owner-p4-projects@FreeBSD.ORG Wed Nov 12 23:09:10 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9E3916A4D1; Wed, 12 Nov 2003 23:09:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C333116A4D0 for ; Wed, 12 Nov 2003 23:09:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E54A543FE3 for ; Wed, 12 Nov 2003 23:09:07 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAD797XJ080219 for ; Wed, 12 Nov 2003 23:09:07 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAD797BA080215 for perforce@freebsd.org; Wed, 12 Nov 2003 23:09:07 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Wed, 12 Nov 2003 23:09:07 -0800 (PST) Message-Id: <200311130709.hAD797BA080215@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42225 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 07:09:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=42225 Change 42225 by jmallett@jmallett_dalek on 2003/11/12 23:08:23 (probably) needlessly paranoid alignment changes. Affected files ... .. //depot/projects/mips/sys/mips/include/param.h#14 edit Differences ... ==== //depot/projects/mips/sys/mips/include/param.h#14 (text+ko) ==== @@ -61,10 +61,10 @@ * */ #ifndef _ALIGNBYTES -#define _ALIGNBYTES 7 +#define _ALIGNBYTES 15 #endif #ifndef _ALIGN -#define _ALIGN(p) (((u_int)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) +#define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) #endif #define ALIGNBYTES _ALIGNBYTES #define ALIGN(p) _ALIGN(p) From owner-p4-projects@FreeBSD.ORG Thu Nov 13 07:30:24 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6481716A4D1; Thu, 13 Nov 2003 07:30:24 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 354BA16A4CF for ; Thu, 13 Nov 2003 07:30:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2069C43FCB for ; Thu, 13 Nov 2003 07:30:23 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hADFUMXJ023637 for ; Thu, 13 Nov 2003 07:30:22 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hADFULiY023625 for perforce@freebsd.org; Thu, 13 Nov 2003 07:30:21 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Thu, 13 Nov 2003 07:30:21 -0800 (PST) Message-Id: <200311131530.hADFULiY023625@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 42241 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 15:30:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=42241 Change 42241 by areisse@areisse_ibook on 2003/11/13 07:29:41 add simple program to call mac_execve Affected files ... .. //depot/projects/trustedbsd/sedarwin/mac_cmds/mexec/Makefile#1 add .. //depot/projects/trustedbsd/sedarwin/mac_cmds/mexec/mexec.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Nov 13 07:35:31 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8974716A4D0; Thu, 13 Nov 2003 07:35:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 448B416A4CE for ; Thu, 13 Nov 2003 07:35:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6192543FA3 for ; Thu, 13 Nov 2003 07:35:30 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hADFZUXJ023870 for ; Thu, 13 Nov 2003 07:35:30 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hADFZTWV023867 for perforce@freebsd.org; Thu, 13 Nov 2003 07:35:29 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Thu, 13 Nov 2003 07:35:29 -0800 (PST) Message-Id: <200311131535.hADFZTWV023867@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 42242 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 15:35:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=42242 Change 42242 by areisse@areisse_ibook on 2003/11/13 07:35:09 added get_user_sids as a sebsd syscall (instead of sysctl) Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/init_sysent.c#7 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_mac.c#27 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#11 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscall.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscalls.h#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_sysctl.c#4 edit .. //depot/projects/trustedbsd/sedarwin/libsebsd/Makefile#2 edit .. //depot/projects/trustedbsd/sedarwin/libsebsd/sebsd.h#3 edit .. //depot/projects/trustedbsd/sedarwin/libsebsd/security_get_user_contexts.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/init_sysent.c#7 (text+ko) ==== @@ -334,6 +334,7 @@ int __mac_get_pid(); int __mac_set_proc(); int mac_execve(); +int mac_syscall(); #endif /* @@ -745,11 +746,11 @@ syss(__mac_get_link,2), /* 339 */ syss(__mac_get_proc,1), /* 340 */ syss(__mac_set_proc,1), /* 341 */ - /*syss(mac_execve,4), /* 342 */ - syss(nosys,0), /* 342 */ + syss(mac_execve,4), /* 342 */ syss(__mac_get_pid,2), /* 343 */ syss(__mac_set_file,2), /* 344 */ syss(__mac_set_link,2), /* 345 */ + syss(mac_syscall,3), /* 346 */ #else syss(nosys,0), /* 338 */ syss(nosys,0), /* 339 */ @@ -759,8 +760,8 @@ syss(nosys,0), /* 343 */ syss(nosys,0), /* 344 */ syss(nosys,0), /* 345 */ + syss(nosys,0), /* 346 */ #endif - syss(nosys,0), /* 346 */ syss(nosys,0), /* 347 */ syss(nosys,0), /* 348 */ syss(nosys,0), /* 349 */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_mac.c#27 (text+ko) ==== @@ -1562,6 +1562,7 @@ struct mac mac; char *buffer; int error; + size_t dummy; if (mac_p == NULL) return (0); @@ -1575,7 +1576,7 @@ return (error); buffer = _MALLOC(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, buffer, mac.m_buflen, NULL); + error = copyinstr(mac.m_string, buffer, mac.m_buflen, &dummy); if (error) { FREE(buffer, M_MACTEMP); return (error); @@ -4150,13 +4151,14 @@ struct mac_policy_conf *mpc; char target[MAC_MAX_POLICY_NAME]; int entrycount, error; + size_t dummy; - error = copyinstr(uap->policy, target, sizeof(target), NULL); + error = copyinstr(uap->policy, target, sizeof(target), &dummy); if (error) return (error); error = ENOSYS; - LIST_FOREACH(mpc, &mac_policy_list, mpc_list) { + LIST_FOREACH(mpc, &mac_static_policy_list, mpc_list) { if (strcmp(mpc->mpc_name, target) == 0 && mpc->mpc_ops->mpo_syscall != NULL) { error = mpc->mpc_ops->mpo_syscall(td, ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#11 (text+ko) ==== @@ -106,6 +106,9 @@ void sebsd_ss_free (void *v) { + if (v == NULL) + return; + size_t *vs = (size_t *) v; sebsd_free (vs-1, vs[-1]); } @@ -196,7 +199,7 @@ SECCLASS_SYSTEM, perm, NULL, NULL)); } -static int +int cred_has_security(struct ucred *cred, access_vector_t perm) { struct task_security_struct *task; @@ -2099,6 +2102,8 @@ FD__USE, NULL)); } +extern int sebsd_syscall(struct thread *td, int call, void *args); + static struct mac_policy_ops sebsd_ops = { .mpo_init = sebsd_init, @@ -2135,7 +2140,9 @@ /* Transition */ .mpo_execve_will_transition = sebsd_execve_will_transition, - .mpo_execve_transition = sebsd_execve_transition + .mpo_execve_transition = sebsd_execve_transition, + + .mpo_syscall = sebsd_syscall }; #if 0 ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscall.c#3 (text+ko) ==== @@ -34,7 +34,6 @@ * $FreeBSD$ */ -#if 0 #include #include #include @@ -47,6 +46,8 @@ #include #include +#define MAX_UC 510 + struct lp_args { void *data; @@ -54,11 +55,11 @@ }; static int -sys_load_policy(struct thread *td, void *data, size_t len) +sys_load_policy(struct proc *td, void *data, size_t len) { int rc; - rc = thread_has_security(td, SECURITY__LOAD_POLICY); + rc = cred_has_security(td->p_ucred, SECURITY__LOAD_POLICY); if (rc) return (rc); @@ -73,8 +74,70 @@ return (rc); } +/* + * Lists the SIDs currently available for transition to by a given + * "context\0username\0" + */ + +static int +sys_user_sids (char *context, char *username, char *out, int *outlen) +{ + u_int32_t n, nsids, scontext_len; + security_id_t *sids, sid; + security_context_t scontext; + int error; + int olen = 1; + int ubufsz; + + if (copyin (outlen, &ubufsz, sizeof (int))) + { + error = EFAULT; + goto out; + } + + /* + * XXX We need POLICY_RDLOCK here, but it's not exported! + */ + error = security_context_to_sid(context, strlen (context), &sid); + if (error) + goto out; + error = security_get_user_sids(sid, username, &sids, &nsids); + if (error) + goto out; + for (n = 0; n < nsids; n++) { + error = security_sid_to_context(sids[n], &scontext, + &scontext_len); + if (error) + goto out2; + if (out && olen + scontext_len <= ubufsz) + { + error = copyout (scontext, out, scontext_len); + out += scontext_len; + } + else if (out) + error = ENOMEM; + olen += scontext_len; + security_free_context(scontext); + if (error) + goto out2; + } + error = copyout (&olen, outlen, sizeof(int)); +out2: + sebsd_ss_free(sids); +out: + return (error); +} + +struct getsid_args +{ + char *ctx; + char *usr; + char *out; + int *outlen; +}; + int -sebsd_syscall(struct thread *td, int call, void *args) +sebsd_syscall(struct proc *td, int call, void *args) { int err = EINVAL; struct lp_args p; @@ -85,6 +148,35 @@ return (EFAULT); err = sys_load_policy (td, p.data, p.len); break; + + case SEBSDCALL_GETUSERSIDS: + { + struct getsid_args uap; + err = copyin (args, &uap, sizeof (struct getsid_args)); + if (err) + return err; + size_t dummy; + char *ctx = sebsd_ss_malloc (MAX_UC, M_WAITOK); + err = copyinstr(uap.ctx, ctx, MAX_UC, &dummy); + if (err) { + sebsd_ss_free (ctx); + return err; + } + char *usr = sebsd_ss_malloc (MAX_UC, M_WAITOK); + err = copyinstr(uap.usr, usr, MAX_UC, &dummy); + if (err) { + sebsd_ss_free (ctx); + sebsd_ss_free (usr); + return err; + } + ctx[MAX_UC-1] = 0; + usr[MAX_UC-1] = 0; + err = sys_user_sids (ctx, usr, uap.out, uap.outlen); + sebsd_ss_free (ctx); + sebsd_ss_free (usr); + } + break; + default: err = EINVAL; break; @@ -92,4 +184,3 @@ return err; } -#endif /* 0 */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscalls.h#2 (text+ko) ==== @@ -5,6 +5,7 @@ * TBD: Should we really try to line up with SELinux? */ #define SEBSDCALL_LOAD_POLICY 7 +#define SEBSDCALL_GETUSERSIDS 6 #define SEBSDCALL_NUM 7 ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_sysctl.c#4 (text+ko) ==== @@ -139,64 +139,6 @@ } #if 0 -/* - * Sysctl handler for security.mac.sebsd.user_sids - * Lists the SIDs currently available for transition to by a given - * "context\0username\0" - */ -static int -sysctl_user_sids(SYSCTL_HANDLER_ARGS) -{ - u_int32_t n, nsids, scontext_len; - security_id_t *sids, sid; - security_context_t scontext; - char *context, *username; - int error, len; - - if (req->newlen == 0) - return (EINVAL); - if (req->newlen > 512) /* arbitrary */ - return (ENAMETOOLONG); - context = sebsd_malloc(req->newlen, M_SEBSD, M_WAITOK); - error = SYSCTL_IN(req, context, req->newlen); - if (error) - goto out; - if (context[req->newlen - 1] != '\0') { - error = EINVAL; - goto out; - } - len = strlen(context); - if (len + 1 >= req->newlen) { - error = EINVAL; - goto out; - } - username = context + len + 1; - /* - * XXX We need POLICY_RDLOCK here, but it's not exported! - */ - error = security_context_to_sid(context, len + 1, &sid); - if (error) - goto out; - error = security_get_user_sids(sid, username, &sids, &nsids); - if (error) - goto out; - for (n = 0; n < nsids; n++) { - error = security_sid_to_context(sids[n], &scontext, - &scontext_len); - if (error) - goto out2; - error = SYSCTL_OUT(req, scontext, scontext_len); - security_free_context(scontext); - if (error) - goto out2; - } - error = SYSCTL_OUT(req, "", 1); -out2: - sebsd_free(sids, M_SEBSD); -out: - sebsd_free(context, M_SEBSD); - return (error); -} /* * Sysctl handler for security.mac.sebsd.change_sid ==== //depot/projects/trustedbsd/sedarwin/libsebsd/Makefile#2 (text+ko) ==== @@ -1,13 +1,30 @@ include ../Makeconfig +all: libsebsd.a + OBJS= system.o security_get_user_contexts.o get_ordered_context_list.o \ getseccontext.o query_user_context.o security_change_context.o \ string_to_security_class.o security_compute_av.o context.o \ get_default_type.o -CFLAGS+= -I$(EXPORT_HDRS)/security/sebsd +CFLAGS+= -g -I$(EXPORT_HDRS)/security/sebsd libsebsd.a: $(OBJS) ar cr $@ $(OBJS) ranlib $@ + +HDIR = /usr/include/security/sebsd +HEADERS = $(HDIR)/sebsd.h $(HDIR)/sebsd_ss.h $(HDIR)/flask_types.h $(HDIR)/linux-compat.h $(HDIR)/sebsd_context.h $(HDIR)/sebsd_proc.h $(HDIR)/sebsd_fs.h $(HDIR)/flask.h $(HDIR)/sebsd_syscalls.h + +install: $(HDIR) $(HEADERS) + +$(HDIR): + mkdir -p $(HDIR) + +$(HDIR)/%.h: %.h + cp $< $@ + +$(HDIR)/%.h: $(EXPORT_HDRS)/security/sebsd/%.h + cp $< $@ + ==== //depot/projects/trustedbsd/sedarwin/libsebsd/sebsd.h#3 (text+ko) ==== @@ -40,7 +40,7 @@ #include #ifdef USE_PAM -#include +#include #endif #include "flask_types.h" @@ -73,8 +73,8 @@ char ***retcontexts, size_t *ncontexts); int security_change_context(const char *domain, const char *ocontext, security_class_t oclass, char **newcontext); -int security_compute_av(struct security_query *query, - struct security_response *response); +extern int security_compute_av(struct security_query *query, + struct security_response *response); ==== //depot/projects/trustedbsd/sedarwin/libsebsd/security_get_user_contexts.c#2 (text+ko) ==== @@ -43,6 +43,14 @@ #include #include +struct getsid_args +{ + char *ctx; + char *usr; + char *out; + int *outlen; +}; + /* * Get a malloc()ed array of malloc()ed strings which indicate the * allowed SEBSD transitions to be made by a given user in a given @@ -52,29 +60,26 @@ security_get_user_contexts(const char *fromcontext, const char *username, char ***retcontexts, size_t *ncontexts) { - char *arguments, *contexts, *s, **contextarray; - ssize_t arguments_len; + char *contexts, *s, **contextarray; size_t contexts_len, n; int error; + struct getsid_args uap; - arguments_len = asprintf(&arguments, "%s%c%s%c", fromcontext, 0, - username, 0); - if (arguments_len == -1) - return (-1); bigger: - contexts_len = 0; - if (sysctlbyname("security.mac.sebsd.user_sids", NULL, &contexts_len, - arguments, arguments_len) == -1) { - free(arguments); - return (-1); - } + uap.outlen = &contexts_len; + uap.ctx = fromcontext; + uap.usr = username; + uap.out = NULL; + if (mac_syscall ("sebsd", 6, &uap)) + { + return (-1); + } contexts = malloc(contexts_len); if (contexts == NULL) { - free(arguments); return (-1); } - error = sysctlbyname("security.mac.sebsd.user_sids", contexts, - &contexts_len, arguments, arguments_len); + uap.out = contexts; + error = mac_syscall ("sebsd", 6, &uap); /* * We could possibly race and not have a large enough space * for the current set of contexts. @@ -83,7 +88,6 @@ free(contexts); goto bigger; } - free(arguments); if (error == -1) { free(contexts); return (-1); From owner-p4-projects@FreeBSD.ORG Thu Nov 13 07:36:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF27916A4D0; Thu, 13 Nov 2003 07:36:33 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9AD0516A4CE for ; Thu, 13 Nov 2003 07:36:33 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A86C243FAF for ; Thu, 13 Nov 2003 07:36:32 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hADFaWXJ023945 for ; Thu, 13 Nov 2003 07:36:32 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hADFaVGr023942 for perforce@freebsd.org; Thu, 13 Nov 2003 07:36:31 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Thu, 13 Nov 2003 07:36:31 -0800 (PST) Message-Id: <200311131536.hADFaVGr023942@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 42243 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 15:36:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=42243 Change 42243 by areisse@areisse_ibook on 2003/11/13 07:35:33 call mac_execve and mac_syscall Affected files ... .. //depot/projects/trustedbsd/sedarwin/libmac/mac.c#2 edit .. //depot/projects/trustedbsd/sedarwin/libmac/mac_exec.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/libmac/mac.c#2 (text+ko) ==== @@ -460,3 +460,8 @@ } return (1); } + +int mac_syscall (const char *policy, int call, void *arg) +{ + return syscall (346, policy, call, arg); +} ==== //depot/projects/trustedbsd/sedarwin/libmac/mac_exec.c#2 (text+ko) ==== @@ -34,12 +34,8 @@ #include #include -extern int __mac_execve(char *fname, char **argv, char **envv, - struct mac *mac_p); - int mac_execve(char *fname, char **argv, char **envv, struct mac *label) { - - return (__mac_execve(fname, argv, envv, label)); + return (syscall (342, fname, argv, envv, label)); } From owner-p4-projects@FreeBSD.ORG Thu Nov 13 08:48:10 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E85E16A4D0; Thu, 13 Nov 2003 08:48:10 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 698A116A4CE for ; Thu, 13 Nov 2003 08:48:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D824F43FE9 for ; Thu, 13 Nov 2003 08:48:08 -0800 (PST) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hADGm8XJ033243 for ; Thu, 13 Nov 2003 08:48:08 -0800 (PST) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hADGm8ip033240 for perforce@freebsd.org; Thu, 13 Nov 2003 08:48:08 -0800 (PST) (envelope-from cvance@nailabs.com) Date: Thu, 13 Nov 2003 08:48:08 -0800 (PST) Message-Id: <200311131648.hADGm8ip033240@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 42253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 16:48:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=42253 Change 42253 by cvance@cvance_osx_laptop on 2003/11/13 08:47:31 extattr_list_xxx functions return data in the void * buffer Affected files ... .. //depot/projects/trustedbsd/sedarwin/libextattr/extattr.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/libextattr/extattr.c#2 (text+ko) ==== @@ -130,20 +130,20 @@ return syscall (357, _path, _attrnamespace, _attrname, _data, _nbytes); } -int extattr_list_file(const char *_path, int _attrnamespace, - const void *_data, size_t _nbytes) +ssize_t extattr_list_file(const char *_path, int _attrnamespace, + void *_data, size_t _nbytes) { return syscall (361, _path, _attrnamespace, _data, _nbytes); } -int extattr_list_link(const char *_path, int _attrnamespace, - const void *_data, size_t _nbytes) +ssize_t extattr_list_link(const char *_path, int _attrnamespace, + void *_data, size_t _nbytes) { return syscall (362, _path, _attrnamespace, _data, _nbytes); } -int extattr_list_fd(int fd, int _attrnamespace, - const void *_data, size_t _nbytes) +ssize_t extattr_list_fd(int fd, int _attrnamespace, + void *_data, size_t _nbytes) { return syscall (360, fd, _attrnamespace, _data, _nbytes); } From owner-p4-projects@FreeBSD.ORG Thu Nov 13 12:11:30 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC80D16A4D0; Thu, 13 Nov 2003 12:11:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ADE7416A4CF for ; Thu, 13 Nov 2003 12:11:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3660843FB1 for ; Thu, 13 Nov 2003 12:11:28 -0800 (PST) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hADKBSXJ046534 for ; Thu, 13 Nov 2003 12:11:28 -0800 (PST) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hADKBRaw046531 for perforce@freebsd.org; Thu, 13 Nov 2003 12:11:27 -0800 (PST) (envelope-from cvance@nailabs.com) Date: Thu, 13 Nov 2003 12:11:27 -0800 (PST) Message-Id: <200311132011.hADKBRaw046531@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 42266 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 20:11:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=42266 Change 42266 by cvance@cvance_osx_laptop on 2003/11/13 12:10:46 With this submission, HFS supports basic extattr use. Only the autostart mechanism is supported, along with get & set operations. - Added shutdown routines - Added ENOATTR error code - Added support for the hfs_sextattr_set operation - Removed extaneous debugging Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.c#4 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vfsops.c#4 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/errno.h#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_extattr.c#4 (text+ko) ==== @@ -59,6 +59,12 @@ #ifdef HFS_EXTATTR +/* XXX/TBD: This should be available via a sysctl */ +static hfs_extattr_sync = 0; + +static int hfs_extattr_disable(struct hfsmount *hfsmp, int attrnamespace, + const char *attrname, struct proc *p); + /* * Lock functions copied/ported From FreeBSD 5.1, including comments... * @@ -154,7 +160,7 @@ panic("hfs_extattr_uepm_destroy: not initialized"); if ((uepm->uepm_flags & HFS_EXTATTR_UEPM_STARTED)) - panic("Hfs_extattr_uepm_destroy: called while still started"); + panic("hfs_extattr_uepm_destroy: called while still started"); simple_lock(&mountlist_slock); uepm->uepm_flags &= ~HFS_EXTATTR_UEPM_INITIALIZED; @@ -211,7 +217,6 @@ struct vnode *target_vp; int error; - printf("hfs_extattr_lookup: called with dirname=%s\n", dirname); bzero(&cnp, sizeof(cnp)); cnp.cn_nameiop = LOOKUP; cnp.cn_flags = ISLASTCN; @@ -229,7 +234,6 @@ VOP_UNLOCK(start_dvp, 0, p); } _FREE_ZONE(cnp.cn_pnbuf, cnp.cn_pnlen, M_NAMEI); - printf("hfs_extattr_lookup: copystr failed\n"); return (error); } cnp.cn_namelen--; /* trim nul termination */ @@ -255,7 +259,6 @@ if (lockparent == UE_GETDIR_LOCKPARENT) panic("hfs_extattr_lookup: lockparent but PDIRUNLOCK"); */ - printf("hfs_extattr_lookup: hfs_lookup failed with error %d\n", error); return (error); } /* @@ -272,7 +275,6 @@ panic("hfs_extattr_lookup: lockparent but PDIRUNLOCK"); */ - printf("hfs_extattr_lookup: success, vp=%x\n", vp); *vp = target_vp; return (0); } @@ -337,20 +339,16 @@ goto unlock_free_exit; if (auio.uio_resid != 0) { - printf("hfs_extattr_enable: malformed attribute header\n"); error = EINVAL; goto unlock_free_exit; } if (attribute->uele_fileheader.uef_magic != HFS_EXTATTR_MAGIC) { - printf("hfs_extattr_enable: invalid attribute header magic\n"); error = EINVAL; goto unlock_free_exit; } if (attribute->uele_fileheader.uef_version != HFS_EXTATTR_VERSION) { - printf("hfs_extattr_enable: incorrect attribute header " - "version\n"); error = EINVAL; goto unlock_free_exit; } @@ -392,8 +390,6 @@ error = VOP_OPEN(vp, FREAD|FWRITE, p->p_ucred, p); if (error) { ubc_rele(vp); - printf("hfs_extattr_enable_with_open.VOP_OPEN(): failed " - "with %d\n", error); VOP_UNLOCK(vp, 0, p); return (error); } @@ -408,6 +404,8 @@ error = hfs_extattr_enable(hfsmp, attrnamespace, attrname, vp, p); if (error != 0) vn_close(vp, FREAD|FWRITE, p->p_ucred, p); + + return (error); } @@ -462,8 +460,6 @@ aiov.iov_len = DIRBLKSIZ; error = hfs_readdir(&vargs); if (error) { - printf("hfs_extattr_iterate_directory: hfs_readdir " - "%d\n", error); return (error); } @@ -490,11 +486,7 @@ error = hfs_extattr_enable_with_open(hfsmp, attr_vp, attrnamespace, dp->d_name, p); vrele(attr_vp); - if (error) { - printf("hfs_extattr_iterate_directory: " - "enable %s %d\n", dp->d_name, - error); - } else { + if (!error) { printf("HFS autostarted EA %s\n", dp->d_name); } @@ -518,7 +510,6 @@ hfs_extattr_autostart(struct mount *mp, struct proc *p) { - printf("hfs_extattr_autostart called\n"); struct vnode *rvp, *attr_dvp, *attr_system_dvp, *attr_user_dvp; int error; @@ -528,8 +519,6 @@ */ error = VFS_ROOT(mp, &rvp); if (error) { - printf("hfs_extattr_autostart.VFS_ROOT() returned %d\n", - error); return (error); } @@ -556,8 +545,6 @@ error = hfs_extattr_start(mp, p); if (error) { - printf("hfs_extattr_autostart: hfs_extattr_start failed (%d)\n", - error); goto return_vput_attr_dvp; } @@ -573,9 +560,6 @@ if (!error) { error = hfs_extattr_iterate_directory(VFSTOHFS(mp), attr_system_dvp, EXTATTR_NAMESPACE_SYSTEM, p); - if (error) - printf("hfs_extattr_iterate_directory returned %d\n", - error); vput(attr_system_dvp); } @@ -584,9 +568,6 @@ if (!error) { error = hfs_extattr_iterate_directory(VFSTOHFS(mp), attr_user_dvp, EXTATTR_NAMESPACE_USER, p); - if (error) - printf("hfs_extattr_iterate_directory returned %d\n", - error); vput(attr_user_dvp); } @@ -606,8 +587,32 @@ hfs_extattr_stop(struct mount *mp, struct proc *p) { - printf("hfs_extattr_stop called\n"); - return (0); + struct hfs_extattr_list_entry *uele; + struct hfsmount *hfsmp = VFSTOHFS(mp); + int error = 0; + + hfs_extattr_uepm_lock(hfsmp, p); + + if (!(hfsmp->hfs_extattr.uepm_flags & HFS_EXTATTR_UEPM_STARTED)) { + error = EOPNOTSUPP; + goto unlock; + } + + while (LIST_FIRST(&hfsmp->hfs_extattr.uepm_list) != NULL) { + uele = LIST_FIRST(&hfsmp->hfs_extattr.uepm_list); + hfs_extattr_disable(hfsmp, uele->uele_attrnamespace, + uele->uele_attrname, p); + } + + hfsmp->hfs_extattr.uepm_flags &= ~HFS_EXTATTR_UEPM_STARTED; + + crfree(hfsmp->hfs_extattr.uepm_ucred); + hfsmp->hfs_extattr.uepm_ucred = NULL; + +unlock: + hfs_extattr_uepm_unlock(hfsmp, p); + + return (error); } /* @@ -619,7 +624,149 @@ struct uio *uio, size_t *size, struct ucred *cred, struct proc *p) { - return (ENOTSUP); + struct hfs_extattr_list_entry *attribute; + struct hfs_extattr_header ueh; + struct iovec local_aiov; + struct uio local_aio; + struct mount *mp = vp->v_mount; + struct hfsmount *hfsmp = VFSTOHFS(mp); + struct cnode *cp = VTOC(vp); + off_t base_offset; + size_t len, old_len; + int error = 0; + + if (!(hfsmp->hfs_extattr.uepm_flags & HFS_EXTATTR_UEPM_STARTED)) + return (EOPNOTSUPP); + + if (strlen(name) == 0) + return (EINVAL); + +/* + * XXX/TBD: + */ +/* + error = extattr_check_cred(vp, attrnamespace, cred, p, IREAD); + if (error) + return (error); +*/ + + attribute = hfs_extattr_find_attr(hfsmp, attrnamespace, name); + if (!attribute) + return (ENOATTR); + + /* + * Allow only offsets of zero to encourage the read/replace + * extended attribute semantic. Otherwise we can't guarantee + * atomicity, as we don't provide locks for extended attributes. + */ + if (uio != NULL && uio->uio_offset != 0) + return (ENXIO); + + /* + * Find base offset of header in file based on file header size, and + * data header size + maximum data size, indexed by inode number. + */ + base_offset = sizeof(struct hfs_extattr_fileheader) + + cp->c_fileid * (sizeof(struct hfs_extattr_header) + + attribute->uele_fileheader.uef_size); + + /* + * Read in the data header to see if the data is defined, and if so + * how much. + */ + bzero(&ueh, sizeof(struct hfs_extattr_header)); + local_aiov.iov_base = (caddr_t) &ueh; + local_aiov.iov_len = sizeof(struct hfs_extattr_header); + local_aio.uio_iov = &local_aiov; + local_aio.uio_iovcnt = 1; + local_aio.uio_rw = UIO_READ; + local_aio.uio_segflg = UIO_SYSSPACE; + local_aio.uio_procp = p; + local_aio.uio_offset = base_offset; + local_aio.uio_resid = sizeof(struct hfs_extattr_header); + + /* + * Acquire locks. + */ + VOP_LEASE(attribute->uele_backing_vnode, p, cred, LEASE_READ); + /* + * Don't need to get a lock on the backing file if the getattr is + * being applied to the backing file, as the lock is already held. + */ + if (attribute->uele_backing_vnode != vp) + vn_lock(attribute->uele_backing_vnode, LK_SHARED | + LK_RETRY, p); + + error = VOP_READ(attribute->uele_backing_vnode, &local_aio, + IO_NODELOCKED, hfsmp->hfs_extattr.uepm_ucred); + if (error) + goto vopunlock_exit; + + /* Defined? */ + if ((ueh.ueh_flags & HFS_EXTATTR_ATTR_FLAG_INUSE) == 0) { + error = ENOATTR; + goto vopunlock_exit; + } + +#ifdef HFS_GENERATIONS + /* XXX/TBD: is there something similiar in hfs? */ + + /* Valid for the current inode generation? */ + if (ueh.ueh_i_gen != ip->i_gen) { + /* + * The inode itself has a different generation number + * than the attribute data. For now, the best solution + * is to coerce this to undefined, and let it get cleaned + * up by the next write or extattrctl clean. + */ + printf("hfs_extattr_get (%s): inode number inconsistency (%d, %jd)\n", + mp->mnt_stat.f_mntonname, ueh.ueh_i_gen, (intmax_t)ip->i_gen); + error = ENOATTR; + goto vopunlock_exit; + } +#endif + + /* Local size consistency check. */ + if (ueh.ueh_len > attribute->uele_fileheader.uef_size) { + error = ENXIO; + goto vopunlock_exit; + } + + /* Return full data size if caller requested it. */ + if (size != NULL) + *size = ueh.ueh_len; + + /* Return data if the caller requested it. */ + if (uio != NULL) { + /* Allow for offset into the attribute data. */ + uio->uio_offset = base_offset + sizeof(struct + hfs_extattr_header); + + /* + * Figure out maximum to transfer -- use buffer size and + * local data limit. + */ + len = MIN(uio->uio_resid, ueh.ueh_len); + old_len = uio->uio_resid; + uio->uio_resid = len; + + error = VOP_READ(attribute->uele_backing_vnode, uio, + IO_NODELOCKED, hfsmp->hfs_extattr.uepm_ucred); + if (error) + goto vopunlock_exit; + + uio->uio_resid = old_len - (len - uio->uio_resid); + } + +vopunlock_exit: + + if (uio != NULL) + uio->uio_offset = 0; + + if (attribute->uele_backing_vnode != vp) + VOP_UNLOCK(attribute->uele_backing_vnode, 0, p); + + return (error); } /* @@ -630,8 +777,119 @@ hfs_extattr_set(struct vnode *vp, int attrnamespace, const char *name, struct uio *uio, struct ucred *cred, struct proc *p) { + struct hfs_extattr_list_entry *attribute; + struct hfs_extattr_header ueh; + struct iovec local_aiov; + struct uio local_aio; + struct mount *mp = vp->v_mount; + struct hfsmount *hfsmp = VFSTOHFS(mp); + struct cnode *cp = VTOC(vp); + off_t base_offset; + int error = 0, ioflag; + + if (vp->v_mount->mnt_flag & MNT_RDONLY) + return (EROFS); + if (!(hfsmp->hfs_extattr.uepm_flags & HFS_EXTATTR_UEPM_STARTED)) + return (EOPNOTSUPP); + if (!hfs_extattr_valid_attrname(attrnamespace, name)) + return (EINVAL); + +/* + * XXX/TBD: + */ +/* + error = extattr_check_cred(vp, attrnamespace, cred, td, IWRITE); + if (error) + return (error); +*/ + attribute = hfs_extattr_find_attr(hfsmp, attrnamespace, name); - return (ENOTSUP); + if (!attribute) { + return (ENOATTR); + } + + /* + * Early rejection of invalid offsets/length. + * Reject: any offset but 0 (replace) + * Any size greater than attribute size limit + */ + if (uio->uio_offset != 0 || + uio->uio_resid > attribute->uele_fileheader.uef_size) { + return (ENXIO); + } + + /* + * Find base offset of header in file based on file header size, and + * data header size + maximum data size, indexed by inode number. + */ + base_offset = sizeof(struct hfs_extattr_fileheader) + + cp->c_fileid * (sizeof(struct hfs_extattr_header) + + attribute->uele_fileheader.uef_size); + + /* + * Write out a data header for the data. + */ + ueh.ueh_len = uio->uio_resid; + ueh.ueh_flags = HFS_EXTATTR_ATTR_FLAG_INUSE; +#ifdef HFS_GENERATIONS + /* XXX/TBD: is there something similiar in hfs? */ + ueh.ueh_i_gen = ip->i_gen; +#endif + local_aiov.iov_base = (caddr_t) &ueh; + local_aiov.iov_len = sizeof(struct hfs_extattr_header); + local_aio.uio_iov = &local_aiov; + local_aio.uio_iovcnt = 1; + local_aio.uio_rw = UIO_WRITE; + local_aio.uio_segflg = UIO_SYSSPACE; + local_aio.uio_procp = p; + local_aio.uio_offset = base_offset; + local_aio.uio_resid = sizeof(struct hfs_extattr_header); + + /* + * Acquire locks. + */ + VOP_LEASE(attribute->uele_backing_vnode, p, cred, LEASE_WRITE); + + /* + * Don't need to get a lock on the backing file if the setattr is + * being applied to the backing file, as the lock is already held. + */ + if (attribute->uele_backing_vnode != vp) + vn_lock(attribute->uele_backing_vnode, + LK_EXCLUSIVE | LK_RETRY, p); + + ioflag = IO_NODELOCKED; + if (hfs_extattr_sync) + ioflag |= IO_SYNC; + error = VOP_WRITE(attribute->uele_backing_vnode, &local_aio, ioflag, + hfsmp->hfs_extattr.uepm_ucred); + if (error) { + goto vopunlock_exit; + } + + if (local_aio.uio_resid != 0) { + error = ENXIO; + goto vopunlock_exit; + } + + /* + * Write out user data. + */ + uio->uio_offset = base_offset + sizeof(struct hfs_extattr_header); + + ioflag = IO_NODELOCKED; + if (hfs_extattr_sync) + ioflag |= IO_SYNC; + error = VOP_WRITE(attribute->uele_backing_vnode, uio, ioflag, + hfsmp->hfs_extattr.uepm_ucred); + +vopunlock_exit: + uio->uio_offset = 0; + + if (attribute->uele_backing_vnode != vp) + VOP_UNLOCK(attribute->uele_backing_vnode, 0, p); + + return (error); } /* @@ -667,7 +925,6 @@ struct hfsmount *hfsmp = VTOHFS(ap->a_vp); int error; - printf("hfs_getextattr called\n"); hfs_extattr_uepm_lock(hfsmp, ap->a_p); @@ -700,7 +957,6 @@ int error; - printf("hfs_setextattr called\n"); hfs_extattr_uepm_lock(hfsmp, ap->a_p); /* @@ -749,5 +1005,38 @@ return (error); } +/* + * Disable extended attribute support on an FS. + */ +static int +hfs_extattr_disable(struct hfsmount *hfsmp, int attrnamespace, + const char *attrname, struct proc *p) +{ + struct hfs_extattr_list_entry *uele; + int error = 0; + + if (!hfs_extattr_valid_attrname(attrnamespace, attrname)) { + return (EINVAL); + } + + uele = hfs_extattr_find_attr(hfsmp, attrnamespace, attrname); + if (!uele) { + return (ENOATTR); + } + + LIST_REMOVE(uele, uele_entries); + + vn_lock(uele->uele_backing_vnode, LK_SHARED | LK_RETRY, p); +/* XXX/TBD */ +/* ASSERT_VOP_LOCKED(uele->uele_backing_vnode, "hfs_extattr_disable"); */ + uele->uele_backing_vnode->v_flag &= ~VSYSTEM; + VOP_UNLOCK(uele->uele_backing_vnode, 0, p); + error = vn_close(uele->uele_backing_vnode, FREAD|FWRITE, + p->p_ucred, p); + + FREE(uele, M_EXTATTR); + + return (error); +} #endif /* !HFS_EXTATTR */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_vfsops.c#4 (text+ko) ==== @@ -1225,11 +1225,11 @@ force = 1; } -#ifdef UFS_EXTATTR - if ((error = hfs_extattr_stop(mp, p))) { - if (error != ENOTSUP) +#ifdef HFS_EXTATTR + if ((retval = hfs_extattr_stop(mp, p))) { + if (retval != ENOTSUP) printf("hfs_unmount: hfs_extattr_stop returned %d\n", - error); + retval); } else { hfs_extattr_uepm_destroy(&hfsmp->hfs_extattr, p); } ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/errno.h#2 (text+ko) ==== @@ -205,7 +205,8 @@ #define EBADMACHO 88 /* Malformed Macho file */ #define ECANCELED 89 /* Operation canceled */ -#define ELAST 89 /* Must be equal largest errno */ +#define ENOATTR 90 /* Attribute not found */ +#define ELAST 90 /* Must be equal largest errno */ #endif /* _POSIX_SOURCE */ #ifdef KERNEL From owner-p4-projects@FreeBSD.ORG Thu Nov 13 13:27:07 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A69116A4D1; Thu, 13 Nov 2003 13:27:07 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 42F4516A4CE for ; Thu, 13 Nov 2003 13:27:07 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A3D1343FB1 for ; Thu, 13 Nov 2003 13:27:04 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hADLR4XJ056786 for ; Thu, 13 Nov 2003 13:27:04 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hADLR3C8056783 for perforce@freebsd.org; Thu, 13 Nov 2003 13:27:03 -0800 (PST) (envelope-from sam@freebsd.org) Date: Thu, 13 Nov 2003 13:27:03 -0800 (PST) Message-Id: <200311132127.hADLR3C8056783@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42273 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 21:27:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=42273 Change 42273 by sam@sam_ebb on 2003/11/13 13:26:27 IFC @ 42272 Affected files ... .. //depot/projects/netperf/sys/alpha/alpha/clock.c#3 integrate .. //depot/projects/netperf/sys/alpha/conf/GENERIC#3 integrate .. //depot/projects/netperf/sys/amd64/amd64/exception.S#5 integrate .. //depot/projects/netperf/sys/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/netperf/sys/amd64/isa/icu_vector.S#2 integrate .. //depot/projects/netperf/sys/dev/aha/aha.c#5 integrate .. //depot/projects/netperf/sys/dev/aha/aha_isa.c#5 integrate .. //depot/projects/netperf/sys/dev/aha/ahareg.h#5 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath.c#34 integrate .. //depot/projects/netperf/sys/dev/bge/if_bge.c#13 integrate .. //depot/projects/netperf/sys/dev/ed/if_ed.c#6 integrate .. //depot/projects/netperf/sys/dev/fe/if_fe.c#4 integrate .. //depot/projects/netperf/sys/dev/firewire/if_fwe.c#9 integrate .. //depot/projects/netperf/sys/dev/lge/if_lge.c#5 integrate .. //depot/projects/netperf/sys/dev/lnc/if_lnc.c#4 integrate .. //depot/projects/netperf/sys/dev/my/if_my.c#6 integrate .. //depot/projects/netperf/sys/dev/nge/if_nge.c#5 integrate .. //depot/projects/netperf/sys/dev/re/if_re.c#6 integrate .. //depot/projects/netperf/sys/dev/sn/if_sn.c#6 integrate .. //depot/projects/netperf/sys/dev/tx/if_tx.c#6 integrate .. //depot/projects/netperf/sys/dev/usb/if_aue.c#6 integrate .. //depot/projects/netperf/sys/dev/usb/if_axe.c#4 integrate .. //depot/projects/netperf/sys/dev/usb/if_cue.c#6 integrate .. //depot/projects/netperf/sys/dev/usb/if_rue.c#5 integrate .. //depot/projects/netperf/sys/dev/wl/if_wl.c#5 integrate .. //depot/projects/netperf/sys/dev/xe/if_xe.c#8 integrate .. //depot/projects/netperf/sys/fs/specfs/spec_vnops.c#8 integrate .. //depot/projects/netperf/sys/i386/i386/apic_vector.s#3 integrate .. //depot/projects/netperf/sys/i386/include/apicvar.h#3 integrate .. //depot/projects/netperf/sys/i386/isa/clock.c#7 integrate .. //depot/projects/netperf/sys/kern/kern_tc.c#5 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_ioctl.c#8 integrate .. //depot/projects/netperf/sys/netgraph/atm/ng_atm.h#3 integrate .. //depot/projects/netperf/sys/netgraph/atm/ng_sscop.h#2 integrate .. //depot/projects/netperf/sys/netgraph/atm/ngatmbase.h#2 integrate .. //depot/projects/netperf/sys/netinet/in_pcb.c#16 integrate .. //depot/projects/netperf/sys/netkey/key.c#8 integrate .. //depot/projects/netperf/sys/pci/if_dc.c#13 integrate .. //depot/projects/netperf/sys/pci/if_pcn.c#5 integrate .. //depot/projects/netperf/sys/pci/if_rl.c#12 integrate .. //depot/projects/netperf/sys/pci/if_sf.c#5 integrate .. //depot/projects/netperf/sys/pci/if_sis.c#16 integrate .. //depot/projects/netperf/sys/pci/if_sk.c#8 integrate .. //depot/projects/netperf/sys/pci/if_ste.c#5 integrate .. //depot/projects/netperf/sys/pci/if_tl.c#5 integrate .. //depot/projects/netperf/sys/pci/if_vr.c#5 integrate .. //depot/projects/netperf/sys/pci/if_wb.c#5 integrate .. //depot/projects/netperf/sys/pci/if_xl.c#11 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/machdep.c#8 integrate .. //depot/projects/netperf/sys/ufs/ffs/ffs_snapshot.c#7 integrate Differences ... ==== //depot/projects/netperf/sys/alpha/alpha/clock.c#3 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.34 2003/08/17 06:42:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.35 2003/11/13 09:24:21 jeff Exp $"); #include "opt_clock.h" @@ -737,13 +737,13 @@ outb(TIMER_CNTR2, pitch); outb(TIMER_CNTR2, (pitch>>8)); + mtx_unlock_spin(&clock_lock); if (!beeping) { /* enable counter2 output to speaker */ if (pitch) outb(IO_PPI, inb(IO_PPI) | 3); beeping = period; timeout(sysbeepstop, (void *)NULL, period); } - mtx_unlock_spin(&clock_lock); return (0); } ==== //depot/projects/netperf/sys/alpha/conf/GENERIC#3 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.163 2003/09/19 20:04:55 joerg Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.164 2003/11/13 02:04:34 jeff Exp $ machine alpha cpu EV4 @@ -74,6 +74,7 @@ options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles +options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed # To make an SMP kernel, the next line is needed options SMP # Symmetric MultiProcessor Kernel ==== //depot/projects/netperf/sys/amd64/amd64/exception.S#5 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.113 2003/10/15 02:04:52 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.114 2003/11/13 02:38:33 peter Exp $ */ #include @@ -172,11 +172,8 @@ movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) alltraps_with_regs_pushed: - FAKE_MCOUNT(13*4(%rsp)) calltrap: - FAKE_MCOUNT(btrap) /* init "from" btrap -> calltrap */ call trap - MEXITCOUNT jmp doreti /* Handle any pending ASTs */ /* @@ -298,7 +295,6 @@ movq %rbx, %rsi /* arg1 */ movq %rsp, %rdx /* trapframe pointer */ call fork_exit - MEXITCOUNT jmp doreti /* Handle any ASTs */ @@ -322,7 +318,6 @@ .globl doreti .type doreti,@function doreti: - FAKE_MCOUNT(bintr) /* init "from" bintr -> doreti */ /* * Check if ASTs can be handled now. */ @@ -352,8 +347,6 @@ * registers. The fault is handled in trap.c. */ doreti_exit: - MEXITCOUNT - movq TF_RDI(%rsp),%rdi movq TF_RSI(%rsp),%rsi movq TF_RDX(%rsp),%rdx ==== //depot/projects/netperf/sys/amd64/ia32/ia32_exception.S#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/ia32/ia32_exception.S,v 1.1 2003/05/14 04:10:48 peter Exp $ + * $FreeBSD: src/sys/amd64/ia32/ia32_exception.S,v 1.2 2003/11/13 02:38:33 peter Exp $ */ #include @@ -63,7 +63,5 @@ movq %r13,TF_R13(%rsp) movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) - FAKE_MCOUNT(13*4(%rsp)) call ia32_syscall - MEXITCOUNT jmp doreti ==== //depot/projects/netperf/sys/amd64/isa/icu_vector.S#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/amd64/isa/icu_vector.S,v 1.39 2003/05/12 02:37:29 peter Exp $ + * $FreeBSD: src/sys/amd64/isa/icu_vector.S,v 1.40 2003/11/13 02:38:33 peter Exp $ */ #define IRQ_BIT(irq_num) (1 << ((irq_num) % 8)) @@ -43,7 +43,6 @@ movq %r13,TF_R13(%rsp) ; \ movq %r14,TF_R14(%rsp) ; \ movq %r15,TF_R15(%rsp) ; \ - FAKE_MCOUNT((12)*4(%rsp)) ; \ call critical_enter ; \ movq PCPU(CURTHREAD),%rbx ; \ incl TD_INTR_NESTING_LEVEL(%rbx) ; \ @@ -55,7 +54,6 @@ incq (%rax) ; \ decl TD_INTR_NESTING_LEVEL(%rbx) ; \ call critical_exit ; \ - MEXITCOUNT ; \ jmp doreti /* @@ -98,11 +96,9 @@ enable_icus ; \ movq PCPU(CURTHREAD),%rbx ; \ incl TD_INTR_NESTING_LEVEL(%rbx) ; \ - FAKE_MCOUNT(13*4(%rsp)) ; /* XXX late to avoid double count */ \ movq $irq_num, %rdi; /* pass the IRQ */ \ call sched_ithd ; \ decl TD_INTR_NESTING_LEVEL(%rbx) ; \ - MEXITCOUNT ; \ /* We could usually avoid the following jmp by inlining some of */ \ /* doreti, but it's probably better to use less cache. */ \ jmp doreti ==== //depot/projects/netperf/sys/dev/aha/aha.c#5 (text+ko) ==== @@ -57,9 +57,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aha/aha.c,v 1.54 2003/11/10 02:47:11 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aha/aha.c,v 1.55 2003/11/13 04:14:53 imp Exp $"); #include +#include #include #include #include @@ -79,7 +80,7 @@ #include -#define PRVERB(x) if (bootverbose) printf x +#define PRVERB(x) do { if (bootverbose) device_printf x; } while (0) /* Macro to determine that a rev is potentially a new valid one * so that the driver doesn't keep breaking on new revs as it @@ -91,6 +92,8 @@ static __inline void ahanextinbox(struct aha_softc *aha); static __inline void ahanextoutbox(struct aha_softc *aha); +#define aha_name(aha) device_get_nameunit(aha->dev) + static __inline void ahanextinbox(struct aha_softc *aha) { @@ -242,14 +245,13 @@ status = aha_inb(aha, STATUS_REG); if ((status == 0) || (status & (DIAG_ACTIVE|CMD_REG_BUSY | STATUS_REG_RSVD)) != 0) { - PRVERB(("%s: status reg test failed %x\n", aha_name(aha), - status)); + PRVERB((aha->dev, "status reg test failed %x\n", status)); return (ENXIO); } intstat = aha_inb(aha, INTSTAT_REG); if ((intstat & INTSTAT_REG_RSVD) != 0) { - PRVERB(("%s: Failed Intstat Reg Test\n", aha_name(aha))); + PRVERB((aha->dev, "Failed Intstat Reg Test\n")); return (ENXIO); } @@ -259,7 +261,7 @@ * looking at a BusLogic. */ if ((error = ahareset(aha, /*hard_reset*/TRUE)) != 0) { - PRVERB(("%s: Failed Reset\n", aha_name(aha))); + PRVERB((aha->dev, "Failed Reset\n")); return (ENXIO); } @@ -270,7 +272,7 @@ error = aha_cmd(aha, AOP_INQUIRE_BOARD_ID, NULL, /*parmlen*/0, (uint8_t*)&board_id, sizeof(board_id), DEFAULT_CMD_TIMEOUT); if (error != 0) { - PRVERB(("%s: INQUIRE failed %x\n", aha_name(aha), error)); + PRVERB((aha->dev, "INQUIRE failed %x\n", error)); return (ENXIO); } aha->fw_major = board_id.firmware_rev_major; @@ -306,8 +308,8 @@ DELAY(10000); status = aha_inb(aha, GEOMETRY_REG); if (status != 0xff && status != 0x00 && status != 0x7f) { - PRVERB(("%s: Geometry Register test failed 0x%x\n", - aha_name(aha), status)); + PRVERB((aha->dev, "Geometry Register test failed %#x\n", + status)); return (ENXIO); } } @@ -373,21 +375,19 @@ /*paramlen*/0, (u_char *)&extbios, sizeof(extbios), DEFAULT_CMD_TIMEOUT); if (error != 0) { - printf("%s: AOP_RETURN_EXT_BIOS_INFO - Failed.", - aha_name(aha)); + device_printf(aha->dev, + "AOP_RETURN_EXT_BIOS_INFO - Failed."); return (error); } error = aha_cmd(aha, AOP_MBOX_IF_ENABLE, (uint8_t *)&extbios, /*paramlen*/2, NULL, 0, DEFAULT_CMD_TIMEOUT); if (error != 0) { - printf("%s: AOP_MBOX_IF_ENABLE - Failed.", - aha_name(aha)); + device_printf(aha->dev, "AOP_MBOX_IF_ENABLE - Failed."); return (error); } } if (aha->boardid < 0x41) - printf("%s: Warning: aha-1542A won't likely work.\n", - aha_name(aha)); + device_printf(aha->dev, "Warning: aha-1542A won't work.\n"); aha->max_sg = 17; /* Need >= 17 to do 64k I/O */ aha->diff_bus = 0; @@ -400,8 +400,8 @@ /*paramlen*/1, (uint8_t*)&setup_info, sizeof(setup_info), DEFAULT_CMD_TIMEOUT); if (error != 0) { - printf("%s: aha_fetch_adapter_info - Failed " - "Get Setup Info\n", aha_name(aha)); + device_printf(aha->dev, "aha_fetch_adapter_info - Failed " + "Get Setup Info\n"); return (error); } if (setup_info.initiate_sync != 0) { @@ -416,8 +416,8 @@ error = aha_cmd(aha, AOP_INQUIRE_CONFIG, NULL, /*parmlen*/0, (uint8_t*)&config_data, sizeof(config_data), DEFAULT_CMD_TIMEOUT); if (error != 0) { - printf("%s: aha_fetch_adapter_info - Failed Get Config\n", - aha_name(aha)); + device_printf(aha->dev, + "aha_fetch_adapter_info - Failed Get Config\n"); return (error); } aha->scsi_id = config_data.scsi_id; @@ -431,7 +431,7 @@ aha_init(struct aha_softc* aha) { /* Announce the Adapter */ - printf("%s: AHA-%s FW Rev. %c.%c (ID=%x) ", aha_name(aha), + device_printf(aha->dev, "AHA-%s FW Rev. %c.%c (ID=%x) ", aha->model, aha->fw_major, aha->fw_minor, aha->boardid); if (aha->diff_bus != 0) @@ -567,8 +567,8 @@ ahaallocccbs(aha); if (aha->num_ccbs == 0) { - printf("%s: aha_init - Unable to allocate initial ccbs\n", - aha_name(aha)); + device_printf(aha->dev, + "aha_init - Unable to allocate initial ccbs\n"); goto error_exit; } @@ -624,15 +624,6 @@ return (0); } -char * -aha_name(struct aha_softc *aha) -{ - static char name[10]; - - snprintf(name, sizeof(name), "aha%d", aha->unit); - return (name); -} - static void ahaallocccbs(struct aha_softc *aha) { @@ -723,7 +714,7 @@ ahaallocccbs(aha); accb = SLIST_FIRST(&aha->free_aha_ccbs); if (accb == NULL) - printf("%s: Can't malloc ACCB\n", aha_name(aha)); + device_printf(aha->dev, "Can't malloc ACCB\n"); else { SLIST_REMOVE_HEAD(&aha->free_aha_ccbs, links); aha->active_ccbs++; @@ -1023,8 +1014,9 @@ if (error != 0) { if (error != EFBIG) - printf("%s: Unexepected error 0x%x returned from " - "bus_dmamap_load\n", aha_name(aha), error); + device_printf(aha->dev, + "Unexepected error 0x%x returned from " + "bus_dmamap_load\n", error); if (ccb->ccb_h.status == CAM_REQ_INPROG) { xpt_freeze_devq(ccb->ccb_h.path, /*count*/1); ccb->ccb_h.status = CAM_REQ_TOO_BIG|CAM_DEV_QFRZN; @@ -1104,9 +1096,9 @@ * hung, one of the pending transactions will * timeout causing us to start recovery operations. */ - printf("%s: Encountered busy mailbox with %d out of %d " - "commands active!!!", aha_name(aha), aha->active_ccbs, - aha->max_ccbs); + device_printf(aha->dev, + "Encountered busy mailbox with %d out of %d " + "commands active!!!", aha->active_ccbs, aha->max_ccbs); untimeout(ahatimeout, accb, ccb->ccb_h.timeout_ch); if (nseg != 0) bus_dmamap_unload(aha->buffer_dmat, accb->dmamap); @@ -1168,8 +1160,9 @@ csio = &accb->ccb->csio; if ((accb->flags & ACCB_ACTIVE) == 0) { - printf("%s: ahadone - Attempt to free non-active ACCB %p\n", - aha_name(aha), (void *)accb); + device_printf(aha->dev, + "ahadone - Attempt to free non-active ACCB %p\n", + (void *)accb); return; } @@ -1221,7 +1214,7 @@ ccb_h = LIST_NEXT(ccb_h, sim_links.le); } } - printf("%s: No longer in timeout\n", aha_name(aha)); + device_printf(aha->dev, "No longer in timeout\n"); return; } @@ -1229,12 +1222,12 @@ switch (comp_code) { case AMBI_FREE: - printf("%s: ahadone - CCB completed with free status!\n", - aha_name(aha)); + device_printf(aha->dev, + "ahadone - CCB completed with free status!\n"); break; case AMBI_NOT_FOUND: - printf("%s: ahadone - CCB Abort failed to find CCB\n", - aha_name(aha)); + device_printf(aha->dev, + "ahadone - CCB Abort failed to find CCB\n"); break; case AMBI_ABORT: case AMBI_ERROR: @@ -1292,8 +1285,8 @@ panic("%s: Invalid CCB Opcode %x hccb = %p", aha_name(aha), accb->hccb.opcode, &accb->hccb); - printf("%s: AHA-1540A detected, compensating\n", - aha_name(aha)); + device_printf(aha->dev, + "AHA-1540A detected, maybe compensating\n"); aha->ccb_sg_opcode = INITIATOR_SG_CCB; aha->ccb_ccb_opcode = INITIATOR_CCB; xpt_freeze_devq(ccb->ccb_h.path, /*count*/1); @@ -1363,8 +1356,8 @@ DELAY(100); } if (timeout == 0) { - PRVERB(("%s: ahareset - Diagnostic Active failed to " - "assert. status = 0x%x\n", aha_name(aha), status)); + PRVERB((aha->dev, "ahareset - Diagnostic Active failed to " + "assert. status = %#x\n", status)); return (ETIMEDOUT); } @@ -1391,21 +1384,19 @@ DELAY(100); } if (timeout == 0) { - printf("%s: ahareset - Host adapter failed to come ready. " - "status = 0x%x\n", aha_name(aha), status); + device_printf(aha->dev, "ahareset - Host adapter failed to " + "come ready. status = 0x%x\n", status); return (ETIMEDOUT); } /* If the diagnostics failed, tell the user */ if ((status & DIAG_FAIL) != 0 || (status & HA_READY) == 0) { - printf("%s: ahareset - Adapter failed diagnostics\n", - aha_name(aha)); + device_printf(aha->dev, "ahareset - Adapter failed diag\n"); if ((status & DATAIN_REG_READY) != 0) - printf("%s: ahareset - Host Adapter Error " - "code = 0x%x\n", aha_name(aha), - aha_inb(aha, DATAIN_REG)); + device_printf(aha->dev, "ahareset - Host Adapter " + "Error code = 0x%x\n", aha_inb(aha, DATAIN_REG)); return (ENXIO); } @@ -1475,8 +1466,8 @@ splx(s); if (timeout == 0) { - printf("%s: aha_cmd: Timeout waiting for adapter idle\n", - aha_name(aha)); + device_printf(aha->dev, + "aha_cmd: Timeout waiting for adapter idle\n"); return (ETIMEDOUT); } aha->command_cmp = 0; @@ -1499,8 +1490,8 @@ DELAY(100); } if (timeout == 0) { - printf("%s: aha_cmd: Timeout waiting for adapter ready, " - "status = 0x%x\n", aha_name(aha), status); + device_printf(aha->dev, "aha_cmd: Timeout waiting for adapter" + " ready, status = 0x%x\n", status); return (ETIMEDOUT); } @@ -1541,8 +1532,8 @@ } } if (timeout == 0) { - printf("%s: aha_cmd: Timeout sending parameters, " - "status = 0x%x\n", aha_name(aha), status); + device_printf(aha->dev, "aha_cmd: Timeout sending parameters, " + "status = 0x%x\n", status); error = ETIMEDOUT; } @@ -1576,9 +1567,9 @@ if (reply_len < reply_buf_size) { *reply_data++ = data; } else { - printf("%s: aha_cmd - Discarded reply data " - "byte for opcode 0x%x\n", aha_name(aha), - opcode); + device_printf(aha->dev, + "aha_cmd - Discarded reply data " + "byte for opcode 0x%x\n", opcode); } /* * Reset timeout to ensure at least a second @@ -1590,10 +1581,9 @@ DELAY(100); } if (cmd_timeout == 0) { - printf("%s: aha_cmd: Timeout waiting for reply data and " - "command complete.\n%s: status = 0x%x, intstat = 0x%x, " - "reply_len = %d\n", aha_name(aha), aha_name(aha), status, - intstat, reply_len); + device_printf(aha->dev, "aha_cmd: Timeout: status = 0x%x, " + "intstat = 0x%x, reply_len = %d\n", status, intstat, + reply_len); return (ETIMEDOUT); } @@ -1612,7 +1602,7 @@ * If the command was rejected by the controller, tell the caller. */ if ((saved_status & CMD_INVALID) != 0) { - PRVERB(("%s: Invalid Command 0x%x\n", aha_name(aha), opcode)); + PRVERB((aha->dev, "Invalid Command 0x%x\n", opcode)); /* * Some early adapters may not recover properly from * an invalid command. If it appears that the controller @@ -1631,15 +1621,15 @@ if (param_len > 0) { /* The controller did not accept the full argument list */ - PRVERB(("%s: Controller did not accept full argument list " - "(%d > 0)\n", aha_name(aha), param_len)); + PRVERB((aha->dev, "Controller did not accept full argument " + "list (%d > 0)\n", param_len)); return (E2BIG); } if (reply_len != reply_buf_size) { /* Too much or too little data received */ - PRVERB(("%s: Too much or too little data received (%d != %d)\n", - aha_name(aha), reply_len, reply_buf_size)); + PRVERB((aha->dev, "data received mismatch (%d != %d)\n", + reply_len, reply_buf_size)); return (EMSGSIZE); } @@ -1699,8 +1689,9 @@ (uint8_t*)&setup_info, sizeof(setup_info), DEFAULT_CMD_TIMEOUT); if (error != 0) { - printf("%s: ahafetchtransinfo - Inquire Setup Info Failed %d\n", - aha_name(aha), error); + device_printf(aha->dev, + "ahafetchtransinfo - Inquire Setup Info Failed %d\n", + error); return; } @@ -1827,7 +1818,7 @@ */ ccb->ccb_h.status = CAM_CMD_TIMEOUT; ahareset(aha, /*hardreset*/TRUE); - printf("%s: No longer in timeout\n", aha_name(aha)); + device_printf(aha->dev, "No longer in timeout\n"); } else { /* * Send a Bus Device Reset message: ==== //depot/projects/netperf/sys/dev/aha/aha_isa.c#5 (text+ko) ==== @@ -54,7 +54,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aha/aha_isa.c,v 1.27 2003/11/10 02:47:11 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aha/aha_isa.c,v 1.28 2003/11/13 04:14:53 imp Exp $"); #include #include @@ -115,6 +115,7 @@ int irq; config_data_t config_data; + aha->dev = dev; /* Check isapnp ids */ if (ISA_PNP_PROBE(device_get_parent(dev), dev, aha_ids) == ENXIO) return (ENXIO); @@ -193,6 +194,7 @@ void *ih; int error; + aha->dev = dev; aha->portrid = 0; aha->port = bus_alloc_resource(dev, SYS_RES_IOPORT, &aha->portrid, 0, ~0, AHA_NREGS, RF_ACTIVE); ==== //depot/projects/netperf/sys/dev/aha/ahareg.h#5 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.16 2003/11/12 05:44:44 imp Exp $ + * $FreeBSD: src/sys/dev/aha/ahareg.h,v 1.17 2003/11/13 04:14:53 imp Exp $ */ #ifndef _AHAREG_H_ @@ -396,6 +396,7 @@ struct resource *drq; int drqrid; void **ih; + device_t dev; }; void aha_alloc(struct aha_softc *, int, bus_space_tag_t, bus_space_handle_t); @@ -409,7 +410,6 @@ int aha_init(struct aha_softc *); void aha_intr(void *); int aha_iop_from_bio(isa_compat_io_t); -char *aha_name(struct aha_softc *); int aha_probe(struct aha_softc *); #define DEFAULT_CMD_TIMEOUT 10000 /* 1 sec */ ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#34 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.31 2003/11/01 03:37:33 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.32 2003/11/13 05:35:07 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. ==== //depot/projects/netperf/sys/dev/bge/if_bge.c#13 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.58 2003/11/11 17:57:03 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.59 2003/11/13 20:55:47 obrien Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.58 2003/11/11 17:57:03 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.59 2003/11/13 20:55:47 obrien Exp $"); #include #include @@ -209,7 +209,7 @@ static u_int8_t bge_eeprom_getbyte (struct bge_softc *, int, u_int8_t *); static int bge_read_eeprom (struct bge_softc *, caddr_t, int, int); -static u_int32_t bge_crc (caddr_t); +static u_int32_t bge_mchash (caddr_t); static void bge_setmulti (struct bge_softc *); static void bge_handle_events (struct bge_softc *); @@ -1134,10 +1134,12 @@ #define BGE_POLY 0xEDB88320 static u_int32_t -bge_crc(addr) +bge_mchash(addr) caddr_t addr; { - u_int32_t idx, bit, data, crc; + u_int32_t crc; + int idx, bit; + u_int8_t data; /* Compute CRC for the address value. */ crc = 0xFFFFFFFF; /* initial value */ @@ -1177,7 +1179,7 @@ TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - h = bge_crc(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); + h = bge_mchash(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); hashes[(h & 0x60) >> 5] |= 1 << (h & 0x1F); } ==== //depot/projects/netperf/sys/dev/ed/if_ed.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ed/if_ed.c,v 1.221 2003/10/31 18:31:58 brooks Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed.c,v 1.222 2003/11/13 20:55:48 obrien Exp $ */ /* @@ -103,7 +103,7 @@ static void ed_setrcr (struct ed_softc *); -static u_int32_t ds_crc (u_char *ep); +static u_int32_t ds_mchash (caddr_t addr); /* * Interrupt conversion table for WD/SMC ASIC/83C584 @@ -3531,22 +3531,20 @@ * Compute crc for ethernet address */ static u_int32_t -ds_crc(ep) - u_char *ep; +ds_mchash(addr) + caddr_t addr; { -#define POLYNOMIAL 0x04c11db6 +#define ED_POLYNOMIAL 0x04c11db6 register u_int32_t crc = 0xffffffff; - register int carry, i, j; - register u_char b; + register int carry, idx, bit; + register u_char data; - for (i = 6; --i >= 0;) { - b = *ep++; - for (j = 8; --j >= 0;) { - carry = ((crc & 0x80000000) ? 1 : 0) ^ (b & 0x01); + for (idx = 6; --idx >= 0;) { + for (data = *addr++, bit = 8; --bit >= 0; data >>=1 ) { + carry = ((crc & 0x80000000) ? 1 : 0) ^ (data & 0x01); crc <<= 1; - b >>= 1; if (carry) - crc = (crc ^ POLYNOMIAL) | carry; + crc = (crc ^ ED_POLYNOMIAL) | carry; } } return crc; @@ -3572,7 +3570,7 @@ TAILQ_FOREACH(ifma, &sc->arpcom.ac_if.if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - index = ds_crc(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)) + index = ds_mchash(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)) >> 26; af[index >> 3] |= 1 << (index & 7); } ==== //depot/projects/netperf/sys/dev/fe/if_fe.c#4 (text+ko) ==== @@ -21,7 +21,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe.c,v 1.78 2003/10/31 18:32:00 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe.c,v 1.79 2003/11/13 20:55:48 obrien Exp $"); /* * @@ -2046,26 +2046,24 @@ /* * Compute hash value for an Ethernet address */ -static int -fe_hash ( u_char * ep ) +static u_int32_t +fe_mchash (caddr_t addr) { -#define FE_HASH_MAGIC_NUMBER 0xEDB88320L +#define FE_POLY 0xEDB88320L - u_long hash = 0xFFFFFFFFL; - int i, j; - u_char b; - u_long m; + u_long carry, crc = 0xFFFFFFFFL; + int idx, bit; + u_int8_t data; - for ( i = ETHER_ADDR_LEN; --i >= 0; ) { - b = *ep++; - for ( j = 8; --j >= 0; ) { - m = hash; - hash >>= 1; - if ( ( m ^ b ) & 1 ) hash ^= FE_HASH_MAGIC_NUMBER; - b >>= 1; + for ( idx = ETHER_ADDR_LEN; --idx >= 0; ) { + for (data = *addr++, bit = 8; --bit >= 0; data >>= 1) { + carry = crc; + crc >>= 1; + if ((carry ^ data) & 1) + crc ^= FE_POLY; } } - return ( ( int )( hash >> 26 ) ); + return (crc >> 26); } /* @@ -2083,7 +2081,7 @@ TAILQ_FOREACH(ifma, &sc->arpcom.ac_if.if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - index = fe_hash(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); + index = fe_mchash(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); #ifdef FE_DEBUG printf("%s: hash(%6D) == %d\n", sc->sc_xname, enm->enm_addrlo , ":", index); ==== //depot/projects/netperf/sys/dev/firewire/if_fwe.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.24 2003/11/07 08:59:35 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.25 2003/11/13 06:29:40 simokawa Exp $ */ #include "opt_inet.h" @@ -60,7 +60,6 @@ #define FWEDEBUG if (fwedebug) if_printf #define TX_MAX_QUEUE (FWMAXQUEUE - 1) -#define RX_MAX_QUEUE FWMAXQUEUE /* network interface */ static void fwe_start __P((struct ifnet *)); @@ -74,16 +73,23 @@ static int fwedebug = 0; static int stream_ch = 1; static int tx_speed = 2; +static int rx_queue_len = FWMAXQUEUE; MALLOC_DEFINE(M_FWE, "if_fwe", "Ethernet over FireWire interface"); SYSCTL_INT(_debug, OID_AUTO, if_fwe_debug, CTLFLAG_RW, &fwedebug, 0, ""); SYSCTL_DECL(_hw_firewire); SYSCTL_NODE(_hw_firewire, OID_AUTO, fwe, CTLFLAG_RD, 0, - "Ethernet Emulation Subsystem"); + "Ethernet emulation subsystem"); SYSCTL_INT(_hw_firewire_fwe, OID_AUTO, stream_ch, CTLFLAG_RW, &stream_ch, 0, "Stream channel to use"); SYSCTL_INT(_hw_firewire_fwe, OID_AUTO, tx_speed, CTLFLAG_RW, &tx_speed, 0, - "Transmission Speed"); + "Transmission speed"); +SYSCTL_INT(_hw_firewire_fwe, OID_AUTO, rx_queue_len, CTLFLAG_RW, &rx_queue_len, + 0, "Length of the receive queue"); + +TUNABLE_INT("hw.firewire.fwe.stream_ch", &stream_ch); +TUNABLE_INT("hw.firewire.fwe.tx_speed", &tx_speed); +TUNABLE_INT("hw.firewire.fwe.rx_queue_len", &rx_queue_len); #ifdef DEVICE_POLLING #define FWE_POLL_REGISTER(func, fwe, ifp) \ @@ -318,7 +324,7 @@ /* register fwe_input handler */ xferq->sc = (caddr_t) fwe; xferq->hand = fwe_as_input; - xferq->bnchunk = RX_MAX_QUEUE; + xferq->bnchunk = rx_queue_len; xferq->bnpacket = 1; xferq->psize = MCLBYTES; xferq->queued = 0; ==== //depot/projects/netperf/sys/dev/lge/if_lge.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.24 2003/10/31 18:32:02 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.25 2003/11/13 20:55:49 obrien Exp $"); /* * Level 1 LXT1001 gigabit ethernet driver for FreeBSD. Public @@ -70,7 +70,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.24 2003/10/31 18:32:02 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.25 2003/11/13 20:55:49 obrien Exp $"); #include #include @@ -152,7 +152,7 @@ static void lge_miibus_statchg(device_t); static void lge_setmulti(struct lge_softc *); -static u_int32_t lge_crc(struct lge_softc *, caddr_t); +static u_int32_t lge_mchash(caddr_t); static void lge_reset(struct lge_softc *); static int lge_list_rx_init(struct lge_softc *); static int lge_list_tx_init(struct lge_softc *); @@ -371,23 +371,20 @@ } static u_int32_t -lge_crc(sc, addr) - struct lge_softc *sc; - caddr_t addr; +lge_mchash(addr) + caddr_t addr; { - u_int32_t crc, carry; - int i, j; - u_int8_t c; + u_int32_t crc, carry; + int idx, bit; + u_int8_t data; /* Compute CRC for the address value. */ crc = 0xFFFFFFFF; /* initial value */ - for (i = 0; i < 6; i++) { - c = *(addr + i); - for (j = 0; j < 8; j++) { - carry = ((crc & 0x80000000) ? 1 : 0) ^ (c & 0x01); + for (idx = 0; idx < 6; idx++) { + for (data = *addr++, bit = 0; bit < 8; bit++, data >>= 1) { + carry = ((crc & 0x80000000) ? 1 : 0) ^ (data & 0x01); crc <<= 1; - c >>= 1; if (carry) crc = (crc ^ 0x04c11db6) | carry; } @@ -426,7 +423,7 @@ TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - h = lge_crc(sc, LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); + h = lge_mchash(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); if (h < 32) hashes[0] |= (1 << h); else ==== //depot/projects/netperf/sys/dev/lnc/if_lnc.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/lnc/if_lnc.c,v 1.98 2003/10/31 18:32:02 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/lnc/if_lnc.c,v 1.99 2003/11/13 20:55:49 obrien Exp $"); /* #define DIAGNOSTIC @@ -190,22 +190,22 @@ return (UNKNOWN); } -static __inline u_long -ether_crc(const u_char *ether_addr) +static __inline u_int32_t +lnc_mchash(caddr_t ether_addr) { -#define POLYNOMIAL 0xEDB88320UL >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 13 22:12:07 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 899C816A4D0; Thu, 13 Nov 2003 22:12:07 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6422416A4CE for ; Thu, 13 Nov 2003 22:12:07 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD8C243F85 for ; Thu, 13 Nov 2003 22:12:06 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAE6C6XJ098071 for ; Thu, 13 Nov 2003 22:12:06 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAE6C6HS098068 for perforce@freebsd.org; Thu, 13 Nov 2003 22:12:06 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Thu, 13 Nov 2003 22:12:06 -0800 (PST) Message-Id: <200311140612.hAE6C6HS098068@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42307 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 06:12:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=42307 Change 42307 by jmallett@jmallett_dalek on 2003/11/13 22:11:05 mask bits. Affected files ... .. //depot/projects/mips/sys/mips/include/pte.h#17 edit Differences ... ==== //depot/projects/mips/sys/mips/include/pte.h#17 (text+ko) ==== @@ -39,7 +39,7 @@ #define MIPS_TLB_SWSHIFT 30 #define MIPS_PFN_SHIFT 6 #define MIPS_PFN_MASK 0x3FFFFFC0 -#define MIPS_PA_TO_PFN(pa) ((pa) >> MIPS_PFN_SHIFT) +#define MIPS_PA_TO_PFN(pa) (((pa) >> MIPS_PFN_SHIFT) & MIPS_PFN_MASK) #define MIPS_PFN_TO_PA(pfn) ((pfn) << MIPS_PFN_SHIFT) #define MIPS_PTE_TO_PFN(pte) ((pte) & MIPS_PFN_MASK) #define MIPS_PTE_TO_PA(pte) (MIPS_PFN_TO_PA(MIPS_PTE_TO_PFN((pte)))) From owner-p4-projects@FreeBSD.ORG Thu Nov 13 22:12:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E00216A4D0; Thu, 13 Nov 2003 22:12:08 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E7FC516A4FE for ; Thu, 13 Nov 2003 22:12:07 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6685443FAF for ; Thu, 13 Nov 2003 22:12:07 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAE6C7XJ098077 for ; Thu, 13 Nov 2003 22:12:07 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAE6C6sa098074 for perforce@freebsd.org; Thu, 13 Nov 2003 22:12:06 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Thu, 13 Nov 2003 22:12:06 -0800 (PST) Message-Id: <200311140612.hAE6C6sa098074@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42308 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 06:12:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=42308 Change 42308 by jmallett@jmallett_dalek on 2003/11/13 22:11:32 some xkphys cca bits, nuke some cruft nearby. Affected files ... .. //depot/projects/mips/sys/mips/include/cpuregs.h#15 edit Differences ... ==== //depot/projects/mips/sys/mips/include/cpuregs.h#15 (text+ko) ==== @@ -94,13 +94,19 @@ #define MIPS_KSEG1_TO_PHYS(x) ((vm_offset_t)(x) & MIPS_PHYS_MASK) #define MIPS_PHYS_TO_KSEG1(x) ((vm_offset_t)(x) | MIPS_KSEG1_START) -/* Map virtual address to index in mips3 r4k virtually-indexed cache */ -#define MIPS_VA_TO_CINDEX(x) \ - ((vm_offset_t)(x) & 0xffffff | MIPS_KSEG0_START) - #define MIPS_PHYS_TO_XKPHYS(cca,x) \ ((0x2ULL << 62) | ((unsigned long long)(cca) << 59) | (x)) #define MIPS_XKPHYS_TO_PHYS(x) ((x) & 0x0effffffffffffffULL) + /* Uncached */ +#define MIPS_XKPHYS_UC (2) + /* Cacheable noncoherent */ +#define MIPS_XKPHYS_CNC (3) + /* Cacheable coherent exclusive */ +#define MIPS_XKPHYS_CCE (4) + /* Cacheable coherent exclusive on write */ +#define MIPS_XKPHYS_CCEW (5) + /* Cacheable coherent update on write */ +#define MIPS_XKPHYS_CCUW (6) /* CPU dependent mtc0 hazard hook */ #define COP0_SYNC /* nothing */ From owner-p4-projects@FreeBSD.ORG Thu Nov 13 22:33:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F36816A4D0; Thu, 13 Nov 2003 22:33:34 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 577EE16A4CE for ; Thu, 13 Nov 2003 22:33:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6CA043FDF for ; Thu, 13 Nov 2003 22:33:33 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAE6XXXJ098895 for ; Thu, 13 Nov 2003 22:33:33 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAE6XX8F098892 for perforce@freebsd.org; Thu, 13 Nov 2003 22:33:33 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Thu, 13 Nov 2003 22:33:33 -0800 (PST) Message-Id: <200311140633.hAE6XX8F098892@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42309 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 06:33:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=42309 Change 42309 by jmallett@jmallett_dalek on 2003/11/13 22:32:44 Do some very, very evil things. 1) Use the kernel PTE map for all pmap_pinit'd procs. 2) Use the XKPHYS region for pmap_map + pmap_mapdev. Why is 2 evil, you may ask? Because of the reason why I did it. Some things are apparently mappin the physical address before passing it into pmap_enter to be entered into the TLB, which is bogus with the compatability kseg's, as they'll have extra bits set, XKPHYS will not. This isn't *quite* acceptible, but I want to use XKPHYS, anyway :) So, I need to figure out who's entering things into the TLB, but uh, this makes things run to SI_SUB_CONFIGURE so I won't be bitching. Affected files ... .. //depot/projects/mips/sys/mips/mips/pmap.c#24 edit Differences ... ==== //depot/projects/mips/sys/mips/mips/pmap.c#24 (text+ko) ==== @@ -674,7 +674,7 @@ vm_offset_t pmap_map(vm_offset_t *virt, vm_offset_t start, vm_offset_t end, int prot) { - return MIPS_PHYS_TO_KSEG0(start); + return MIPS_PHYS_TO_XKPHYS(MIPS_XKPHYS_UC, start); } void @@ -701,7 +701,7 @@ pmap_pinit(pmap) register struct pmap *pmap; { - panic("pmap_pinit %p", pmap); + pmap->pm_lev1 = kptmap; /* XXX */ pmap->pm_ptphint = NULL; pmap->pm_active = 0; pmap->pm_asid = 0; @@ -1594,7 +1594,7 @@ void * pmap_mapdev(vm_offset_t pa, vm_size_t size) { - return (void*) MIPS_PHYS_TO_KSEG1(pa); + return (void *)MIPS_PHYS_TO_XKPHYS(MIPS_XKPHYS_UC, pa); } void From owner-p4-projects@FreeBSD.ORG Thu Nov 13 23:23:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E262616A4D0; Thu, 13 Nov 2003 23:23:36 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BDA7216A4CE for ; Thu, 13 Nov 2003 23:23:36 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0873543FAF for ; Thu, 13 Nov 2003 23:23:36 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAE7NZXJ001807 for ; Thu, 13 Nov 2003 23:23:35 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAE7NZ6j001804 for perforce@freebsd.org; Thu, 13 Nov 2003 23:23:35 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Thu, 13 Nov 2003 23:23:35 -0800 (PST) Message-Id: <200311140723.hAE7NZ6j001804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42312 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 07:23:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=42312 Change 42312 by jmallett@jmallett_dalek on 2003/11/13 23:23:16 bootverbosity. Affected files ... .. //depot/projects/mips/sys/mips/sgimips/machdep_sgimips.c#24 edit Differences ... ==== //depot/projects/mips/sys/mips/sgimips/machdep_sgimips.c#24 (text+ko) ==== @@ -93,6 +93,8 @@ arcbios_init(MIPS_PHYS_TO_KSEG1(0x00001000)); arcbios_cnattach(); + bootverbose = 1; /* XXX */ + ARCBIOS->FlushAllCaches(); cpufreq = ARCBIOS->GetEnvironmentVariable("cpufreq"); @@ -153,7 +155,8 @@ availmem += btoc(size); phys_avail[j + 0] = first; phys_avail[j + 1] = last; - printf("ARCBIOS MEM %#x -> %#x\n", first, last); + if (bootverbose) + printf("ARCBIOS MEM %#x -> %#x\n", first, last); j += 2; break; default: From owner-p4-projects@FreeBSD.ORG Thu Nov 13 23:24:39 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3E7716A4D0; Thu, 13 Nov 2003 23:24:38 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BEDB916A4CE for ; Thu, 13 Nov 2003 23:24:38 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E71D343FDD for ; Thu, 13 Nov 2003 23:24:37 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAE7ObXJ001840 for ; Thu, 13 Nov 2003 23:24:37 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAE7ObLY001837 for perforce@freebsd.org; Thu, 13 Nov 2003 23:24:37 -0800 (PST) (envelope-from jmallett@freebsd.org) Date: Thu, 13 Nov 2003 23:24:37 -0800 (PST) Message-Id: <200311140724.hAE7ObLY001837@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 42313 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 07:24:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=42313 Change 42313 by jmallett@jmallett_dalek on 2003/11/13 23:23:40 some brief autoconf glue. Affected files ... .. //depot/projects/mips/sys/conf/files.mips#22 edit .. //depot/projects/mips/sys/mips/mips/autoconf.c#1 add Differences ... ==== //depot/projects/mips/sys/conf/files.mips#22 (text+ko) ==== @@ -10,6 +10,7 @@ # # This stanza is MIPS MD files. +mips/mips/autoconf.c standard mips/mips/critical.c standard mips/mips/elf_machdep.c standard mips/mips/exception.S standard From owner-p4-projects@FreeBSD.ORG Fri Nov 14 08:50:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD81916A4D0; Fri, 14 Nov 2003 08:50:21 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4B3C16A4CE for ; Fri, 14 Nov 2003 08:50:21 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9454B43FD7 for ; Fri, 14 Nov 2003 08:50:19 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEGoJXJ049560 for ; Fri, 14 Nov 2003 08:50:19 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEGoH7v049557 for perforce@freebsd.org; Fri, 14 Nov 2003 08:50:17 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 08:50:17 -0800 (PST) Message-Id: <200311141650.hAEGoH7v049557@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42335 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 16:50:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=42335 Change 42335 by peter@peter_overcee on 2003/11/14 08:49:50 IFC @42332 Affected files ... .. //depot/projects/hammer/UPDATING#26 integrate .. //depot/projects/hammer/bin/cp/utils.c#5 integrate .. //depot/projects/hammer/contrib/cvs/man/cvs.1#3 integrate .. //depot/projects/hammer/contrib/gcc/gcc.c#7 integrate .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_mibII/Makefile#2 integrate .. //depot/projects/hammer/lib/libc/alpha/gen/setjmp.S#3 integrate .. //depot/projects/hammer/lib/libc/sys/msync.2#4 integrate .. //depot/projects/hammer/lib/libnetgraph/internal.h#2 integrate .. //depot/projects/hammer/lib/libnetgraph/msg.c#2 integrate .. //depot/projects/hammer/lib/libnetgraph/netgraph.3#4 integrate .. //depot/projects/hammer/lib/libnetgraph/sock.c#3 integrate .. //depot/projects/hammer/libexec/rtld-elf/rtld.c#13 integrate .. //depot/projects/hammer/release/Makefile#39 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#36 integrate .. //depot/projects/hammer/sbin/dump/Makefile#5 integrate .. //depot/projects/hammer/sbin/dump/dumprmt.c#4 integrate .. //depot/projects/hammer/sbin/dump/main.c#9 integrate .. //depot/projects/hammer/sbin/dumpfs/Makefile#3 integrate .. //depot/projects/hammer/sbin/dumpfs/dumpfs.c#8 integrate .. //depot/projects/hammer/sbin/fdisk/fdisk.c#10 integrate .. //depot/projects/hammer/sbin/fsdb/Makefile#3 integrate .. //depot/projects/hammer/sbin/fsdb/fsdb.c#3 integrate .. //depot/projects/hammer/sbin/fsdb/fsdbutil.c#2 integrate .. //depot/projects/hammer/sbin/mount_ext2fs/Makefile#2 integrate .. //depot/projects/hammer/sbin/mount_ext2fs/mount_ext2fs.c#3 integrate .. //depot/projects/hammer/share/man/man4/dc.4#7 integrate .. //depot/projects/hammer/share/man/man4/gx.4#2 integrate .. //depot/projects/hammer/share/man/man4/rue.4#3 integrate .. //depot/projects/hammer/share/man/man4/sk.4#3 integrate .. //depot/projects/hammer/share/man/man7/build.7#3 integrate .. //depot/projects/hammer/sys/alpha/alpha/clock.c#5 integrate .. //depot/projects/hammer/sys/alpha/alpha/machdep.c#19 integrate .. //depot/projects/hammer/sys/alpha/conf/GENERIC#13 integrate .. //depot/projects/hammer/sys/amd64/amd64/exception.S#21 integrate .. //depot/projects/hammer/sys/amd64/ia32/ia32_exception.S#3 integrate .. //depot/projects/hammer/sys/conf/NOTES#30 integrate .. //depot/projects/hammer/sys/conf/kern.post.mk#14 integrate .. //depot/projects/hammer/sys/conf/kmod.mk#11 integrate .. //depot/projects/hammer/sys/dev/aha/aha.c#10 integrate .. //depot/projects/hammer/sys/dev/aha/aha_isa.c#7 integrate .. //depot/projects/hammer/sys/dev/aha/ahareg.h#4 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#11 integrate .. //depot/projects/hammer/sys/dev/bge/if_bge.c#23 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed.c#10 integrate .. //depot/projects/hammer/sys/dev/fe/if_fe.c#7 integrate .. //depot/projects/hammer/sys/dev/firewire/if_fwe.c#14 integrate .. //depot/projects/hammer/sys/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/hammer/sys/dev/lge/if_lge.c#10 integrate .. //depot/projects/hammer/sys/dev/lnc/if_lnc.c#8 integrate .. //depot/projects/hammer/sys/dev/my/if_my.c#9 integrate .. //depot/projects/hammer/sys/dev/nge/if_nge.c#10 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#5 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn.c#9 integrate .. //depot/projects/hammer/sys/dev/tx/if_tx.c#10 integrate .. //depot/projects/hammer/sys/dev/usb/if_aue.c#12 integrate .. //depot/projects/hammer/sys/dev/usb/if_axe.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/if_cue.c#13 integrate .. //depot/projects/hammer/sys/dev/usb/if_kue.c#11 integrate .. //depot/projects/hammer/sys/dev/usb/if_rue.c#6 integrate .. //depot/projects/hammer/sys/dev/usb/ubsa.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/usb_ethersubr.c#7 integrate .. //depot/projects/hammer/sys/dev/wl/if_wl.c#7 integrate .. //depot/projects/hammer/sys/dev/xe/if_xe.c#11 integrate .. //depot/projects/hammer/sys/fs/specfs/spec_vnops.c#15 integrate .. //depot/projects/hammer/sys/fs/unionfs/union_vnops.c#9 integrate .. //depot/projects/hammer/sys/i386/i386/apic_vector.s#3 integrate .. //depot/projects/hammer/sys/i386/include/apicvar.h#3 integrate .. //depot/projects/hammer/sys/i386/isa/clock.c#13 integrate .. //depot/projects/hammer/sys/kern/init_sysent.c#20 integrate .. //depot/projects/hammer/sys/kern/kern_tc.c#11 integrate .. //depot/projects/hammer/sys/kern/syscalls.c#20 integrate .. //depot/projects/hammer/sys/kern/syscalls.master#20 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#18 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.c#9 integrate .. //depot/projects/hammer/sys/netgraph/atm/ng_atm.h#3 integrate .. //depot/projects/hammer/sys/netgraph/atm/ng_sscop.h#2 integrate .. //depot/projects/hammer/sys/netgraph/atm/ngatmbase.h#2 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/drivers/h4/ng_h4_prse.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/drivers/h4/ng_h4_var.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/hci/ng_hci_cmds.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/hci/ng_hci_evnt.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/hci/ng_hci_misc.h#4 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/hci/ng_hci_prse.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/hci/ng_hci_var.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_bluetooth.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_btsocket.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h#2 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_h4.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_hci.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#4 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/l2cap/ng_l2cap_prse.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/l2cap/ng_l2cap_var.h#3 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#14 integrate .. //depot/projects/hammer/sys/netinet/ip_icmp.c#9 integrate .. //depot/projects/hammer/sys/netkey/key.c#10 integrate .. //depot/projects/hammer/sys/pci/if_dc.c#24 integrate .. //depot/projects/hammer/sys/pci/if_pcn.c#11 integrate .. //depot/projects/hammer/sys/pci/if_rl.c#20 integrate .. //depot/projects/hammer/sys/pci/if_sf.c#12 integrate .. //depot/projects/hammer/sys/pci/if_sis.c#16 integrate .. //depot/projects/hammer/sys/pci/if_sk.c#14 integrate .. //depot/projects/hammer/sys/pci/if_ste.c#13 integrate .. //depot/projects/hammer/sys/pci/if_tl.c#10 integrate .. //depot/projects/hammer/sys/pci/if_vr.c#11 integrate .. //depot/projects/hammer/sys/pci/if_wb.c#11 integrate .. //depot/projects/hammer/sys/pci/if_xl.c#25 integrate .. //depot/projects/hammer/sys/sparc64/conf/GENERIC#17 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#25 integrate .. //depot/projects/hammer/sys/sys/proc.h#38 integrate .. //depot/projects/hammer/sys/sys/syscall.h#20 integrate .. //depot/projects/hammer/sys/sys/syscall.mk#20 integrate .. //depot/projects/hammer/sys/sys/sysproto.h#20 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_snapshot.c#16 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#27 integrate .. //depot/projects/hammer/sys/vm/vm_mmap.c#13 integrate .. //depot/projects/hammer/tools/tools/README#6 integrate .. //depot/projects/hammer/tools/tools/kttcp/Makefile#1 branch .. //depot/projects/hammer/tools/tools/kttcp/README#1 branch .. //depot/projects/hammer/tools/tools/kttcp/kttcp.c#1 branch .. //depot/projects/hammer/tools/tools/kttcp/sys/Makefile#1 branch .. //depot/projects/hammer/tools/tools/kttcp/sys/kttcp.c#1 branch .. //depot/projects/hammer/tools/tools/kttcp/sys/kttcpio.h#1 branch .. //depot/projects/hammer/usr.bin/truss/syscalls.c#8 integrate .. //depot/projects/hammer/usr.sbin/config/config.y#4 integrate .. //depot/projects/hammer/usr.sbin/moused/moused.c#4 integrate .. //depot/projects/hammer/usr.sbin/mtree/test/test04.sh#1 branch .. //depot/projects/hammer/usr.sbin/ndp/ndp.8#4 integrate .. //depot/projects/hammer/usr.sbin/ndp/ndp.c#4 integrate Differences ... ==== //depot/projects/hammer/UPDATING#26 (text+ko) ==== @@ -18,14 +18,24 @@ to maximize performance. 20031112: - The statfs structure has been updated with 64-bit fields to allow - accurate reporting of multi-terabyte filesystem sizes. You should - build and boot a new kernel BEFORE doing a `make world' as the new - kernel will know about binaries using the old statfs structure, - but an old kernel will not know about the new system calls that - support the new statfs structure. Running an old kernel after a - `make world' will cause programs such as `df' that do a statfs - system call to fail with a bad system call. + The statfs structure has been updated with 64-bit fields to + allow accurate reporting of multi-terabyte filesystem + sizes. You should build and boot a new kernel BEFORE doing a + `make world' as the new kernel will know about binaries using + the old statfs structure, but an old kernel will not know + about the new system calls that support the new statfs + structure. Running an old kernel after a `make world' will + cause programs such as `df' that do a statfs system call to + fail with a bad system call. Marco Wertejuk + also reports that cfsd (ports/security/cfs) needs to be + recompiled after these changes are installed. + + ****************************DANGER******************************* + + DO NOT make installworld after the buildworld w/o building and + installing a new kernel FIRST. You will be unable to build a + new kernel otherwise on a system with new binaries and an old + kernel. 20031112: Some netgraph string length constants have been changed. This @@ -1415,4 +1425,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.278 2003/11/12 19:13:02 mckusick Exp $ +$FreeBSD: src/UPDATING,v 1.280 2003/11/14 08:07:13 mckusick Exp $ ==== //depot/projects/hammer/bin/cp/utils.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.41 2003/06/22 07:02:17 jmg Exp $"); +__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.42 2003/11/13 05:26:55 alc Exp $"); #include #include @@ -133,7 +133,8 @@ * wins some CPU back. */ #ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED - if (S_ISREG(fs->st_mode) && fs->st_size <= 8 * 1048576) { + if (S_ISREG(fs->st_mode) && fs->st_size > 0 && + fs->st_size <= 8 * 1048576) { if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ, MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) { warn("%s", entp->fts_path); ==== //depot/projects/hammer/contrib/cvs/man/cvs.1#3 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/contrib/cvs/man/cvs.1,v 1.19 2002/09/02 05:57:13 peter Exp $ +.\" $FreeBSD: src/contrib/cvs/man/cvs.1,v 1.20 2003/11/13 17:57:53 obrien Exp $ .de Id .ds Rv \\$3 .ds Dt \\$4 @@ -2123,6 +2123,13 @@ .BR vi ) is used. .TP +.SM CVS_CLIENT_PORT +If this variable is set then +.B cvs +will use this port in +\fIpserver mode\fP +rather than the default port (cvspserver 2401). +.TP .SM CVS_IGNORE_REMOTE_ROOT If this variable is set then .B cvs ==== //depot/projects/hammer/contrib/gcc/gcc.c#7 (text+ko) ==== @@ -22,7 +22,7 @@ This paragraph is here to try to keep Sun CC from dying. The number of chars here seems crucial!!!! */ -/* $FreeBSD: src/contrib/gcc/gcc.c,v 1.37 2003/11/07 03:23:43 kan Exp $ */ +/* $FreeBSD: src/contrib/gcc/gcc.c,v 1.38 2003/11/13 22:40:05 kan Exp $ */ /* This program is the user interface to the C compiler and possibly to other compilers. It is used because compilation is a complicated procedure @@ -3671,7 +3671,7 @@ as well as trying the machine and the version. */ #ifdef FREEBSD_NATIVE add_prefix (&exec_prefixes, PREFIX"/bin/", "BINUTILS", - 0, 0, warn_std_ptr, 0); + PREFIX_PRIORITY_LAST, 0, warn_std_ptr, 0); #endif /* FREEBSD_NATIVE */ #ifndef OS2 add_prefix (&exec_prefixes, standard_exec_prefix, "GCC", ==== //depot/projects/hammer/lib/libbsnmp/modules/snmp_mibII/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libbsnmp/modules/snmp_mibII/Makefile,v 1.2 2003/11/10 13:43:26 harti Exp $ +# $FreeBSD: src/lib/libbsnmp/modules/snmp_mibII/Makefile,v 1.3 2003/11/13 10:18:16 harti Exp $ # # Author: Harti Brandt @@ -13,6 +13,7 @@ DEFS= ${MOD}_tree.def INCS= snmp_${MOD}.h +MIBS= CFLAGS+= -I${CONTRIB}/lib -I${CONTRIB}/snmpd -I${.CURDIR} ==== //depot/projects/hammer/lib/libc/alpha/gen/setjmp.S#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/alpha/gen/setjmp.S,v 1.16 2003/01/19 00:17:02 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/alpha/gen/setjmp.S,v 1.17 2003/11/14 03:21:22 jeff Exp $"); #include "SYS.h" @@ -86,7 +86,7 @@ mov s0, a0 ldq s0, (( 9 + 4) * 8)(a0) - ldiq t0, 0xacedbade /* sigcontext magic number */ + ldiq t0, 0xacedbadd /* sigcontext magic number */ stq t0, ((31 + 4) * 8)(a0) /* magic in sc_regs[31] */ /* Too bad we can't check if we actually used FP */ ldiq t0, 1 @@ -120,8 +120,16 @@ XLEAF(longjmp, 2) LEAF(__longjmp, 2) LDGP(pv) - stq a1, (( 0 + 4) * 8)(a0) /* save return value */ - CALL(_sigreturn) /* use sigreturn to return */ + mov a1, s1 /* save return value */ + mov a0, s0 /* save the sc pointer */ + /* restore the mask */ + mov zero, a2 /* oset: NULL */ + lda a1, (71 * 8)(a0) /* set: sc_reserved */ + addq a2, 3, a0 /* how: SIG_SET */ + CALL(_sigprocmask) /* restore the mask */ + mov s0, a0 /* restore the sc pointer */ + mov s1, a1 /* restore the return value */ + jmp zero, ___longjmp /* use ___longjmp to return */ botch: CALL(longjmperror) ==== //depot/projects/hammer/lib/libc/sys/msync.2#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)msync.2 8.2 (Berkeley) 6/21/94 -.\" $FreeBSD: src/lib/libc/sys/msync.2,v 1.25 2002/12/19 09:40:25 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/msync.2,v 1.26 2003/11/14 07:18:12 alc Exp $ .\" .Dd June 21, 1994 .Dt MSYNC 2 @@ -78,6 +78,9 @@ system call will fail if: .Bl -tag -width Er +.It Bq Er EBUSY +Some or all of the pages in the specified region are locked and +MS_INVALIDATE is specified. .It Bq Er EINVAL The .Fa addr @@ -94,12 +97,11 @@ argument was both MS_ASYNC and MS_INVALIDATE. Only one of these flags is allowed. -.It Bq Er EIO -An I/O error occurred while writing to the file system. .El .Sh SEE ALSO .Xr madvise 2 , .Xr mincore 2 , +.Xr mlock 2 , .Xr mprotect 2 , .Xr munmap 2 .Sh HISTORY ==== //depot/projects/hammer/lib/libnetgraph/internal.h#2 (text+ko) ==== @@ -36,7 +36,7 @@ * * Author: Archie Cobbs * - * $FreeBSD: src/lib/libnetgraph/internal.h,v 1.3 2000/01/28 00:48:27 archie Exp $ + * $FreeBSD: src/lib/libnetgraph/internal.h,v 1.4 2003/11/14 08:09:01 harti Exp $ * $Whistle: internal.h,v 1.5 1999/01/20 00:57:22 archie Exp $ */ @@ -46,6 +46,7 @@ #include #include #include +#include #include #include @@ -55,6 +56,10 @@ #include #include +/* the 'sockaddr overhead' for a netgraph address. This is everything before + * the string that constitutes the address. */ +#define NGSA_OVERHEAD (offsetof(struct sockaddr_ng, sg_data)) + extern int _gNgDebugLevel; extern void (*_NgLog)(const char *fmt, ...); ==== //depot/projects/hammer/lib/libnetgraph/msg.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libnetgraph/msg.c,v 1.6 2001/10/25 04:02:25 archie Exp $"); +__FBSDID("$FreeBSD: src/lib/libnetgraph/msg.c,v 1.7 2003/11/14 08:09:01 harti Exp $"); #include #include @@ -76,7 +76,7 @@ msg.header.token = gMsgId; msg.header.flags = NGF_ORIG; msg.header.cmd = cmd; - snprintf(msg.header.cmdstr, NG_CMDSTRLEN + 1, "cmd%d", cmd); + snprintf(msg.header.cmdstr, NG_CMDSTRSIZ, "cmd%d", cmd); /* Deliver message */ if (NgDeliverMsg(cs, path, &msg, args, arglen) < 0) @@ -175,7 +175,7 @@ NgDeliverMsg(int cs, const char *path, const struct ng_mesg *hdr, const void *args, size_t arglen) { - u_char sgbuf[NG_PATHLEN + 3]; + u_char sgbuf[NG_PATHSIZ + NGSA_OVERHEAD]; struct sockaddr_ng *const sg = (struct sockaddr_ng *) sgbuf; u_char *buf = NULL; struct ng_mesg *msg; @@ -203,8 +203,9 @@ /* Prepare socket address */ sg->sg_family = AF_NETGRAPH; - snprintf(sg->sg_data, NG_PATHLEN + 1, "%s", path); - sg->sg_len = strlen(sg->sg_data) + 3; + /* XXX handle overflow */ + strlcpy(sg->sg_data, path, NG_PATHSIZ); + sg->sg_len = strlen(sg->sg_data) + 1 + NGSA_OVERHEAD; /* Debugging */ if (_gNgDebugLevel >= 2) { @@ -240,7 +241,7 @@ int NgRecvMsg(int cs, struct ng_mesg *rep, size_t replen, char *path) { - u_char sgbuf[NG_PATHLEN + sizeof(struct sockaddr_ng)]; + u_char sgbuf[NG_PATHSIZ + NGSA_OVERHEAD]; struct sockaddr_ng *const sg = (struct sockaddr_ng *) sgbuf; int len, sglen = sizeof(sgbuf); int errnosv; @@ -254,7 +255,7 @@ goto errout; } if (path != NULL) - snprintf(path, NG_PATHLEN + 1, "%s", sg->sg_data); + strlcpy(path, sg->sg_data, NG_PATHSIZ); /* Debugging */ if (_gNgDebugLevel >= 2) { ==== //depot/projects/hammer/lib/libnetgraph/netgraph.3#4 (text+ko) ==== @@ -32,7 +32,7 @@ .\" .\" Author: Archie Cobbs .\" -.\" $FreeBSD: src/lib/libnetgraph/netgraph.3,v 1.18 2003/06/08 10:34:00 charnier Exp $ +.\" $FreeBSD: src/lib/libnetgraph/netgraph.3,v 1.19 2003/11/14 08:09:01 harti Exp $ .\" $Whistle: netgraph.3,v 1.7 1999/01/25 07:14:06 archie Exp $ .\" .Dd January 19, 1999 @@ -174,7 +174,7 @@ If .Fa "path" is non-NULL, it must point to a buffer of at least -.Dv "NG_PATHLEN + 1" +.Dv "NG_PATHSIZ" bytes, which will be filled in (and NUL terminated) with the path to the node from which the message was received. .Pp @@ -216,7 +216,7 @@ which must be large enough to hold the entire packet. If .Fa "hook" is non-NULL, it must point to a buffer of at least -.Dv "NG_HOOKLEN + 1" +.Dv "NG_HOOKSIZ" bytes, which will be filled in (and NUL terminated) with the name of the hook on which the data was received. .Pp ==== //depot/projects/hammer/lib/libnetgraph/sock.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libnetgraph/sock.c,v 1.4 2003/01/01 18:48:44 schweikh Exp $"); +__FBSDID("$FreeBSD: src/lib/libnetgraph/sock.c,v 1.5 2003/11/14 08:09:01 harti Exp $"); #include #include @@ -60,7 +60,7 @@ int NgMkSockNode(const char *name, int *csp, int *dsp) { - char namebuf[NG_NODELEN + 1]; + char namebuf[NG_NODESIZ]; int cs = -1; /* control socket */ int ds = -1; /* data socket */ int errnosv; @@ -93,13 +93,13 @@ gotNode: /* Assign the node the desired name, if any */ if (name != NULL) { - u_char sbuf[NG_NODELEN + 3]; + u_char sbuf[NG_NODESIZ + NGSA_OVERHEAD]; struct sockaddr_ng *const sg = (struct sockaddr_ng *) sbuf; /* Assign name */ - snprintf(sg->sg_data, NG_NODELEN + 1, "%s", name); + strlcpy(sg->sg_data, name, NG_NODESIZ); sg->sg_family = AF_NETGRAPH; - sg->sg_len = strlen(sg->sg_data) + 3; + sg->sg_len = strlen(sg->sg_data) + 1 + NGSA_OVERHEAD; if (bind(cs, (struct sockaddr *) sg, sg->sg_len) < 0) { errnosv = errno; if (_gNgDebugLevel >= 1) @@ -108,7 +108,7 @@ } /* Save node name */ - snprintf(namebuf, sizeof(namebuf), "%s", name); + strlcpy(namebuf, name, sizeof(namebuf)); } else if (dsp != NULL) { u_char rbuf[sizeof(struct ng_mesg) + sizeof(struct nodeinfo)]; struct ng_mesg *const resp = (struct ng_mesg *) rbuf; @@ -135,7 +135,7 @@ /* Create data socket if desired */ if (dsp != NULL) { - u_char sbuf[NG_NODELEN + 4]; + u_char sbuf[NG_NODESIZ + 1 + NGSA_OVERHEAD]; struct sockaddr_ng *const sg = (struct sockaddr_ng *) sbuf; /* Create data socket, initially just "floating" */ @@ -147,9 +147,9 @@ } /* Associate the data socket with the node */ - snprintf(sg->sg_data, NG_NODELEN + 2, "%s:", namebuf); + snprintf(sg->sg_data, NG_NODESIZ + 1, "%s:", namebuf); sg->sg_family = AF_NETGRAPH; - sg->sg_len = strlen(sg->sg_data) + 3; + sg->sg_len = strlen(sg->sg_data) + 1 + NGSA_OVERHEAD; if (connect(ds, (struct sockaddr *) sg, sg->sg_len) < 0) { errnosv = errno; if (_gNgDebugLevel >= 1) @@ -211,7 +211,7 @@ int NgRecvData(int ds, u_char * buf, size_t len, char *hook) { - u_char frombuf[NG_HOOKLEN + sizeof(struct sockaddr_ng)]; + u_char frombuf[NG_HOOKSIZ + NGSA_OVERHEAD]; struct sockaddr_ng *const from = (struct sockaddr_ng *) frombuf; int fromlen = sizeof(frombuf); int rtn, errnosv; @@ -228,7 +228,7 @@ /* Copy hook name */ if (hook != NULL) - snprintf(hook, NG_HOOKLEN + 1, "%s", from->sg_data); + strlcpy(hook, from->sg_data, NG_HOOKSIZ); /* Debugging */ if (_gNgDebugLevel >= 2) { @@ -250,14 +250,14 @@ int NgSendData(int ds, const char *hook, const u_char * buf, size_t len) { - u_char sgbuf[NG_HOOKLEN + sizeof(struct sockaddr_ng)]; + u_char sgbuf[NG_HOOKSIZ + NGSA_OVERHEAD]; struct sockaddr_ng *const sg = (struct sockaddr_ng *) sgbuf; int errnosv; /* Set up destination hook */ sg->sg_family = AF_NETGRAPH; - snprintf(sg->sg_data, NG_HOOKLEN + 1, "%s", hook); - sg->sg_len = strlen(sg->sg_data) + 3; + strlcpy(sg->sg_data, hook, NG_HOOKSIZ); + sg->sg_len = strlen(sg->sg_data) + 1 + NGSA_OVERHEAD; /* Debugging */ if (_gNgDebugLevel >= 2) { ==== //depot/projects/hammer/libexec/rtld-elf/rtld.c#13 (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/libexec/rtld-elf/rtld.c,v 1.89 2003/09/13 21:50:36 mdodd Exp $ + * $FreeBSD: src/libexec/rtld-elf/rtld.c,v 1.90 2003/11/14 12:56:56 tobez Exp $ */ /* @@ -800,8 +800,8 @@ * loaded shared object, whose library search path will be searched. * * The search order is: + * LD_LIBRARY_PATH * rpath in the referencing file - * LD_LIBRARY_PATH * ldconfig hints * /lib:/usr/lib */ ==== //depot/projects/hammer/release/Makefile#39 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.822 2003/10/31 13:15:07 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.823 2003/11/14 08:21:21 kuriyama Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -346,10 +346,9 @@ ${CVSPREFIX} cvs -R ${CVSARGS} -d ${CVSROOT} co ${CVSCMDARGS} ${CVS_SRCARGS} ${RELEASESRCMODULE} .endif .if defined(LOCAL_PATCHES) && !empty(LOCAL_PATCHES) - cd ${CHROOTDIR}/usr/${RELEASESRCMODULE} .for p in ${LOCAL_PATCHES} .if exists(${p}) - patch ${PATCH_FLAGS} < ${p} + patch -d ${CHROOTDIR}/usr/${RELEASESRCMODULE} ${PATCH_FLAGS} < ${p} .endif .endfor .endif ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#36 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.197 2003/11/11 19:20:13 trhodes Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.198 2003/11/13 22:39:49 simon Exp $ Supported Devices @@ -805,59 +805,6 @@ RealTek 8129/8139 Fast Ethernet NICs (&man.rl.4; driver) - Lite-On 82c168/82c169 PNIC Fast Ethernet NICs (&man.dc.4; driver) - - - Kingston KNE110TX - - - LinkSys EtherFast LNE100TX - - - Matrox FastNIC 10/100 - - - NetGear FA310-TX Rev. D1 - - - - Macronix 98713, 98713A, 98715, 98715A and 98725 Fast - Ethernet NICs (&man.dc.4; driver) - - - Accton EN1217 (98715A) - - - Adico AE310TX (98715A) - - - Compex RL100-TX (98713 or 98713A) - - - CNet Pro120A (98713 or 98713A) - - - CNet Pro120B (98715) - - - NDC Communications SFA100A (98713A) - - - SVEC PN102TX (98713) - - - - - Macronix/Lite-On PNIC II LC82C115 Fast Ethernet NICs - (&man.dc.4; driver) - - - LinkSys EtherFast LNE100TX Version 2 - - - - Winbond W89C840F Fast Ethernet NICs (&man.wb.4; driver) @@ -885,17 +832,9 @@ Texas Instruments ThunderLAN PCI NICs (&man.tl.4; driver) - ADMtek Inc. AL981-based PCI Fast Ethernet NICs (&man.dc.4; - driver) - - ADMtek Inc. AN985-based PCI Fast Ethernet NICs (&man.dc.4; - driver) - - - LinkSys EtherFast LNE100TX v4.0/4.1 - - - + DEC/Intel 21143 Fast Ethernet + NICs and clones for PCI, MiniPCI, and CardBus (&man.dc.4; + driver) ADMtek Inc. AN986-based USB Ethernet NICs (&man.aue.4; driver) @@ -910,17 +849,6 @@ RealTek RTL8150-based USB Ethernet NICs (&man.rue.4; driver) - ASIX Electronics AX88140A PCI NICs (&man.dc.4; driver) - - - Alfa Inc. GFC2204 - - - CNet Pro110B - - - - DEC EtherWORKS II and III NICs (&man.le.4; driver) @@ -928,42 +856,6 @@ based NICs (&man.de.4; driver) - DEC/Intel 21143 based Fast Ethernet NICs (&man.dc.4; driver) - - - DEC DE500 - - - Compaq Presario 7900 series built-in Ethernet - - - D-Link DFE-570TX - - - Kingston KNE100TX - - - LinkSys EtherFast 10/100 Instant GigaDrive built-in Ethernet - - - - - Davicom DM9009, DM9100 and DM9102 PCI Fast Ethernet NICs (&man.dc.4; driver) - - - Jaton Corporation XpressNet - - - - - Xircom 3201 (Cardbus) (&man.dc.4; driver) - - Conexant LANfinity RS7112 (MiniPCI) (&man.dc.4; driver) - - Cnet Pro120A (PCI) (&man.dc.4; driver) - - MELCO LGY-PCI-TXL (PCI) (&man.dc.4; driver) - Fujitsu MB86960A/MB86965A based Fast Ethernet NICs (&man.fe.4; driver) @@ -1028,28 +920,6 @@ Megahertz X-Jack Ethernet PC-Card CC-10BT (&man.sn.4; driver) - Xircom X3201 (Cardbus) based Ethernet cards - (&man.dc.4; driver) - - - IBM EtherJet Cardbus Adapter - - - Intel PRO/100 Mobile Cardbus (versions that use the - X3201 chipset) - - - Xircom Cardbus Realport - - - Xircom Cardbus Ethernet 10/100 - - - Xircom Cardbus Ethernet II 10/100 - - - - Xircom CreditCard adapters (16 bit) and workalikes (&man.xe.4; driver) ==== //depot/projects/hammer/sbin/dump/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $FreeBSD: src/sbin/dump/Makefile,v 1.23 2003/05/01 21:18:35 ru Exp $ +# $FreeBSD: src/sbin/dump/Makefile,v 1.24 2003/11/14 13:07:38 johan Exp $ # dump.h header file # itime.c reads /etc/dumpdates @@ -16,7 +16,6 @@ PROG= dump LINKS= ${BINDIR}/dump ${BINDIR}/rdump CFLAGS+=-DRDUMP -WARNS= 0 SRCS= itime.c main.c optr.c dumprmt.c tape.c traverse.c unctime.c cache.c MAN= dump.8 MLINKS= dump.8 rdump.8 ==== //depot/projects/hammer/sbin/dump/dumprmt.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)dumprmt.c 8.3 (Berkeley) 4/28/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/dump/dumprmt.c,v 1.19 2003/05/01 20:09:58 markm Exp $"; + "$FreeBSD: src/sbin/dump/dumprmt.c,v 1.20 2003/11/14 13:07:38 johan Exp $"; #endif /* not lint */ #include @@ -159,7 +159,7 @@ tuser = pwd->pw_name; if ((rmt = getenv("RMT")) == NULL) rmt = _PATH_RMT; - msg(""); + msg("%s", ""); rmtape = rcmd(&rmtpeer, (u_short)sp->s_port, pwd->pw_name, tuser, rmt, &errfd); if (rmtape < 0) { ==== //depot/projects/hammer/sbin/dump/main.c#9 (text+ko) ==== @@ -42,7 +42,7 @@ static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/1/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/dump/main.c,v 1.53 2003/05/07 18:27:09 mckusick Exp $"; + "$FreeBSD: src/sbin/dump/main.c,v 1.54 2003/11/14 13:07:38 johan Exp $"; #endif /* not lint */ #include @@ -62,9 +62,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -545,8 +545,9 @@ if (tend_writing - tstart_writing == 0) msg("finished in less than a second\n"); else - msg("finished in %d seconds, throughput %jd KBytes/sec\n", - tend_writing - tstart_writing, (intmax_t)(spcl.c_tapea / + msg("finished in %jd seconds, throughput %jd KBytes/sec\n", + (intmax_t)tend_writing - tstart_writing, + (intmax_t)(spcl.c_tapea / (tend_writing - tstart_writing))); putdumptime(); ==== //depot/projects/hammer/sbin/dumpfs/Makefile#3 (text+ko) ==== @@ -1,10 +1,9 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $FreeBSD: src/sbin/dumpfs/Makefile,v 1.8 2003/01/26 12:34:36 ru Exp $ +# $FreeBSD: src/sbin/dumpfs/Makefile,v 1.9 2003/11/14 13:13:23 johan Exp $ PROG= dumpfs DPADD= ${LIBUFS} LDADD= -lufs -WARNS= 0 MAN= dumpfs.8 .include ==== //depot/projects/hammer/sbin/dumpfs/dumpfs.c#8 (text+ko) ==== @@ -51,7 +51,7 @@ static char sccsid[] = "@(#)dumpfs.c 8.5 (Berkeley) 4/29/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/dumpfs/dumpfs.c,v 1.37 2003/06/09 09:26:02 jmallett Exp $"; + "$FreeBSD: src/sbin/dumpfs/dumpfs.c,v 1.38 2003/11/14 13:13:23 johan Exp $"; #endif /* not lint */ #include @@ -136,10 +136,10 @@ fstime = afs.fs_time; printf("magic\t%x (UFS2)\ttime\t%s", afs.fs_magic, ctime(&fstime)); - printf("superblock location\t%qd\tid\t[ %x %x ]\n", - afs.fs_sblockloc, afs.fs_id[0], afs.fs_id[1]); - printf("ncg\t%d\tsize\t%qd\tblocks\t%jd\n", - afs.fs_ncg, fssize, (intmax_t)afs.fs_dsize); + printf("superblock location\t%jd\tid\t[ %x %x ]\n", + (intmax_t)afs.fs_sblockloc, afs.fs_id[0], afs.fs_id[1]); + printf("ncg\t%d\tsize\t%jd\tblocks\t%jd\n", + afs.fs_ncg, (intmax_t)fssize, (intmax_t)afs.fs_dsize); break; case 1: fssize = afs.fs_old_size; @@ -147,8 +147,8 @@ printf("magic\t%x (UFS1)\ttime\t%s", afs.fs_magic, ctime(&fstime)); printf("id\t[ %x %x ]\n", afs.fs_id[0], afs.fs_id[1]); - printf("ncg\t%d\tsize\t%qd\tblocks\t%jd\n", - afs.fs_ncg, fssize, (intmax_t)afs.fs_dsize); + printf("ncg\t%d\tsize\t%jd\tblocks\t%jd\n", + afs.fs_ncg, (intmax_t)fssize, (intmax_t)afs.fs_dsize); break; default: goto err; @@ -167,13 +167,16 @@ printf("%s %d\tmaxbpg\t%d\tmaxcontig %d\tcontigsumsize %d\n", "maxbsize", afs.fs_maxbsize, afs.fs_maxbpg, afs.fs_maxcontig, afs.fs_contigsumsize); - printf("nbfree\t%qd\tndir\t%qd\tnifree\t%qd\tnffree\t%qd\n", - afs.fs_cstotal.cs_nbfree, afs.fs_cstotal.cs_ndir, - afs.fs_cstotal.cs_nifree, afs.fs_cstotal.cs_nffree); + printf("nbfree\t%jd\tndir\t%jd\tnifree\t%jd\tnffree\t%jd\n", + (intmax_t)afs.fs_cstotal.cs_nbfree, + (intmax_t)afs.fs_cstotal.cs_ndir, + (intmax_t)afs.fs_cstotal.cs_nifree, + (intmax_t)afs.fs_cstotal.cs_nffree); printf("bpg\t%d\tfpg\t%d\tipg\t%d\n", afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg); - printf("nindir\t%d\tinopb\t%d\tmaxfilesize\t%qu\n", - afs.fs_nindir, afs.fs_inopb, afs.fs_maxfilesize); + printf("nindir\t%d\tinopb\t%d\tmaxfilesize\t%ju\n", + afs.fs_nindir, afs.fs_inopb, + (uintmax_t)afs.fs_maxfilesize); printf("sbsize\t%d\tcgsize\t%d\tcsaddr\t%jd\tcssize\t%d\n", afs.fs_sbsize, afs.fs_cgsize, (intmax_t)afs.fs_csaddr, afs.fs_cssize); @@ -187,9 +190,9 @@ printf("cpg\t%d\tbpg\t%d\tfpg\t%d\tipg\t%d\n", afs.fs_old_cpg, afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg); - printf("nindir\t%d\tinopb\t%d\tnspf\t%d\tmaxfilesize\t%qu\n", + printf("nindir\t%d\tinopb\t%d\tnspf\t%d\tmaxfilesize\t%ju\n", afs.fs_nindir, afs.fs_inopb, afs.fs_old_nspf, - afs.fs_maxfilesize); + (uintmax_t)afs.fs_maxfilesize); printf("sbsize\t%d\tcgsize\t%d\tcgoffset %d\tcgmask\t0x%08x\n", afs.fs_sbsize, afs.fs_cgsize, afs.fs_old_cgoffset, afs.fs_old_cgmask); @@ -235,8 +238,8 @@ printf("unknown flags (%#x)", fsflags); putchar('\n'); printf("fsmnt\t%s\n", afs.fs_fsmnt); - printf("volname\t%s\tswuid\t%qu\n", - afs.fs_volname, afs.fs_swuid); + printf("volname\t%s\tswuid\t%ju\n", + afs.fs_volname, (uintmax_t)afs.fs_swuid); printf("\ncs[].cs_(nbfree,ndir,nifree,nffree):\n\t"); afs.fs_csp = calloc(1, afs.fs_cssize); if (bread(&disk, fsbtodb(&afs, afs.fs_csaddr), afs.fs_csp, afs.fs_cssize) == -1) @@ -279,15 +282,15 @@ switch (disk.d_ufs) { case 2: cgtime = acg.cg_time; - printf("magic\t%x\ttell\t%qx\ttime\t%s", - acg.cg_magic, cur, ctime(&cgtime)); + printf("magic\t%x\ttell\t%jx\ttime\t%s", + acg.cg_magic, (intmax_t)cur, ctime(&cgtime)); printf("cgx\t%d\tndblk\t%d\tniblk\t%d\tinitiblk %d\n", acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk); break; case 1: cgtime = acg.cg_old_time; - printf("magic\t%x\ttell\t%qx\ttime\t%s", - acg.cg_magic, cur, ctime(&cgtime)); + printf("magic\t%x\ttell\t%jx\ttime\t%s", + acg.cg_magic, (intmax_t)cur, ctime(&cgtime)); printf("cgx\t%d\tncyl\t%d\tniblk\t%d\tndblk\t%d\n", acg.cg_cgx, acg.cg_old_ncyl, acg.cg_old_niblk, acg.cg_ndblk); ==== //depot/projects/hammer/sbin/fdisk/fdisk.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/fdisk/fdisk.c,v 1.71 2003/05/03 18:41:56 obrien Exp $"); +__FBSDID("$FreeBSD: src/sbin/fdisk/fdisk.c,v 1.72 2003/11/13 21:13:43 des Exp $"); #include #include @@ -1300,6 +1300,11 @@ if (start % dos_sectors == 0 && (start + size) % dos_sectors == 0) return (1); + if (start == 0) { + warnx("WARNING: partition overlaps with partition table"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 14 08:51:24 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4456416A4D0; Fri, 14 Nov 2003 08:51:24 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1CCC516A4CE for ; Fri, 14 Nov 2003 08:51:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 89DB243FBF for ; Fri, 14 Nov 2003 08:51:23 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEGpNXJ049714 for ; Fri, 14 Nov 2003 08:51:23 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEGpL2Q049711 for perforce@freebsd.org; Fri, 14 Nov 2003 08:51:21 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 08:51:21 -0800 (PST) Message-Id: <200311141651.hAEGpL2Q049711@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42336 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 16:51:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=42336 Change 42336 by peter@peter_overcee on 2003/11/14 08:51:01 integrate -b smp_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#5 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#11 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#5 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.92 2003/11/12 18:13:57 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.93 2003/11/13 18:16:37 jhb Exp $ */ /* @@ -134,11 +134,11 @@ iretq MCOUNT_LABEL(bintr2) - ISR_VEC(1,apic_isr1) - ISR_VEC(2,apic_isr2) - ISR_VEC(3,apic_isr3) - ISR_VEC(4,apic_isr4) - ISR_VEC(5,apic_isr5) + ISR_VEC(1, apic_isr1) + ISR_VEC(2, apic_isr2) + ISR_VEC(3, apic_isr3) + ISR_VEC(4, apic_isr4) + ISR_VEC(5, apic_isr5) MCOUNT_LABEL(eintr2) #ifdef SMP ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.2 2003/11/12 18:13:57 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.3 2003/11/13 16:41:07 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -42,7 +42,7 @@ * Layout of local APIC interrupt vectors: * * 0xff (255) +-------------+ - * | | 15 (Spurios Vector) + * | | 15 (Spurious Vector) * 0xf0 (240) +-------------+ * | | 14 (Interprocessor Interrupts) * 0xe0 (224) +-------------+ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 09:11:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A29716A4D0; Fri, 14 Nov 2003 09:11:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3703A16A4CE for ; Fri, 14 Nov 2003 09:11:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82AF543FDF for ; Fri, 14 Nov 2003 09:11:14 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEHBEXJ051376 for ; Fri, 14 Nov 2003 09:11:14 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEHAmpR051358 for perforce@freebsd.org; Fri, 14 Nov 2003 09:10:48 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Fri, 14 Nov 2003 09:10:48 -0800 (PST) Message-Id: <200311141710.hAEHAmpR051358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 42338 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 17:11:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=42338 Change 42338 by marcel@marcel_nfs on 2003/11/14 09:10:25 IFC @42318 Affected files ... .. //depot/projects/tty/Makefile#7 integrate .. //depot/projects/tty/Makefile.inc1#10 integrate .. //depot/projects/tty/UPDATING#8 integrate .. //depot/projects/tty/bin/Makefile.inc#3 integrate .. //depot/projects/tty/bin/chmod/chmod.c#4 integrate .. //depot/projects/tty/bin/cp/utils.c#4 integrate .. //depot/projects/tty/bin/df/df.c#4 integrate .. //depot/projects/tty/bin/rm/rm.c#3 integrate .. //depot/projects/tty/contrib/bsnmp/FREEBSD-upgrade#1 branch .. //depot/projects/tty/contrib/bsnmp/NEWS#1 branch .. //depot/projects/tty/contrib/bsnmp/README#1 branch .. //depot/projects/tty/contrib/bsnmp/TODO#1 branch .. //depot/projects/tty/contrib/bsnmp/VERSION#1 branch .. //depot/projects/tty/contrib/bsnmp/gensnmptree/gensnmptree.1#1 branch .. //depot/projects/tty/contrib/bsnmp/gensnmptree/gensnmptree.c#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/asn1.3#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/asn1.c#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/asn1.h#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/bsnmpagent.3#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/bsnmpclient.3#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/bsnmplib.3#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/snmp.c#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/snmp.h#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/snmpagent.c#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/snmpagent.h#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/snmpclient.c#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/snmpclient.h#1 branch .. //depot/projects/tty/contrib/bsnmp/lib/snmppriv.h#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII.h#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_ifmib.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_ifstack.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_ip.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_nettomedia.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_rcvaddr.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_route.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_tcp.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_tree.def#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/mibII_udp.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/snmp_mibII.3#1 branch .. //depot/projects/tty/contrib/bsnmp/snmp_mibII/snmp_mibII.h#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/.gdbinit#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/BEGEMOT-MIB.txt#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/FOKUS-MIB.txt#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/action.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/bsnmpd.1#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/config.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/export.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/main.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/snmpd.config#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/snmpd.h#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/snmpd.sh#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/snmpmod.3#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/snmpmod.h#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/trap.c#1 branch .. //depot/projects/tty/contrib/bsnmp/snmpd/tree.def#1 branch .. //depot/projects/tty/contrib/cvs/man/cvs.1#2 integrate .. //depot/projects/tty/contrib/diff/util.c#2 integrate .. //depot/projects/tty/contrib/gcc/ChangeLog#4 integrate .. //depot/projects/tty/contrib/gcc/Makefile.in#4 integrate .. //depot/projects/tty/contrib/gcc/aclocal.m4#3 integrate .. //depot/projects/tty/contrib/gcc/alias.c#4 integrate .. //depot/projects/tty/contrib/gcc/builtins.c#4 integrate .. //depot/projects/tty/contrib/gcc/c-decl.c#4 integrate .. //depot/projects/tty/contrib/gcc/c-lex.c#3 integrate .. //depot/projects/tty/contrib/gcc/c-objc-common.c#3 integrate .. //depot/projects/tty/contrib/gcc/c-typeck.c#4 integrate .. //depot/projects/tty/contrib/gcc/calls.c#4 integrate .. //depot/projects/tty/contrib/gcc/cfgcleanup.c#4 integrate .. //depot/projects/tty/contrib/gcc/cfgloop.c#3 integrate .. //depot/projects/tty/contrib/gcc/cfgrtl.c#3 integrate .. //depot/projects/tty/contrib/gcc/collect2.c#3 integrate .. //depot/projects/tty/contrib/gcc/combine.c#4 integrate .. //depot/projects/tty/contrib/gcc/config.gcc#4 integrate .. //depot/projects/tty/contrib/gcc/config.in#3 integrate .. //depot/projects/tty/contrib/gcc/config/alpha/alpha.c#3 integrate .. //depot/projects/tty/contrib/gcc/config/alpha/alpha.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/alpha/alpha.md#3 integrate .. //depot/projects/tty/contrib/gcc/config/alpha/linux.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/arm/linux-elf.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/darwin.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/freebsd-spec.h#4 integrate .. //depot/projects/tty/contrib/gcc/config/i386/emmintrin.h#1 branch .. //depot/projects/tty/contrib/gcc/config/i386/i386.c#4 integrate .. //depot/projects/tty/contrib/gcc/config/i386/i386.h#5 integrate .. //depot/projects/tty/contrib/gcc/config/i386/i386.md#3 integrate .. //depot/projects/tty/contrib/gcc/config/i386/mmintrin.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/i386/pmmintrin.h#1 branch .. //depot/projects/tty/contrib/gcc/config/i386/sco5.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/i386/sol2.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/i386/t-sco5#2 integrate .. //depot/projects/tty/contrib/gcc/config/i386/xmmintrin.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/hpux.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/ia64-protos.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/ia64.c#3 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/ia64.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/ia64.md#3 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/ia64intrin.h#2 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/libgcc-ia64.ver#2 integrate .. //depot/projects/tty/contrib/gcc/config/ia64/unwind-ia64.c#3 integrate .. //depot/projects/tty/contrib/gcc/config/linux.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/rs6000/linux.h#4 integrate .. //depot/projects/tty/contrib/gcc/config/rs6000/linux64.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/rs6000/rs6000.c#4 integrate .. //depot/projects/tty/contrib/gcc/config/rs6000/rs6000.md#4 integrate .. //depot/projects/tty/contrib/gcc/config/rs6000/sysv4.h#5 integrate .. //depot/projects/tty/contrib/gcc/config/sparc/linux.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/sparc/linux64.h#3 integrate .. //depot/projects/tty/contrib/gcc/config/sparc/sol2-c1.asm#2 integrate .. //depot/projects/tty/contrib/gcc/config/sparc/sparc.c#3 integrate .. //depot/projects/tty/contrib/gcc/config/sparc/sparc.md#3 integrate .. //depot/projects/tty/contrib/gcc/config/t-darwin#2 integrate .. //depot/projects/tty/contrib/gcc/config/t-libunwind#1 branch .. //depot/projects/tty/contrib/gcc/configure#4 integrate .. //depot/projects/tty/contrib/gcc/configure.in#4 integrate .. //depot/projects/tty/contrib/gcc/cp/ChangeLog#4 integrate .. //depot/projects/tty/contrib/gcc/cp/call.c#3 integrate .. //depot/projects/tty/contrib/gcc/cp/class.c#3 integrate .. //depot/projects/tty/contrib/gcc/cp/cp-tree.h#4 integrate .. //depot/projects/tty/contrib/gcc/cp/decl.c#4 integrate .. //depot/projects/tty/contrib/gcc/cp/decl2.c#4 integrate .. //depot/projects/tty/contrib/gcc/cp/friend.c#3 integrate .. //depot/projects/tty/contrib/gcc/cp/init.c#4 integrate .. //depot/projects/tty/contrib/gcc/cp/pt.c#4 integrate .. //depot/projects/tty/contrib/gcc/cp/search.c#4 integrate .. //depot/projects/tty/contrib/gcc/cp/tree.c#4 integrate .. //depot/projects/tty/contrib/gcc/cp/typeck.c#4 integrate .. //depot/projects/tty/contrib/gcc/cp/typeck2.c#3 integrate .. //depot/projects/tty/contrib/gcc/cppinit.c#3 integrate .. //depot/projects/tty/contrib/gcc/cpplib.c#4 integrate .. //depot/projects/tty/contrib/gcc/cppmain.c#3 integrate .. //depot/projects/tty/contrib/gcc/cse.c#3 integrate .. //depot/projects/tty/contrib/gcc/dbxout.c#4 integrate .. //depot/projects/tty/contrib/gcc/doc/contrib.texi#3 integrate .. //depot/projects/tty/contrib/gcc/doc/extend.texi#3 integrate .. //depot/projects/tty/contrib/gcc/doc/include/gcc-common.texi#4 integrate .. //depot/projects/tty/contrib/gcc/doc/invoke.texi#4 integrate .. //depot/projects/tty/contrib/gcc/doc/tm.texi#4 integrate .. //depot/projects/tty/contrib/gcc/dwarf2out.c#3 integrate .. //depot/projects/tty/contrib/gcc/expr.c#4 integrate .. //depot/projects/tty/contrib/gcc/f/ChangeLog#4 integrate .. //depot/projects/tty/contrib/gcc/function.c#4 integrate .. //depot/projects/tty/contrib/gcc/gcc.c#4 integrate .. //depot/projects/tty/contrib/gcc/libgcc-std.ver#3 integrate .. //depot/projects/tty/contrib/gcc/loop.c#4 integrate .. //depot/projects/tty/contrib/gcc/loop.h#3 integrate .. //depot/projects/tty/contrib/gcc/mklibgcc.in#4 integrate .. //depot/projects/tty/contrib/gcc/mkmap-symver.awk#3 integrate .. //depot/projects/tty/contrib/gcc/real.c#3 integrate .. //depot/projects/tty/contrib/gcc/reg-stack.c#3 integrate .. //depot/projects/tty/contrib/gcc/reorg.c#3 integrate .. //depot/projects/tty/contrib/gcc/scan-decls.c#3 integrate .. //depot/projects/tty/contrib/gcc/stmt.c#4 integrate .. //depot/projects/tty/contrib/gcc/stor-layout.c#3 integrate .. //depot/projects/tty/contrib/gcc/tlink.c#3 integrate .. //depot/projects/tty/contrib/gcc/toplev.c#3 integrate .. //depot/projects/tty/contrib/gcc/tree.c#4 integrate .. //depot/projects/tty/contrib/gcc/tree.h#4 integrate .. //depot/projects/tty/contrib/gcc/unroll.c#3 integrate .. //depot/projects/tty/contrib/gcc/unwind-dw2.c#4 integrate .. //depot/projects/tty/contrib/gcc/unwind-libunwind.c#1 branch .. //depot/projects/tty/contrib/gcc/unwind.h#3 integrate .. //depot/projects/tty/contrib/gcc/varasm.c#3 integrate .. //depot/projects/tty/contrib/gcc/version.c#4 integrate .. //depot/projects/tty/contrib/groff/src/roff/nroff/nroff.man#3 integrate .. //depot/projects/tty/contrib/groff/src/roff/nroff/nroff.sh#4 integrate .. //depot/projects/tty/contrib/libf2c/ChangeLog#4 integrate .. //depot/projects/tty/contrib/libf2c/configure#4 integrate .. //depot/projects/tty/contrib/libobjc/ChangeLog#4 integrate .. //depot/projects/tty/contrib/libobjc/configure#4 integrate .. //depot/projects/tty/contrib/libpcap/gencode.c#3 integrate .. //depot/projects/tty/contrib/libpcap/pcap.3#3 integrate .. //depot/projects/tty/contrib/libpcap/scanner.l#2 integrate .. //depot/projects/tty/contrib/libstdc++/ChangeLog#4 integrate .. //depot/projects/tty/contrib/libstdc++/acinclude.m4#4 integrate .. //depot/projects/tty/contrib/libstdc++/aclocal.m4#4 integrate .. //depot/projects/tty/contrib/libstdc++/config/cpu/m68k/atomicity.h#2 integrate .. //depot/projects/tty/contrib/libstdc++/config/locale/generic/ctype_members.cc#2 integrate .. //depot/projects/tty/contrib/libstdc++/config/locale/gnu/ctype_members.cc#3 integrate .. //depot/projects/tty/contrib/libstdc++/config/os/generic/ctype_inline.h#2 integrate .. //depot/projects/tty/contrib/libstdc++/config/os/hpux/os_defines.h#2 integrate .. //depot/projects/tty/contrib/libstdc++/configure#4 integrate .. //depot/projects/tty/contrib/libstdc++/configure.target#3 integrate .. //depot/projects/tty/contrib/libstdc++/include/Makefile.am#4 integrate .. //depot/projects/tty/contrib/libstdc++/include/Makefile.in#4 integrate .. //depot/projects/tty/contrib/libstdc++/include/bits/basic_ios.h#3 integrate .. //depot/projects/tty/contrib/libstdc++/include/bits/c++config#4 integrate .. //depot/projects/tty/contrib/libstdc++/include/bits/istream.tcc#3 integrate .. //depot/projects/tty/contrib/libstdc++/include/bits/locale_facets.tcc#4 integrate .. //depot/projects/tty/contrib/libstdc++/include/bits/stl_algo.h#2 integrate .. //depot/projects/tty/contrib/libstdc++/libsupc++/cxxabi.h#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/cmds.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/cmdtab.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/domacro.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/extern.h#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/fetch.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/ftp.1#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/ftp.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/ftp_var.h#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/main.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/progressbar.c#2 integrate .. //depot/projects/tty/contrib/lukemftp/src/ruserpass.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/util.c#3 integrate .. //depot/projects/tty/contrib/lukemftp/src/version.h#3 integrate .. //depot/projects/tty/contrib/ngatm/libngatm/net_in.fig#1 branch .. //depot/projects/tty/contrib/ngatm/libngatm/net_out.fig#1 branch .. //depot/projects/tty/contrib/ngatm/libngatm/unicust.h#1 branch .. //depot/projects/tty/contrib/ngatm/man/libngatm.3#1 branch .. //depot/projects/tty/contrib/ngatm/man/uniaddr.3#1 branch .. //depot/projects/tty/contrib/ngatm/man/unifunc.3#1 branch .. //depot/projects/tty/contrib/ngatm/man/unistruct.3#1 branch .. //depot/projects/tty/contrib/ngatm/sscop/common.c#1 branch .. //depot/projects/tty/contrib/ngatm/sscop/common.h#1 branch .. //depot/projects/tty/contrib/ngatm/sscop/sscop.1#1 branch .. //depot/projects/tty/contrib/ngatm/sscop/sscop_main.c#1 branch .. //depot/projects/tty/contrib/sendmail/smrsh/smrsh.c#4 integrate .. //depot/projects/tty/crypto/openssh/sshd_config.5#5 integrate .. //depot/projects/tty/etc/Makefile#8 integrate .. //depot/projects/tty/etc/mac.conf#3 integrate .. //depot/projects/tty/etc/mtree/BSD.include.dist#6 integrate .. //depot/projects/tty/etc/mtree/BSD.local.dist#5 integrate .. //depot/projects/tty/etc/mtree/BSD.usr.dist#8 integrate .. //depot/projects/tty/etc/periodic/daily/460.status-mail-rejects#2 integrate .. //depot/projects/tty/etc/periodic/daily/470.status-named#2 integrate .. //depot/projects/tty/etc/rc.d/Makefile#5 integrate .. //depot/projects/tty/etc/rc.d/ip6addrctl#1 branch .. //depot/projects/tty/etc/rc.d/ipnat#4 integrate .. //depot/projects/tty/etc/rc.firewall#3 integrate .. //depot/projects/tty/etc/rc.firewall6#3 integrate .. //depot/projects/tty/games/fortune/datfiles/fortunes#8 integrate .. //depot/projects/tty/games/fortune/datfiles/fortunes2#6 integrate .. //depot/projects/tty/games/morse/morse.6#2 integrate .. //depot/projects/tty/games/morse/morse.c#2 integrate .. //depot/projects/tty/gnu/usr.bin/binutils/gdb/freebsd-uthread.c#2 integrate .. //depot/projects/tty/gnu/usr.bin/binutils/gdb/solib-fbsd-kld.c#2 integrate .. //depot/projects/tty/gnu/usr.bin/man/manpath/manpath.config#5 integrate .. //depot/projects/tty/gnu/usr.bin/send-pr/send-pr.sh#4 integrate .. //depot/projects/tty/include/Makefile#7 integrate .. //depot/projects/tty/include/pthread.h#5 integrate .. //depot/projects/tty/include/strhash.h#2 delete .. //depot/projects/tty/include/vis.h#2 integrate .. //depot/projects/tty/lib/Makefile#11 integrate .. //depot/projects/tty/lib/libbsnmp/Makefile#1 branch .. //depot/projects/tty/lib/libbsnmp/Makefile.inc#1 branch .. //depot/projects/tty/lib/libbsnmp/libbsnmp/Makefile#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/Makefile#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/Makefile.inc#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_mibII/Makefile#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_mibII/genfiles#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_mibII/mibII_oid.h#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_mibII/mibII_tree.c#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_mibII/mibII_tree.h#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/Makefile#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/genfiles#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/netgraph_oid.h#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.c#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.def#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/netgraph_tree.h#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#1 branch .. //depot/projects/tty/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.h#1 branch .. //depot/projects/tty/lib/libc/alpha/SYS.h#2 integrate .. //depot/projects/tty/lib/libc/alpha/gen/setjmp.S#2 integrate .. //depot/projects/tty/lib/libc/gen/daemon.3#2 integrate .. //depot/projects/tty/lib/libc/gen/daemon.c#2 integrate .. //depot/projects/tty/lib/libc/gen/fnmatch.3#3 integrate .. //depot/projects/tty/lib/libc/gen/getcwd.c#2 integrate .. //depot/projects/tty/lib/libc/gen/getlogin.c#2 integrate .. //depot/projects/tty/lib/libc/gen/getvfsbyname.c#2 integrate .. //depot/projects/tty/lib/libc/gen/glob.c#2 integrate .. //depot/projects/tty/lib/libc/gen/vis.3#2 integrate .. //depot/projects/tty/lib/libc/gen/vis.c#2 integrate .. //depot/projects/tty/lib/libc/ia64/gen/unwind.c#2 integrate .. //depot/projects/tty/lib/libc/include/libc_private.h#3 integrate .. //depot/projects/tty/lib/libc/include/spinlock.h#3 integrate .. //depot/projects/tty/lib/libc/locale/Makefile.inc#5 integrate .. //depot/projects/tty/lib/libc/locale/big5.c#2 integrate .. //depot/projects/tty/lib/libc/locale/euc.4#2 integrate .. //depot/projects/tty/lib/libc/locale/euc.c#2 integrate .. //depot/projects/tty/lib/libc/locale/frune.c#3 integrate .. //depot/projects/tty/lib/libc/locale/gb18030.5#2 integrate .. //depot/projects/tty/lib/libc/locale/gb2312.5#1 branch .. //depot/projects/tty/lib/libc/locale/gb2312.c#1 branch .. //depot/projects/tty/lib/libc/locale/gbk.5#2 integrate .. //depot/projects/tty/lib/libc/locale/gbk.c#2 integrate .. //depot/projects/tty/lib/libc/locale/mbrtowc.c#2 integrate .. //depot/projects/tty/lib/libc/locale/mskanji.c#2 integrate .. //depot/projects/tty/lib/libc/locale/multibyte.3#4 integrate .. //depot/projects/tty/lib/libc/locale/none.c#2 integrate .. //depot/projects/tty/lib/libc/locale/setlocale.c#4 integrate .. //depot/projects/tty/lib/libc/locale/setrunelocale.c#4 integrate .. //depot/projects/tty/lib/libc/locale/srune.c#1 branch .. //depot/projects/tty/lib/libc/locale/table.c#3 integrate .. //depot/projects/tty/lib/libc/locale/utf2.4#2 integrate .. //depot/projects/tty/lib/libc/locale/utf8.c#3 integrate .. //depot/projects/tty/lib/libc/locale/wcrtomb.c#3 integrate .. //depot/projects/tty/lib/libc/locale/wcsftime.c#2 integrate .. //depot/projects/tty/lib/libc/locale/wcstod.c#3 integrate .. //depot/projects/tty/lib/libc/locale/wcstof.c#2 integrate .. //depot/projects/tty/lib/libc/locale/wcstold.c#2 integrate .. //depot/projects/tty/lib/libc/locale/wctrans.c#2 integrate .. //depot/projects/tty/lib/libc/net/getaddrinfo.c#6 integrate .. //depot/projects/tty/lib/libc/nls/msgcat.c#3 integrate .. //depot/projects/tty/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/tty/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/tty/lib/libc/rpc/clnt_simple.c#2 integrate .. //depot/projects/tty/lib/libc/rpc/rpc_generic.c#3 integrate .. //depot/projects/tty/lib/libc/rpc/rpcb_clnt.c#3 integrate .. //depot/projects/tty/lib/libc/stdio/fgetwc.c#2 integrate .. //depot/projects/tty/lib/libc/stdio/fputwc.c#2 integrate .. //depot/projects/tty/lib/libc/stdio/ungetwc.c#2 integrate .. //depot/projects/tty/lib/libc/stdio/vfprintf.c#4 integrate .. //depot/projects/tty/lib/libc/stdio/vfscanf.c#3 integrate .. //depot/projects/tty/lib/libc/stdio/vfwprintf.c#4 integrate .. //depot/projects/tty/lib/libc/stdio/vfwscanf.c#3 integrate .. //depot/projects/tty/lib/libc/stdio/vswprintf.c#2 integrate .. //depot/projects/tty/lib/libc/stdio/vswscanf.c#2 integrate .. //depot/projects/tty/lib/libc/stdlib/Makefile.inc#4 integrate .. //depot/projects/tty/lib/libc/stdlib/malloc.c#7 integrate .. //depot/projects/tty/lib/libc/stdlib/radixsort.c#2 integrate .. //depot/projects/tty/lib/libc/stdlib/strhash.c#2 delete .. //depot/projects/tty/lib/libc/string/wcscoll.c#2 integrate .. //depot/projects/tty/lib/libc/string/wcsxfrm.c#2 integrate .. //depot/projects/tty/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/tty/lib/libc/sys/jail.2#4 integrate .. //depot/projects/tty/lib/libc/sys/kqueue.2#4 integrate .. //depot/projects/tty/lib/libc/sys/ktrace.2#3 integrate .. //depot/projects/tty/lib/libc/sys/msync.2#2 integrate .. //depot/projects/tty/lib/libc/sys/munmap.2#2 integrate .. //depot/projects/tty/lib/libc/sys/utrace.2#1 branch .. //depot/projects/tty/lib/libdisk/Makefile#3 integrate .. //depot/projects/tty/lib/libdisk/chunk.c#3 integrate .. //depot/projects/tty/lib/libdisk/create_chunk.c#4 integrate .. //depot/projects/tty/lib/libdisk/disk.c#4 integrate .. //depot/projects/tty/lib/libdisk/libdisk.h#5 integrate .. //depot/projects/tty/lib/libdisk/open_disk.c#1 branch .. //depot/projects/tty/lib/libdisk/open_ia64_disk.c#1 branch .. //depot/projects/tty/lib/libdisk/rules.c#3 integrate .. //depot/projects/tty/lib/libdisk/tst01.c#2 integrate .. //depot/projects/tty/lib/libdisk/write_disk.c#4 integrate .. //depot/projects/tty/lib/libdisk/write_ia64_disk.c#4 integrate .. //depot/projects/tty/lib/libipsec/Makefile#3 integrate .. //depot/projects/tty/lib/libipsec/ipsec_set_policy.3#4 integrate .. //depot/projects/tty/lib/libipsec/pfkey.c#2 integrate .. //depot/projects/tty/lib/libipsec/pfkey_dump.c#4 integrate .. //depot/projects/tty/lib/libipsec/policy_parse.y#2 integrate .. //depot/projects/tty/lib/libipsec/policy_token.l#2 integrate .. //depot/projects/tty/lib/libkvm/kvm.c#3 integrate .. //depot/projects/tty/lib/libnetgraph/internal.h#2 integrate .. //depot/projects/tty/lib/libnetgraph/msg.c#2 integrate .. //depot/projects/tty/lib/libnetgraph/netgraph.3#3 integrate .. //depot/projects/tty/lib/libnetgraph/sock.c#2 integrate .. //depot/projects/tty/lib/libngatm/Makefile#2 integrate .. //depot/projects/tty/lib/libpam/modules/pam_radius/pam_radius.8#2 integrate .. //depot/projects/tty/lib/libpam/modules/pam_radius/pam_radius.c#4 integrate .. //depot/projects/tty/lib/libpcap/Makefile#2 integrate .. //depot/projects/tty/lib/libpthread/pthread.map#3 integrate .. //depot/projects/tty/lib/libpthread/sys/lock.c#6 integrate .. //depot/projects/tty/lib/libpthread/sys/lock.h#5 integrate .. //depot/projects/tty/lib/libpthread/thread/Makefile.inc#8 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_atfork.c#1 branch .. //depot/projects/tty/lib/libpthread/thread/thr_fork.c#4 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_init.c#6 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_kern.c#8 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_mutex.c#6 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_private.h#8 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_pspinlock.c#2 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_rtld.c#3 integrate .. //depot/projects/tty/lib/libpthread/thread/thr_spinlock.c#4 integrate .. //depot/projects/tty/lib/libsdp/util.c#2 integrate .. //depot/projects/tty/lib/libutil/Makefile#4 integrate .. //depot/projects/tty/lib/libutil/login_class.c#4 integrate .. //depot/projects/tty/release/Makefile#10 integrate .. //depot/projects/tty/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#8 integrate .. //depot/projects/tty/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#12 integrate .. //depot/projects/tty/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#7 integrate .. //depot/projects/tty/release/i386/dokern.sh#6 integrate .. //depot/projects/tty/release/i386/drivers.conf#7 integrate .. //depot/projects/tty/release/picobsd/build/picobsd#2 integrate .. //depot/projects/tty/rescue/rescue/Makefile#3 integrate .. //depot/projects/tty/sbin/Makefile#7 integrate .. //depot/projects/tty/sbin/Makefile.inc#3 integrate .. //depot/projects/tty/sbin/atacontrol/Makefile#3 integrate .. //depot/projects/tty/sbin/atacontrol/atacontrol.c#5 integrate .. //depot/projects/tty/sbin/atm/atmconfig/diag.c#2 integrate .. //depot/projects/tty/sbin/dump/dump.8#5 integrate .. //depot/projects/tty/sbin/dump/dump.h#3 integrate .. //depot/projects/tty/sbin/dump/traverse.c#3 integrate .. //depot/projects/tty/sbin/fdisk/fdisk.c#3 integrate .. //depot/projects/tty/sbin/fsck/Makefile#2 integrate .. //depot/projects/tty/sbin/fsck/fsck.c#5 integrate .. //depot/projects/tty/sbin/fsck/fsutil.h#2 integrate .. //depot/projects/tty/sbin/fsck_msdosfs/check.c#2 integrate .. //depot/projects/tty/sbin/fsck_msdosfs/ext.h#2 integrate .. //depot/projects/tty/sbin/fsdb/Makefile#2 integrate .. //depot/projects/tty/sbin/fsdb/fsdb.c#2 integrate .. //depot/projects/tty/sbin/fsdb/fsdbutil.c#2 integrate .. //depot/projects/tty/sbin/growfs/growfs.c#4 integrate .. //depot/projects/tty/sbin/ifconfig/ifieee80211.c#3 integrate .. //depot/projects/tty/sbin/init/init.8#5 integrate .. //depot/projects/tty/sbin/ip6fw/ip6fw.c#5 integrate .. //depot/projects/tty/sbin/ipfw/ipfw2.c#6 integrate .. //depot/projects/tty/sbin/md5/md5.1#2 integrate .. //depot/projects/tty/sbin/md5/md5.c#5 integrate .. //depot/projects/tty/sbin/mksnap_ffs/mksnap_ffs.c#2 integrate .. //depot/projects/tty/sbin/mount_cd9660/mount_cd9660.c#3 integrate .. //depot/projects/tty/sbin/mount_ext2fs/Makefile#2 integrate .. //depot/projects/tty/sbin/mount_ext2fs/mount_ext2fs.c#2 integrate .. //depot/projects/tty/sbin/mount_udf/Makefile#2 integrate .. //depot/projects/tty/sbin/mount_udf/mount_udf.8#2 integrate .. //depot/projects/tty/sbin/mount_udf/mount_udf.c#2 integrate .. //depot/projects/tty/sbin/newfs/mkfs.c#8 integrate .. //depot/projects/tty/sbin/route/route.8#3 integrate .. //depot/projects/tty/sbin/sunlabel/sunlabel.c#4 integrate .. //depot/projects/tty/sbin/sysctl/sysctl.8#4 integrate .. //depot/projects/tty/sbin/sysctl/sysctl.c#5 integrate .. //depot/projects/tty/sbin/umount/umount.c#4 integrate .. //depot/projects/tty/share/colldef/Makefile#4 integrate .. //depot/projects/tty/share/doc/IPv6/IMPLEMENTATION#3 integrate .. //depot/projects/tty/share/examples/cvsup/refuse#5 integrate .. //depot/projects/tty/share/examples/cvsup/refuse.README#5 integrate .. //depot/projects/tty/share/man/man3/tree.3#2 integrate .. //depot/projects/tty/share/man/man4/Makefile#8 integrate .. //depot/projects/tty/share/man/man4/aac.4#4 integrate .. //depot/projects/tty/share/man/man4/acpi.4#6 integrate .. //depot/projects/tty/share/man/man4/aha.4#3 integrate .. //depot/projects/tty/share/man/man4/ahb.4#3 integrate .. //depot/projects/tty/share/man/man4/ahc.4#4 integrate .. //depot/projects/tty/share/man/man4/an.4#4 integrate .. //depot/projects/tty/share/man/man4/ata.4#2 integrate .. //depot/projects/tty/share/man/man4/ath.4#3 integrate .. //depot/projects/tty/share/man/man4/ath_hal.4#2 integrate .. //depot/projects/tty/share/man/man4/ciss.4#3 integrate .. //depot/projects/tty/share/man/man4/dc.4#5 integrate .. //depot/projects/tty/share/man/man4/dcons.4#2 integrate .. //depot/projects/tty/share/man/man4/dcons_crom.4#2 integrate .. //depot/projects/tty/share/man/man4/ddb.4#4 integrate .. //depot/projects/tty/share/man/man4/de.4#2 integrate .. //depot/projects/tty/share/man/man4/gx.4#2 integrate .. //depot/projects/tty/share/man/man4/hatm.4#3 integrate .. //depot/projects/tty/share/man/man4/inet.4#5 integrate .. //depot/projects/tty/share/man/man4/intro.4#4 integrate .. //depot/projects/tty/share/man/man4/ips.4#1 branch .. //depot/projects/tty/share/man/man4/led.4#1 branch .. //depot/projects/tty/share/man/man4/man4.i386/Makefile#5 integrate .. //depot/projects/tty/share/man/man4/man4.i386/aic.4#2 integrate .. //depot/projects/tty/share/man/man4/man4.i386/ep.4#4 integrate .. //depot/projects/tty/share/man/man4/man4.i386/ex.4#2 integrate .. //depot/projects/tty/share/man/man4/man4.i386/lnc.4#2 integrate .. //depot/projects/tty/share/man/man4/man4.i386/svr4.4#3 integrate .. //depot/projects/tty/share/man/man4/man4.i386/wd.4#2 integrate .. //depot/projects/tty/share/man/man4/miibus.4#3 integrate .. //depot/projects/tty/share/man/man4/mpt.4#1 branch .. //depot/projects/tty/share/man/man4/ncr.4#2 integrate .. //depot/projects/tty/share/man/man4/netgraph.4#4 integrate .. //depot/projects/tty/share/man/man4/ng_bluetooth.4#4 integrate .. //depot/projects/tty/share/man/man4/ng_bt3c.4#5 integrate .. //depot/projects/tty/share/man/man4/ng_btsocket.4#4 integrate .. //depot/projects/tty/share/man/man4/ng_h4.4#4 integrate .. //depot/projects/tty/share/man/man4/ng_hci.4#4 integrate .. //depot/projects/tty/share/man/man4/ng_l2cap.4#5 integrate .. //depot/projects/tty/share/man/man4/ng_ubt.4#4 integrate .. //depot/projects/tty/share/man/man4/ng_uni.4#1 branch .. //depot/projects/tty/share/man/man4/rl.4#4 integrate .. //depot/projects/tty/share/man/man4/rue.4#3 integrate .. //depot/projects/tty/share/man/man4/sbp_targ.4#1 branch .. //depot/projects/tty/share/man/man4/sis.4#3 integrate .. //depot/projects/tty/share/man/man4/sk.4#3 integrate .. //depot/projects/tty/share/man/man4/sym.4#3 integrate .. //depot/projects/tty/share/man/man4/uaudio.4#1 branch .. //depot/projects/tty/share/man/man4/ufm.4#1 branch .. //depot/projects/tty/share/man/man4/xe.4#1 branch .. //depot/projects/tty/share/man/man5/rc.conf.5#10 integrate .. //depot/projects/tty/share/man/man7/build.7#3 integrate .. //depot/projects/tty/share/man/man7/hier.7#5 integrate .. //depot/projects/tty/share/man/man7/ports.7#4 integrate .. //depot/projects/tty/share/man/man9/Makefile#6 integrate .. //depot/projects/tty/share/man/man9/alq.9#1 branch .. //depot/projects/tty/share/man/man9/device_get_name.9#4 integrate .. //depot/projects/tty/share/man/man9/ifnet.9#4 integrate .. //depot/projects/tty/share/man/man9/pfind.9#2 integrate .. //depot/projects/tty/share/man/man9/pgfind.9#2 integrate .. //depot/projects/tty/share/man/man9/resource_query_string.9#2 delete .. //depot/projects/tty/share/man/man9/style.9#5 integrate .. //depot/projects/tty/share/misc/bsd-family-tree#5 integrate .. //depot/projects/tty/share/misc/pci_vendors#4 integrate .. //depot/projects/tty/share/mk/bsd.libnames.mk#7 integrate .. //depot/projects/tty/share/mklocale/Makefile#4 integrate .. //depot/projects/tty/share/mklocale/zh_CN.GB2312.src#1 branch .. //depot/projects/tty/share/monetdef/Makefile#3 integrate .. //depot/projects/tty/share/monetdef/zh_CN.GB2312.src#1 branch .. //depot/projects/tty/share/msgdef/Makefile#3 integrate .. //depot/projects/tty/share/msgdef/zh_CN.GB2312.src#1 branch .. //depot/projects/tty/share/numericdef/Makefile#3 integrate .. //depot/projects/tty/share/security/Makefile#1 branch .. //depot/projects/tty/share/timedef/Makefile#3 integrate .. //depot/projects/tty/share/timedef/zh_CN.GB2312.src#1 branch .. //depot/projects/tty/sys/alpha/alpha/clock.c#4 integrate .. //depot/projects/tty/sys/alpha/alpha/machdep.c#7 integrate .. //depot/projects/tty/sys/alpha/conf/GENERIC#9 integrate .. //depot/projects/tty/sys/alpha/include/bus.h#8 integrate .. //depot/projects/tty/sys/alpha/linux/linux_proto.h#3 integrate .. //depot/projects/tty/sys/alpha/linux/linux_syscall.h#3 integrate .. //depot/projects/tty/sys/alpha/linux/linux_sysent.c#3 integrate .. //depot/projects/tty/sys/alpha/linux/syscalls.master#3 integrate .. //depot/projects/tty/sys/alpha/osf1/osf1_ioctl.c#3 integrate .. //depot/projects/tty/sys/alpha/osf1/osf1_proto.h#2 integrate .. //depot/projects/tty/sys/alpha/osf1/osf1_syscall.h#2 integrate .. //depot/projects/tty/sys/alpha/osf1/osf1_sysent.c#2 integrate .. //depot/projects/tty/sys/alpha/osf1/syscalls.master#2 integrate .. //depot/projects/tty/sys/amd64/amd64/autoconf.c#3 integrate .. //depot/projects/tty/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/tty/sys/amd64/amd64/exception.S#6 integrate .. //depot/projects/tty/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/tty/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/tty/sys/amd64/amd64/nexus.c#4 integrate .. //depot/projects/tty/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/tty/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/tty/sys/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/tty/sys/amd64/amd64/trap.c#5 integrate .. //depot/projects/tty/sys/amd64/amd64/vm_machdep.c#4 integrate .. //depot/projects/tty/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/tty/sys/amd64/conf/gethints.awk#2 integrate .. //depot/projects/tty/sys/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/tty/sys/amd64/ia32/ia32_signal.c#3 integrate .. //depot/projects/tty/sys/amd64/include/bus_dma.h#4 integrate .. //depot/projects/tty/sys/amd64/include/cpufunc.h#3 integrate .. //depot/projects/tty/sys/amd64/include/fpu.h#1 branch .. //depot/projects/tty/sys/amd64/include/frame.h#4 integrate .. //depot/projects/tty/sys/amd64/include/ieeefp.h#3 integrate .. //depot/projects/tty/sys/amd64/include/npx.h#4 delete .. //depot/projects/tty/sys/amd64/include/pcb.h#3 integrate .. //depot/projects/tty/sys/amd64/include/pmap.h#5 integrate .. //depot/projects/tty/sys/amd64/include/reg.h#3 integrate .. //depot/projects/tty/sys/amd64/include/signal.h#4 integrate .. //depot/projects/tty/sys/amd64/include/specialreg.h#3 integrate .. //depot/projects/tty/sys/amd64/include/ucontext.h#5 integrate .. //depot/projects/tty/sys/amd64/include/vmparam.h#5 integrate .. //depot/projects/tty/sys/amd64/isa/icu_vector.S#3 integrate .. //depot/projects/tty/sys/amd64/isa/npx.c#3 delete .. //depot/projects/tty/sys/amd64/isa/vector.S#2 integrate .. //depot/projects/tty/sys/boot/common/dev_net.c#3 integrate .. //depot/projects/tty/sys/boot/forth/beastie.4th#4 integrate .. //depot/projects/tty/sys/boot/i386/boot2/boot2.c#4 integrate .. //depot/projects/tty/sys/boot/i386/btx/btxldr/btxldr.s#2 integrate .. //depot/projects/tty/sys/boot/ia64/libski/pal_stub.S#2 integrate .. //depot/projects/tty/sys/boot/ia64/skiload/Makefile#4 integrate .. //depot/projects/tty/sys/boot/sparc64/loader/metadata.c#3 integrate .. //depot/projects/tty/sys/cam/cam_periph.c#7 integrate .. //depot/projects/tty/sys/cam/cam_xpt.c#6 integrate .. //depot/projects/tty/sys/cam/scsi/scsi_target.c#6 integrate .. //depot/projects/tty/sys/coda/coda_psdev.c#4 integrate .. //depot/projects/tty/sys/coda/coda_subr.c#4 integrate .. //depot/projects/tty/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/tty/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/tty/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/tty/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/tty/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/tty/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/tty/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/tty/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/tty/sys/compat/ia32/ia32_sysvec.c#3 integrate .. //depot/projects/tty/sys/compat/linux/linux_ioctl.c#7 integrate .. //depot/projects/tty/sys/compat/linux/linux_ipc.c#6 integrate .. //depot/projects/tty/sys/compat/linux/linux_socket.c#8 integrate .. //depot/projects/tty/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/tty/sys/conf/NOTES#12 integrate .. //depot/projects/tty/sys/conf/files#10 integrate .. //depot/projects/tty/sys/conf/files.amd64#5 integrate .. //depot/projects/tty/sys/conf/files.i386#9 integrate .. //depot/projects/tty/sys/conf/files.pc98#8 integrate .. //depot/projects/tty/sys/conf/files.sparc64#6 integrate .. //depot/projects/tty/sys/conf/kern.mk#5 integrate .. //depot/projects/tty/sys/conf/kern.post.mk#8 integrate .. //depot/projects/tty/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/tty/sys/conf/kmod.mk#7 integrate .. //depot/projects/tty/sys/conf/majors#7 integrate .. //depot/projects/tty/sys/conf/options#9 integrate .. //depot/projects/tty/sys/conf/options.i386#6 integrate .. //depot/projects/tty/sys/conf/options.pc98#6 integrate .. //depot/projects/tty/sys/contrib/dev/acpica/dmresrc.c#4 integrate .. //depot/projects/tty/sys/contrib/dev/ath/ah.h#2 integrate .. //depot/projects/tty/sys/contrib/dev/ath/ah_devid.h#2 integrate .. //depot/projects/tty/sys/contrib/dev/ath/freebsd/ah_osdep.c#2 integrate .. //depot/projects/tty/sys/contrib/dev/ath/freebsd/ah_osdep.h#2 integrate .. //depot/projects/tty/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#2 integrate .. //depot/projects/tty/sys/contrib/dev/ath/version.h#2 integrate .. //depot/projects/tty/sys/contrib/dev/oltr/if_oltr.c#6 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx.h#3 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_bstream.c#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_bstream.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_context.c#3 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_context.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_env.c#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_env.h#3 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#3 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_scoreboard.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_self.c#3 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_self.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_step.c#3 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_step.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_str.c#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_str.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_swap.c#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_swap.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_trace.c#4 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_trace.h#4 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#3 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#4 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_uinfo.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_utable.c#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/src/uwx_utable.h#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/test/Makefile#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/test/dump_context.c#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/test/dumpmyself.c#2 integrate .. //depot/projects/tty/sys/contrib/ia64/libuwx/test/primeregs.s#1 branch .. //depot/projects/tty/sys/contrib/ipfilter/netinet/ip_compat.h#3 integrate .. //depot/projects/tty/sys/contrib/ipfilter/netinet/ip_fil.c#4 integrate .. //depot/projects/tty/sys/contrib/ipfilter/netinet/ip_log.c#3 integrate .. //depot/projects/tty/sys/contrib/ngatm/FREEBSD-upgrade#2 integrate .. //depot/projects/tty/sys/contrib/ngatm/netnatm/addr.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/genfiles#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/misc/straddr.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/geniec.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/genieh.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/genmsgc.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/genmsgh.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/ie.def#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/msg.def#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/parseie.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/parsemsg.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/priv.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/privmsg.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/traffic.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uni_config.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uni_hdr.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uni_ie.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uni_ie.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uni_ietab.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uni_msg.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uni_msg.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/unimsglib.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/uniprint.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/msg/unistruct.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/genmsgcpyc.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/genmsgcpyh.awk#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_call.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_coord.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_party.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_print.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_reset.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_uni.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_unimsgcpy.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/sig_verify.c#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/uni.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/unidef.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/unimkmsg.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/unimsgcpy.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/unipriv.h#1 branch .. //depot/projects/tty/sys/contrib/ngatm/netnatm/sig/unisig.h#1 branch .. //depot/projects/tty/sys/crypto/rijndael/rijndael-alg-fst.c#4 integrate .. //depot/projects/tty/sys/crypto/rijndael/rijndael-alg-fst.h#3 integrate .. //depot/projects/tty/sys/crypto/rijndael/rijndael-api-fst.c#4 integrate .. //depot/projects/tty/sys/crypto/rijndael/rijndael-api-fst.h#3 integrate .. //depot/projects/tty/sys/crypto/rijndael/rijndael-api.c#1 branch .. //depot/projects/tty/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/tty/sys/dev/aac/aac.c#8 integrate .. //depot/projects/tty/sys/dev/aac/aac_pci.c#8 integrate .. //depot/projects/tty/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/tty/sys/dev/acpica/acpi_pci_link.c#3 integrate .. //depot/projects/tty/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/tty/sys/dev/aha/aha.c#6 integrate .. //depot/projects/tty/sys/dev/aha/aha_isa.c#4 integrate .. //depot/projects/tty/sys/dev/aha/aha_mca.c#4 integrate .. //depot/projects/tty/sys/dev/aha/ahareg.h#2 integrate .. //depot/projects/tty/sys/dev/aic7xxx/ahc_pci.c#5 integrate .. //depot/projects/tty/sys/dev/aic7xxx/ahd_pci.c#5 integrate .. //depot/projects/tty/sys/dev/an/if_an.c#7 integrate .. //depot/projects/tty/sys/dev/ar/if_ar.c#5 integrate .. //depot/projects/tty/sys/dev/ata/ata-all.c#11 integrate .. //depot/projects/tty/sys/dev/ata/ata-all.h#8 integrate .. //depot/projects/tty/sys/dev/ata/ata-chipset.c#8 integrate .. //depot/projects/tty/sys/dev/ata/ata-disk.c#9 integrate .. //depot/projects/tty/sys/dev/ata/ata-lowlevel.c#3 integrate .. //depot/projects/tty/sys/dev/ata/ata-pci.c#7 integrate .. //depot/projects/tty/sys/dev/ata/ata-pci.h#7 integrate .. //depot/projects/tty/sys/dev/ata/ata-raid.c#9 integrate .. //depot/projects/tty/sys/dev/ata/atapi-cam.c#7 integrate .. //depot/projects/tty/sys/dev/ata/atapi-cd.c#7 integrate .. //depot/projects/tty/sys/dev/ata/atapi-cd.h#5 integrate .. //depot/projects/tty/sys/dev/ata/atapi-fd.c#7 integrate .. //depot/projects/tty/sys/dev/ata/atapi-tape.c#7 integrate .. //depot/projects/tty/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/tty/sys/dev/ath/if_ath_pci.c#3 integrate .. //depot/projects/tty/sys/dev/awi/if_awi_pccard.c#4 integrate .. //depot/projects/tty/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/tty/sys/dev/bge/if_bge.c#10 integrate .. //depot/projects/tty/sys/dev/bge/if_bgereg.h#8 integrate .. //depot/projects/tty/sys/dev/bktr/bktr_core.c#3 integrate .. //depot/projects/tty/sys/dev/cardbus/cardbus.c#6 integrate .. //depot/projects/tty/sys/dev/ciss/ciss.c#9 integrate .. //depot/projects/tty/sys/dev/cm/if_cm_isa.c#4 integrate .. //depot/projects/tty/sys/dev/cm/smc90cx6.c#5 integrate .. //depot/projects/tty/sys/dev/cm/smc90cx6var.h#2 integrate .. //depot/projects/tty/sys/dev/cnw/if_cnw.c#5 integrate .. //depot/projects/tty/sys/dev/cs/if_cs.c#4 integrate .. //depot/projects/tty/sys/dev/cs/if_cs_isa.c#4 integrate .. //depot/projects/tty/sys/dev/cs/if_cs_pccard.c#4 integrate .. //depot/projects/tty/sys/dev/cs/if_csreg.h#2 integrate .. //depot/projects/tty/sys/dev/cs/if_csvar.h#2 integrate .. //depot/projects/tty/sys/dev/dcons/dcons_crom.c#2 integrate .. //depot/projects/tty/sys/dev/drm/drm.h#5 integrate .. //depot/projects/tty/sys/dev/drm/drmP.h#6 integrate .. //depot/projects/tty/sys/dev/drm/drm_bufs.h#6 integrate .. //depot/projects/tty/sys/dev/drm/drm_drv.h#7 integrate .. //depot/projects/tty/sys/dev/drm/drm_fops.h#6 integrate .. //depot/projects/tty/sys/dev/drm/drm_ioctl.h#6 integrate .. //depot/projects/tty/sys/dev/drm/drm_irq.h#2 integrate .. //depot/projects/tty/sys/dev/drm/drm_os_freebsd.h#7 integrate .. //depot/projects/tty/sys/dev/drm/mga_dma.c#6 integrate .. //depot/projects/tty/sys/dev/drm/r128_cce.c#6 integrate .. //depot/projects/tty/sys/dev/drm/radeon.h#6 integrate .. //depot/projects/tty/sys/dev/drm/radeon_cp.c#6 integrate .. //depot/projects/tty/sys/dev/drm/radeon_drm.h#5 integrate .. //depot/projects/tty/sys/dev/drm/radeon_drv.h#5 integrate .. //depot/projects/tty/sys/dev/drm/radeon_state.c#5 integrate .. //depot/projects/tty/sys/dev/ed/if_ed.c#6 integrate .. //depot/projects/tty/sys/dev/ed/if_ed_cbus.c#6 integrate .. //depot/projects/tty/sys/dev/ed/if_ed_isa.c#5 integrate .. //depot/projects/tty/sys/dev/ed/if_ed_pccard.c#5 integrate .. //depot/projects/tty/sys/dev/ed/if_ed_pci.c#4 integrate .. //depot/projects/tty/sys/dev/ed/if_edvar.h#3 integrate .. //depot/projects/tty/sys/dev/em/if_em.c#7 integrate .. //depot/projects/tty/sys/dev/en/if_en_pci.c#2 integrate .. //depot/projects/tty/sys/dev/en/midway.c#8 integrate .. //depot/projects/tty/sys/dev/ep/if_ep.c#6 integrate .. //depot/projects/tty/sys/dev/ep/if_ep_pccard.c#5 integrate .. //depot/projects/tty/sys/dev/ep/if_epreg.h#4 integrate .. //depot/projects/tty/sys/dev/ex/if_ex.c#5 integrate .. //depot/projects/tty/sys/dev/fatm/if_fatm.c#2 integrate .. //depot/projects/tty/sys/dev/fb/creator.c#2 integrate .. //depot/projects/tty/sys/dev/fe/if_fe.c#4 integrate .. //depot/projects/tty/sys/dev/fe/if_fevar.h#2 integrate .. //depot/projects/tty/sys/dev/firewire/firewire.c#11 integrate .. //depot/projects/tty/sys/dev/firewire/firewire.h#7 integrate .. //depot/projects/tty/sys/dev/firewire/firewirereg.h#9 integrate .. //depot/projects/tty/sys/dev/firewire/fwdev.c#8 integrate .. //depot/projects/tty/sys/dev/firewire/fwmem.c#8 integrate .. //depot/projects/tty/sys/dev/firewire/fwohci.c#9 integrate .. //depot/projects/tty/sys/dev/firewire/fwohci_pci.c#8 integrate .. //depot/projects/tty/sys/dev/firewire/if_fwe.c#8 integrate .. //depot/projects/tty/sys/dev/firewire/sbp.c#11 integrate .. //depot/projects/tty/sys/dev/firewire/sbp.h#2 integrate .. //depot/projects/tty/sys/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/tty/sys/dev/fxp/if_fxp.c#8 integrate .. //depot/projects/tty/sys/dev/fxp/if_fxpvar.h#5 integrate .. //depot/projects/tty/sys/dev/gem/if_gem.c#5 integrate .. //depot/projects/tty/sys/dev/gx/if_gx.c#5 integrate .. //depot/projects/tty/sys/dev/harp/if_harp.c#2 integrate .. //depot/projects/tty/sys/dev/hatm/if_hatm.c#3 integrate .. //depot/projects/tty/sys/dev/hatm/if_hatm_intr.c#3 integrate .. //depot/projects/tty/sys/dev/hatm/if_hatm_rx.c#2 integrate .. //depot/projects/tty/sys/dev/hatm/if_hatm_tx.c#2 integrate .. //depot/projects/tty/sys/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/tty/sys/dev/hme/if_hme.c#4 integrate .. //depot/projects/tty/sys/dev/ie/if_ie.c#5 integrate .. //depot/projects/tty/sys/dev/iicbus/if_ic.c#5 integrate .. //depot/projects/tty/sys/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/tty/sys/dev/kbd/kbd.c#6 integrate .. //depot/projects/tty/sys/dev/led/led.c#1 branch .. //depot/projects/tty/sys/dev/led/led.h#1 branch .. //depot/projects/tty/sys/dev/lge/if_lge.c#5 integrate .. //depot/projects/tty/sys/dev/lnc/if_lnc.c#4 integrate .. //depot/projects/tty/sys/dev/mii/brgphy.c#6 integrate .. //depot/projects/tty/sys/dev/my/if_my.c#5 integrate .. //depot/projects/tty/sys/dev/nge/if_nge.c#5 integrate .. //depot/projects/tty/sys/dev/nmdm/nmdm.c#6 integrate .. //depot/projects/tty/sys/dev/null/null.c#6 integrate .. //depot/projects/tty/sys/dev/patm/if_patm_attach.c#2 integrate .. //depot/projects/tty/sys/dev/pccard/pccard.c#6 integrate .. //depot/projects/tty/sys/dev/pccard/pccarddevs#7 integrate .. //depot/projects/tty/sys/dev/pccard/pccarddevs.h#7 integrate .. //depot/projects/tty/sys/dev/pccard/pccardvar.h#5 integrate .. //depot/projects/tty/sys/dev/pccbb/pccbb.c#8 integrate .. //depot/projects/tty/sys/dev/pci/pci.c#6 integrate .. //depot/projects/tty/sys/dev/pdq/if_fea.c#4 integrate .. //depot/projects/tty/sys/dev/pdq/if_fpa.c#4 integrate .. //depot/projects/tty/sys/dev/pdq/pdq_freebsd.h#4 integrate .. //depot/projects/tty/sys/dev/pdq/pdqvar.h#3 integrate .. //depot/projects/tty/sys/dev/ppbus/if_plip.c#5 integrate .. //depot/projects/tty/sys/dev/puc/puc_pci.c#3 integrate .. //depot/projects/tty/sys/dev/random/randomdev.c#5 integrate .. //depot/projects/tty/sys/dev/ray/if_ray.c#6 integrate .. //depot/projects/tty/sys/dev/re/if_re.c#3 integrate .. //depot/projects/tty/sys/dev/sab/sab.c#8 integrate .. //depot/projects/tty/sys/dev/sbni/if_sbni.c#4 integrate .. //depot/projects/tty/sys/dev/sbni/if_sbni_isa.c#4 integrate .. //depot/projects/tty/sys/dev/sbsh/if_sbsh.c#3 integrate .. //depot/projects/tty/sys/dev/sio/sio_pci.c#5 integrate .. //depot/projects/tty/sys/dev/sn/if_sn.c#6 integrate .. //depot/projects/tty/sys/dev/sn/if_sn_isa.c#4 integrate .. //depot/projects/tty/sys/dev/snc/dp83932.c#6 integrate .. //depot/projects/tty/sys/dev/snp/snp.c#5 integrate .. //depot/projects/tty/sys/dev/sound/isa/mpu.c#3 integrate .. //depot/projects/tty/sys/dev/sound/midi/midibuf.c#3 integrate .. //depot/projects/tty/sys/dev/sound/pci/cmi.c#4 integrate .. //depot/projects/tty/sys/dev/sound/pcm/ac97.c#8 integrate .. //depot/projects/tty/sys/dev/sound/pcm/channel.c#5 integrate .. //depot/projects/tty/sys/dev/sound/pcm/dsp.c#7 integrate .. //depot/projects/tty/sys/dev/sound/pcm/mixer.c#5 integrate .. //depot/projects/tty/sys/dev/sr/if_sr.c#5 integrate .. //depot/projects/tty/sys/dev/syscons/syscons.c#8 integrate .. //depot/projects/tty/sys/dev/twe/twereg.h#3 integrate .. //depot/projects/tty/sys/dev/tx/if_tx.c#5 integrate .. //depot/projects/tty/sys/dev/txp/if_txp.c#5 integrate .. //depot/projects/tty/sys/dev/uart/uart_bus_pci.c#3 integrate .. //depot/projects/tty/sys/dev/uart/uart_cpu_sparc64.c#3 integrate .. //depot/projects/tty/sys/dev/uart/uart_kbd_sun.c#1 branch .. //depot/projects/tty/sys/dev/uart/uart_kbd_sun.h#1 branch .. //depot/projects/tty/sys/dev/uart/uart_kbd_sun_tables.h#1 branch .. //depot/projects/tty/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/tty/sys/dev/usb/ehci_pci.c#3 integrate .. //depot/projects/tty/sys/dev/usb/if_aue.c#7 integrate .. //depot/projects/tty/sys/dev/usb/if_axe.c#3 integrate .. //depot/projects/tty/sys/dev/usb/if_cue.c#7 integrate .. //depot/projects/tty/sys/dev/usb/if_kue.c#6 integrate .. //depot/projects/tty/sys/dev/usb/if_rue.c#4 integrate .. //depot/projects/tty/sys/dev/usb/ohci.c#4 integrate .. //depot/projects/tty/sys/dev/usb/ohci_pci.c#4 integrate .. //depot/projects/tty/sys/dev/usb/ucom.c#5 integrate .. //depot/projects/tty/sys/dev/usb/ugen.c#7 integrate .. //depot/projects/tty/sys/dev/usb/uhci.c#5 integrate .. //depot/projects/tty/sys/dev/usb/uhci_pci.c#5 integrate .. //depot/projects/tty/sys/dev/usb/uhid.c#7 integrate .. //depot/projects/tty/sys/dev/usb/ums.c#5 integrate .. //depot/projects/tty/sys/dev/usb/usb.c#7 integrate .. //depot/projects/tty/sys/dev/usb/usb_ethersubr.c#5 integrate .. //depot/projects/tty/sys/dev/usb/usb_port.h#5 integrate .. //depot/projects/tty/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/tty/sys/dev/usb/uvisor.c#6 integrate .. //depot/projects/tty/sys/dev/vx/if_vx.c#6 integrate .. //depot/projects/tty/sys/dev/vx/if_vx_eisa.c#5 integrate .. //depot/projects/tty/sys/dev/vx/if_vx_pci.c#5 integrate .. //depot/projects/tty/sys/dev/vx/if_vxvar.h#2 integrate .. //depot/projects/tty/sys/dev/wi/if_wi.c#7 integrate .. //depot/projects/tty/sys/dev/wl/if_wl.c#5 integrate .. //depot/projects/tty/sys/dev/xe/if_xe.c#7 integrate .. //depot/projects/tty/sys/dev/xe/if_xe_pccard.c#5 integrate .. //depot/projects/tty/sys/dev/zs/zs.c#7 integrate .. //depot/projects/tty/sys/fs/devfs/devfs.h#2 integrate .. //depot/projects/tty/sys/fs/fifofs/fifo_vnops.c#7 integrate .. //depot/projects/tty/sys/fs/msdosfs/msdosfs_vfsops.c#6 integrate .. //depot/projects/tty/sys/fs/nwfs/nwfs_vfsops.c#6 integrate .. //depot/projects/tty/sys/fs/smbfs/smbfs_vfsops.c#7 integrate .. //depot/projects/tty/sys/fs/specfs/spec_vnops.c#6 integrate .. //depot/projects/tty/sys/fs/udf/osta.c#2 integrate .. //depot/projects/tty/sys/fs/udf/osta.h#2 integrate .. //depot/projects/tty/sys/fs/udf/udf.h#3 integrate .. //depot/projects/tty/sys/fs/udf/udf_iconv.c#1 branch .. //depot/projects/tty/sys/fs/udf/udf_mount.h#1 branch .. //depot/projects/tty/sys/fs/udf/udf_vfsops.c#6 integrate .. //depot/projects/tty/sys/fs/udf/udf_vnops.c#8 integrate .. //depot/projects/tty/sys/fs/unionfs/union_vfsops.c#5 integrate .. //depot/projects/tty/sys/fs/unionfs/union_vnops.c#4 integrate .. //depot/projects/tty/sys/geom/geom_ccd.c#3 integrate .. //depot/projects/tty/sys/gnu/ext2fs/alpha-bitops.h#2 delete .. //depot/projects/tty/sys/gnu/ext2fs/ext2_linux_balloc.c#3 integrate .. //depot/projects/tty/sys/gnu/ext2fs/ext2_linux_ialloc.c#3 integrate .. //depot/projects/tty/sys/gnu/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/tty/sys/i386/acpica/Makefile#2 integrate .. //depot/projects/tty/sys/i386/acpica/acpi_machdep.c#6 integrate .. //depot/projects/tty/sys/i386/acpica/acpi_wakecode.S#5 integrate .. //depot/projects/tty/sys/i386/acpica/acpi_wakeup.c#6 integrate .. //depot/projects/tty/sys/i386/acpica/madt.c#1 branch .. //depot/projects/tty/sys/i386/bios/apm.c#4 integrate .. //depot/projects/tty/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/tty/sys/i386/conf/NOTES#11 integrate .. //depot/projects/tty/sys/i386/conf/PAE#4 integrate .. //depot/projects/tty/sys/i386/conf/SMP#3 delete .. //depot/projects/tty/sys/i386/i386/apic_vector.s#1 branch .. //depot/projects/tty/sys/i386/i386/autoconf.c#4 integrate .. //depot/projects/tty/sys/i386/i386/bios.c#7 integrate .. //depot/projects/tty/sys/i386/i386/critical.c#5 integrate .. //depot/projects/tty/sys/i386/i386/db_interface.c#5 integrate .. //depot/projects/tty/sys/i386/i386/db_trace.c#4 integrate .. //depot/projects/tty/sys/i386/i386/elan-mmcr.c#7 integrate .. //depot/projects/tty/sys/i386/i386/exception.s#5 integrate .. //depot/projects/tty/sys/i386/i386/genassym.c#7 integrate .. //depot/projects/tty/sys/i386/i386/identcpu.c#7 integrate .. //depot/projects/tty/sys/i386/i386/initcpu.c#4 integrate .. //depot/projects/tty/sys/i386/i386/intr_machdep.c#1 branch .. //depot/projects/tty/sys/i386/i386/io_apic.c#1 branch .. //depot/projects/tty/sys/i386/i386/local_apic.c#1 branch .. //depot/projects/tty/sys/i386/i386/locore.s#7 integrate .. //depot/projects/tty/sys/i386/i386/machdep.c#8 integrate .. //depot/projects/tty/sys/i386/i386/mp_machdep.c#9 integrate .. //depot/projects/tty/sys/i386/i386/mpapic.c#3 delete .. //depot/projects/tty/sys/i386/i386/mpboot.s#4 integrate .. //depot/projects/tty/sys/i386/i386/mptable.c#1 branch .. //depot/projects/tty/sys/i386/i386/mptable_pci.c#1 branch .. //depot/projects/tty/sys/i386/i386/nexus.c#4 integrate .. //depot/projects/tty/sys/i386/i386/pmap.c#10 integrate .. //depot/projects/tty/sys/i386/i386/support.s#5 integrate .. //depot/projects/tty/sys/i386/i386/trap.c#9 integrate .. //depot/projects/tty/sys/i386/include/apic.h#4 delete .. //depot/projects/tty/sys/i386/include/apicreg.h#1 branch .. //depot/projects/tty/sys/i386/include/apicvar.h#1 branch .. //depot/projects/tty/sys/i386/include/asmacros.h#2 integrate .. //depot/projects/tty/sys/i386/include/bus_dma.h#6 integrate .. //depot/projects/tty/sys/i386/include/clock.h#5 integrate .. //depot/projects/tty/sys/i386/include/critical.h#3 integrate .. //depot/projects/tty/sys/i386/include/intr_machdep.h#1 branch .. //depot/projects/tty/sys/i386/include/md_var.h#5 integrate .. //depot/projects/tty/sys/i386/include/mptable.h#1 branch .. //depot/projects/tty/sys/i386/include/pcpu.h#3 integrate .. //depot/projects/tty/sys/i386/include/pmap.h#5 integrate .. //depot/projects/tty/sys/i386/include/proc.h#2 integrate .. //depot/projects/tty/sys/i386/include/segments.h#4 integrate .. //depot/projects/tty/sys/i386/include/smp.h#4 integrate .. //depot/projects/tty/sys/i386/include/smptests.h#2 integrate .. //depot/projects/tty/sys/i386/isa/apic_ipl.s#2 delete .. //depot/projects/tty/sys/i386/isa/apic_vector.s#6 delete .. //depot/projects/tty/sys/i386/isa/asc.c#4 integrate .. //depot/projects/tty/sys/i386/isa/atpic.c#1 branch .. //depot/projects/tty/sys/i386/isa/atpic_vector.s#1 branch .. //depot/projects/tty/sys/i386/isa/bs/bsif.h#3 integrate .. //depot/projects/tty/sys/i386/isa/clock.c#7 integrate .. //depot/projects/tty/sys/i386/isa/cx.c#5 integrate .. //depot/projects/tty/sys/i386/isa/icu.h#2 integrate .. //depot/projects/tty/sys/i386/isa/icu_ipl.s#2 delete .. //depot/projects/tty/sys/i386/isa/icu_vector.s#2 delete .. //depot/projects/tty/sys/i386/isa/if_cx.c#5 integrate .. //depot/projects/tty/sys/i386/isa/if_el.c#4 integrate .. //depot/projects/tty/sys/i386/isa/if_le.c#5 integrate .. //depot/projects/tty/sys/i386/isa/if_rdp.c#5 integrate .. //depot/projects/tty/sys/i386/isa/intr_machdep.c#5 delete .. //depot/projects/tty/sys/i386/isa/intr_machdep.h#3 delete .. //depot/projects/tty/sys/i386/isa/isa_compat.c#4 integrate .. //depot/projects/tty/sys/i386/isa/istallion.c#5 integrate .. //depot/projects/tty/sys/i386/isa/ithread.c#3 delete .. //depot/projects/tty/sys/i386/isa/mse.c#4 integrate .. //depot/projects/tty/sys/i386/isa/nmi.c#1 branch .. //depot/projects/tty/sys/i386/isa/npx.c#5 integrate .. //depot/projects/tty/sys/i386/isa/spic.c#5 integrate .. //depot/projects/tty/sys/i386/isa/stallion.c#5 integrate .. //depot/projects/tty/sys/i386/isa/vector.s#2 delete .. //depot/projects/tty/sys/i386/linux/linux_proto.h#3 integrate .. //depot/projects/tty/sys/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/tty/sys/i386/linux/linux_sysent.c#4 integrate .. //depot/projects/tty/sys/i386/linux/syscalls.master#3 integrate .. //depot/projects/tty/sys/i386/pci/pci_bus.c#5 integrate .. //depot/projects/tty/sys/i386/pci/pci_cfgreg.c#5 integrate .. //depot/projects/tty/sys/i4b/driver/i4b_ipr.c#5 integrate .. //depot/projects/tty/sys/i4b/driver/i4b_isppp.c#4 integrate .. //depot/projects/tty/sys/i4b/driver/i4b_rbch.c#5 integrate .. //depot/projects/tty/sys/i4b/driver/i4b_tel.c#5 integrate .. //depot/projects/tty/sys/i4b/driver/i4b_trace.c#6 integrate .. //depot/projects/tty/sys/i4b/include/i4b_global.h#2 integrate .. //depot/projects/tty/sys/i4b/layer4/i4b_i4bdrv.c#5 integrate .. //depot/projects/tty/sys/ia64/conf/GENERIC#7 integrate .. //depot/projects/tty/sys/ia64/conf/GENERIC.hints#4 integrate .. //depot/projects/tty/sys/ia64/ia32/ia32_proto.h#4 integrate .. //depot/projects/tty/sys/ia64/ia32/ia32_syscall.h#4 integrate .. //depot/projects/tty/sys/ia64/ia32/ia32_sysent.c#4 integrate .. //depot/projects/tty/sys/ia64/ia32/syscalls.master#4 integrate .. //depot/projects/tty/sys/ia64/ia64/elf_machdep.c#5 integrate .. //depot/projects/tty/sys/ia64/ia64/exception.S#2 integrate .. //depot/projects/tty/sys/ia64/ia64/interrupt.c#5 integrate .. //depot/projects/tty/sys/ia64/ia64/machdep.c#8 integrate .. //depot/projects/tty/sys/ia64/ia64/ptrace_machdep.c#2 integrate .. //depot/projects/tty/sys/ia64/ia64/sys_machdep.c#4 integrate .. //depot/projects/tty/sys/ia64/ia64/syscall.S#3 integrate .. //depot/projects/tty/sys/ia64/ia64/trap.c#9 integrate .. //depot/projects/tty/sys/ia64/ia64/unaligned.c#4 integrate .. //depot/projects/tty/sys/ia64/ia64/vm_machdep.c#7 integrate .. //depot/projects/tty/sys/ia64/include/_types.h#4 integrate .. //depot/projects/tty/sys/ia64/include/bus.h#7 integrate .. //depot/projects/tty/sys/ia64/include/md_var.h#5 integrate .. //depot/projects/tty/sys/ia64/include/pc/bios.h#2 delete .. //depot/projects/tty/sys/ia64/include/pc/msdos.h#2 delete .. //depot/projects/tty/sys/ia64/include/pc/vesa.h#2 delete .. //depot/projects/tty/sys/ia64/include/sysarch.h#3 integrate .. //depot/projects/tty/sys/ia64/include/ucontext.h#4 integrate .. //depot/projects/tty/sys/isa/psm.c#6 integrate .. //depot/projects/tty/sys/isa/syscons_isa.c#3 integrate .. //depot/projects/tty/sys/kern/init_sysent.c#6 integrate .. //depot/projects/tty/sys/kern/kern_condvar.c#8 integrate .. //depot/projects/tty/sys/kern/kern_context.c#4 integrate .. //depot/projects/tty/sys/kern/kern_event.c#6 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 14 09:12:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47E7E16A4D1; Fri, 14 Nov 2003 09:12:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2262B16A4CF for ; Fri, 14 Nov 2003 09:12:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 767A043FAF for ; Fri, 14 Nov 2003 09:12:16 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEHCGXJ051461 for ; Fri, 14 Nov 2003 09:12:16 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEHCFw7051458 for perforce@freebsd.org; Fri, 14 Nov 2003 09:12:15 -0800 (PST) (envelope-from sam@freebsd.org) Date: Fri, 14 Nov 2003 09:12:15 -0800 (PST) Message-Id: <200311141712.hAEHCFw7051458@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 17:12:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=42339 Change 42339 by sam@sam_ebb on 2003/11/14 09:11:13 mods for forthcoming hal api changes Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#35 edit .. //depot/projects/netperf/sys/dev/ath/if_athioctl.h#6 edit .. //depot/projects/netperf/sys/dev/ath/if_athvar.h#7 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#35 (text+ko) ==== @@ -898,8 +898,25 @@ ath_mode_init(sc); break; case SIOCGATHSTATS: - copyout(&sc->sc_stats, ifr->ifr_data, sizeof (sc->sc_stats)); + error = copyout(&sc->sc_stats, + ifr->ifr_data, sizeof (sc->sc_stats)); + break; + case SIOCGATHDIAG: { + struct ath_diag *ad = (struct ath_diag *)data; + struct ath_hal *ah = sc->sc_ah; + void *data; + u_int size; + + if (ath_hal_getdiagstate(ah, ad->ad_id, &data, &size)) { + if (size > ad->ad_size) + size = ad->ad_size; + error = copyout(data, ad->ad_data, size); + if (error == 0) + ad->ad_size = size; + } else + error = EINVAL; break; + } default: error = ieee80211_ioctl(ifp, cmd, data); if (error == ENETRESET) { @@ -2772,12 +2789,6 @@ sc = ifp->if_softc; if (strcmp(dmode, "hal") == 0) ath_hal_dumpstate(sc->sc_ah); - else if (strcmp(dmode, "eeprom") == 0) - ath_hal_dumpeeprom(sc->sc_ah); - else if (strcmp(dmode, "rfgain") == 0) - ath_hal_dumprfgain(sc->sc_ah); - else if (strcmp(dmode, "ani") == 0) - ath_hal_dumpani(sc->sc_ah); else return EINVAL; } ==== //depot/projects/netperf/sys/dev/ath/if_athioctl.h#6 (text+ko) ==== @@ -91,6 +91,15 @@ #define SIOCGATHSTATS _IOWR('i', 137, struct ifreq) +struct ath_diag { + char ad_name[IFNAMSIZ]; /* if name, e.g. "ath0" */ + u_int ad_id; + caddr_t ad_data; + u_int ad_size; + +}; +#define SIOCGATHDIAG _IOWR('i', 138, struct ath_diag) + /* * Radio capture format. */ ==== //depot/projects/netperf/sys/dev/ath/if_athvar.h#7 (text+ko) ==== @@ -274,12 +274,8 @@ ((*(_ah)->ah_stopDmaReceive)((_ah))) #define ath_hal_dumpstate(_ah) \ ((*(_ah)->ah_dumpState)((_ah))) -#define ath_hal_dumpeeprom(_ah) \ - ((*(_ah)->ah_dumpEeprom)((_ah))) -#define ath_hal_dumprfgain(_ah) \ - ((*(_ah)->ah_dumpRfGain)((_ah))) -#define ath_hal_dumpani(_ah) \ - ((*(_ah)->ah_dumpAni)((_ah))) +#define ath_hal_getdiagstate(_ah, _id, _data, _size) \ + ((*(_ah)->ah_getDiagState)((_ah), (_id), (_data), (_size))) #define ath_hal_setuptxqueue(_ah, _type, _irq) \ ((*(_ah)->ah_setupTxQueue)((_ah), (_type), (_irq))) #define ath_hal_resettxqueue(_ah, _q) \ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 10:43:15 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9785216A4D0; Fri, 14 Nov 2003 10:43:15 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6F01716A4CE for ; Fri, 14 Nov 2003 10:43:15 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D3E9C43F85 for ; Fri, 14 Nov 2003 10:43:13 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEIhDXJ057206 for ; Fri, 14 Nov 2003 10:43:13 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEIhCPo057203 for perforce@freebsd.org; Fri, 14 Nov 2003 10:43:12 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 10:43:12 -0800 (PST) Message-Id: <200311141843.hAEIhCPo057203@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42348 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 18:43:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=42348 Change 42348 by peter@peter_overcee on 2003/11/14 10:42:23 IFC @42347 Affected files ... .. //depot/projects/hammer/lib/libc/net/ip6opt.c#4 integrate .. //depot/projects/hammer/share/man/man7/build.7#4 integrate .. //depot/projects/hammer/sys/dev/bge/if_bge.c#24 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed.c#11 integrate .. //depot/projects/hammer/sys/dev/em/if_em.c#19 integrate .. //depot/projects/hammer/sys/dev/em/if_em.h#16 integrate .. //depot/projects/hammer/sys/dev/em/if_em_hw.c#10 integrate .. //depot/projects/hammer/sys/dev/em/if_em_hw.h#10 integrate .. //depot/projects/hammer/sys/dev/lge/if_lge.c#11 integrate .. //depot/projects/hammer/sys/dev/lnc/if_lnc.c#9 integrate .. //depot/projects/hammer/sys/dev/nge/if_nge.c#11 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#6 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn.c#10 integrate .. //depot/projects/hammer/sys/dev/tx/if_tx.c#11 integrate .. //depot/projects/hammer/sys/net/pfkeyv2.h#4 integrate .. //depot/projects/hammer/sys/pci/if_dc.c#25 integrate .. //depot/projects/hammer/sys/pci/if_pcn.c#12 integrate .. //depot/projects/hammer/sys/pci/if_rl.c#21 integrate .. //depot/projects/hammer/sys/pci/if_sf.c#13 integrate .. //depot/projects/hammer/sys/pci/if_sis.c#17 integrate .. //depot/projects/hammer/sys/pci/if_sk.c#15 integrate .. //depot/projects/hammer/sys/pci/if_tl.c#11 integrate .. //depot/projects/hammer/sys/pci/if_vr.c#12 integrate .. //depot/projects/hammer/sys/pci/if_wb.c#12 integrate .. //depot/projects/hammer/sys/pci/if_xl.c#26 integrate .. //depot/projects/hammer/sys/vm/uma_core.c#17 integrate .. //depot/projects/hammer/usr.sbin/faithd/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/faithd/README#3 integrate .. //depot/projects/hammer/usr.sbin/faithd/faithd.8#2 integrate .. //depot/projects/hammer/usr.sbin/faithd/faithd.c#2 integrate .. //depot/projects/hammer/usr.sbin/faithd/faithd.h#2 integrate .. //depot/projects/hammer/usr.sbin/faithd/ftp.c#2 integrate .. //depot/projects/hammer/usr.sbin/faithd/prefix.c#3 integrate .. //depot/projects/hammer/usr.sbin/faithd/rsh.c#2 delete .. //depot/projects/hammer/usr.sbin/faithd/tcp.c#2 integrate .. //depot/projects/hammer/usr.sbin/faithd/test/faithd.rb#2 integrate .. //depot/projects/hammer/usr.sbin/route6d/misc/chkrt#2 integrate .. //depot/projects/hammer/usr.sbin/route6d/route6d.c#6 integrate .. //depot/projects/hammer/usr.sbin/route6d/route6d.h#3 integrate Differences ... ==== //depot/projects/hammer/lib/libc/net/ip6opt.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/ip6opt.c,v 1.6 2003/10/25 06:51:23 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/ip6opt.c,v 1.7 2003/11/14 18:07:50 ume Exp $"); #include #include @@ -113,8 +113,6 @@ return(-1); if (plusy < 0 || plusy > 7) return(-1); - if (typep[0] > 255) - return(-1); /* * If this is the first option, allocate space for the @@ -422,7 +420,7 @@ * The option type must have a value from 2 to 255, inclusive. * (0 and 1 are reserved for the Pad1 and PadN options, respectively.) */ - if (type < 2 || type > 255) + if (type < 2) return(-1); /* ==== //depot/projects/hammer/share/man/man7/build.7#4 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man7/build.7,v 1.22 2003/11/14 06:24:20 imp Exp $ +.\" $FreeBSD: src/share/man/man7/build.7,v 1.23 2003/11/14 16:55:00 imp Exp $ .\" .Dd March 15, 2002 .Dt BUILD 7 @@ -94,10 +94,6 @@ Install the kernel and the kernel modules. .It Cm reinstallkernel Reinstall the kernel and the kernel modules. -.It Cm most -Build user commands, no libraries or include files. -.It Cm installmost -Install user commands, no libraries or include files. .El .Pp For more information about the ports build process, see @@ -146,7 +142,7 @@ make buildworld make buildkernel KERNCONF=FOO make installkernel KERNCONF=FOO - + make installworld mergemaster .Ed @@ -174,6 +170,11 @@ .Xr top 1 , etc.\&) may not work with the old kernel which is still running. +While not strictly necessary much of the time for upgrades from very +recent sources, the reboot into single user mode is critically +important for upgrading from older kernels, or when you know +.Dq weird things +have happened with the kernel. .Pp The following sequence of commands can be used to cross-build the system for the Alpha architecture on an i386 host: ==== //depot/projects/hammer/sys/dev/bge/if_bge.c#24 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.59 2003/11/13 20:55:47 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.60 2003/11/14 17:16:56 obrien Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -66,9 +66,6 @@ * ring. */ -#include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.59 2003/11/13 20:55:47 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/dev/ed/if_ed.c#11 (text+ko) ==== @@ -23,10 +23,11 @@ * LIABILITY, OR TORT (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/sys/dev/ed/if_ed.c,v 1.222 2003/11/13 20:55:48 obrien Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.223 2003/11/14 17:16:56 obrien Exp $"); + /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet * adapters. By David Greenman, 29-April-1993 ==== //depot/projects/hammer/sys/dev/em/if_em.c#19 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.33 2003/10/31 18:31:59 brooks Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.34 2003/11/14 18:02:24 pdeuskar Exp $*/ #include @@ -51,7 +51,7 @@ * Driver version *********************************************************************/ -char em_driver_version[] = "1.7.16"; +char em_driver_version[] = "1.7.19"; /********************************************************************* @@ -529,6 +529,7 @@ INIT_DEBUGOUT("em_detach: begin"); EM_LOCK(adapter); + adapter->in_detach = 1; em_stop(adapter); em_phy_hw_reset(&adapter->hw); EM_UNLOCK(adapter); @@ -662,6 +663,8 @@ struct ifreq *ifr = (struct ifreq *) data; struct adapter * adapter = ifp->if_softc; + if (adapter->in_detach) return(error); + switch (command) { case SIOCSIFADDR: case SIOCGIFADDR: @@ -686,8 +689,6 @@ EM_LOCK(adapter); if (ifp->if_flags & IFF_UP) { if (!(ifp->if_flags & IFF_RUNNING)) { - bcopy(IF_LLADDR(ifp), adapter->hw.mac_addr, - ETHER_ADDR_LEN); em_init_locked(adapter); } @@ -796,6 +797,10 @@ em_stop(adapter); + /* Get the latest mac address, User can use a LAA */ + bcopy(adapter->interface_data.ac_enaddr, adapter->hw.mac_addr, + ETHER_ADDR_LEN); + /* Initialize the hardware */ if (em_hardware_init(adapter)) { printf("em%d: Unable to initialize the hardware\n", @@ -825,6 +830,9 @@ return; } em_initialize_receive_unit(adapter); + + /* Don't loose promiscuous settings */ + em_set_promisc(adapter); ifp = &adapter->interface_data.ac_if; ifp->if_flags |= IFF_RUNNING; @@ -2601,7 +2609,6 @@ /* Enable Receives */ E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - em_set_promisc(adapter); return; } @@ -2661,7 +2668,7 @@ #endif u_int8_t accept_frame = 0; u_int8_t eop = 0; - u_int16_t len, desc_len; + u_int16_t len, desc_len, prev_len_adj; int i; /* Pointer to the receive descriptor being examined. */ @@ -2687,11 +2694,18 @@ BUS_DMASYNC_POSTREAD); accept_frame = 1; + prev_len_adj = 0; desc_len = le16toh(current_desc->length); if (current_desc->status & E1000_RXD_STAT_EOP) { count--; eop = 1; - len = desc_len - ETHER_CRC_LEN; + if (desc_len < ETHER_CRC_LEN) { + len = 0; + prev_len_adj = ETHER_CRC_LEN - desc_len; + } + else { + len = desc_len - ETHER_CRC_LEN; + } } else { eop = 0; len = desc_len; @@ -2713,7 +2727,7 @@ &adapter->stats, pkt_len, adapter->hw.mac_addr); - len--; + if (len > 0) len--; } else { accept_frame = 0; @@ -2742,6 +2756,14 @@ } else { /* Chain mbuf's together */ mp->m_flags &= ~M_PKTHDR; + /* + * Adjust length of previous mbuf in chain if we + * received less than 4 bytes in the last descriptor. + */ + if (prev_len_adj > 0) { + adapter->lmp->m_len -= prev_len_adj; + adapter->fmp->m_pkthdr.len -= prev_len_adj; + } adapter->lmp->m_next = mp; adapter->lmp = adapter->lmp->m_next; adapter->fmp->m_pkthdr.len += len; ==== //depot/projects/hammer/sys/dev/em/if_em.h#16 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.23 2003/10/10 23:14:21 sam Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.24 2003/11/14 18:02:24 pdeuskar Exp $*/ #ifndef _EM_H_DEFINED_ #define _EM_H_DEFINED_ @@ -416,6 +416,7 @@ /* For 82544 PCIX Workaround */ boolean_t pcix_82544; + boolean_t in_detach; #ifdef DBG_STATS unsigned long no_pkts_avail; ==== //depot/projects/hammer/sys/dev/em/if_em_hw.c#10 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/em/if_em_hw.c,v 1.11 2003/08/27 21:52:37 pdeuskar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/em/if_em_hw.c,v 1.12 2003/11/14 18:02:24 pdeuskar Exp $"); #include @@ -844,18 +844,16 @@ if(i == (LINK_UP_TIMEOUT / 10)) { DEBUGOUT("Never got a valid link from auto-neg!!!\n"); hw->autoneg_failed = 1; - if(hw->media_type == em_media_type_fiber) { - /* AutoNeg failed to achieve a link, so we'll call - * em_check_for_link. This routine will force the link up if - * we detect a signal. This will allow us to communicate with - * non-autonegotiating link partners. - */ - if((ret_val = em_check_for_link(hw))) { - DEBUGOUT("Error while checking for link\n"); - return ret_val; - } - hw->autoneg_failed = 0; + /* AutoNeg failed to achieve a link, so we'll call + * em_check_for_link. This routine will force the link up if + * we detect a signal. This will allow us to communicate with + * non-autonegotiating link partners. + */ + if((ret_val = em_check_for_link(hw))) { + DEBUGOUT("Error while checking for link\n"); + return ret_val; } + hw->autoneg_failed = 0; } else { hw->autoneg_failed = 0; DEBUGOUT("Valid Link Found\n"); @@ -1873,11 +1871,12 @@ * be asked to delay transmission of packets than asking * our link partner to pause transmission of frames. */ - else if(hw->original_fc == em_fc_none || - hw->original_fc == em_fc_tx_pause) { + else if((hw->original_fc == em_fc_none || + hw->original_fc == em_fc_tx_pause) || + hw->fc_strict_ieee) { hw->fc = em_fc_none; DEBUGOUT("Flow Control = NONE.\r\n"); - } else if(!hw->fc_strict_ieee) { + } else { hw->fc = em_fc_rx_pause; DEBUGOUT("Flow Control = RX PAUSE frames only.\r\n"); } @@ -2053,9 +2052,10 @@ * auto-negotiation time to complete, in case the cable was just plugged * in. The autoneg_failed flag does this. */ - else if((hw->media_type == em_media_type_fiber) && + else if((((hw->media_type == em_media_type_fiber) && + ((ctrl & E1000_CTRL_SWDPIN1) == signal)) || + (hw->media_type == em_media_type_internal_serdes)) && (!(status & E1000_STATUS_LU)) && - ((ctrl & E1000_CTRL_SWDPIN1) == signal) && (!(rxcw & E1000_RXCW_C))) { if(hw->autoneg_failed == 0) { hw->autoneg_failed = 1; @@ -2082,7 +2082,8 @@ * Device Control register in an attempt to auto-negotiate with our link * partner. */ - else if((hw->media_type == em_media_type_fiber) && + else if(((hw->media_type == em_media_type_fiber) || + (hw->media_type == em_media_type_internal_serdes)) && (ctrl & E1000_CTRL_SLU) && (rxcw & E1000_RXCW_C)) { DEBUGOUT("RXing /C/, enable AutoNeg and stop forcing link.\r\n"); @@ -4901,77 +4902,6 @@ return E1000_SUCCESS; } -/*************************************************************************** - * - * Workaround for the 82547 long TTL on noisy 100HD hubs. - * - * This function, specific to 82547 hardware only, needs to be called every - * second. It checks if a parallel detect fault has occurred. If a fault - * occurred, disable/enable the DSP reset mechanism up to 5 times (once per - * second). If link is established, stop the workaround and ensure the DSP - * reset is enabled. - * - * hw: Struct containing variables accessed by shared code - * - * returns: - E1000_ERR_PHY if fail to read/write the PHY - * E1000_SUCCESS in any other case - * - ****************************************************************************/ -int32_t -em_igp_ttl_workaround(struct em_hw *hw) -{ - int32_t ret_val; - uint16_t phy_data = 0; - uint16_t dsp_value = DSP_RESET_ENABLE; - - if(((hw->mac_type != em_82541) && (hw->mac_type != em_82547)) || - (!hw->ttl_wa_activation)) { - return E1000_SUCCESS; - } - - /* Check for link first */ - if((ret_val = em_read_phy_reg(hw, PHY_STATUS, &phy_data))) - return ret_val; - - if(phy_data & MII_SR_LINK_STATUS) { - /* If link is established during the workaround, the DSP mechanism must - * be enabled. */ - if(hw->dsp_reset_counter) { - hw->dsp_reset_counter = 0; - dsp_value = DSP_RESET_ENABLE; - } else - return E1000_SUCCESS; - } else { - if(hw->dsp_reset_counter == 0) { - /* Workaround not activated, check if it needs activation */ - if((ret_val = em_read_phy_reg(hw, PHY_AUTONEG_EXP, &phy_data))) - return ret_val; - /* Activate the workaround if there was a parallel detect fault */ - if(phy_data & NWAY_ER_PAR_DETECT_FAULT) - hw->dsp_reset_counter++; - else - return E1000_SUCCESS; - } - - if(hw->dsp_reset_counter) { - /* After 5 times, stop the workaround */ - if(hw->dsp_reset_counter > E1000_MAX_DSP_RESETS) { - hw->dsp_reset_counter = 0; - dsp_value = DSP_RESET_ENABLE; - } else { - dsp_value = (hw->dsp_reset_counter & 1) ? DSP_RESET_DISABLE : - DSP_RESET_ENABLE; - hw->dsp_reset_counter++; - } - } - } - - if((ret_val = em_write_phy_reg(hw, IGP01E1000_PHY_DSP_RESET, dsp_value))) - return ret_val; - - return E1000_SUCCESS; -} - /***************************************************************************** * * This function sets the lplu state according to the active flag. When ==== //depot/projects/hammer/sys/dev/em/if_em_hw.h#10 (text+ko) ==== @@ -31,7 +31,7 @@ *******************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em_hw.h,v 1.11 2003/08/27 21:52:37 pdeuskar Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em_hw.h,v 1.12 2003/11/14 18:02:25 pdeuskar Exp $*/ /* if_em_hw.h * Structures, enums, and macros for the MAC */ @@ -329,7 +329,6 @@ void em_write_reg_io(struct em_hw *hw, uint32_t offset, uint32_t value); int32_t em_config_dsp_after_link_change(struct em_hw *hw, boolean_t link_up); int32_t em_set_d3_lplu_state(struct em_hw *hw, boolean_t active); -int32_t em_igp_ttl_workaround(struct em_hw *hw); #define E1000_READ_REG_IO(a, reg) \ em_read_reg_io((a), E1000_##reg) @@ -1002,7 +1001,6 @@ uint32_t ledctl_mode1; uint32_t ledctl_mode2; uint16_t phy_spd_default; - uint16_t dsp_reset_counter; uint16_t autoneg_advertised; uint16_t pci_cmd_word; uint16_t fc_high_water; @@ -1027,7 +1025,6 @@ uint8_t perm_mac_addr[NODE_ADDRESS_SIZE]; boolean_t disable_polarity_correction; boolean_t speed_downgraded; - boolean_t ttl_wa_activation; em_dsp_config dsp_config_state; boolean_t get_link_status; boolean_t tbi_compatibility_en; @@ -2117,11 +2114,4 @@ #define AUTONEG_ADVERTISE_10_100_ALL 0x000F /* All 10/100 speeds*/ #define AUTONEG_ADVERTISE_10_ALL 0x0003 /* 10Mbps Full & Half speeds*/ -#define TANAX_TTL_WA_RESET(hw) { \ - if((hw)->dsp_reset_counter) { \ - em_write_phy_reg((hw), IGP01E1000_PHY_DSP_RESET, 0x0000); \ - (hw)->dsp_reset_counter = 0; \ - } \ -} - #endif /* _EM_HW_H_ */ ==== //depot/projects/hammer/sys/dev/lge/if_lge.c#11 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.25 2003/11/13 20:55:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.26 2003/11/14 17:16:56 obrien Exp $"); /* * Level 1 LXT1001 gigabit ethernet driver for FreeBSD. Public @@ -69,9 +69,6 @@ * if in fact he did me much of a favor) */ -#include -__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.25 2003/11/13 20:55:49 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/dev/lnc/if_lnc.c#9 (text+ko) ==== @@ -26,11 +26,10 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * */ #include -__FBSDID("$FreeBSD: src/sys/dev/lnc/if_lnc.c,v 1.99 2003/11/13 20:55:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/lnc/if_lnc.c,v 1.100 2003/11/14 17:16:56 obrien Exp $"); /* #define DIAGNOSTIC ==== //depot/projects/hammer/sys/dev/nge/if_nge.c#11 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.50 2003/11/13 20:55:50 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.51 2003/11/14 17:16:56 obrien Exp $"); /* * National Semiconductor DP83820/DP83821 gigabit ethernet driver @@ -88,9 +88,6 @@ * if the user selects an MTU larger than 8152 (8170 - 18). */ -#include -__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.50 2003/11/13 20:55:50 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/dev/re/if_re.c#6 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.14 2003/11/14 17:16:57 obrien Exp $"); + /* * RealTek 8139C+/8169/8169S/8110S PCI NIC driver * @@ -105,9 +108,6 @@ * driver is 7500 bytes. */ -#include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.13 2003/11/13 20:55:50 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/dev/sn/if_sn.c#10 (text+ko) ==== @@ -27,11 +27,10 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ #include -__FBSDID("$FreeBSD: src/sys/dev/sn/if_sn.c,v 1.33 2003/11/14 05:37:36 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sn/if_sn.c,v 1.34 2003/11/14 17:16:57 obrien Exp $"); /* * This is a driver for SMC's 9000 series of Ethernet adapters. ==== //depot/projects/hammer/sys/dev/tx/if_tx.c#11 (text+ko) ==== @@ -22,11 +22,10 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * */ #include -__FBSDID("$FreeBSD: src/sys/dev/tx/if_tx.c,v 1.78 2003/11/13 20:55:50 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/tx/if_tx.c,v 1.79 2003/11/14 17:16:57 obrien Exp $"); /* * EtherPower II 10/100 Fast Ethernet (SMC 9432 serie) @@ -40,9 +39,6 @@ * Thanks are going to Steve Bauer and Jason Wright. */ -#include -__FBSDID("$FreeBSD: src/sys/dev/tx/if_tx.c,v 1.78 2003/11/13 20:55:50 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/net/pfkeyv2.h#4 (text+ko) ==== @@ -1,5 +1,5 @@ -/* $FreeBSD: src/sys/net/pfkeyv2.h,v 1.11 2003/10/13 14:57:41 ume Exp $ */ -/* $KAME: pfkeyv2.h,v 1.26 2001/06/27 10:49:49 sakane Exp $ */ +/* $FreeBSD: src/sys/net/pfkeyv2.h,v 1.12 2003/11/14 18:17:07 ume Exp $ */ +/* $KAME: pfkeyv2.h,v 1.37 2003/09/06 05:15:43 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -213,7 +213,7 @@ u_int8_t sadb_x_sa2_mode; u_int8_t sadb_x_sa2_reserved1; u_int16_t sadb_x_sa2_reserved2; - u_int32_t sadb_x_sa2_sequence; + u_int32_t sadb_x_sa2_sequence; /* lowermost 32bit of sequence number */ u_int32_t sadb_x_sa2_reqid; }; @@ -240,9 +240,7 @@ * This structure is aligned 8 bytes. */ struct sadb_x_ipsecrequest { - u_int16_t sadb_x_ipsecrequest_len; /* structure length aligned to 8 bytes. - * This value is true length of bytes. - * Not in units of 64 bits. */ + u_int16_t sadb_x_ipsecrequest_len; /* structure length in 64 bits. */ u_int16_t sadb_x_ipsecrequest_proto; /* See ipsec.h */ u_int8_t sadb_x_ipsecrequest_mode; /* See IPSEC_MODE_XX in ipsec.h. */ u_int8_t sadb_x_ipsecrequest_level; /* See IPSEC_LEVEL_XX in ipsec.h */ ==== //depot/projects/hammer/sys/pci/if_dc.c#25 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_dc.c,v 1.134 2003/11/14 17:16:57 obrien Exp $"); + /* * DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143 * series chips and several workalikes including the following: @@ -60,7 +63,6 @@ * Electrical Engineering Department * Columbia University, New York City */ - /* * The Intel 21143 is the successor to the DEC 21140. It is basically * the same as the 21140 but with a few new features. The 21143 supports @@ -89,9 +91,6 @@ * AX88140A doesn't support internal NWAY. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_dc.c,v 1.133 2003/11/14 05:45:39 imp Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/pci/if_pcn.c#12 (text+ko) ==== @@ -31,6 +31,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_pcn.c,v 1.51 2003/11/14 17:16:57 obrien Exp $"); + /* * AMD Am79c972 fast ethernet PCI NIC driver. Datatheets are available * from http://www.amd.com. @@ -49,9 +52,6 @@ * layers without copying on both the x86 and alpha platforms). */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_pcn.c,v 1.50 2003/11/13 20:55:52 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/pci/if_rl.c#21 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.124 2003/11/14 17:16:57 obrien Exp $"); + /* * RealTek 8129/8139 PCI NIC driver * @@ -41,7 +44,6 @@ * Electrical Engineering Department * Columbia University, New York City */ - /* * The RealTek 8139 PCI NIC redefines the meaning of 'low end.' This is * probably the worst PCI ethernet controller ever made, with the possible @@ -81,9 +83,6 @@ * to select which interface to use depending on the chip type. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.123 2003/11/13 20:55:52 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/pci/if_sf.c#13 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_sf.c,v 1.62 2003/11/14 17:16:57 obrien Exp $"); + /* * Adaptec AIC-6915 "Starfire" PCI fast ethernet driver for FreeBSD. * Programming manual is available from: @@ -39,7 +42,6 @@ * Department of Electical Engineering * Columbia University, New York City */ - /* * The Adaptec AIC-6915 "Starfire" is a 64-bit 10/100 PCI ethernet * controller designed with flexibility and reducing CPU load in mind. @@ -77,9 +79,6 @@ * registers inside the 256-byte I/O window. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_sf.c,v 1.61 2003/11/13 20:55:52 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/pci/if_sis.c#17 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_sis.c,v 1.89 2003/11/14 17:16:57 obrien Exp $"); + /* * SiS 900/SiS 7016 fast ethernet PCI NIC driver. Datasheets are * available from http://www.sis.com.tw. @@ -41,7 +44,6 @@ * Electrical Engineering Department * Columbia University, New York City */ - /* * The SiS 900 is a fairly simple chip. It uses bus master DMA with * simple TX and RX descriptors of 3 longwords in size. The receiver @@ -55,9 +57,6 @@ * longword aligned. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_sis.c,v 1.88 2003/11/13 20:55:52 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/pci/if_sk.c#15 (text+ko) ==== @@ -31,7 +31,6 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. */ - /* * Copyright (c) 2003 Nathan L. Binkert * @@ -48,6 +47,9 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.70 2003/11/14 17:16:58 obrien Exp $"); + /* * SysKonnect SK-NET gigabit ethernet driver for FreeBSD. Supports * the SK-984x series adapters, both single port and dual port. @@ -66,7 +68,6 @@ * Department of Electrical Engineering * Columbia University, New York City */ - /* * The SysKonnect gigabit ethernet adapters consist of two main * components: the SysKonnect GEnesis controller chip and the XaQti Corp. @@ -84,9 +85,6 @@ * both XMACs to operate as independent interfaces. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.69 2003/11/13 20:55:53 obrien Exp $"); - #include #include #include @@ -137,7 +135,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/pci/if_sk.c,v 1.69 2003/11/13 20:55:53 obrien Exp $"; + "$FreeBSD: src/sys/pci/if_sk.c,v 1.70 2003/11/14 17:16:58 obrien Exp $"; #endif static struct sk_type sk_devs[] = { ==== //depot/projects/hammer/sys/pci/if_tl.c#11 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_tl.c,v 1.87 2003/11/14 17:16:58 obrien Exp $"); + /* * Texas Instruments ThunderLAN driver for FreeBSD 2.2.6 and 3.x. * Supports many Compaq PCI NICs based on the ThunderLAN ethernet controller, @@ -47,7 +50,6 @@ * Electrical Engineering Department * Columbia University, New York City */ - /* * Some notes about the ThunderLAN: * @@ -118,7 +120,6 @@ * TX 'end of frame' interrupt. It will also generate an 'end of channel' * interrupt when it reaches the end of the list. */ - /* * Some notes about this driver: * @@ -176,9 +177,6 @@ * itself thereby reducing the load on the host CPU. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_tl.c,v 1.86 2003/11/13 20:55:53 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/pci/if_vr.c#12 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_vr.c,v 1.76 2003/11/14 17:16:58 obrien Exp $"); + /* * VIA Rhine fast ethernet PCI NIC driver * @@ -41,7 +44,6 @@ * Electrical Engineering Department * Columbia University, New York City */ - /* * The VIA Rhine controllers are similar in some respects to the * the DEC tulip chips, except less complicated. The controller @@ -57,9 +59,6 @@ * transmission. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_vr.c,v 1.75 2003/11/13 20:55:53 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/pci/if_wb.c#12 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_wb.c,v 1.65 2003/11/14 17:16:58 obrien Exp $"); + /* * Winbond fast ethernet PCI NIC driver * @@ -41,7 +44,6 @@ * Electrical Engineering Department * Columbia University, New York City */ - /* * The Winbond W89C840F chip is a bus master; in some ways it resembles * a DEC 'tulip' chip, only not as complicated. Unfortunately, it has @@ -81,9 +83,6 @@ * three of my test boards seems fine. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_wb.c,v 1.64 2003/11/13 20:55:53 obrien Exp $"); - #include "opt_bdg.h" #include ==== //depot/projects/hammer/sys/pci/if_xl.c#26 (text+ko) ==== @@ -30,6 +30,9 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include +__FBSDID("$FreeBSD: src/sys/pci/if_xl.c,v 1.160 2003/11/14 17:16:58 obrien Exp $"); + /* * 3Com 3c90x Etherlink XL PCI NIC driver * @@ -71,7 +74,6 @@ * Electrical Engineering Department * Columbia University, New York City */ - /* * The 3c90x series chips use a bus-master DMA interface for transfering * packets to and from the controller chip. Some of the "vortex" cards @@ -99,9 +101,6 @@ * PCI-based NICs. */ -#include -__FBSDID("$FreeBSD: src/sys/pci/if_xl.c,v 1.159 2003/11/13 20:55:53 obrien Exp $"); - #include #include #include ==== //depot/projects/hammer/sys/vm/uma_core.c#17 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 14 10:44:16 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A421016A4D0; Fri, 14 Nov 2003 10:44:16 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 69EB316A4CE for ; Fri, 14 Nov 2003 10:44:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C8DB843F3F for ; Fri, 14 Nov 2003 10:44:15 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEIiFXJ057271 for ; Fri, 14 Nov 2003 10:44:15 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEIiFkH057267 for perforce@freebsd.org; Fri, 14 Nov 2003 10:44:15 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 10:44:15 -0800 (PST) Message-Id: <200311141844.hAEIiFkH057267@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42349 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 18:44:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=42349 Change 42349 by peter@peter_overcee on 2003/11/14 10:44:07 Re-fix OCW3 Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic.c#19 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#19 (text+ko) ==== @@ -260,7 +260,7 @@ outb(imr_addr, *pic->at_imen); /* Reset is finished, default to IRR on read. */ - outb(pic->at_ioaddr, OCW3_SEL | OCW3_RIS); + outb(pic->at_ioaddr, OCW3_SEL | OCW3_RR); /* Set priority order to 3-7, 0-2 (com2 first). */ if (!slave) From owner-p4-projects@FreeBSD.ORG Fri Nov 14 10:46:19 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81A3F16A4D0; Fri, 14 Nov 2003 10:46:19 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5BB6B16A4CE for ; Fri, 14 Nov 2003 10:46:19 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D0EDC43FAF for ; Fri, 14 Nov 2003 10:46:18 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEIkIXJ057382 for ; Fri, 14 Nov 2003 10:46:18 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEIkIap057379 for perforce@freebsd.org; Fri, 14 Nov 2003 10:46:18 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 10:46:18 -0800 (PST) Message-Id: <200311141846.hAEIkIap057379@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42350 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 18:46:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=42350 Change 42350 by peter@peter_overcee on 2003/11/14 10:46:16 converge with -current a bit. I dont know if jhb intends to commit this change that I originally picked up via jhb_acpipci or not. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#9 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#9 (text+ko) ==== @@ -106,7 +106,6 @@ } intrcnt_register(isrc); interrupt_sources[vector] = isrc; - isrc->is_pic->pic_enable_intr(isrc); mtx_unlock_spin(&intr_table_lock); return (0); } @@ -132,6 +131,7 @@ ithread_priority(flags), flags, cookiep); if (error == 0) { intrcnt_updatename(isrc); + isrc->is_pic->pic_enable_intr(isrc); isrc->is_pic->pic_enable_source(isrc); } return (error); From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:01:43 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2DEE716A4FE; Fri, 14 Nov 2003 11:01:43 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD2C916A4F5 for ; Fri, 14 Nov 2003 11:01:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A63E943F75 for ; Fri, 14 Nov 2003 11:01:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJ1fXJ058667 for ; Fri, 14 Nov 2003 11:01:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJ1fhC058664 for perforce@freebsd.org; Fri, 14 Nov 2003 11:01:41 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:01:41 -0800 (PST) Message-Id: <200311141901.hAEJ1fhC058664@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:01:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=42354 Change 42354 by peter@peter_daintree on 2003/11/14 11:00:47 commit jhb's acpi_extirq.patch - remerging it all the time is driving me nuts. I have two different machines that need it now. :-/ Affected files ... .. //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#7 edit .. //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#9 edit Differences ... ==== //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#7 (text+ko) ==== @@ -43,7 +43,7 @@ #define _COMPONENT ACPI_BUS ACPI_MODULE_NAME("PCI_LINK") -#define MAX_POSSIBLE_INTERRUPTS 16 +#define MAX_POSSIBLE_INTERRUPTS 240 #define MAX_ISA_INTERRUPTS 16 #define MAX_ACPI_INTERRUPTS 255 @@ -87,10 +87,68 @@ */ static void +acpi_pci_link_dump_polarity(UINT32 ActiveHighLow) +{ + + switch (ActiveHighLow) { + case ACPI_ACTIVE_HIGH: + printf("high,"); + break; + + case ACPI_ACTIVE_LOW: + printf("low,"); + break; + + default: + printf("unknown,"); + break; + } +} + +static void +acpi_pci_link_dump_trigger(UINT32 EdgeLevel) +{ + + switch (EdgeLevel) { + case ACPI_EDGE_SENSITIVE: + printf("edge,"); + break; + + case ACPI_LEVEL_SENSITIVE: + printf("level,"); + break; + + default: + printf("unknown,"); + break; + } +} + +static void +acpi_pci_link_dump_sharemode(UINT32 SharedExclusive) +{ + + switch (SharedExclusive) { + case ACPI_EXCLUSIVE: + printf("exclusive"); + break; + + case ACPI_SHARED: + printf("sharable"); + break; + + default: + printf("unknown"); + break; + } +} + +static void acpi_pci_link_entry_dump(struct acpi_prt_entry *entry) { UINT8 i; ACPI_RESOURCE_IRQ *Irq; + ACPI_RESOURCE_EXT_IRQ *ExtIrq; if (entry == NULL || entry->pci_link == NULL) { return; @@ -105,57 +163,21 @@ } printf("] "); - Irq = NULL; switch (entry->pci_link->possible_resources.Id) { case ACPI_RSTYPE_IRQ: Irq = &entry->pci_link->possible_resources.Data.Irq; - switch (Irq->ActiveHighLow) { - case ACPI_ACTIVE_HIGH: - printf("high,"); - break; - - case ACPI_ACTIVE_LOW: - printf("low,"); - break; - - default: - printf("unknown,"); - break; - } - - switch (Irq->EdgeLevel) { - case ACPI_EDGE_SENSITIVE: - printf("edge,"); - break; - - case ACPI_LEVEL_SENSITIVE: - printf("level,"); - break; - - default: - printf("unknown,"); - break; - } - - switch (Irq->SharedExclusive) { - case ACPI_EXCLUSIVE: - printf("exclusive"); - break; - - case ACPI_SHARED: - printf("sharable"); - break; - - default: - printf("unknown"); - break; - } - + acpi_pci_link_dump_polarity(Irq->ActiveHighLow); + acpi_pci_link_dump_trigger(Irq->EdgeLevel); + acpi_pci_link_dump_sharemode(Irq->SharedExclusive); break; case ACPI_RSTYPE_EXT_IRQ: - /* TBD */ + ExtIrq = &entry->pci_link->possible_resources.Data.ExtendedIrq; + + acpi_pci_link_dump_polarity(ExtIrq->ActiveHighLow); + acpi_pci_link_dump_trigger(ExtIrq->EdgeLevel); + acpi_pci_link_dump_sharemode(ExtIrq->SharedExclusive); break; } @@ -527,10 +549,12 @@ } } +#if 0 /* allow initial IRQ as valid one. */ if (link->initial_irq == irq) { return (1); } +#endif return (0); } @@ -565,34 +589,35 @@ bzero(&resbuf, sizeof(resbuf)); crsbuf.Pointer = NULL; - resbuf.Id = ACPI_RSTYPE_IRQ; - resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); - if (link->possible_resources.Id != ACPI_RSTYPE_IRQ && - link->possible_resources.Id != ACPI_RSTYPE_EXT_IRQ) { + switch (link->possible_resources.Id) { + default: ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Resource is not an IRQ entry %s - %d\n", acpi_name(link->handle), link->possible_resources.Id)); return_ACPI_STATUS (AE_TYPE); - } - switch (link->possible_resources.Id) { case ACPI_RSTYPE_IRQ: + resbuf.Id = ACPI_RSTYPE_IRQ; + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); + /* structure copy other fields */ resbuf.Data.Irq = link->possible_resources.Data.Irq; + resbuf.Data.Irq.NumberOfInterrupts = 1; + resbuf.Data.Irq.Interrupts[0] = irq; break; case ACPI_RSTYPE_EXT_IRQ: - /* XXX */ - resbuf.Data.Irq.EdgeLevel = ACPI_LEVEL_SENSITIVE; - resbuf.Data.Irq.ActiveHighLow = ACPI_ACTIVE_LOW; - resbuf.Data.Irq.SharedExclusive = ACPI_SHARED; + resbuf.Id = ACPI_RSTYPE_EXT_IRQ; + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_EXT_IRQ); + + /* structure copy other fields */ + resbuf.Data.ExtendedIrq = link->possible_resources.Data.ExtendedIrq; + resbuf.Data.ExtendedIrq.NumberOfInterrupts = 1; + resbuf.Data.ExtendedIrq.Interrupts[0] = irq; break; } - resbuf.Data.Irq.NumberOfInterrupts = 1; - resbuf.Data.Irq.Interrupts[0] = irq; - error = acpi_AppendBufferResource(&crsbuf, &resbuf); if (ACPI_FAILURE(error)) { ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ==== //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#9 (text+ko) ==== @@ -118,6 +118,8 @@ ACPI_DEVICE_INFO devinfo; ACPI_BUFFER buf = {sizeof(devinfo), &devinfo}; ACPI_STATUS status; + UINT32 NumberOfInterrupts; + UINT32 *Interrupts; u_int8_t *prtp; int interrupt; int i; @@ -234,16 +236,25 @@ } /* type-check the resource we've got */ - if (crsres->Id != ACPI_RSTYPE_IRQ) { /* XXX ACPI_RSTYPE_EXT_IRQ */ + if (crsres->Id != ACPI_RSTYPE_IRQ && crsres->Id != ACPI_RSTYPE_EXT_IRQ) { device_printf(pcib, "_CRS resource entry has unsupported type %d\n", crsres->Id); goto out; } + /* set variables based on resource type */ + if (crsres->Id == ACPI_RSTYPE_IRQ) { + NumberOfInterrupts = crsres->Data.Irq.NumberOfInterrupts; + Interrupts = crsres->Data.Irq.Interrupts; + } else { + NumberOfInterrupts = crsres->Data.ExtendedIrq.NumberOfInterrupts; + Interrupts = crsres->Data.ExtendedIrq.Interrupts; + } + /* if there's more than one interrupt, we are confused */ - if (crsres->Data.Irq.NumberOfInterrupts > 1) { + if (NumberOfInterrupts > 1) { device_printf(pcib, "device has too many interrupts (%d)\n", - crsres->Data.Irq.NumberOfInterrupts); + NumberOfInterrupts); goto out; } @@ -255,10 +266,10 @@ * * XXX check ASL examples to see if this is an acceptable set of tests */ - if ((crsres->Data.Irq.NumberOfInterrupts == 1) && (crsres->Data.Irq.Interrupts[0] != 0)) { + if ((NumberOfInterrupts == 1) && (Interrupts[0] != 0)) { device_printf(pcib, "slot %d INT%c is routed to irq %d\n", - pci_get_slot(dev), 'A' + pin, crsres->Data.Irq.Interrupts[0]); - interrupt = crsres->Data.Irq.Interrupts[0]; + pci_get_slot(dev), 'A' + pin, Interrupts[0]); + interrupt = Interrupts[0]; goto out; } @@ -276,14 +287,23 @@ } /* type-check the resource we've got */ - if (prsres->Id != ACPI_RSTYPE_IRQ) { /* XXX ACPI_RSTYPE_EXT_IRQ */ + if (prsres->Id != ACPI_RSTYPE_IRQ || prsres->Id != ACPI_RSTYPE_EXT_IRQ) { device_printf(pcib, "_PRS resource entry has unsupported type %d\n", prsres->Id); goto out; } + /* set variables based on resource type */ + if (prsres->Id == ACPI_RSTYPE_IRQ) { + NumberOfInterrupts = prsres->Data.Irq.NumberOfInterrupts; + Interrupts = prsres->Data.Irq.Interrupts; + } else { + NumberOfInterrupts = prsres->Data.ExtendedIrq.NumberOfInterrupts; + Interrupts = prsres->Data.ExtendedIrq.Interrupts; + } + /* there has to be at least one interrupt available */ - if (prsres->Data.Irq.NumberOfInterrupts < 1) { + if (NumberOfInterrupts < 1) { device_printf(pcib, "device has no interrupts\n"); goto out; } @@ -300,34 +320,41 @@ * new interrupt. */ device_printf(pcib, "possible interrupts:"); - for (i = 0; i < prsres->Data.Irq.NumberOfInterrupts; i++) - printf(" %d", prsres->Data.Irq.Interrupts[i]); + for (i = 0; i < NumberOfInterrupts; i++) + printf(" %d", Interrupts[i]); printf("\n"); if (crsbuf.Pointer != NULL) /* should never happen */ AcpiOsFree(crsbuf.Pointer); crsbuf.Pointer = NULL; - resbuf.Id = ACPI_RSTYPE_IRQ; - resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); - resbuf.Data.Irq = prsres->Data.Irq; /* structure copy other fields */ - resbuf.Data.Irq.NumberOfInterrupts = 1; - resbuf.Data.Irq.Interrupts[0] = prsres->Data.Irq.Interrupts[0]; /* just take first... */ + if (prsres->Id == ACPI_RSTYPE_IRQ) { + resbuf.Id = ACPI_RSTYPE_IRQ; + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); + resbuf.Data.Irq = prsres->Data.Irq; /* structure copy other fields */ + resbuf.Data.Irq.NumberOfInterrupts = 1; + resbuf.Data.Irq.Interrupts[0] = Interrupts[0]; /* just take first... */ + } else { + resbuf.Id = ACPI_RSTYPE_EXT_IRQ; + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); + resbuf.Data.ExtendedIrq = prsres->Data.ExtendedIrq; /* structure copy other fields */ + resbuf.Data.ExtendedIrq.NumberOfInterrupts = 1; + resbuf.Data.ExtendedIrq.Interrupts[0] = Interrupts[0]; /* just take first... */ + } if (ACPI_FAILURE(status = acpi_AppendBufferResource(&crsbuf, &resbuf))) { device_printf(pcib, "couldn't route interrupt %d via %s, interrupt resource build failed - %s\n", - prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); + Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); goto out; } if (ACPI_FAILURE(status = AcpiSetCurrentResources(lnkdev, &crsbuf))) { device_printf(pcib, "couldn't route interrupt %d via %s - %s\n", - prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); + Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); goto out; } /* successful, return the interrupt we just routed */ device_printf(pcib, "slot %d INT%c routed to irq %d via %s\n", - pci_get_slot(dev), 'A' + pin, prsres->Data.Irq.Interrupts[0], - acpi_name(lnkdev)); - interrupt = prsres->Data.Irq.Interrupts[0]; + pci_get_slot(dev), 'A' + pin, Interrupts[0], acpi_name(lnkdev)); + interrupt = Interrupts[0]; out: if (crsbuf.Pointer != NULL) From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:02:45 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12FDA16A4D1; Fri, 14 Nov 2003 11:02:45 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E208E16A4CF for ; Fri, 14 Nov 2003 11:02:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C96A43FBD for ; Fri, 14 Nov 2003 11:02:44 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJ2iXJ058716 for ; Fri, 14 Nov 2003 11:02:44 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJ2hnc058713 for perforce@freebsd.org; Fri, 14 Nov 2003 11:02:43 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:02:43 -0800 (PST) Message-Id: <200311141902.hAEJ2hnc058713@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42356 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:02:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=42356 Change 42356 by peter@peter_overcee on 2003/11/14 11:01:49 GC Affected files ... .. //depot/projects/hammer/sys/amd64/include/segments.h#14 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/segments.h#14 (text+ko) ==== @@ -195,9 +195,6 @@ #define IDT_IO_INTS NRSVIDT /* Base of IDT entries for I/O interrupts. */ #define IDT_SYSCALL 0x80 /* System Call Interrupt Vector */ -#define IDT_TO_IRQ(idt) ((idt) - IDT_IO_INTS) -#define IRQ_TO_IDT(irq) ((irq) + IDT_IO_INTS) - /* * Entries in the Global Descriptor Table (GDT) */ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:05:49 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 866C916A4D0; Fri, 14 Nov 2003 11:05:49 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 600AE16A4CE for ; Fri, 14 Nov 2003 11:05:49 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D3C6C43FBD for ; Fri, 14 Nov 2003 11:05:48 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJ5mXJ059716 for ; Fri, 14 Nov 2003 11:05:48 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJ5m39059713 for perforce@freebsd.org; Fri, 14 Nov 2003 11:05:48 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:05:48 -0800 (PST) Message-Id: <200311141905.hAEJ5m39059713@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42357 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:05:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=42357 Change 42357 by peter@peter_daintree on 2003/11/14 11:05:42 Update comments (from i386) Affected files ... .. //depot/projects/hammer/sys/amd64/isa/icu.h#10 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/icu.h#10 (text+ko) ==== @@ -107,9 +107,9 @@ #define OCW2_R 0x80 /* EOI mode */ /* Operation control word type 3. Bit 3 (0x08) must be set. Even address. */ -#define OCW3_RIS 0x01 -#define OCW3_RR 0x02 -#define OCW3_P 0x04 +#define OCW3_RIS 0x01 /* 1 = read IS, 0 = read IR */ +#define OCW3_RR 0x02 /* register read */ +#define OCW3_P 0x04 /* poll mode command */ /* 0x08 must be 1 to select OCW3 vs OCW2 */ #define OCW3_SEL 0x08 /* must be 1 */ /* 0x10 must be 0 to select OCW3 vs ICW1 */ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:10:56 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5226116A4D0; Fri, 14 Nov 2003 11:10:56 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2BE1816A4CE for ; Fri, 14 Nov 2003 11:10:56 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0B3943FAF for ; Fri, 14 Nov 2003 11:10:55 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJAtXJ060046 for ; Fri, 14 Nov 2003 11:10:55 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJAtIt060043 for perforce@freebsd.org; Fri, 14 Nov 2003 11:10:55 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:10:55 -0800 (PST) Message-Id: <200311141910.hAEJAtIt060043@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42358 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:10:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=42358 Change 42358 by peter@peter_daintree on 2003/11/14 11:10:16 re-add spurious interrupt detection Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic.c#20 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#20 (text+ko) ==== @@ -304,6 +304,22 @@ KASSERT(vec < ICU_LEN, ("unknown int %d\n", vec)); isrc = &atintrs[vec].at_intsrc; + if (vec == 7 || vec == 15) { + int port, isr; + + /* + * Read the ISR register to see if IRQ 7/15 is really + * pending. Reset read register back to IRR when done. + */ + port = ((struct atpic *)isrc->is_pic)->at_ioaddr; + mtx_lock_spin(&icu_lock); + outb(port, OCW3_SEL | OCW3_RR | OCW3_RIS); + isr = inb(port); + outb(port, OCW3_SEL | OCW3_RR); + mtx_unlock_spin(&icu_lock); + if ((isr & IRQ7) == 0) + return; + } intr_execute_handlers(isrc, &iframe); } From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:28:20 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C41216A4D0; Fri, 14 Nov 2003 11:28:20 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6559816A4CE for ; Fri, 14 Nov 2003 11:28:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B009343FCB for ; Fri, 14 Nov 2003 11:28:19 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJSJXJ061459 for ; Fri, 14 Nov 2003 11:28:19 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJSJVY061456 for perforce@freebsd.org; Fri, 14 Nov 2003 11:28:19 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:28:19 -0800 (PST) Message-Id: <200311141928.hAEJSJVY061456@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42362 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:28:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=42362 Change 42362 by peter@peter_daintree on 2003/11/14 11:27:23 first shot at merging spurious stuff from jhb_acpipci Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#6 edit .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#20 edit .. //depot/projects/hammer/sys/amd64/include/apicvar.h#12 edit .. //depot/projects/hammer/sys/amd64/include/intr_machdep.h#7 edit .. //depot/projects/hammer/sys/amd64/isa/atpic.c#21 edit .. //depot/projects/hammer/sys/amd64/isa/icu.h#11 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#6 (text+ko) ==== @@ -139,6 +139,8 @@ ISR_VEC(3, apic_isr3) ISR_VEC(4, apic_isr4) ISR_VEC(5, apic_isr5) + ISR_VEC(6, apic_isr6) + ISR_VEC(7, apic_isr7) MCOUNT_LABEL(eintr2) #ifdef SMP ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#20 (text+ko) ==== @@ -60,6 +60,10 @@ */ #define MAX_APICID 16 +/* Sanity checks on IDT vectors. */ +CTASSERT(APIC_IO_INTS + APIC_NUM_IOINTS <= APIC_LOCAL_INTS); +CTASSERT(IPI_STOP < APIC_SPURIOUS_INT); + /* * Support for local APICs. Local APICs manage interrupts on each * individual processor as opposed to I/O APICs which receive interrupts @@ -105,8 +109,8 @@ IDTVEC(apic_isr3), /* 96 - 127 */ IDTVEC(apic_isr4), /* 128 - 159 */ IDTVEC(apic_isr5), /* 160 - 191 */ - NULL, /* 192 - 223 */ - NULL /* 224 - 255 */ + IDTVEC(apic_isr6), /* 192 - 223 */ + IDTVEC(apic_isr7) /* 224 - 255 */ }; volatile lapic_t *lapic; @@ -491,7 +495,7 @@ u_int vector; KASSERT(irq < NUM_IO_INTS, ("Invalid IRQ %u", irq)); - vector = irq + IDT_IO_INTS; + vector = irq + APIC_IO_INTS; if (vector >= IDT_SYSCALL) vector++; return (vector); @@ -501,12 +505,12 @@ apic_idt_to_irq(u_int vector) { - KASSERT(vector >= IDT_IO_INTS && vector != IDT_SYSCALL && - vector <= IDT_IO_INTS + NUM_IO_INTS, + KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL && + vector <= APIC_IO_INTS + NUM_IO_INTS, ("Vector %u does not map to an IRQ line", vector)); if (vector > IDT_SYSCALL) vector--; - return (vector - IDT_IO_INTS); + return (vector - APIC_IO_INTS); } /* ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#12 (text+ko) ==== @@ -42,13 +42,13 @@ * Layout of local APIC interrupt vectors: * * 0xff (255) +-------------+ - * | | 15 (Spurious Vector) + * | | 15 (Spurious / IPIs / Local Interrupts) * 0xf0 (240) +-------------+ - * | | 14 (Interprocessor Interrupts) + * | | 14 (I/O Interrupts) * 0xe0 (224) +-------------+ - * | | 13 (Local Interrupt (LINT[01])) + * | | 13 (I/O Interrupts) * 0xd0 (208) +-------------+ - * | | 12 (Local Timer and Error Interrupts) + * | | 12 (I/O Interrupts) * 0xc0 (192) +-------------+ * | | 11 (I/O Interrupts) * 0xb0 (176) +-------------+ @@ -68,7 +68,7 @@ * 0x40 (64) +-------------+ * | | 3 (I/O Interrupts) * 0x30 (48) +-------------+ - * | | 2 (I/O Interrupts) + * | | 2 (ATPIC Interrupts) * 0x20 (32) +-------------+ * | | 1 (Exceptions, traps, faults, etc.) * 0x10 (16) +-------------+ @@ -80,23 +80,24 @@ */ #define APIC_ID_ALL 0xff -#define APIC_NUM_IOINTS 160 +#define APIC_NUM_IOINTS (IDT_IO_INTS + 16) +#define APIC_NUM_IOINTS 192 -#define APIC_LOCAL_INTS (IDT_IO_INTS + APIC_NUM_IOINTS) +#define APIC_LOCAL_INTS 240 #define APIC_TIMER_INT APIC_LOCAL_INTS #define APIC_ERROR_INT (APIC_LOCAL_INTS + 1) #define APIC_THERMAL_INT (APIC_LOCAL_INTS + 2) -#define APIC_IPI_INTS (APIC_LOCAL_INTS + 32) +#define APIC_IPI_INTS (APIC_LOCAL_INTS + 3) #define IPI_AST APIC_IPI_INTS /* Generate software trap. */ #define IPI_INVLTLB (APIC_IPI_INTS + 1) /* TLB Shootdown IPIs */ #define IPI_INVLPG (APIC_IPI_INTS + 2) #define IPI_INVLRNG (APIC_IPI_INTS + 3) +#define IPI_LAZYPMAP (APIC_IPI_INTS + 4) /* Lazy pmap release. */ +#define IPI_STOP (APIC_IPI_INTS + 5) /* Stop CPU until restarted. */ #define IPI_HARDCLOCK (APIC_IPI_INTS + 8) /* Inter-CPU clock handling. */ #define IPI_STATCLOCK (APIC_IPI_INTS + 9) #define IPI_RENDEZVOUS (APIC_IPI_INTS + 10) /* Inter-CPU rendezvous. */ -#define IPI_LAZYPMAP (APIC_IPI_INTS + 11) /* Lazy pmap release. */ -#define IPI_STOP (APIC_IPI_INTS + 12) /* Stop CPU until restarted. */ #define APIC_SPURIOUS_INT 255 @@ -129,7 +130,8 @@ inthand_t IDTVEC(apic_isr1), IDTVEC(apic_isr2), IDTVEC(apic_isr3), - IDTVEC(apic_isr4), IDTVEC(apic_isr5), IDTVEC(spuriousint); + IDTVEC(apic_isr4), IDTVEC(apic_isr5), IDTVEC(apic_isr6), + IDTVEC(apic_isr7), IDTVEC(spuriousint); u_int apic_irq_to_idt(u_int irq); u_int apic_idt_to_irq(u_int vector); ==== //depot/projects/hammer/sys/amd64/include/intr_machdep.h#7 (text+ko) ==== @@ -31,8 +31,8 @@ #ifdef _KERNEL -/* With I/O APIC's we can have up to 159 interrupts. */ -#define NUM_IO_INTS 159 +/* With I/O APIC's we can have up to 191 interrupts. */ +#define NUM_IO_INTS 191 #define INTRCNT_COUNT (1 + NUM_IO_INTS * 2) #ifndef LOCORE ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#21 (text+ko) ==== @@ -188,15 +188,6 @@ static void atpic_enable_intr(struct intsrc *isrc) { - struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc; - struct atpic *ap = (struct atpic *)isrc->is_pic; - register_t rflags; - - mtx_lock_spin(&icu_lock); - rflags = intr_disable(); - setidt(ap->at_intbase + ai->at_irq, ai->at_intr, SDT_SYSIGT, SEL_KPL, 0); - intr_restore(rflags); - mtx_unlock_spin(&icu_lock); } static int @@ -291,6 +282,8 @@ if (i == ICU_SLAVEID) continue; ai = &atintrs[i]; + setidt(((struct atpic *)ai->at_intsrc.is_pic)->at_intbase + + ai->at_irq, ai->at_intr, SDT_SYSIGT, SEL_KPL, 0); intr_register_source(&ai->at_intsrc); } } ==== //depot/projects/hammer/sys/amd64/isa/icu.h#11 (text+ko) ==== @@ -125,7 +125,6 @@ #define ICU_SLAVEID 2 #define ICU_EOI (OCW2_EOI) /* non-specific EOI */ #define ICU_SETPRI (OCW2_R | OCW2_SL) /* set rotation priority */ -#define HWI_MASK 0xffff /* bits for h/w interrupts */ #ifndef LOCORE void atpic_handle_intr(void *cookie, struct intrframe iframe); From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:42:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0CB4C16A4D0; Fri, 14 Nov 2003 11:42:40 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8CA516A4CE for ; Fri, 14 Nov 2003 11:42:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 43D7043FDF for ; Fri, 14 Nov 2003 11:42:39 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJgdXJ062123 for ; Fri, 14 Nov 2003 11:42:39 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJgcnP062120 for perforce@freebsd.org; Fri, 14 Nov 2003 11:42:38 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:42:38 -0800 (PST) Message-Id: <200311141942.hAEJgcnP062120@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42365 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:42:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=42365 Change 42365 by peter@peter_daintree on 2003/11/14 11:41:57 fix merge-o Affected files ... .. //depot/projects/hammer/sys/amd64/include/apicvar.h#13 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#13 (text+ko) ==== @@ -80,7 +80,7 @@ */ #define APIC_ID_ALL 0xff -#define APIC_NUM_IOINTS (IDT_IO_INTS + 16) +#define APIC_IO_INTS (IDT_IO_INTS + 16) #define APIC_NUM_IOINTS 192 #define APIC_LOCAL_INTS 240 From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:43:43 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C48916A4D0; Fri, 14 Nov 2003 11:43:43 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E9D7416A4CE for ; Fri, 14 Nov 2003 11:43:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C3EC43F93 for ; Fri, 14 Nov 2003 11:43:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJhfXJ062190 for ; Fri, 14 Nov 2003 11:43:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJhe6a062186 for perforce@freebsd.org; Fri, 14 Nov 2003 11:43:40 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:43:40 -0800 (PST) Message-Id: <200311141943.hAEJhe6a062186@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42366 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:43:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=42366 Change 42366 by peter@peter_daintree on 2003/11/14 11:43:00 IFC @42364 Affected files ... .. //depot/projects/hammer/include/ifaddrs.h#2 integrate .. //depot/projects/hammer/lib/libc/net/Makefile.inc#6 integrate .. //depot/projects/hammer/lib/libc/net/getifmaddrs.3#1 branch .. //depot/projects/hammer/lib/libc/net/getifmaddrs.c#1 branch .. //depot/projects/hammer/sys/dev/an/if_an.c#12 integrate .. //depot/projects/hammer/sys/dev/an/if_anreg.h#5 integrate .. //depot/projects/hammer/sys/dev/bfe/if_bfe.c#3 integrate .. //depot/projects/hammer/sys/dev/my/if_my.c#10 integrate .. //depot/projects/hammer/sys/dev/owi/if_owi.c#3 integrate .. //depot/projects/hammer/sys/dev/owi/if_wivar.h#2 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#7 integrate .. //depot/projects/hammer/sys/dev/wl/if_wl.c#8 integrate .. //depot/projects/hammer/sys/i386/i386/apic_vector.s#4 integrate .. //depot/projects/hammer/sys/i386/i386/local_apic.c#3 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#26 integrate .. //depot/projects/hammer/sys/i386/include/apicvar.h#4 integrate .. //depot/projects/hammer/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/hammer/sys/i386/isa/atpic.c#4 integrate .. //depot/projects/hammer/sys/i386/isa/icu.h#4 integrate .. //depot/projects/hammer/sys/kern/kern_event.c#11 integrate .. //depot/projects/hammer/sys/kern/kern_exit.c#16 integrate .. //depot/projects/hammer/sys/net/rtsock.c#8 integrate .. //depot/projects/hammer/sys/pci/if_dc.c#26 integrate .. //depot/projects/hammer/sys/pci/if_dcreg.h#12 integrate .. //depot/projects/hammer/sys/pci/if_pcn.c#13 integrate .. //depot/projects/hammer/sys/pci/if_pcnreg.h#2 integrate .. //depot/projects/hammer/sys/pci/if_rl.c#22 integrate .. //depot/projects/hammer/sys/pci/if_rlreg.h#8 integrate .. //depot/projects/hammer/sys/pci/if_sf.c#14 integrate .. //depot/projects/hammer/sys/pci/if_sfreg.h#2 integrate .. //depot/projects/hammer/sys/pci/if_sis.c#18 integrate .. //depot/projects/hammer/sys/pci/if_sisreg.h#5 integrate .. //depot/projects/hammer/sys/pci/if_sk.c#16 integrate .. //depot/projects/hammer/sys/pci/if_skreg.h#5 integrate .. //depot/projects/hammer/sys/pci/if_ste.c#14 integrate .. //depot/projects/hammer/sys/pci/if_stereg.h#4 integrate .. //depot/projects/hammer/sys/pci/if_ti.c#15 integrate .. //depot/projects/hammer/sys/pci/if_tireg.h#3 integrate .. //depot/projects/hammer/sys/pci/if_tl.c#12 integrate .. //depot/projects/hammer/sys/pci/if_tlreg.h#3 integrate .. //depot/projects/hammer/sys/pci/if_vr.c#13 integrate .. //depot/projects/hammer/sys/pci/if_vrreg.h#4 integrate .. //depot/projects/hammer/sys/pci/if_wb.c#13 integrate .. //depot/projects/hammer/sys/pci/if_wbreg.h#2 integrate .. //depot/projects/hammer/sys/pci/if_xl.c#27 integrate .. //depot/projects/hammer/sys/pci/if_xlreg.h#8 integrate .. //depot/projects/hammer/sys/sys/socket.h#6 integrate Differences ... ==== //depot/projects/hammer/include/ifaddrs.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/include/ifaddrs.h,v 1.2 2002/03/23 17:24:53 imp Exp $ */ +/* $FreeBSD: src/include/ifaddrs.h,v 1.3 2003/11/14 18:53:22 bms Exp $ */ /* * Copyright (c) 1995, 1999 @@ -46,11 +46,20 @@ #define ifa_broadaddr ifa_dstaddr /* broadcast address interface */ #endif +struct ifmaddrs { + struct ifmaddrs *ifma_next; + struct sockaddr *ifma_name; + struct sockaddr *ifma_addr; + struct sockaddr *ifma_lladdr; +}; + #include __BEGIN_DECLS extern int getifaddrs(struct ifaddrs **); extern void freeifaddrs(struct ifaddrs *); +extern int getifmaddrs(struct ifmaddrs **); +extern void freeifmaddrs(struct ifmaddrs *); __END_DECLS #endif ==== //depot/projects/hammer/lib/libc/net/Makefile.inc#6 (text+ko) ==== @@ -1,12 +1,12 @@ # from @(#)Makefile.inc 8.2 (Berkeley) 9/5/93 -# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.49 2003/10/24 18:26:28 ume Exp $ +# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.50 2003/11/14 18:53:22 bms Exp $ # machine-independent net sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/net ${.CURDIR}/net SRCS+= addr2ascii.c ascii2addr.c base64.c ether_addr.c getaddrinfo.c \ gethostbydns.c gethostbyht.c gethostbynis.c gethostnamadr.c \ - getifaddrs.c getnameinfo.c \ + getifaddrs.c getifmaddrs.c getnameinfo.c \ getnetbydns.c getnetbyht.c getnetbynis.c getnetnamadr.c \ getproto.c getprotoent.c getprotoname.c getservbyname.c \ getservbyport.c getservent.c herror.c hesiod.c inet_addr.c \ @@ -40,7 +40,7 @@ .endif MAN+= addr2ascii.3 byteorder.3 ethers.3 getaddrinfo.3 gethostbyname.3 \ - getifaddrs.3 getipnodebyname.3 \ + getifaddrs.3 getifmaddrs.3 getipnodebyname.3 \ getnameinfo.3 getnetent.3 getprotoent.3 getservent.3 hesiod.3 \ if_indextoname.3 \ inet.3 inet_net.3 \ @@ -59,6 +59,7 @@ gethostbyname.3 herror.3 gethostbyname.3 hstrerror.3 \ gethostbyname.3 sethostent.3 MLINKS+=getifaddrs.3 freeifaddrs.3 +MLINKS+=getifmaddrs.3 freeifmaddrs.3 MLINKS+=getipnodebyname.3 getipnodebyaddr.3 getipnodebyname.3 freehostent.3 MLINKS+=getnetent.3 endnetent.3 getnetent.3 getnetbyaddr.3 \ getnetent.3 getnetbyname.3 getnetent.3 setnetent.3 ==== //depot/projects/hammer/sys/dev/an/if_an.c#12 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.55 2003/10/31 18:31:56 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.56 2003/11/14 19:00:29 sam Exp $"); /* * The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form. @@ -833,6 +833,8 @@ struct an_card_rx_desc an_rx_desc; u_int8_t *buf; + AN_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; if (!sc->mpi350) { @@ -981,7 +983,9 @@ rx_frame.an_rx_signal_strength, rx_frame.an_rsvd0); #endif + AN_UNLOCK(sc); (*ifp->if_input)(ifp, m); + AN_LOCK(sc); } } else { /* MPI-350 */ ==== //depot/projects/hammer/sys/dev/an/if_anreg.h#5 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/an/if_anreg.h,v 1.19 2003/08/24 17:48:04 obrien Exp $ + * $FreeBSD: src/sys/dev/an/if_anreg.h,v 1.20 2003/11/14 19:00:30 sam Exp $ */ #define AN_TIMEOUT 65536 @@ -502,6 +502,7 @@ #define AN_LOCK(_sc) mtx_lock(&(_sc)->an_mtx) #define AN_UNLOCK(_sc) mtx_unlock(&(_sc)->an_mtx) +#define AN_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->an_mtx, MA_OWNED) void an_release_resources (device_t); int an_alloc_port (device_t, int, int); ==== //depot/projects/hammer/sys/dev/bfe/if_bfe.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.3 2003/10/31 18:31:57 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.4 2003/11/14 19:00:30 sam Exp $"); #include #include @@ -1153,7 +1153,9 @@ ifp->if_ipackets++; m->m_pkthdr.rcvif = ifp; + BFE_UNLOCK(sc); (*ifp->if_input)(ifp, m); + BFE_LOCK(sc); BFE_INC(cons, BFE_RX_LIST_CNT); } ==== //depot/projects/hammer/sys/dev/my/if_my.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/my/if_my.c,v 1.20 2003/11/13 20:55:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/my/if_my.c,v 1.21 2003/11/14 19:00:30 sam Exp $"); #include #include @@ -1277,7 +1277,9 @@ } } #endif + MY_UNLOCK(sc); (*ifp->if_input)(ifp, m); + MY_LOCK(sc); } MY_UNLOCK(sc); return; ==== //depot/projects/hammer/sys/dev/owi/if_owi.c#3 (text+ko) ==== @@ -100,7 +100,7 @@ #if !defined(lint) static const char rcsid[] = - "$FreeBSD: src/sys/dev/owi/if_owi.c,v 1.2 2003/10/14 05:25:31 imp Exp $"; + "$FreeBSD: src/sys/dev/owi/if_owi.c,v 1.3 2003/11/14 19:00:30 sam Exp $"; #endif static void wi_intr(void *); @@ -449,6 +449,8 @@ struct mbuf *m; int id; + WI_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; id = CSR_READ_2(sc, WI_RX_FID); @@ -650,7 +652,9 @@ #ifdef WICACHE wi_cache_store(sc, eh, m, rx_frame.wi_q_info); #endif + WI_UNLOCK(sc); (*ifp->if_input)(ifp, m); + WI_LOCK(sc); } } ==== //depot/projects/hammer/sys/dev/owi/if_wivar.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/owi/if_wivar.h,v 1.1 2003/08/24 05:42:49 imp Exp $ + * $FreeBSD: src/sys/dev/owi/if_wivar.h,v 1.2 2003/11/14 19:00:30 sam Exp $ */ #define WICACHE /* turn on signal strength cache code */ @@ -171,9 +171,11 @@ #define ifaddr_byindex(idx) ifnet_addrs[(idx) - 1]; #define WI_LOCK(_sc, _s) s = splimp() #define WI_UNLOCK(_sc, _s) splx(s) +#define WI_LOCK_ASSERT(_sc) #else #define WI_LOCK(_sc, _s) _s = 1 #define WI_UNLOCK(_sc, _s) +#define WI_LOCK_ASSERT(_sc) #endif int owi_generic_attach(device_t); ==== //depot/projects/hammer/sys/dev/re/if_re.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.14 2003/11/14 17:16:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.15 2003/11/14 19:00:31 sam Exp $"); /* * RealTek 8139C+/8169/8169S/8110S PCI NIC driver @@ -1517,6 +1517,8 @@ struct rl_desc *cur_rx; u_int32_t rxstat, rxvlan; + RL_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; i = sc->rl_ldata.rl_rx_prodidx; @@ -1659,7 +1661,9 @@ if (rxvlan & RL_RDESC_VLANCTL_TAG) VLAN_INPUT_TAG(ifp, m, ntohs((rxvlan & RL_RDESC_VLANCTL_DATA)), continue); + RL_UNLOCK(sc); (*ifp->if_input)(ifp, m); + RL_LOCK(sc); } /* Flush the RX DMA ring */ ==== //depot/projects/hammer/sys/dev/wl/if_wl.c#8 (text+ko) ==== @@ -173,7 +173,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wl/if_wl.c,v 1.56 2003/11/13 20:55:51 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wl/if_wl.c,v 1.57 2003/11/14 19:00:31 sam Exp $"); /* @@ -265,6 +265,7 @@ }; #define WL_LOCK(_sc) mtx_lock(&(_sc)->wl_mtx) +#define WL_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->wl_mtx, MA_OWNED) #define WL_UNLOCK(_sc) mtx_unlock(&(_sc)->wl_mtx) static int wlprobe(device_t); @@ -1069,6 +1070,7 @@ u_short mlen, len; u_short bytes_in_msg, bytes_in_mbuf, bytes; + WL_LOCK_ASSERT(sc); #ifdef WLDEBUG if (sc->wl_if.if_flags & IFF_DEBUG) @@ -1212,7 +1214,9 @@ * received packet is now in a chain of mbuf's. next step is * to pass the packet upwards. */ + WL_UNLOCK(sc); (*ifp->if_input)(ifp, m); + WL_LOCK(sc); return 1; } ==== //depot/projects/hammer/sys/i386/i386/apic_vector.s#4 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.93 2003/11/13 18:16:37 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.94 2003/11/14 19:10:12 jhb Exp $ */ /* @@ -117,6 +117,8 @@ ISR_VEC(3, apic_isr3) ISR_VEC(4, apic_isr4) ISR_VEC(5, apic_isr5) + ISR_VEC(6, apic_isr6) + ISR_VEC(7, apic_isr7) MCOUNT_LABEL(eintr2) #ifdef SMP ==== //depot/projects/hammer/sys/i386/i386/local_apic.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.2 2003/11/12 18:13:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.3 2003/11/14 19:10:12 jhb Exp $"); #include #include @@ -59,6 +59,10 @@ */ #define MAX_APICID 16 +/* Sanity checks on IDT vectors. */ +CTASSERT(APIC_IO_INTS + APIC_NUM_IOINTS <= APIC_LOCAL_INTS); +CTASSERT(IPI_STOP < APIC_SPURIOUS_INT); + /* * Support for local APICs. Local APICs manage interrupts on each * individual processor as opposed to I/O APICs which receive interrupts @@ -104,8 +108,8 @@ IDTVEC(apic_isr3), /* 96 - 127 */ IDTVEC(apic_isr4), /* 128 - 159 */ IDTVEC(apic_isr5), /* 160 - 191 */ - NULL, /* 192 - 223 */ - NULL /* 224 - 255 */ + IDTVEC(apic_isr6), /* 192 - 223 */ + IDTVEC(apic_isr7), /* 224 - 255 */ }; volatile lapic_t *lapic; @@ -491,7 +495,7 @@ u_int vector; KASSERT(irq < NUM_IO_INTS, ("Invalid IRQ %u", irq)); - vector = irq + IDT_IO_INTS; + vector = irq + APIC_IO_INTS; if (vector >= IDT_SYSCALL) vector++; return (vector); @@ -501,12 +505,12 @@ apic_idt_to_irq(u_int vector) { - KASSERT(vector >= IDT_IO_INTS && vector != IDT_SYSCALL && - vector <= IDT_IO_INTS + NUM_IO_INTS, + KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL && + vector <= APIC_IO_INTS + NUM_IO_INTS, ("Vector %u does not map to an IRQ line", vector)); if (vector > IDT_SYSCALL) vector--; - return (vector - IDT_IO_INTS); + return (vector - APIC_IO_INTS); } /* ==== //depot/projects/hammer/sys/i386/i386/machdep.c#26 (text+ko) ==== @@ -38,9 +38,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.581 2003/11/09 20:31:02 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.582 2003/11/14 19:00:02 jhb Exp $"); -#include "opt_apic.h" +#include "opt_acpi.h" #include "opt_atalk.h" #include "opt_compat.h" #include "opt_cpu.h" ==== //depot/projects/hammer/sys/i386/include/apicvar.h#4 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.3 2003/11/13 16:41:07 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.4 2003/11/14 19:10:13 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -40,13 +40,13 @@ * Layout of local APIC interrupt vectors: * * 0xff (255) +-------------+ - * | | 15 (Spurious Vector) + * | | 15 (Spurious / IPIs / Local Interrupts ) * 0xf0 (240) +-------------+ - * | | 14 (Interprocessor Interrupts) + * | | 14 (I/O Interrupts) * 0xe0 (224) +-------------+ - * | | 13 (Local Interrupt (LINT[01])) + * | | 13 (I/O Interrupts) * 0xd0 (208) +-------------+ - * | | 12 (Local Timer and Error Interrupts) + * | | 12 (I/O Interrupts) * 0xc0 (192) +-------------+ * | | 11 (I/O Interrupts) * 0xb0 (176) +-------------+ @@ -66,7 +66,7 @@ * 0x40 (64) +-------------+ * | | 3 (I/O Interrupts) * 0x30 (48) +-------------+ - * | | 2 (I/O Interrupts) + * | | 2 (ATPIC Interrupts) * 0x20 (32) +-------------+ * | | 1 (Exceptions, traps, faults, etc.) * 0x10 (16) +-------------+ @@ -78,23 +78,24 @@ */ #define APIC_ID_ALL 0xff -#define APIC_NUM_IOINTS 160 +#define APIC_IO_INTS (IDT_IO_INTS + 16) +#define APIC_NUM_IOINTS 192 -#define APIC_LOCAL_INTS (IDT_IO_INTS + APIC_NUM_IOINTS) +#define APIC_LOCAL_INTS 240 #define APIC_TIMER_INT APIC_LOCAL_INTS #define APIC_ERROR_INT (APIC_LOCAL_INTS + 1) #define APIC_THERMAL_INT (APIC_LOCAL_INTS + 2) -#define APIC_IPI_INTS (APIC_LOCAL_INTS + 32) +#define APIC_IPI_INTS (APIC_LOCAL_INTS + 3) #define IPI_AST APIC_IPI_INTS /* Generate software trap. */ #define IPI_INVLTLB (APIC_IPI_INTS + 1) /* TLB Shootdown IPIs */ #define IPI_INVLPG (APIC_IPI_INTS + 2) #define IPI_INVLRNG (APIC_IPI_INTS + 3) +#define IPI_LAZYPMAP (APIC_IPI_INTS + 4) /* Lazy pmap release. */ #define IPI_HARDCLOCK (APIC_IPI_INTS + 8) /* Inter-CPU clock handling. */ #define IPI_STATCLOCK (APIC_IPI_INTS + 9) #define IPI_RENDEZVOUS (APIC_IPI_INTS + 10) /* Inter-CPU rendezvous. */ -#define IPI_LAZYPMAP (APIC_IPI_INTS + 11) /* Lazy pmap release. */ -#define IPI_STOP (APIC_IPI_INTS + 12) /* Stop CPU until restarted. */ +#define IPI_STOP (APIC_IPI_INTS + 11) /* Stop CPU until restarted. */ #define APIC_SPURIOUS_INT 255 @@ -127,7 +128,8 @@ inthand_t IDTVEC(apic_isr1), IDTVEC(apic_isr2), IDTVEC(apic_isr3), - IDTVEC(apic_isr4), IDTVEC(apic_isr5), IDTVEC(spuriousint); + IDTVEC(apic_isr4), IDTVEC(apic_isr5), IDTVEC(apic_isr6), + IDTVEC(apic_isr7), IDTVEC(spuriousint); u_int apic_irq_to_idt(u_int irq); u_int apic_idt_to_irq(u_int vector); ==== //depot/projects/hammer/sys/i386/include/intr_machdep.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/intr_machdep.h,v 1.1 2003/11/03 21:25:52 jhb Exp $ + * $FreeBSD: src/sys/i386/include/intr_machdep.h,v 1.2 2003/11/14 19:10:13 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -31,8 +31,8 @@ #ifdef _KERNEL -/* With I/O APIC's we can have up to 159 interrupts. */ -#define NUM_IO_INTS 159 +/* With I/O APIC's we can have up to 191 interrupts. */ +#define NUM_IO_INTS 191 #define INTRCNT_COUNT (1 + NUM_IO_INTS * 2) #ifndef LOCORE ==== //depot/projects/hammer/sys/i386/isa/atpic.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.3 2003/11/12 18:13:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.4 2003/11/14 19:13:06 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -73,14 +73,14 @@ #define SLAVE_MODE 9 /* 8086 mode */ #else /* IBM-PC */ #ifdef AUTO_EOI_1 -#define MASTER_MODE (2 | 1) /* Auto EOI, 8086 mode */ +#define MASTER_MODE (ICW4_8086 | ICW4_AEOI) #else -#define MASTER_MODE 1 /* 8086 mode */ +#define MASTER_MODE ICW4_8086 #endif #ifdef AUTO_EOI_2 -#define SLAVE_MODE (2 | 1) /* Auto EOI, 8086 mode */ +#define SLAVE_MODE (ICW4_8086 | ICW4_AEOI) #else -#define SLAVE_MODE 1 /* 8086 mode */ +#define SLAVE_MODE ICW4_8086 #endif #endif /* PC98 */ @@ -263,11 +263,12 @@ /* Reset the PIC and program with next four bytes. */ mtx_lock_spin(&icu_lock); #ifdef DEV_MCA + /* MCA uses level triggered interrupts. */ if (MCA_system) - outb(pic->at_ioaddr, 0x19); + outb(pic->at_ioaddr, ICW1_RESET | ICW1_IC4 | ICW1_LTIM); else #endif - outb(pic->at_ioaddr, 0x11); + outb(pic->at_ioaddr, ICW1_RESET | ICW1_IC4); imr_addr = pic->at_ioaddr + ICU_IMR_OFFSET; /* Start vector. */ @@ -293,12 +294,12 @@ outb(imr_addr, *pic->at_imen); /* Reset is finished, default to IRR on read. */ - outb(pic->at_ioaddr, 0x0a); + outb(pic->at_ioaddr, OCW3_SEL | OCW3_RR); #ifndef PC98 - /* Set priority order to 3-7, 0-2 (com2 first). */ + /* OCW2_L1 sets priority order to 3-7, 0-2 (com2 first). */ if (!slave) - outb(pic->at_ioaddr, 0xc0 | (3 - 1)); + outb(pic->at_ioaddr, OCW2_R | OCW2_SL | OCW2_L1); #endif mtx_unlock_spin(&icu_lock); } ==== //depot/projects/hammer/sys/i386/isa/icu.h#4 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)icu.h 5.6 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/i386/isa/icu.h,v 1.29 2003/11/12 18:13:57 jhb Exp $ + * $FreeBSD: src/sys/i386/isa/icu.h,v 1.30 2003/11/14 19:12:25 jhb Exp $ */ /* @@ -86,6 +86,62 @@ #define IRQ7 0x0080 /* lowest - parallel printer */ #endif +/* Initialization control word 1. Written to even address. */ +#define ICW1_IC4 0x01 /* ICW4 present */ +#define ICW1_SNGL 0x02 /* 1 = single, 0 = cascaded */ +#define ICW1_ADI 0x04 /* 1 = 4, 0 = 8 byte vectors */ +#define ICW1_LTIM 0x08 /* 1 = level trigger, 0 = edge */ +#define ICW1_RESET 0x10 /* must be 1 */ +/* 0x20 - 0x80 - in 8080/8085 mode only */ + +/* Initialization control word 2. Written to the odd address. */ +/* No definitions, it is the base vector of the IDT for 8086 mode */ + +/* Initialization control word 3. Written to the odd address. */ +/* For a master PIC, bitfield indicating a slave 8259 on given input */ +/* For slave, lower 3 bits are the slave's ID binary id on master */ + +#ifdef PC98 +/* XXX: missing pc98 bits */ +#else + +/* Initialization control word 4. Written to the odd address. */ +#define ICW4_8086 0x01 /* 1 = 8086, 0 = 8080 */ +#define ICW4_AEOI 0x02 /* 1 = Auto EOI */ +#define ICW4_MS 0x04 /* 1 = buffered master, 0 = slave */ +#define ICW4_BUF 0x08 /* 1 = enable buffer mode */ +#define ICW4_SFNM 0x10 /* 1 = special fully nested mode */ + +#endif + +/* Operation control words. Written after initialization. */ + +/* Operation control word type 1 */ +/* + * No definitions. Written to the odd address. Bitmask for interrupts. + * 1 = disabled. + */ + +/* Operation control word type 2. Bit 3 (0x08) must be zero. Even address. */ +#define OCW2_L0 0x01 /* Level */ +#define OCW2_L1 0x02 +#define OCW2_L2 0x04 +/* 0x08 must be 0 to select OCW2 vs OCW3 */ +/* 0x10 must be 0 to select OCW2 vs ICW1 */ +#define OCW2_EOI 0x20 /* 1 = EOI */ +#define OCW2_SL 0x40 /* EOI mode */ +#define OCW2_R 0x80 /* EOI mode */ + +/* Operation control word type 3. Bit 3 (0x08) must be set. Even address. */ +#define OCW3_RIS 0x01 /* 1 = read IS, 0 = read IR */ +#define OCW3_RR 0x02 /* register read */ +#define OCW3_P 0x04 /* poll mode command */ +/* 0x08 must be 1 to select OCW3 vs OCW2 */ +#define OCW3_SEL 0x08 /* must be 1 */ +/* 0x10 must be 0 to select OCW3 vs ICW1 */ +#define OCW3_SMM 0x20 /* special mode mask */ +#define OCW3_ESMM 0x40 /* enable SMM */ + /* * Interrupt Control offset into Interrupt descriptor table (IDT) */ @@ -100,8 +156,7 @@ #define ICU_SLAVEID 2 #endif -#define ICU_EOI 0x20 -#define HWI_MASK 0xffff /* bits for h/w interrupts */ +#define ICU_EOI (OCW2_EOI) /* non-specific EOI */ #ifndef LOCORE void atpic_handle_intr(struct intrframe iframe); ==== //depot/projects/hammer/sys/kern/kern_event.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_event.c,v 1.64 2003/11/09 09:17:24 tanimura Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_event.c,v 1.65 2003/11/14 18:49:01 cognet Exp $"); #include #include @@ -218,7 +218,8 @@ kn->kn_flags &= ~EV_FLAG1; } - SLIST_INSERT_HEAD(&p->p_klist, kn, kn_selnext); + if (immediate == 0) + SLIST_INSERT_HEAD(&p->p_klist, kn, kn_selnext); /* * Immediately activate any exit notes if the target process is a @@ -280,13 +281,6 @@ } /* - * Process will already be reported as gone. - * Do not report anything else, as the knote will be destroyed soon. - */ - if (kn->kn_status & KN_DETACHED) - return (0); - - /* * process forked, and user wants to track the new process, * so attach a new knote to it, and immediately report an * event with the parent's pid. ==== //depot/projects/hammer/sys/kern/kern_exit.c#16 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.217 2003/06/15 00:31:23 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.218 2003/11/14 18:49:01 cognet Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -436,6 +436,13 @@ * Notify interested parties of our demise. */ KNOTE(&p->p_klist, NOTE_EXIT); + /* + * Just delete all entries in the p_klist. At this point we won't + * report any more events, and there are nasty race conditions that + * can beat us if we don't. + */ + while (SLIST_FIRST(&p->p_klist)) + SLIST_REMOVE_HEAD(&p->p_klist, kn_selnext); /* * Notify parent that we're gone. If parent has the PS_NOCLDWAIT ==== //depot/projects/hammer/sys/net/rtsock.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)rtsock.c 8.7 (Berkeley) 10/12/95 - * $FreeBSD: src/sys/net/rtsock.c,v 1.94 2003/11/08 23:36:30 sam Exp $ + * $FreeBSD: src/sys/net/rtsock.c,v 1.95 2003/11/14 18:48:15 bms Exp $ */ #include @@ -85,6 +85,7 @@ static int rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *); static int sysctl_dumpentry(struct radix_node *rn, void *vw); static int sysctl_iflist(int af, struct walkarg *w); +static int sysctl_ifmalist(int af, struct walkarg *w); static int route_output(struct mbuf *, struct socket *); static void rt_setmetrics(u_long, struct rt_metrics *, struct rt_metrics *); static void rt_dispatch(struct mbuf *, struct sockaddr *); @@ -684,6 +685,10 @@ len = sizeof(struct if_msghdr); break; + case RTM_NEWMADDR: + len = sizeof(struct ifma_msghdr); + break; + default: len = sizeof(struct rt_msghdr); } @@ -1014,6 +1019,61 @@ return (error); } +int +sysctl_ifmalist(af, w) + int af; + register struct walkarg *w; +{ + register struct ifnet *ifp; + struct ifmultiaddr *ifma; + struct rt_addrinfo info; + int len, error = 0; + + bzero((caddr_t)&info, sizeof(info)); + /* IFNET_RLOCK(); */ /* could sleep XXX */ + TAILQ_FOREACH(ifp, &ifnet, if_link) { + if (w->w_arg && w->w_arg != ifp->if_index) + continue; + TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { + if (af && af != ifma->ifma_addr->sa_family) + continue; + if (jailed(curproc->p_ucred) && + prison_if(curproc->p_ucred, ifma->ifma_addr)) + continue; + info.rti_addrs = RTA_IFA; + info.rti_info[RTAX_IFA] = ifma->ifma_addr; + if (TAILQ_FIRST(&ifp->if_addrhead)) { + info.rti_addrs |= RTA_IFP; + info.rti_info[RTAX_IFP] = + TAILQ_FIRST(&ifp->if_addrhead)->ifa_addr; + } else + info.rti_info[RTAX_IFP] = NULL; + + if (ifma->ifma_addr->sa_family != AF_LINK) { + info.rti_addrs |= RTA_GATEWAY; + info.rti_info[RTAX_GATEWAY] = ifma->ifma_lladdr; + } else + info.rti_info[RTAX_GATEWAY] = NULL; + + len = rt_msg2(RTM_NEWMADDR, &info, 0, w); + if (w->w_req && w->w_tmem) { + register struct ifma_msghdr *ifmam; + + ifmam = (struct ifma_msghdr *)w->w_tmem; + ifmam->ifmam_index = ifma->ifma_ifp->if_index; + ifmam->ifmam_flags = 0; + ifmam->ifmam_addrs = info.rti_addrs; + error = SYSCTL_OUT(w->w_req, w->w_tmem, len); + if (error) + goto done; + } + } + } +done: + /* IFNET_RUNLOCK(); */ /* XXX */ + return (error); +} + static int sysctl_rtsock(SYSCTL_HANDLER_ARGS) { @@ -1066,6 +1126,11 @@ case NET_RT_IFLIST: error = sysctl_iflist(af, &w); + break; + + case NET_RT_IFMALIST: + error = sysctl_ifmalist(af, &w); + break; } splx(s); if (w.w_tmem) ==== //depot/projects/hammer/sys/pci/if_dc.c#26 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_dc.c,v 1.134 2003/11/14 17:16:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_dc.c,v 1.135 2003/11/14 19:00:31 sam Exp $"); /* * DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143 @@ -2723,6 +2723,8 @@ int i, total_len = 0; u_int32_t rxstat; + DC_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; i = sc->dc_cdata.dc_rx_prod; @@ -2816,7 +2818,9 @@ } ifp->if_ipackets++; + DC_UNLOCK(sc); (*ifp->if_input)(ifp, m); + DC_LOCK(sc); } sc->dc_cdata.dc_rx_prod = i; @@ -3069,6 +3073,7 @@ CSR_WRITE_4(sc, DC_IMR, DC_INTRS); return; } + DC_LOCK(sc); sc->rxcycles = count; dc_rxeof(sc); dc_txeof(sc); @@ -3082,8 +3087,10 @@ status &= (DC_ISR_RX_WATDOGTIMEO | DC_ISR_RX_NOBUF | DC_ISR_TX_NOBUF | DC_ISR_TX_IDLE | DC_ISR_TX_UNDERRUN | DC_ISR_BUS_ERR); - if (!status) + if (!status) { + DC_UNLOCK(sc); return; + } /* ack what we have */ CSR_WRITE_4(sc, DC_ISR, status); @@ -3107,6 +3114,7 @@ dc_init(sc); } } + DC_UNLOCK(sc); } #endif /* DEVICE_POLLING */ ==== //depot/projects/hammer/sys/pci/if_dcreg.h#12 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_dcreg.h,v 1.38 2003/10/05 19:57:10 mbr Exp $ + * $FreeBSD: src/sys/pci/if_dcreg.h,v 1.39 2003/11/14 19:00:31 sam Exp $ */ /* @@ -766,6 +766,7 @@ #define DC_LOCK(_sc) mtx_lock(&(_sc)->dc_mtx) #define DC_UNLOCK(_sc) mtx_unlock(&(_sc)->dc_mtx) +#define DC_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->dc_mtx, MA_OWNED) #define DC_TX_POLL 0x00000001 #define DC_TX_COALESCE 0x00000002 ==== //depot/projects/hammer/sys/pci/if_pcn.c#13 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_pcn.c,v 1.51 2003/11/14 17:16:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_pcn.c,v 1.52 2003/11/14 19:00:31 sam Exp $"); /* * AMD Am79c972 fast ethernet PCI NIC driver. Datatheets are available @@ -796,6 +796,8 @@ struct pcn_rx_desc *cur_rx; int i; + PCN_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; i = sc->pcn_cdata.pcn_rx_prod; @@ -833,7 +835,9 @@ cur_rx->pcn_rxlen - ETHER_CRC_LEN; m->m_pkthdr.rcvif = ifp; + PCN_UNLOCK(sc); (*ifp->if_input)(ifp, m); + PCN_LOCK(sc); } sc->pcn_cdata.pcn_rx_prod = i; ==== //depot/projects/hammer/sys/pci/if_pcnreg.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_pcnreg.h,v 1.7 2001/02/09 06:11:20 bmilekic Exp $ + * $FreeBSD: src/sys/pci/if_pcnreg.h,v 1.8 2003/11/14 19:00:31 sam Exp $ */ /* @@ -453,6 +453,7 @@ #define PCN_LOCK(_sc) mtx_lock(&(_sc)->pcn_mtx) #define PCN_UNLOCK(_sc) mtx_unlock(&(_sc)->pcn_mtx) +#define PCN_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->pcn_mtx, MA_OWNED) /* * register space access macros ==== //depot/projects/hammer/sys/pci/if_rl.c#22 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.124 2003/11/14 17:16:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_rl.c,v 1.125 2003/11/14 19:00:31 sam Exp $"); /* * RealTek 8129/8139 PCI NIC driver @@ -1236,6 +1236,8 @@ u_int16_t limit; u_int16_t rx_bytes = 0, max_bytes; + RL_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:47:48 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C89116A4D0; Fri, 14 Nov 2003 11:47:48 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C62E716A4CE for ; Fri, 14 Nov 2003 11:47:47 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30A1343F85 for ; Fri, 14 Nov 2003 11:47:47 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJllXJ062349 for ; Fri, 14 Nov 2003 11:47:47 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJlkHR062346 for perforce@freebsd.org; Fri, 14 Nov 2003 11:47:46 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:47:46 -0800 (PST) Message-Id: <200311141947.hAEJlkHR062346@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42367 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:47:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=42367 Change 42367 by peter@peter_daintree on 2003/11/14 11:47:22 integrate -I -b smp_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#7 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#21 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#14 integrate .. //depot/projects/hammer/sys/amd64/include/intr_machdep.h#8 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic.c#22 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#7 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.93 2003/11/13 18:16:37 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/apic_vector.s,v 1.94 2003/11/14 19:10:12 jhb Exp $ */ /* ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#21 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.2 2003/11/12 18:13:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.3 2003/11/14 19:10:12 jhb Exp $"); #include #include @@ -110,7 +110,7 @@ IDTVEC(apic_isr4), /* 128 - 159 */ IDTVEC(apic_isr5), /* 160 - 191 */ IDTVEC(apic_isr6), /* 192 - 223 */ - IDTVEC(apic_isr7) /* 224 - 255 */ + IDTVEC(apic_isr7), /* 224 - 255 */ }; volatile lapic_t *lapic; ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#14 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.3 2003/11/13 16:41:07 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.4 2003/11/14 19:10:13 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -94,10 +94,10 @@ #define IPI_INVLPG (APIC_IPI_INTS + 2) #define IPI_INVLRNG (APIC_IPI_INTS + 3) #define IPI_LAZYPMAP (APIC_IPI_INTS + 4) /* Lazy pmap release. */ -#define IPI_STOP (APIC_IPI_INTS + 5) /* Stop CPU until restarted. */ #define IPI_HARDCLOCK (APIC_IPI_INTS + 8) /* Inter-CPU clock handling. */ #define IPI_STATCLOCK (APIC_IPI_INTS + 9) #define IPI_RENDEZVOUS (APIC_IPI_INTS + 10) /* Inter-CPU rendezvous. */ +#define IPI_STOP (APIC_IPI_INTS + 11) /* Stop CPU until restarted. */ #define APIC_SPURIOUS_INT 255 ==== //depot/projects/hammer/sys/amd64/include/intr_machdep.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/intr_machdep.h,v 1.1 2003/11/03 21:25:52 jhb Exp $ + * $FreeBSD: src/sys/i386/include/intr_machdep.h,v 1.2 2003/11/14 19:10:13 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#22 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.3 2003/11/12 18:13:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.4 2003/11/14 19:13:06 jhb Exp $"); #include "opt_isa.h" @@ -253,10 +253,9 @@ /* Reset is finished, default to IRR on read. */ outb(pic->at_ioaddr, OCW3_SEL | OCW3_RR); - /* Set priority order to 3-7, 0-2 (com2 first). */ + /* OCW2_L1 sets priority order to 3-7, 0-2 (com2 first). */ if (!slave) - outb(pic->at_ioaddr, ICU_SETPRI | 0x2); - + outb(pic->at_ioaddr, OCW2_R | OCW2_SL | OCW2_L1); mtx_unlock_spin(&icu_lock); } From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:48:50 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B94A416A4CE; Fri, 14 Nov 2003 11:48:49 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9401216A4CE for ; Fri, 14 Nov 2003 11:48:49 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 00EB743FCB for ; Fri, 14 Nov 2003 11:48:49 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJmmXJ062381 for ; Fri, 14 Nov 2003 11:48:48 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJmmDZ062378 for perforce@freebsd.org; Fri, 14 Nov 2003 11:48:48 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:48:48 -0800 (PST) Message-Id: <200311141948.hAEJmmDZ062378@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42368 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:48:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=42368 Change 42368 by peter@peter_daintree on 2003/11/14 11:47:52 ICU_SETPRI is now OBE Affected files ... .. //depot/projects/hammer/sys/amd64/isa/icu.h#12 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/icu.h#12 (text+ko) ==== @@ -124,7 +124,6 @@ #define ICU_IMR_OFFSET 1 #define ICU_SLAVEID 2 #define ICU_EOI (OCW2_EOI) /* non-specific EOI */ -#define ICU_SETPRI (OCW2_R | OCW2_SL) /* set rotation priority */ #ifndef LOCORE void atpic_handle_intr(void *cookie, struct intrframe iframe); From owner-p4-projects@FreeBSD.ORG Fri Nov 14 11:58:02 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA29016A4D2; Fri, 14 Nov 2003 11:58:01 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A388516A4D0 for ; Fri, 14 Nov 2003 11:58:01 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B357643F85 for ; Fri, 14 Nov 2003 11:58:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEJw0XJ062735 for ; Fri, 14 Nov 2003 11:58:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEJw09S062732 for perforce@freebsd.org; Fri, 14 Nov 2003 11:58:00 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 11:58:00 -0800 (PST) Message-Id: <200311141958.hAEJw09S062732@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42369 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 19:58:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=42369 Change 42369 by peter@peter_overcee on 2003/11/14 11:57:20 begin restoring the auto-eoi stuff, as much as I dislike it. Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic.c#23 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#23 (text+ko) ==== @@ -55,13 +55,22 @@ #include #include -#ifdef DEV_ISA #include #define MASTER 0 #define SLAVE 1 +#ifdef AUTO_EOI_1 +#define MASTER_MODE (ICW4_8086 | ICW4_AEOI) +#else +#define MASTER_MODE ICW4_8086 #endif +#ifdef AUTO_EOI_2 +#define SLAVE_MODE (ICW4_8086 | ICW4_AEOI) +#else +#define SLAVE_MODE ICW4_8086 +#endif + static void atpic_init(void *dummy); @@ -164,9 +173,11 @@ KASSERT(isrc->is_pic == &atpics[MASTER].at_pic, ("%s: mismatched pic", __func__)); +#ifndef AUTO_EOI_1 mtx_lock_spin(&icu_lock); outb(atpics[MASTER].at_ioaddr, ICU_EOI); mtx_unlock_spin(&icu_lock); +#endif } /* @@ -179,10 +190,14 @@ KASSERT(isrc->is_pic == &atpics[SLAVE].at_pic, ("%s: mismatched pic", __func__)); +#ifndef AUTO_EOI_2 mtx_lock_spin(&icu_lock); outb(atpics[SLAVE].at_ioaddr, ICU_EOI); +#ifndef AUTO_EOI_1 outb(atpics[MASTER].at_ioaddr, ICU_EOI); +#endif mtx_unlock_spin(&icu_lock); +#endif } static void @@ -243,9 +258,9 @@ /* Set mode. */ if (slave) - outb(imr_addr, ICW4_8086); + outb(imr_addr, SLAVE_MODE); else - outb(imr_addr, ICW4_8086); + outb(imr_addr, MASTER_MODE); /* Set interrupt enable mask. */ outb(imr_addr, *pic->at_imen); From owner-p4-projects@FreeBSD.ORG Fri Nov 14 12:00:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1502616A4D0; Fri, 14 Nov 2003 12:00:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E45E316A4CE for ; Fri, 14 Nov 2003 12:00:08 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6309B43FF7 for ; Fri, 14 Nov 2003 12:00:03 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEK03XJ062857 for ; Fri, 14 Nov 2003 12:00:03 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEK03AL062854 for perforce@freebsd.org; Fri, 14 Nov 2003 12:00:03 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 12:00:03 -0800 (PST) Message-Id: <200311142000.hAEK03AL062854@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42370 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 20:00:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=42370 Change 42370 by peter@peter_overcee on 2003/11/14 11:59:49 add back the auto_eoi_* options Affected files ... .. //depot/projects/hammer/sys/amd64/isa/atpic.c#24 edit .. //depot/projects/hammer/sys/conf/options.amd64#16 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#24 (text+ko) ==== @@ -34,6 +34,7 @@ #include __FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.4 2003/11/14 19:13:06 jhb Exp $"); +#include "opt_auto_eoi.h" #include "opt_isa.h" #include ==== //depot/projects/hammer/sys/conf/options.amd64#16 (text+ko) ==== @@ -1,6 +1,8 @@ # $FreeBSD: src/sys/conf/options.amd64,v 1.9 2003/06/18 15:25:01 jake Exp $ # Options specific to AMD64 platform kernels +AUTO_EOI_1 opt_auto_eoi.h +AUTO_EOI_2 opt_auto_eoi.h MAXMEM PERFMON opt_perfmon.h From owner-p4-projects@FreeBSD.ORG Fri Nov 14 12:02:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E482016A4D0; Fri, 14 Nov 2003 12:02:00 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BB5E216A4CE; Fri, 14 Nov 2003 12:02:00 -0800 (PST) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F0CE43FF3; Fri, 14 Nov 2003 12:01:57 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) hAEK1viF065002; Fri, 14 Nov 2003 12:01:57 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.9p2/8.12.9/Submit) id hAEK1vLU065001; Fri, 14 Nov 2003 12:01:57 -0800 (PST) (envelope-from dillon) Date: Fri, 14 Nov 2003 12:01:57 -0800 (PST) From: Matthew Dillon Message-Id: <200311142001.hAEK1vLU065001@apollo.backplane.com> To: Peter Wemm References: <200311141958.hAEJw09S062732@repoman.freebsd.org> cc: Perforce Change Reviews Subject: Re: PERFORCE change 42369 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 20:02:01 -0000 Hey Peter... for some reason I am still getting PERFORCE change emails, and obviously there isn't anything I can do about it anymore so I would appreciate it if someone could figure out how to remove me from the perforce mailings. Thanks! -Matt From owner-p4-projects@FreeBSD.ORG Fri Nov 14 12:20:33 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B83D916A4D0; Fri, 14 Nov 2003 12:20:32 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8DE7716A4CE for ; Fri, 14 Nov 2003 12:20:32 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 839D043FCB for ; Fri, 14 Nov 2003 12:20:30 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEKKUXJ064693 for ; Fri, 14 Nov 2003 12:20:30 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEKKTtp064685 for perforce@freebsd.org; Fri, 14 Nov 2003 12:20:29 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Fri, 14 Nov 2003 12:20:29 -0800 (PST) Message-Id: <200311142020.hAEKKTtp064685@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 42373 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 20:20:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=42373 Change 42373 by areisse@areisse_ibook on 2003/11/14 12:19:49 enabled some permission checks Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/avc/avc.c#4 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#12 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/avc/avc.c#4 (text+ko) ==== @@ -577,7 +577,7 @@ struct vattr va; #ifdef __APPLE__ struct proc *curproc = current_proc(); - if (VOP_ISLOCKED(vp) && + if (/*VOP_ISLOCKED(vp) &&*/ !VOP_GETATTR(vp, &va, curproc->p_ucred, curproc)) { ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#12 (text+ko) ==== @@ -318,20 +318,20 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; -#if 0 if (file->sclass == 0) { struct vattr va; - VOP_GETATTR(vp, &va, curthread->td_ucred, curthread); + struct proc *p = current_proc(); + VOP_GETATTR (vp, &va, p->p_ucred, p); printf("vnode_has_perm:: ERROR, sid=%d, sclass=0, v_type=%d," - " inode=%ld, fsid=%d\n", - file->sid, vp->v_type, va.va_fileid, va.va_fsid); + " inode=%ld, fsid=%d, fstype=%s, mnt=%s\n", + file->sid, vp->v_type, va.va_fileid, va.va_fsid, vp->v_mount->mnt_vfc->vfc_name, vp->v_mount->mnt_stat.f_mntonname); file->sclass = vnode_type_to_security_class(vp->v_type); if (file->sclass == 0) { printf("vnode_has_perm:: Giving up\n"); return 1; /* TBD: debugging */ } } -#endif + return avc_has_perm_ref_audit(task->sid, file->sid, file->sclass, perm, aeref ? aeref : &file->avcr, &ad); } @@ -565,8 +565,16 @@ sbsec = SLOT(fslabel); vsec = SLOT(vlabel); - vsec->sid = sbsec->sid; + vsec->sclass = vnode_type_to_security_class(vp->v_type); + if (sbsec == NULL) + { + if (vp->v_mount != NULL) + printf ("create_vnode: no mount label for mnt=%s\n", + vp->v_mount->mnt_stat.f_mntonname); + } + else + vsec->sid = sbsec->sid; } static void @@ -1421,6 +1429,12 @@ if (dvp->v_mount) { /* XXX: mpo_check_vnode_create should probably pass the mntlabel */ sbsec = SLOT (&dvp->v_mount->mnt_mntlabel); + if (sbsec == NULL) + { + printf ("create_vnode: no mount label for mnt=%s\n", + dvp->v_mount->mnt_stat.f_mntonname); + return 0; + } rc = avc_has_perm_audit(newsid, sbsec->sid, SECCLASS_FILESYSTEM, FILESYSTEM__ASSOCIATE, &ad); if (rc) @@ -2135,6 +2149,7 @@ .mpo_create_devfs_device = sebsd_create_devfs_device, + .mpo_associate_vnode_singlelabel = sebsd_associate_vnode_singlelabel, .mpo_associate_vnode_extattr = sebsd_associate_vnode_extattr, .mpo_associate_vnode_devfs = sebsd_associate_vnode_devfs, @@ -2142,6 +2157,44 @@ .mpo_execve_will_transition = sebsd_execve_will_transition, .mpo_execve_transition = sebsd_execve_transition, + /* Checks */ + .mpo_check_proc_signal = sebsd_check_proc_signal, + .mpo_check_vnode_access = sebsd_check_vnode_access, + .mpo_check_vnode_chdir = sebsd_check_vnode_chdir, + .mpo_check_vnode_chroot = sebsd_check_vnode_chroot, + //.mpo_check_vnode_create = sebsd_check_vnode_create, + .mpo_check_vnode_delete = sebsd_check_vnode_delete, + +#ifdef EXTATTR + .mpo_check_vnode_exec = sebsd_check_vnode_exec, + + .mpo_check_vnode_getextattr = sebsd_check_vnode_getextattr, + .mpo_check_vnode_listextattr = NOT_IMPLEMENTED, + .mpo_check_vnode_deleteextattr = NOT_IMPLEMENTED, +#endif + .mpo_check_vnode_link = sebsd_check_vnode_link, + .mpo_check_vnode_lookup = sebsd_check_vnode_lookup, + .mpo_check_vnode_mmap = sebsd_check_vnode_mmap, + .mpo_check_vnode_mprotect = sebsd_check_vnode_mmap, + .mpo_check_vnode_open = sebsd_check_vnode_open, + .mpo_check_vnode_poll = sebsd_check_vnode_poll, + .mpo_check_vnode_read = sebsd_check_vnode_read, + .mpo_check_vnode_readdir = sebsd_check_vnode_readdir, + .mpo_check_vnode_readlink = sebsd_check_vnode_readlink, + .mpo_check_vnode_relabel = sebsd_check_vnode_relabel, + .mpo_check_vnode_rename_from = sebsd_check_vnode_rename_from, + .mpo_check_vnode_rename_to = sebsd_check_vnode_rename_to, + .mpo_check_vnode_revoke = sebsd_check_vnode_revoke, +#ifdef HAS_EXTATTRS + .mpo_check_vnode_setextattr = sebsd_check_vnode_setextattr, +#endif + .mpo_check_vnode_setflags = sebsd_check_vnode_setflags, + .mpo_check_vnode_setmode = sebsd_check_vnode_setmode, + .mpo_check_vnode_setowner = sebsd_check_vnode_setowner, + .mpo_check_vnode_setutimes = sebsd_check_vnode_setutimes, + .mpo_check_vnode_stat = sebsd_check_vnode_stat, + .mpo_check_vnode_write = sebsd_check_vnode_write, + .mpo_syscall = sebsd_syscall }; From owner-p4-projects@FreeBSD.ORG Fri Nov 14 13:05:04 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 334D216A4D1; Fri, 14 Nov 2003 13:05:04 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 08E7516A4CE for ; Fri, 14 Nov 2003 13:05:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C4D943FA3 for ; Fri, 14 Nov 2003 13:05:03 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEL53XJ074224 for ; Fri, 14 Nov 2003 13:05:03 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEL5229074221 for perforce@freebsd.org; Fri, 14 Nov 2003 13:05:02 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 13:05:02 -0800 (PST) Message-Id: <200311142105.hAEL5229074221@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42380 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 21:05:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=42380 Change 42380 by peter@peter_daintree on 2003/11/14 13:04:58 Void * is not 32 bit. Affected files ... .. //depot/projects/hammer/sys/amd64/include/mptable.h#4 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/mptable.h#4 (text+ko) ==== @@ -41,7 +41,7 @@ /* MP Floating Pointer Structure */ typedef struct MPFPS { char signature[4]; - void *pap; + u_int32_t pap; u_char length; u_char spec_rev; u_char checksum; @@ -63,10 +63,10 @@ u_char checksum; u_char oem_id[8]; u_char product_id[12]; - void *oem_table_pointer; + u_int32_t oem_table_pointer; u_short oem_table_size; u_short entry_count; - void *apic_address; + u_int32_t apic_address; u_short extended_table_length; u_char extended_table_checksum; u_char reserved; @@ -103,7 +103,7 @@ u_char apic_id; u_char apic_version; u_char apic_flags; - void *apic_address; + u_int32_t apic_address; } *io_apic_entry_ptr; #define IOAPICENTRY_FLAG_EN 0x01 From owner-p4-projects@FreeBSD.ORG Fri Nov 14 13:07:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B67816A4D1; Fri, 14 Nov 2003 13:07:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 158A516A4CE for ; Fri, 14 Nov 2003 13:07:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5CC5A43F93 for ; Fri, 14 Nov 2003 13:07:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEL78XJ074455 for ; Fri, 14 Nov 2003 13:07:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEL77H5074452 for perforce@freebsd.org; Fri, 14 Nov 2003 13:07:07 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 13:07:07 -0800 (PST) Message-Id: <200311142107.hAEL77H5074452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42383 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 21:07:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=42383 Change 42383 by peter@peter_daintree on 2003/11/14 13:06:27 make this actually work, for what its worth. It seems that mptables are even more likely to be broken here. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#12 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#12 (text+ko) ==== @@ -27,7 +27,6 @@ #include __FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); -#include "opt_mptable_force_htt.h" #include #include #include @@ -221,18 +220,19 @@ mptable_probe(void) { int x; - u_long segment; + u_int32_t segment; u_int32_t target; /* see if EBDA exists */ - if ((segment = (u_long) * (u_short *) (KERNBASE + 0x40e)) != 0) { + segment = (u_int32_t) *(u_short *)(KERNBASE + 0x40e); + if (segment != 0) { /* search first 1K of EBDA */ target = (u_int32_t) (segment << 4); if ((x = search_for_sig(target, 1024 / 4)) >= 0) goto found; } else { /* last 1K of base memory, effective 'top of base' passed in */ - target = (u_int32_t) (basemem - 0x400); + target = (u_int32_t) ((basemem * 1024) - 0x400); if ((x = search_for_sig(target, 1024 / 4)) >= 0) goto found; } From owner-p4-projects@FreeBSD.ORG Fri Nov 14 13:09:12 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 836B916A4D0; Fri, 14 Nov 2003 13:09:12 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4136716A4CE for ; Fri, 14 Nov 2003 13:09:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A080743FCB for ; Fri, 14 Nov 2003 13:09:11 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEL9BXJ074501 for ; Fri, 14 Nov 2003 13:09:11 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEL9BUZ074498 for perforce@freebsd.org; Fri, 14 Nov 2003 13:09:11 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 13:09:11 -0800 (PST) Message-Id: <200311142109.hAEL9BUZ074498@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42384 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 21:09:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=42384 Change 42384 by peter@peter_daintree on 2003/11/14 13:08:37 ugh! I feel so unclean after touching this file. Must.. wash.. hands.. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#67 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#67 (text+ko) ==== @@ -799,7 +799,6 @@ getmemsize(caddr_t kmdp, u_int64_t first) { int i, physmap_idx, pa_indx; - u_int extmem; vm_paddr_t pa, physmap[PHYSMAP_SIZE]; pt_entry_t *pte; char *cp; @@ -818,12 +817,9 @@ * ie: an int32_t immediately precedes smap. */ smapbase = (struct bios_smap *)preload_search_info(kmdp, MODINFO_METADATA | MODINFOMD_SMAP); - if (smapbase == 0) - smapbase = (struct bios_smap *)preload_search_info(kmdp, MODINFO_METADATA | 0x0009); /* Old value for MODINFOMD_SMAP */ - if (smapbase == 0) { + if (smapbase == NULL) panic("No BIOS smap info from loader!"); - goto deep_shit; - } + smapsize = *((u_int32_t *)smapbase - 1); smapend = (struct bios_smap *)((uintptr_t)smapbase + smapsize); @@ -832,14 +828,11 @@ printf("SMAP type=%02x base=%016lx len=%016lx\n", smap->type, smap->base, smap->length); - if (smap->type != 0x01) { + if (smap->type != 0x01) continue; - } - if (smap->length == 0) { -next_run: + if (smap->length == 0) continue; - } for (i = 0; i <= physmap_idx; i += 2) { if (smap->base < physmap[i + 1]) { @@ -852,6 +845,7 @@ if (smap->base == physmap[physmap_idx + 1]) { physmap[physmap_idx + 1] += smap->length; +next_run: continue; } @@ -866,70 +860,18 @@ } /* - * Perform "base memory" related probes & setup based on SMAP + * Find the 'base memory' segment for SMP */ -deep_shit: - if (basemem == 0) { - for (i = 0; i <= physmap_idx; i += 2) { - if (physmap[i] == 0x00000000) { - basemem = physmap[i + 1] / 1024; - break; - } - } - - if (basemem == 0) { - basemem = rtcin(RTC_BASELO) + (rtcin(RTC_BASEHI) << 8); - } - - if (basemem == 0) { - basemem = 640; - } - - if (basemem > 640) { - printf("Preposterous BIOS basemem of %uK, truncating to 640K\n", - basemem); - basemem = 640; + basemem = 0; + for (i = 0; i <= physmap_idx; i += 2) { + if (physmap[i] == 0x00000000) { + basemem = physmap[i + 1] / 1024; + break; } - -#if 0 - for (pa = trunc_page(basemem * 1024); - pa < ISA_HOLE_START; pa += PAGE_SIZE) - pmap_kenter(KERNBASE + pa, pa); -#endif } - - if (physmap[1] != 0) - goto physmap_done; + if (basemem == 0) + panic("BIOS smap did not include a basemem segment!"); - /* - * Prefer the RTC value for extended memory. - */ - extmem = rtcin(RTC_EXTLO) + (rtcin(RTC_EXTHI) << 8); - - /* - * Special hack for chipsets that still remap the 384k hole when - * there's 16MB of memory - this really confuses people that - * are trying to use bus mastering ISA controllers with the - * "16MB limit"; they only have 16MB, but the remapping puts - * them beyond the limit. - * - * If extended memory is between 15-16MB (16-17MB phys address range), - * chop it to 15MB. - */ - if ((extmem > 15 * 1024) && (extmem < 16 * 1024)) - extmem = 15 * 1024; - - physmap[0] = 0; - physmap[1] = basemem * 1024; - physmap_idx = 2; - physmap[physmap_idx] = 0x100000; - physmap[physmap_idx + 1] = physmap[physmap_idx] + extmem * 1024; - -physmap_done: - /* - * Now, physmap contains a map of physical memory. - */ - #ifdef SMP /* make hole for AP bootstrap code */ physmap[1] = mp_bootaddress(physmap[1] / 1024); @@ -951,7 +893,8 @@ * hw.physmem is a size in bytes; we also allow k, m, and g suffixes * for the appropriate modifiers. This overrides MAXMEM. */ - if ((cp = getenv("hw.physmem")) != NULL) { + cp = getenv("hw.physmem"); + if (cp != NULL) { u_int64_t AllowMem, sanity; char *ep; From owner-p4-projects@FreeBSD.ORG Fri Nov 14 13:20:49 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D08B616A4CE; Fri, 14 Nov 2003 13:20:48 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A880116A4CE for ; Fri, 14 Nov 2003 13:20:48 -0800 (PST) Received: from mail.speakeasy.net (mail5.speakeasy.net [216.254.0.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2695143FBF for ; Fri, 14 Nov 2003 13:20:47 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 30422 invoked from network); 14 Nov 2003 21:20:46 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 14 Nov 2003 21:20:46 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id hAELKhEW008115; Fri, 14 Nov 2003 16:20:43 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200311141846.hAEIkIap057379@repoman.freebsd.org> Date: Fri, 14 Nov 2003 16:20:40 -0500 (EST) From: John Baldwin To: Peter Wemm X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: Perforce Change Reviews Subject: RE: PERFORCE change 42350 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 21:20:49 -0000 X-List-Received-Date: Fri, 14 Nov 2003 21:20:49 -0000 On 14-Nov-2003 Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=42350 > > Change 42350 by peter@peter_overcee on 2003/11/14 10:46:16 > > converge with -current a bit. I dont know if jhb intends to commit this > change that I originally picked up via jhb_acpipci or not. No, installnig atpic handlers by default is the better solution. > Affected files ... > > .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#9 edit > > Differences ... > > ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#9 (text+ko) ==== > > @@ -106,7 +106,6 @@ > } > intrcnt_register(isrc); > interrupt_sources[vector] = isrc; > - isrc->is_pic->pic_enable_intr(isrc); > mtx_unlock_spin(&intr_table_lock); > return (0); > } > @@ -132,6 +131,7 @@ > ithread_priority(flags), flags, cookiep); > if (error == 0) { > intrcnt_updatename(isrc); > + isrc->is_pic->pic_enable_intr(isrc); > isrc->is_pic->pic_enable_source(isrc); > } > return (error); -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 13:21:02 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1224D16A4D0; Fri, 14 Nov 2003 13:21:02 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C77B116A4CE for ; Fri, 14 Nov 2003 13:21:01 -0800 (PST) Received: from mail.speakeasy.net (mail8.speakeasy.net [216.254.0.208]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC08343FBF for ; Fri, 14 Nov 2003 13:20:58 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 10414 invoked from network); 14 Nov 2003 21:20:56 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 14 Nov 2003 21:20:56 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id hAELKqEW008126; Fri, 14 Nov 2003 16:20:52 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200311141901.hAEJ1fhC058664@repoman.freebsd.org> Date: Fri, 14 Nov 2003 16:20:49 -0500 (EST) From: John Baldwin To: Peter Wemm X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: Perforce Change Reviews Subject: RE: PERFORCE change 42354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 21:21:02 -0000 On 14-Nov-2003 Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=42354 > > Change 42354 by peter@peter_daintree on 2003/11/14 11:00:47 > > commit jhb's acpi_extirq.patch - remerging it all the time is driving me nuts. I have > two different machines that need it now. :-/ Does this really help? Do they actualyl route interrupts correctly when they didn't before? If so, I can commit the patch to CVS, or at least parts of it. > Affected files ... > > .. //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#7 edit > .. //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#9 edit > > Differences ... > > ==== //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#7 (text+ko) ==== > > @@ -43,7 +43,7 @@ > #define _COMPONENT ACPI_BUS > ACPI_MODULE_NAME("PCI_LINK") > > -#define MAX_POSSIBLE_INTERRUPTS 16 > +#define MAX_POSSIBLE_INTERRUPTS 240 > #define MAX_ISA_INTERRUPTS 16 > #define MAX_ACPI_INTERRUPTS 255 > > @@ -87,10 +87,68 @@ > */ > > static void > +acpi_pci_link_dump_polarity(UINT32 ActiveHighLow) > +{ > + > + switch (ActiveHighLow) { > + case ACPI_ACTIVE_HIGH: > + printf("high,"); > + break; > + > + case ACPI_ACTIVE_LOW: > + printf("low,"); > + break; > + > + default: > + printf("unknown,"); > + break; > + } > +} > + > +static void > +acpi_pci_link_dump_trigger(UINT32 EdgeLevel) > +{ > + > + switch (EdgeLevel) { > + case ACPI_EDGE_SENSITIVE: > + printf("edge,"); > + break; > + > + case ACPI_LEVEL_SENSITIVE: > + printf("level,"); > + break; > + > + default: > + printf("unknown,"); > + break; > + } > +} > + > +static void > +acpi_pci_link_dump_sharemode(UINT32 SharedExclusive) > +{ > + > + switch (SharedExclusive) { > + case ACPI_EXCLUSIVE: > + printf("exclusive"); > + break; > + > + case ACPI_SHARED: > + printf("sharable"); > + break; > + > + default: > + printf("unknown"); > + break; > + } > +} > + > +static void > acpi_pci_link_entry_dump(struct acpi_prt_entry *entry) > { > UINT8 i; > ACPI_RESOURCE_IRQ *Irq; > + ACPI_RESOURCE_EXT_IRQ *ExtIrq; > > if (entry == NULL || entry->pci_link == NULL) { > return; > @@ -105,57 +163,21 @@ > } > printf("] "); > > - Irq = NULL; > switch (entry->pci_link->possible_resources.Id) { > case ACPI_RSTYPE_IRQ: > Irq = &entry->pci_link->possible_resources.Data.Irq; > > - switch (Irq->ActiveHighLow) { > - case ACPI_ACTIVE_HIGH: > - printf("high,"); > - break; > - > - case ACPI_ACTIVE_LOW: > - printf("low,"); > - break; > - > - default: > - printf("unknown,"); > - break; > - } > - > - switch (Irq->EdgeLevel) { > - case ACPI_EDGE_SENSITIVE: > - printf("edge,"); > - break; > - > - case ACPI_LEVEL_SENSITIVE: > - printf("level,"); > - break; > - > - default: > - printf("unknown,"); > - break; > - } > - > - switch (Irq->SharedExclusive) { > - case ACPI_EXCLUSIVE: > - printf("exclusive"); > - break; > - > - case ACPI_SHARED: > - printf("sharable"); > - break; > - > - default: > - printf("unknown"); > - break; > - } > - > + acpi_pci_link_dump_polarity(Irq->ActiveHighLow); > + acpi_pci_link_dump_trigger(Irq->EdgeLevel); > + acpi_pci_link_dump_sharemode(Irq->SharedExclusive); > break; > > case ACPI_RSTYPE_EXT_IRQ: > - /* TBD */ > + ExtIrq = &entry->pci_link->possible_resources.Data.ExtendedIrq; > + > + acpi_pci_link_dump_polarity(ExtIrq->ActiveHighLow); > + acpi_pci_link_dump_trigger(ExtIrq->EdgeLevel); > + acpi_pci_link_dump_sharemode(ExtIrq->SharedExclusive); > break; > } > > @@ -527,10 +549,12 @@ > } > } > > +#if 0 > /* allow initial IRQ as valid one. */ > if (link->initial_irq == irq) { > return (1); > } > +#endif > > return (0); > } > @@ -565,34 +589,35 @@ > > bzero(&resbuf, sizeof(resbuf)); > crsbuf.Pointer = NULL; > - resbuf.Id = ACPI_RSTYPE_IRQ; > - resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); > > - if (link->possible_resources.Id != ACPI_RSTYPE_IRQ && > - link->possible_resources.Id != ACPI_RSTYPE_EXT_IRQ) { > + switch (link->possible_resources.Id) { > + default: > ACPI_DEBUG_PRINT((ACPI_DB_ERROR, > "Resource is not an IRQ entry %s - %d\n", > acpi_name(link->handle), link->possible_resources.Id)); > return_ACPI_STATUS (AE_TYPE); > - } > > - switch (link->possible_resources.Id) { > case ACPI_RSTYPE_IRQ: > + resbuf.Id = ACPI_RSTYPE_IRQ; > + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); > + > /* structure copy other fields */ > resbuf.Data.Irq = link->possible_resources.Data.Irq; > + resbuf.Data.Irq.NumberOfInterrupts = 1; > + resbuf.Data.Irq.Interrupts[0] = irq; > break; > > case ACPI_RSTYPE_EXT_IRQ: > - /* XXX */ > - resbuf.Data.Irq.EdgeLevel = ACPI_LEVEL_SENSITIVE; > - resbuf.Data.Irq.ActiveHighLow = ACPI_ACTIVE_LOW; > - resbuf.Data.Irq.SharedExclusive = ACPI_SHARED; > + resbuf.Id = ACPI_RSTYPE_EXT_IRQ; > + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_EXT_IRQ); > + > + /* structure copy other fields */ > + resbuf.Data.ExtendedIrq = link->possible_resources.Data.ExtendedIrq; > + resbuf.Data.ExtendedIrq.NumberOfInterrupts = 1; > + resbuf.Data.ExtendedIrq.Interrupts[0] = irq; > break; > } > > - resbuf.Data.Irq.NumberOfInterrupts = 1; > - resbuf.Data.Irq.Interrupts[0] = irq; > - > error = acpi_AppendBufferResource(&crsbuf, &resbuf); > if (ACPI_FAILURE(error)) { > ACPI_DEBUG_PRINT((ACPI_DB_ERROR, > > ==== //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#9 (text+ko) ==== > > @@ -118,6 +118,8 @@ > ACPI_DEVICE_INFO devinfo; > ACPI_BUFFER buf = {sizeof(devinfo), &devinfo}; > ACPI_STATUS status; > + UINT32 NumberOfInterrupts; > + UINT32 *Interrupts; > u_int8_t *prtp; > int interrupt; > int i; > @@ -234,16 +236,25 @@ > } > > /* type-check the resource we've got */ > - if (crsres->Id != ACPI_RSTYPE_IRQ) { /* XXX ACPI_RSTYPE_EXT_IRQ */ > + if (crsres->Id != ACPI_RSTYPE_IRQ && crsres->Id != ACPI_RSTYPE_EXT_IRQ) { > device_printf(pcib, "_CRS resource entry has unsupported type %d\n", > crsres->Id); > goto out; > } > > + /* set variables based on resource type */ > + if (crsres->Id == ACPI_RSTYPE_IRQ) { > + NumberOfInterrupts = crsres->Data.Irq.NumberOfInterrupts; > + Interrupts = crsres->Data.Irq.Interrupts; > + } else { > + NumberOfInterrupts = crsres->Data.ExtendedIrq.NumberOfInterrupts; > + Interrupts = crsres->Data.ExtendedIrq.Interrupts; > + } > + > /* if there's more than one interrupt, we are confused */ > - if (crsres->Data.Irq.NumberOfInterrupts > 1) { > + if (NumberOfInterrupts > 1) { > device_printf(pcib, "device has too many interrupts (%d)\n", > - crsres->Data.Irq.NumberOfInterrupts); > + NumberOfInterrupts); > goto out; > } > > @@ -255,10 +266,10 @@ > * > * XXX check ASL examples to see if this is an acceptable set of tests > */ > - if ((crsres->Data.Irq.NumberOfInterrupts == 1) && (crsres->Data.Irq.Interrupts[0] != 0)) { > + if ((NumberOfInterrupts == 1) && (Interrupts[0] != 0)) { > device_printf(pcib, "slot %d INT%c is routed to irq %d\n", > - pci_get_slot(dev), 'A' + pin, crsres->Data.Irq.Interrupts[0]); > - interrupt = crsres->Data.Irq.Interrupts[0]; > + pci_get_slot(dev), 'A' + pin, Interrupts[0]); > + interrupt = Interrupts[0]; > goto out; > } > > @@ -276,14 +287,23 @@ > } > > /* type-check the resource we've got */ > - if (prsres->Id != ACPI_RSTYPE_IRQ) { /* XXX ACPI_RSTYPE_EXT_IRQ */ > + if (prsres->Id != ACPI_RSTYPE_IRQ || prsres->Id != ACPI_RSTYPE_EXT_IRQ) { > device_printf(pcib, "_PRS resource entry has unsupported type %d\n", > prsres->Id); > goto out; > } > > + /* set variables based on resource type */ > + if (prsres->Id == ACPI_RSTYPE_IRQ) { > + NumberOfInterrupts = prsres->Data.Irq.NumberOfInterrupts; > + Interrupts = prsres->Data.Irq.Interrupts; > + } else { > + NumberOfInterrupts = prsres->Data.ExtendedIrq.NumberOfInterrupts; > + Interrupts = prsres->Data.ExtendedIrq.Interrupts; > + } > + > /* there has to be at least one interrupt available */ > - if (prsres->Data.Irq.NumberOfInterrupts < 1) { > + if (NumberOfInterrupts < 1) { > device_printf(pcib, "device has no interrupts\n"); > goto out; > } > @@ -300,34 +320,41 @@ > * new interrupt. > */ > device_printf(pcib, "possible interrupts:"); > - for (i = 0; i < prsres->Data.Irq.NumberOfInterrupts; i++) > - printf(" %d", prsres->Data.Irq.Interrupts[i]); > + for (i = 0; i < NumberOfInterrupts; i++) > + printf(" %d", Interrupts[i]); > printf("\n"); > > if (crsbuf.Pointer != NULL) /* should never happen */ > AcpiOsFree(crsbuf.Pointer); > crsbuf.Pointer = NULL; > - resbuf.Id = ACPI_RSTYPE_IRQ; > - resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); > - resbuf.Data.Irq = prsres->Data.Irq; /* structure copy other fields */ > - resbuf.Data.Irq.NumberOfInterrupts = 1; > - resbuf.Data.Irq.Interrupts[0] = prsres->Data.Irq.Interrupts[0]; /* just take first... */ > + if (prsres->Id == ACPI_RSTYPE_IRQ) { > + resbuf.Id = ACPI_RSTYPE_IRQ; > + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); > + resbuf.Data.Irq = prsres->Data.Irq; /* structure copy other fields */ > + resbuf.Data.Irq.NumberOfInterrupts = 1; > + resbuf.Data.Irq.Interrupts[0] = Interrupts[0]; /* just take first... */ > + } else { > + resbuf.Id = ACPI_RSTYPE_EXT_IRQ; > + resbuf.Length = ACPI_SIZEOF_RESOURCE(ACPI_RESOURCE_IRQ); > + resbuf.Data.ExtendedIrq = prsres->Data.ExtendedIrq; /* structure copy other fields */ > + resbuf.Data.ExtendedIrq.NumberOfInterrupts = 1; > + resbuf.Data.ExtendedIrq.Interrupts[0] = Interrupts[0]; /* just take first... */ > + } > if (ACPI_FAILURE(status = acpi_AppendBufferResource(&crsbuf, &resbuf))) { > device_printf(pcib, "couldn't route interrupt %d via %s, interrupt resource build failed - > %s\n", > - prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); > + Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); > goto out; > } > if (ACPI_FAILURE(status = AcpiSetCurrentResources(lnkdev, &crsbuf))) { > device_printf(pcib, "couldn't route interrupt %d via %s - %s\n", > - prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); > + Interrupts[0], acpi_name(lnkdev), AcpiFormatException(status)); > goto out; > } > > /* successful, return the interrupt we just routed */ > device_printf(pcib, "slot %d INT%c routed to irq %d via %s\n", > - pci_get_slot(dev), 'A' + pin, prsres->Data.Irq.Interrupts[0], > - acpi_name(lnkdev)); > - interrupt = prsres->Data.Irq.Interrupts[0]; > + pci_get_slot(dev), 'A' + pin, Interrupts[0], acpi_name(lnkdev)); > + interrupt = Interrupts[0]; > > out: > if (crsbuf.Pointer != NULL) -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:03:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6016C16A4D0; Fri, 14 Nov 2003 14:03:21 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 386B116A4CE for ; Fri, 14 Nov 2003 14:03:21 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA86443F85 for ; Fri, 14 Nov 2003 14:03:19 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEM3JXJ077891 for ; Fri, 14 Nov 2003 14:03:19 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEM3JTJ077888 for perforce@freebsd.org; Fri, 14 Nov 2003 14:03:19 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:03:19 -0800 (PST) Message-Id: <200311142203.hAEM3JTJ077888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42388 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:03:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=42388 Change 42388 by peter@peter_daintree on 2003/11/14 14:02:39 IFC @42387 Affected files ... .. //depot/projects/hammer/sbin/idmapd/Makefile#1 branch .. //depot/projects/hammer/sbin/idmapd/idmapd.8#1 branch .. //depot/projects/hammer/sbin/idmapd/idmapd.c#1 branch .. //depot/projects/hammer/sbin/mount_nfs4/Makefile#1 branch .. //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.8#1 branch .. //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.c#1 branch .. //depot/projects/hammer/share/man/man4/Makefile#26 integrate .. //depot/projects/hammer/share/man/man4/idt.4#1 branch .. //depot/projects/hammer/sys/conf/files#37 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#8 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#10 integrate .. //depot/projects/hammer/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#5 integrate .. //depot/projects/hammer/sys/i386/isa/atpic.c#5 integrate .. //depot/projects/hammer/sys/i386/isa/atpic_vector.s#3 integrate .. //depot/projects/hammer/sys/modules/if_gre/Makefile#5 integrate .. //depot/projects/hammer/sys/net/if_arcsubr.c#7 integrate .. //depot/projects/hammer/sys/net/if_ef.c#6 integrate .. //depot/projects/hammer/sys/net/if_ethersubr.c#19 integrate .. //depot/projects/hammer/sys/net/if_fddisubr.c#8 integrate .. //depot/projects/hammer/sys/net/if_gre.c#8 integrate .. //depot/projects/hammer/sys/net/if_iso88025subr.c#7 integrate .. //depot/projects/hammer/sys/net/if_ppp.c#10 integrate .. //depot/projects/hammer/sys/netatm/ipatm/ipatm_vcm.c#6 integrate .. //depot/projects/hammer/sys/netinet/in_rmx.c#7 integrate .. //depot/projects/hammer/sys/netinet/in_var.h#4 integrate .. //depot/projects/hammer/sys/netinet/ip_fastfwd.c#1 branch .. //depot/projects/hammer/sys/netinet/ip_flow.c#5 delete .. //depot/projects/hammer/sys/netinet/ip_flow.h#3 delete .. //depot/projects/hammer/sys/netinet/ip_fw2.c#18 integrate .. //depot/projects/hammer/sys/netinet/ip_icmp.c#10 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#21 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#22 integrate .. //depot/projects/hammer/sys/netinet/ip_var.h#13 integrate .. //depot/projects/hammer/sys/nfs/nfsproto.h#2 integrate .. //depot/projects/hammer/sys/nfs/rpcv2.h#2 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4.h#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_dev.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_dev.h#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_idmap.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_idmap.h#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_socket.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_subs.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_vfs.h#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_vfs_subs.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_vfsops.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_vn.h#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_vn_subs.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4_vnops.c#1 branch .. //depot/projects/hammer/sys/nfs4client/nfs4m_subs.h#1 branch .. //depot/projects/hammer/sys/nfsclient/bootp_subr.c#10 integrate .. //depot/projects/hammer/sys/nfsclient/krpc_subr.c#5 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#4 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#11 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_diskless.c#6 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_lock.c#11 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_nfsiod.c#5 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_node.c#9 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_socket.c#10 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#8 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#19 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#15 integrate .. //depot/projects/hammer/sys/nfsclient/nfsargs.h#2 integrate .. //depot/projects/hammer/sys/nfsclient/nfsm_subs.h#2 integrate .. //depot/projects/hammer/sys/nfsclient/nfsmount.h#3 integrate .. //depot/projects/hammer/sys/nfsclient/nfsnode.h#3 integrate .. //depot/projects/hammer/sys/rpc/rpcclnt.c#1 branch .. //depot/projects/hammer/sys/rpc/rpcclnt.h#1 branch .. //depot/projects/hammer/sys/rpc/rpcm_subs.h#1 branch .. //depot/projects/hammer/sys/rpc/rpcv2.h#1 branch .. //depot/projects/hammer/sys/security/mac/mac_internal.h#5 integrate .. //depot/projects/hammer/sys/sparc64/conf/GENERIC#18 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#14 integrate .. //depot/projects/hammer/sys/sys/reboot.h#3 integrate .. //depot/projects/hammer/sys/sys/sysctl.h#12 integrate Differences ... ==== //depot/projects/hammer/share/man/man4/Makefile#26 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.239 2003/11/11 18:48:02 trhodes Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.240 2003/11/14 20:29:12 bms Exp $ MAN= aac.4 \ acpi.4 \ @@ -82,6 +82,7 @@ icmp.4 \ icmp6.4 \ ida.4 \ + idt.4 \ ieee80211.4 \ ifmib.4 \ iic.4 \ @@ -332,6 +333,7 @@ MLINKS+=gx.4 if_gx.4 MLINKS+=hatm.4 if_hatm.4 MLINKS+=hme.4 if_hme.4 +MLINKS+=idt.4 if_idt.4 MLINKS+=ipfirewall.4 ipacct.4 ipfirewall.4 ipaccounting.4 ipfirewall.4 ipfw.4 MLINKS+=kue.4 if_kue.4 MLINKS+=lge.4 if_lge.4 ==== //depot/projects/hammer/sys/conf/files#37 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.850 2003/11/12 04:22:36 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.852 2003/11/14 21:02:22 andre Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1448,7 +1448,7 @@ netinet/ip_ecn.c optional inet6 netinet/ip_encap.c optional inet netinet/ip_encap.c optional inet6 -netinet/ip_flow.c optional inet +netinet/ip_fastfwd.c optional inet netinet/ip_fw2.c optional ipfirewall netinet/ip_icmp.c optional inet netinet/ip_input.c optional inet @@ -1562,6 +1562,15 @@ nfsclient/nfs_vfsops.c optional nfsclient nfsclient/nfs_vnops.c optional nfsclient nfsclient/nfs_lock.c optional nfsclient +nfs4client/nfs4_socket.c optional nfsclient +nfs4client/nfs4_vfsops.c optional nfsclient +nfs4client/nfs4_vnops.c optional nfsclient +nfs4client/nfs4_subs.c optional nfsclient +nfs4client/nfs4_vfs_subs.c optional nfsclient +nfs4client/nfs4_vn_subs.c optional nfsclient +nfs4client/nfs4_dev.c optional nfsclient +nfs4client/nfs4_idmap.c optional nfsclient +rpc/rpcclnt.c optional nfsclient nfsserver/nfs_serv.c optional nfsserver nfsserver/nfs_srvsock.c optional nfsserver nfsserver/nfs_srvcache.c optional nfsserver ==== //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.8 2003/11/12 19:46:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.9 2003/11/14 21:36:09 jhb Exp $"); #include "opt_acpi.h" #include ==== //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib.c,v 1.32 2003/08/24 17:48:01 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib.c,v 1.33 2003/11/14 21:36:09 jhb Exp $"); #include "opt_acpi.h" #include ==== //depot/projects/hammer/sys/i386/i386/intr_machdep.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.2 2003/11/12 18:13:57 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.3 2003/11/14 21:00:32 jhb Exp $ */ /* @@ -171,7 +171,10 @@ atomic_add_int(&cnt.v_intr, 1); it = isrc->is_ithread; - ih = TAILQ_FIRST(&it->it_handlers); + if (it == NULL) + ih = NULL; + else + ih = TAILQ_FIRST(&it->it_handlers); /* * XXX: We assume that IRQ 0 is only used for the ISA timer ==== //depot/projects/hammer/sys/i386/i386/mptable.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.226 2003/11/14 20:51:07 peter Exp $"); #include "opt_mptable_force_htt.h" #include @@ -237,7 +237,7 @@ goto found; } else { /* last 1K of base memory, effective 'top of base' passed in */ - target = (u_int32_t) (basemem - 0x400); + target = (u_int32_t) ((basemem * 1024) - 0x400); if ((x = search_for_sig(target, 1024 / 4)) >= 0) goto found; } ==== //depot/projects/hammer/sys/i386/isa/atpic.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.4 2003/11/14 19:13:06 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.5 2003/11/14 21:02:49 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -215,16 +215,6 @@ static void atpic_enable_intr(struct intsrc *isrc) { - struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc; - struct atpic *ap = (struct atpic *)isrc->is_pic; - register_t eflags; - - mtx_lock_spin(&icu_lock); - eflags = intr_disable(); - setidt(ap->at_intbase + ai->at_irq, ai->at_intr, SDT_SYS386IGT, - SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); - intr_restore(eflags); - mtx_unlock_spin(&icu_lock); } static int @@ -326,6 +316,9 @@ if (i == ICU_SLAVEID) continue; ai = &atintrs[i]; + setidt(((struct atpic *)ai->at_intsrc.is_pic)->at_intbase + + ai->at_irq, ai->at_intr, SDT_SYS386IGT, SEL_KPL, + GSEL(GCODE_SEL, SEL_KPL)); intr_register_source(&ai->at_intsrc); } } ==== //depot/projects/hammer/sys/i386/isa/atpic_vector.s#3 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.39 2003/11/12 18:13:57 jhb Exp $ + * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.40 2003/11/14 20:06:24 peter Exp $ */ /* @@ -40,8 +40,6 @@ * master and slave interrupt controllers. */ -#include "opt_auto_eoi.h" - #include #include #ifdef PC98 ==== //depot/projects/hammer/sys/modules/if_gre/Makefile#5 (text+ko) ==== @@ -1,13 +1,16 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/../../net ${.CURDIR}/../../netinet +.PATH: ${.CURDIR}/../../net ${.CURDIR}/../../netinet ${.CURDIR}/../../netinet6 KMOD= if_gre -SRCS= if_gre.c ip_gre.c opt_inet.h opt_atalk.h +SRCS= if_gre.c ip_gre.c opt_inet.h opt_inet6.h opt_atalk.h opt_inet.h: echo "#define INET 1" > ${.TARGET} +opt_inet6.h: + echo "#define INET6 1" > ${.TARGET} + opt_atalk.h: echo "#define NETATALK 1" > ${.TARGET} ==== //depot/projects/hammer/sys/net/if_arcsubr.c#7 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: if_arcsubr.c,v 1.36 2001/06/14 05:44:23 itojun Exp $ */ -/* $FreeBSD: src/sys/net/if_arcsubr.c,v 1.14 2003/10/31 18:32:08 brooks Exp $ */ +/* $FreeBSD: src/sys/net/if_arcsubr.c,v 1.15 2003/11/14 21:02:22 andre Exp $ */ /* * Copyright (c) 1994, 1995 Ignatios Souvatzis @@ -543,14 +543,14 @@ #ifdef INET case ARCTYPE_IP: m_adj(m, ARC_HDRNEWLEN); - if (ipflow_fastforward(m)) + if (ip_fastforward(m)) return; isr = NETISR_IP; break; case ARCTYPE_IP_OLD: m_adj(m, ARC_HDRLEN); - if (ipflow_fastforward(m)) + if (ip_fastforward(m)) return; isr = NETISR_IP; break; ==== //depot/projects/hammer/sys/net/if_ef.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_ef.c,v 1.26 2003/10/31 18:32:08 brooks Exp $ + * $FreeBSD: src/sys/net/if_ef.c,v 1.27 2003/11/14 21:02:22 andre Exp $ */ #include "opt_inet.h" @@ -253,7 +253,7 @@ #endif #ifdef INET case ETHERTYPE_IP: - if (ipflow_fastforward(m)) + if (ip_fastforward(m)) return (0); isr = NETISR_IP; break; ==== //depot/projects/hammer/sys/net/if_ethersubr.c#19 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_ethersubr.c 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/if_ethersubr.c,v 1.154 2003/10/31 18:32:08 brooks Exp $ + * $FreeBSD: src/sys/net/if_ethersubr.c,v 1.155 2003/11/14 21:02:22 andre Exp $ */ #include "opt_atalk.h" @@ -714,7 +714,7 @@ switch (ether_type) { #ifdef INET case ETHERTYPE_IP: - if (ipflow_fastforward(m)) + if (ip_fastforward(m)) return; isr = NETISR_IP; break; ==== //depot/projects/hammer/sys/net/if_fddisubr.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * from: if_ethersubr.c,v 1.5 1994/12/13 22:31:45 wollman Exp - * $FreeBSD: src/sys/net/if_fddisubr.c,v 1.86 2003/10/23 17:47:55 imp Exp $ + * $FreeBSD: src/sys/net/if_fddisubr.c,v 1.87 2003/11/14 21:02:22 andre Exp $ */ #include "opt_atalk.h" @@ -471,7 +471,7 @@ switch (type) { #ifdef INET case ETHERTYPE_IP: - if (ipflow_fastforward(m)) + if (ip_fastforward(m)) return; isr = NETISR_IP; break; ==== //depot/projects/hammer/sys/net/if_gre.c#8 (text+ko) ==== @@ -48,6 +48,7 @@ #include "opt_atalk.h" #include "opt_inet.h" +#include "opt_inet6.h" #include #include @@ -585,6 +586,9 @@ memcpy(&lifr->dstaddr, &si, sizeof(si)); break; case SIOCGIFPSRCADDR: +#ifdef INET6 + case SIOCGIFPSRCADDR_IN6: +#endif if (sc->g_src.s_addr == INADDR_ANY) { error = EADDRNOTAVAIL; break; @@ -596,6 +600,9 @@ bcopy(&si, &ifr->ifr_addr, sizeof(ifr->ifr_addr)); break; case SIOCGIFPDSTADDR: +#ifdef INET6 + case SIOCGIFPDSTADDR_IN6: +#endif if (sc->g_dst.s_addr == INADDR_ANY) { error = EADDRNOTAVAIL; break; ==== //depot/projects/hammer/sys/net/if_iso88025subr.c#7 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_iso88025subr.c,v 1.57 2003/09/14 02:32:31 mdodd Exp $ + * $FreeBSD: src/sys/net/if_iso88025subr.c,v 1.58 2003/11/14 21:02:22 andre Exp $ * */ @@ -556,7 +556,7 @@ #ifdef INET case ETHERTYPE_IP: th->iso88025_shost[0] &= ~(TR_RII); - if (ipflow_fastforward(m)) + if (ip_fastforward(m)) return; isr = NETISR_IP; break; ==== //depot/projects/hammer/sys/net/if_ppp.c#10 (text+ko) ==== @@ -69,7 +69,7 @@ * Paul Mackerras (paulus@cs.anu.edu.au). */ -/* $FreeBSD: src/sys/net/if_ppp.c,v 1.93 2003/11/08 22:28:39 sam Exp $ */ +/* $FreeBSD: src/sys/net/if_ppp.c,v 1.94 2003/11/14 21:02:22 andre Exp $ */ /* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */ /* from NetBSD: if_ppp.c,v 1.15.2.2 1994/07/28 05:17:58 cgd Exp */ @@ -1537,7 +1537,7 @@ m->m_pkthdr.len -= PPP_HDRLEN; m->m_data += PPP_HDRLEN; m->m_len -= PPP_HDRLEN; - if (ipflow_fastforward(m)) + if (ip_fastforward(m)) return; isr = NETISR_IP; break; ==== //depot/projects/hammer/sys/netatm/ipatm/ipatm_vcm.c#6 (text+ko) ==== @@ -31,19 +31,20 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netatm/ipatm/ipatm_vcm.c,v 1.16 2003/07/25 08:35:26 harti Exp $"); +__FBSDID("$FreeBSD: src/sys/netatm/ipatm/ipatm_vcm.c,v 1.17 2003/11/14 21:02:10 bde Exp $"); #include -#include #include -#include -#include +#include #include #include #include + #include + #include #include + #include #include #include @@ -59,6 +60,7 @@ #include #include +#include Atm_attributes ipatm_aal5llc = { NULL, /* nif */ ==== //depot/projects/hammer/sys/netinet/in_rmx.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/in_rmx.c,v 1.48 2003/11/03 06:11:44 sam Exp $ + * $FreeBSD: src/sys/netinet/in_rmx.c,v 1.49 2003/11/14 21:48:56 andre Exp $ */ /* @@ -134,13 +134,6 @@ } } - /* - * If the new route created successfully, and we are forwarding, - * flush any cached routes to avoid using a stale value. - */ - if (ret != NULL && ipforwarding) - ip_forward_cacheinval(); - return ret; } ==== //depot/projects/hammer/sys/netinet/in_var.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_var.h 8.2 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/netinet/in_var.h,v 1.47 2003/08/20 17:09:01 rwatson Exp $ + * $FreeBSD: src/sys/netinet/in_var.h,v 1.48 2003/11/14 21:02:21 andre Exp $ */ #ifndef _NETINET_IN_VAR_H_ @@ -230,9 +230,7 @@ void ip_input(struct mbuf *); int in_ifadown(struct ifaddr *ifa, int); void in_ifscrub(struct ifnet *, struct in_ifaddr *); -int ipflow_fastforward(struct mbuf *); -void ipflow_create(const struct route *, struct mbuf *); -void ipflow_slowtimo(void); +int ip_fastforward(struct mbuf *); #endif /* _KERNEL */ ==== //depot/projects/hammer/sys/netinet/ip_fw2.c#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/netinet/ip_fw2.c,v 1.43 2003/11/07 23:26:57 sam Exp $ + * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.44 2003/11/14 21:48:56 andre Exp $ */ #define DEB(x) @@ -1160,7 +1160,6 @@ struct mbuf *m; struct ip *ip; struct tcphdr *tcp; - struct route sro; /* fake route */ MGETHDR(m, M_DONTWAIT, MT_HEADER); if (m == 0) @@ -1226,12 +1225,8 @@ */ ip->ip_ttl = ip_defttl; ip->ip_len = m->m_pkthdr.len; - bzero (&sro, sizeof (sro)); - ip_rtaddr(ip->ip_dst, &sro); m->m_flags |= M_SKIP_FIREWALL; - ip_output(m, NULL, &sro, 0, NULL, NULL); - if (sro.ro_rt) - RTFREE(sro.ro_rt); + ip_output(m, NULL, NULL, 0, NULL, NULL); } /* ==== //depot/projects/hammer/sys/netinet/ip_icmp.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_icmp.c 8.2 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/netinet/ip_icmp.c,v 1.82 2003/11/13 00:32:13 andre Exp $ + * $FreeBSD: src/sys/netinet/ip_icmp.c,v 1.83 2003/11/14 21:48:57 andre Exp $ */ #include "opt_ipsec.h" @@ -120,7 +120,7 @@ #endif static void icmp_reflect(struct mbuf *); -static void icmp_send(struct mbuf *, struct mbuf *, struct route *); +static void icmp_send(struct mbuf *, struct mbuf *); static int ip_next_mtu(int, int); extern struct protosw inetsw[]; @@ -615,7 +615,6 @@ struct in_addr t; struct mbuf *opts = 0; int optlen = (ip->ip_hl << 2) - sizeof(struct ip); - struct route *ro = NULL, rt; if (!in_canforward(ip->ip_src) && ((ntohl(ip->ip_src.s_addr) & IN_CLASSA_NET) != @@ -626,8 +625,6 @@ } t = ip->ip_dst; ip->ip_dst = ip->ip_src; - ro = &rt; - bzero(ro, sizeof(*ro)); /* * If the incoming packet was addressed directly to us, * use dst as the src for the reply. Otherwise (broadcast @@ -648,7 +645,7 @@ goto match; } } - ia = ip_rtaddr(ip->ip_dst, ro); + ia = ip_rtaddr(ip->ip_dst); /* We need a route to do anything useful. */ if (ia == NULL) { m_freem(m); @@ -738,12 +735,10 @@ } m_tag_delete_nonpersistent(m); m->m_flags &= ~(M_BCAST|M_MCAST); - icmp_send(m, opts, ro); + icmp_send(m, opts); done: if (opts) (void)m_free(opts); - if (ro && ro->ro_rt) - RTFREE(ro->ro_rt); } /* @@ -751,10 +746,9 @@ * after supplying a checksum. */ static void -icmp_send(m, opts, rt) +icmp_send(m, opts) register struct mbuf *m; struct mbuf *opts; - struct route *rt; { register struct ip *ip = mtod(m, struct ip *); register int hlen; @@ -777,7 +771,7 @@ buf, inet_ntoa(ip->ip_src)); } #endif - (void) ip_output(m, opts, rt, 0, NULL, NULL); + (void) ip_output(m, opts, NULL, 0, NULL, NULL); } n_time ==== //depot/projects/hammer/sys/netinet/ip_input.c#21 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_input.c 8.2 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/netinet/ip_input.c,v 1.252 2003/11/08 23:36:31 sam Exp $ + * $FreeBSD: src/sys/netinet/ip_input.c,v 1.254 2003/11/14 21:48:57 andre Exp $ */ #include "opt_bootp.h" @@ -213,52 +213,6 @@ ip_dn_io_t *ip_dn_io_ptr; /* - * One deep route cache for ip forwarding. This is done - * very inefficiently. We don't care as it's about to be - * replaced by something better. - */ -static struct rtcache { - struct route rc_ro; /* most recently used route */ - struct mtx rc_mtx; /* update lock for cache */ -} ip_fwdcache; - -#define RTCACHE_LOCK() mtx_lock(&ip_fwdcache.rc_mtx) -#define RTCACHE_UNLOCK() mtx_unlock(&ip_fwdcache.rc_mtx) -#define RTCACHE_LOCK_INIT() \ - mtx_init(&ip_fwdcache.rc_mtx, "route cache", NULL, MTX_DEF) -#define RTCACHE_LOCK_ASSERT() mtx_assert(&ip_fwdcache.rc_mtx, MA_OWNED) - -/* - * Get a copy of the current route cache contents. - */ -#define RTCACHE_GET(_ro) do { \ - struct rtentry *rt; \ - RTCACHE_LOCK(); \ - *(_ro) = ip_fwdcache.rc_ro; \ - if ((rt = (_ro)->ro_rt) != NULL) { \ - RT_LOCK(rt); \ - RT_ADDREF(rt); \ - RT_UNLOCK(rt); \ - } \ - RTCACHE_UNLOCK(); \ -} while (0) - -/* - * Update the cache contents. - */ -#define RTCACHE_UPDATE(_ro) do { \ - struct rtentry *rt; \ - RTCACHE_LOCK(); \ - rt = ip_fwdcache.rc_ro.ro_rt; \ - if ((_ro)->ro_rt != rt) { \ - ip_fwdcache.rc_ro = *(_ro); \ - if (rt) \ - RTFREE(rt); \ - } \ - RTCACHE_UNLOCK(); \ -} while (0) - -/* * XXX this is ugly -- the following two global variables are * used to store packet state while it travels through the stack. * Note that the code even makes assumptions on the size and @@ -282,7 +236,7 @@ static void save_rte(u_char *, struct in_addr); static int ip_dooptions(struct mbuf *m, int, struct sockaddr_in *next_hop); -static void ip_forward(struct mbuf *m, struct route *, int srcrt, +static void ip_forward(struct mbuf *m, int srcrt, struct sockaddr_in *next_hop); static void ip_freef(struct ipqhead *, struct ipq *); static struct mbuf *ip_reass(struct mbuf *, struct ipqhead *, @@ -323,9 +277,6 @@ for (i = 0; i < IPREASS_NHASH; i++) TAILQ_INIT(&ipq[i]); - bzero(&ip_fwdcache, sizeof(ip_fwdcache)); - RTCACHE_LOCK_INIT(); - maxnipq = nmbclusters / 32; maxfragsperpacket = 16; @@ -338,39 +289,23 @@ } /* - * Invalidate any cached route used for forwarding. - */ -void -ip_forward_cacheinval(void) -{ - struct rtentry *rt; - - RTCACHE_LOCK(); - rt = ip_fwdcache.rc_ro.ro_rt; - ip_fwdcache.rc_ro.ro_rt = 0; - if (rt != NULL) - RTFREE(rt); - RTCACHE_UNLOCK(); -} - -/* * Ip input routine. Checksum and byte swap header. If fragmented * try to reassemble. Process options. Pass to next level. */ void ip_input(struct mbuf *m) { - struct ip *ip; + struct ip *ip = NULL; struct ipq *fp; struct in_ifaddr *ia = NULL; struct ifaddr *ifa; - int i, hlen, checkif; + int i, checkif, hlen = 0; + int ours = 0; u_short sum; struct in_addr pkt_dst; u_int32_t divert_info = 0; /* packet divert/tee info */ struct ip_fw_args args; - struct route cro; /* copy of cached route */ - int srcrt = 0; /* forward by ``src routing'' */ + int dchg = 0; /* dest changed after fw */ #ifdef PFIL_HOOKS struct in_addr odst; /* original dst address */ #endif @@ -387,8 +322,18 @@ args.divert_rule = 0; /* divert cookie */ args.next_hop = NULL; - /* Grab info from MT_TAG mbufs prepended to the chain. */ - for (; m && m->m_type == MT_TAG; m = m->m_next) { + /* + * Grab info from MT_TAG mbufs prepended to the chain. + * + * XXX: This is ugly. These pseudo mbuf prepend tags should really + * be real m_tags. Before these have always been allocated on the + * callers stack, so we didn't have to free them. Now with + * ip_fastforward they are true mbufs and we have to free them + * otherwise we have a leak. Must rewrite ipfw to use m_tags. + */ + for (; m && m->m_type == MT_TAG;) { + struct mbuf *m0; + switch(m->_m_tag_id) { default: printf("ip_input: unrecognised MT_TAG tag %d\n", @@ -406,11 +351,24 @@ case PACKET_TAG_IPFORWARD: args.next_hop = (struct sockaddr_in *)m->m_hdr.mh_data; break; + + case PACKET_TAG_IPFASTFWD_OURS: + ours = 1; + break; } + + m0 = m; + m = m->m_next; + /* XXX: This is set by ip_fastforward */ + if (m0->m_nextpkt == (struct mbuf *)1) + m_free(m0); } M_ASSERTPKTHDR(m); + if (ours) /* ip_fastforward firewall changed dest to local */ + goto ours; + if (args.rule) { /* dummynet already filtered us */ ip = mtod(m, struct ip *); hlen = ip->ip_hl << 2; @@ -542,7 +500,7 @@ if (m == NULL) /* consumed by filter */ return; ip = mtod(m, struct ip *); - srcrt = (odst.s_addr != ip->ip_dst.s_addr); + dchg = (odst.s_addr != ip->ip_dst.s_addr); #endif /* PFIL_HOOKS */ if (fw_enable && IPFW_LOADED) { @@ -778,8 +736,7 @@ goto bad; } #endif /* FAST_IPSEC */ - RTCACHE_GET(&cro); - ip_forward(m, &cro, srcrt, args.next_hop); + ip_forward(m, dchg, args.next_hop); } return; @@ -1350,7 +1307,6 @@ } } IPQ_UNLOCK(); - ipflow_slowtimo(); splx(s); } @@ -1396,14 +1352,6 @@ struct in_addr *sin, dst; n_time ntime; struct sockaddr_in ipaddr = { sizeof(ipaddr), AF_INET }; - struct route cro; /* copy of cached route */ - - /* - * Grab a copy of the route cache in case we need - * to update to reflect source routing or the like. - * Could optimize this to do it later... - */ - RTCACHE_GET(&cro); dst = ip->ip_dst; cp = (u_char *)(ip + 1); @@ -1523,7 +1471,7 @@ if ((ia = (INA)ifa_ifwithdstaddr((SA)&ipaddr)) == 0) ia = (INA)ifa_ifwithnet((SA)&ipaddr); } else - ia = ip_rtaddr(ipaddr.sin_addr, &cro); + ia = ip_rtaddr(ipaddr.sin_addr); if (ia == 0) { type = ICMP_UNREACH; code = ICMP_UNREACH_SRCFAIL; @@ -1565,7 +1513,7 @@ * use the incoming interface (should be same). */ if ((ia = (INA)ifa_ifwithaddr((SA)&ipaddr)) == 0 && - (ia = ip_rtaddr(ipaddr.sin_addr, &cro)) == 0) { + (ia = ip_rtaddr(ipaddr.sin_addr)) == 0) { type = ICMP_UNREACH; code = ICMP_UNREACH_HOST; goto bad; @@ -1645,7 +1593,7 @@ } } if (forward && ipforwarding) { - ip_forward(m, &cro, 1, next_hop); + ip_forward(m, 1, next_hop); return (1); } return (0); @@ -1660,30 +1608,26 @@ * return internet address info of interface to be used to get there. */ struct in_ifaddr * -ip_rtaddr(dst, rt) +ip_rtaddr(dst) struct in_addr dst; - struct route *rt; { - register struct sockaddr_in *sin; + struct sockaddr_in *sin; + struct in_ifaddr *ifa; + struct route ro; - sin = (struct sockaddr_in *)&rt->ro_dst; + bzero(&ro, sizeof(ro)); + sin = (struct sockaddr_in *)&ro.ro_dst; + sin->sin_family = AF_INET; + sin->sin_len = sizeof(*sin); + sin->sin_addr = dst; + rtalloc_ign(&ro, (RTF_PRCLONING | RTF_CLONING)); - if (rt->ro_rt == 0 || - !(rt->ro_rt->rt_flags & RTF_UP) || - dst.s_addr != sin->sin_addr.s_addr) { - if (rt->ro_rt) { - RTFREE(rt->ro_rt); - rt->ro_rt = 0; - } - sin->sin_family = AF_INET; - sin->sin_len = sizeof(*sin); - sin->sin_addr = dst; + if (ro.ro_rt == 0) + return ((struct in_ifaddr *)0); - rtalloc_ign(rt, RTF_PRCLONING); - } - if (rt->ro_rt == 0) - return ((struct in_ifaddr *)0); - return (ifatoia(rt->ro_rt->rt_ifa)); + ifa = ifatoia(ro.ro_rt->rt_ifa); + RTFREE(ro.ro_rt); + return ifa; } /* @@ -1830,11 +1774,10 @@ * via a source route. */ static void -ip_forward(struct mbuf *m, struct route *ro, - int srcrt, struct sockaddr_in *next_hop) +ip_forward(struct mbuf *m, int srcrt, struct sockaddr_in *next_hop) { struct ip *ip = mtod(m, struct ip *); - struct rtentry *rt; + struct in_ifaddr *ia; int error, type = 0, code = 0; struct mbuf *mcopy; n_long dest; @@ -1844,7 +1787,6 @@ struct ifnet dummyifp; #endif - dest = 0; /* * Cache the destination address of the packet; this may be * changed by use of 'ipfw fwd'. @@ -1869,18 +1811,17 @@ #endif if (ip->ip_ttl <= IPTTLDEC) { icmp_error(m, ICMP_TIMXCEED, ICMP_TIMXCEED_INTRANS, - dest, 0); + 0, 0); return; } #ifdef IPSTEALTH } #endif - if (ip_rtaddr(pkt_dst, ro) == 0) { - icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_HOST, dest, 0); + if ((ia = ip_rtaddr(pkt_dst)) == 0) { + icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_HOST, 0, 0); return; - } else - rt = ro->ro_rt; + } /* * Save the IP header and at most 8 bytes of the payload, @@ -1931,27 +1872,44 @@ * Also, don't send redirect if forwarding using a default route * or a route modified by a redirect. */ - if (rt->rt_ifp == m->m_pkthdr.rcvif && - (rt->rt_flags & (RTF_DYNAMIC|RTF_MODIFIED)) == 0 && - satosin(rt_key(rt))->sin_addr.s_addr != 0 && - ipsendredirects && !srcrt && !next_hop) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:06:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 56DED16A4D0; Fri, 14 Nov 2003 14:06:25 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3076016A4CE for ; Fri, 14 Nov 2003 14:06:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8187343FDF for ; Fri, 14 Nov 2003 14:06:24 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEM6OXJ078049 for ; Fri, 14 Nov 2003 14:06:24 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEM6OGb078046 for perforce@freebsd.org; Fri, 14 Nov 2003 14:06:24 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:06:24 -0800 (PST) Message-Id: <200311142206.hAEM6OGb078046@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42390 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:06:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=42390 Change 42390 by peter@peter_daintree on 2003/11/14 14:06:09 integ -I -b smp_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#10 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#13 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic.c#25 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#7 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.2 2003/11/12 18:13:57 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.3 2003/11/14 21:00:32 jhb Exp $ */ /* @@ -171,7 +171,10 @@ atomic_add_int(&cnt.v_intr, 1); it = isrc->is_ithread; - ih = TAILQ_FIRST(&it->it_handlers); + if (it == NULL) + ih = NULL; + else + ih = TAILQ_FIRST(&it->it_handlers); /* * XXX: We assume that IRQ 0 is only used for the ISA timer ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.226 2003/11/14 20:51:07 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#25 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.4 2003/11/14 19:13:06 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/atpic.c,v 1.5 2003/11/14 21:02:49 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#7 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.39 2003/11/12 18:13:57 jhb Exp $ + * $FreeBSD: src/sys/i386/isa/atpic_vector.s,v 1.40 2003/11/14 20:06:24 peter Exp $ */ /* From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:18:41 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B88F716A4D0; Fri, 14 Nov 2003 14:18:40 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 905E916A4CE for ; Fri, 14 Nov 2003 14:18:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FBCC43FCB for ; Fri, 14 Nov 2003 14:18:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMIdXJ079276 for ; Fri, 14 Nov 2003 14:18:39 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMId8n079204 for perforce@freebsd.org; Fri, 14 Nov 2003 14:18:39 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:18:39 -0800 (PST) Message-Id: <200311142218.hAEMId8n079204@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42391 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:18:41 -0000 X-List-Received-Date: Fri, 14 Nov 2003 22:18:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=42391 Change 42391 by peter@peter_overcee on 2003/11/14 14:18:38 try and clean up some includes Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/identcpu.c#15 edit .. //depot/projects/hammer/sys/amd64/amd64/nexus.c#15 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/identcpu.c#15 (text+ko) ==== @@ -56,12 +56,12 @@ #include #include #include +#include #include #include #include #include -#include /* XXX - should be in header file: */ void printcpuinfo(void); ==== //depot/projects/hammer/sys/amd64/amd64/nexus.c#15 (text+ko) ==== @@ -46,7 +46,6 @@ #include #include #include -#include #include #include #include From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:19:42 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B44D516A4D0; Fri, 14 Nov 2003 14:19:42 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8F6D116A4CE for ; Fri, 14 Nov 2003 14:19:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F13BB43FBF for ; Fri, 14 Nov 2003 14:19:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMJfXJ079359 for ; Fri, 14 Nov 2003 14:19:41 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMJf9S079356 for perforce@freebsd.org; Fri, 14 Nov 2003 14:19:41 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:19:41 -0800 (PST) Message-Id: <200311142219.hAEMJf9S079356@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42392 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:19:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=42392 Change 42392 by peter@peter_overcee on 2003/11/14 14:19:10 $evilness--; Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/madt.c#16 edit Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/madt.c#16 (text+ko) ==== @@ -53,8 +53,6 @@ #include #include -#define bootverbose 1 /* XXX debugging */ - #define NIOAPICS 32 /* Max number of I/O APICs */ #define NLAPICS 32 /* Max number of local APICs */ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:20:44 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB66616A4D0; Fri, 14 Nov 2003 14:20:44 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 86A1316A4CE for ; Fri, 14 Nov 2003 14:20:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E897943FE3 for ; Fri, 14 Nov 2003 14:20:43 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMKhXJ079689 for ; Fri, 14 Nov 2003 14:20:43 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMKhQE079686 for perforce@freebsd.org; Fri, 14 Nov 2003 14:20:43 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:20:43 -0800 (PST) Message-Id: <200311142220.hAEMKhQE079686@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42393 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:20:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=42393 Change 42393 by peter@peter_overcee on 2003/11/14 14:20:38 $evilness--; Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#29 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#29 (text+ko) ==== @@ -60,8 +60,6 @@ #include #include -#define bootverbose 1 - #define WARMBOOT_TARGET 0 #define WARMBOOT_OFF (KERNBASE + 0x0467) #define WARMBOOT_SEG (KERNBASE + 0x0469) From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:38:10 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3115916A4D0; Fri, 14 Nov 2003 14:38:10 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0B74516A4CE for ; Fri, 14 Nov 2003 14:38:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B6D343FEC for ; Fri, 14 Nov 2003 14:38:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMc7XJ080586 for ; Fri, 14 Nov 2003 14:38:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMc7hj080583 for perforce@freebsd.org; Fri, 14 Nov 2003 14:38:07 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:38:07 -0800 (PST) Message-Id: <200311142238.hAEMc7hj080583@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42397 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:38:10 -0000 X-List-Received-Date: Fri, 14 Nov 2003 22:38:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=42397 Change 42397 by peter@peter_daintree on 2003/11/14 14:37:09 IFC @42396 Affected files ... .. //depot/projects/hammer/sys/amd64/include/clock.h#10 integrate .. //depot/projects/hammer/sys/amd64/isa/clock.c#13 integrate .. //depot/projects/hammer/sys/i386/acpica/madt.c#5 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#6 integrate .. //depot/projects/hammer/sys/i386/include/apicvar.h#5 integrate .. //depot/projects/hammer/sys/i386/include/mptable.h#2 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/include/clock.h#10 (text+ko) ==== @@ -3,7 +3,7 @@ * Garrett Wollman, September 1994. * This file is in the public domain. * - * $FreeBSD: src/sys/amd64/include/clock.h,v 1.47 2003/09/30 06:38:11 peter Exp $ + * $FreeBSD: src/sys/amd64/include/clock.h,v 1.48 2003/11/14 22:34:43 peter Exp $ */ #ifndef _MACHINE_CLOCK_H_ @@ -31,10 +31,6 @@ */ struct clockframe; -#ifndef BURN_BRIDGES -int acquire_timer0(int rate, void (*function)(struct clockframe *frame)); -int release_timer0(void); -#endif int acquire_timer2(int mode); int release_timer2(void); int rtcin(int val); ==== //depot/projects/hammer/sys/amd64/isa/clock.c#13 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.204 2003/09/30 06:42:47 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.205 2003/11/14 22:34:43 peter Exp $"); /* * Routines to handle clock hardware. @@ -94,24 +94,6 @@ #define TIMER_DIV(x) ((timer_freq + (x) / 2) / (x)) -#ifndef BURN_BRIDGES -/* - * Time in timer cycles that it takes for microtime() to disable interrupts - * and latch the count. microtime() currently uses "cli; outb ..." so it - * normally takes less than 2 timer cycles. Add a few for cache misses. - * Add a few more to allow for latency in bogus calls to microtime() with - * interrupts already disabled. - */ -#define TIMER0_LATCH_COUNT 20 - -/* - * Maximum frequency that we are willing to allow for timer0. Must be - * low enough to guarantee that the timer interrupt handler returns - * before the next timer interrupt. - */ -#define TIMER0_MAX_FREQ 20000 -#endif - int adjkerntz; /* local offset from GMT in seconds */ int clkintr_pending; int disable_rtc_set; /* disable resettodr() if != 0 */ @@ -132,19 +114,6 @@ static u_int32_t i8254_lastcount; static u_int32_t i8254_offset; static int i8254_ticked; -static struct intsrc *i8254_intsrc; -#ifndef BURN_BRIDGES -/* - * XXX new_function and timer_func should not handle clockframes, but - * timer_func currently needs to hold hardclock to handle the - * timer0_state == 0 case. We should use inthand_add()/inthand_remove() - * to switch between clkintr() and a slightly different timerintr(). - */ -static void (*new_function)(struct clockframe *frame); -static u_int new_rate; -static u_int timer0_prescaler_count; -static u_char timer0_state; -#endif static u_char rtc_statusa = RTCSA_DIVIDER | RTCSA_NOPROF; static u_char rtc_statusb = RTCSB_24HR | RTCSB_PINTR; @@ -184,103 +153,8 @@ clkintr_pending = 0; mtx_unlock_spin(&clock_lock); } - timer_func(frame); -#ifdef SMP - if (timer_func == hardclock) - forward_hardclock(); -#endif -#ifndef BURN_BRIDGES - switch (timer0_state) { - - case RELEASED: - break; - - case ACQUIRED: - if ((timer0_prescaler_count += timer0_max_count) - >= hardclock_max_count) { - timer0_prescaler_count -= hardclock_max_count; - hardclock(frame); -#ifdef SMP - forward_hardclock(); -#endif - } - break; - - case ACQUIRE_PENDING: - mtx_lock_spin(&clock_lock); - i8254_offset = i8254_get_timecount(NULL); - i8254_lastcount = 0; - timer0_max_count = TIMER_DIV(new_rate); - outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT); - outb(TIMER_CNTR0, timer0_max_count & 0xff); - outb(TIMER_CNTR0, timer0_max_count >> 8); - mtx_unlock_spin(&clock_lock); - timer_func = new_function; - timer0_state = ACQUIRED; - break; - - case RELEASE_PENDING: - if ((timer0_prescaler_count += timer0_max_count) - >= hardclock_max_count) { - mtx_lock_spin(&clock_lock); - i8254_offset = i8254_get_timecount(NULL); - i8254_lastcount = 0; - timer0_max_count = hardclock_max_count; - outb(TIMER_MODE, - TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT); - outb(TIMER_CNTR0, timer0_max_count & 0xff); - outb(TIMER_CNTR0, timer0_max_count >> 8); - mtx_unlock_spin(&clock_lock); - timer0_prescaler_count = 0; - timer_func = hardclock; - timer0_state = RELEASED; - hardclock(frame); -#ifdef SMP - forward_hardclock(); -#endif - } - break; - } -#endif -} - -#ifndef BURN_BRIDGES -/* - * The acquire and release functions must be called at ipl >= splclock(). - */ -int -acquire_timer0(int rate, void (*function)(struct clockframe *frame)) -{ - static int old_rate; - - if (rate <= 0 || rate > TIMER0_MAX_FREQ) - return (-1); - switch (timer0_state) { - - case RELEASED: - timer0_state = ACQUIRE_PENDING; - break; - - case RELEASE_PENDING: - if (rate != old_rate) - return (-1); - /* - * The timer has been released recently, but is being - * re-acquired before the release completed. In this - * case, we simply reclaim it as if it had not been - * released at all. - */ - timer0_state = ACQUIRED; - break; - - default: - return (-1); /* busy */ - } - new_function = function; - old_rate = new_rate = rate; - return (0); + timer_func(&frame); } -#endif int acquire_timer2(int mode) @@ -302,29 +176,7 @@ return (0); } -#ifndef BURN_BRIDGES int -release_timer0() -{ - switch (timer0_state) { - - case ACQUIRED: - timer0_state = RELEASE_PENDING; - break; - - case ACQUIRE_PENDING: - /* Nothing happened yet, release quickly. */ - timer0_state = RELEASED; - break; - - default: - return (-1); - } - return (0); -} -#endif - -int release_timer2() { @@ -942,10 +794,6 @@ freq = timer_freq; error = sysctl_handle_int(oidp, &freq, sizeof(freq), req); if (error == 0 && req->newptr != NULL) { -#ifndef BURN_BRIDGES - if (timer0_state != RELEASED) - return (EBUSY); /* too much trouble to handle */ -#endif set_timer_freq(freq, hz); i8254_timecounter.tc_frequency = freq; } ==== //depot/projects/hammer/sys/i386/acpica/madt.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.6 2003/11/11 18:20:10 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.7 2003/11/14 22:26:29 peter Exp $"); #include #include @@ -200,7 +200,9 @@ */ if (AcpiOsGetRootPointer(ACPI_LOGICAL_ADDRESSING, &rsdp_ptr) != AE_OK) return (ENXIO); +#ifdef __i386__ KASSERT(rsdp_ptr.Pointer.Physical < KERNLOAD, ("RSDP too high")); +#endif rsdp = pmap_mapdev(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); if (rsdp == NULL) { if (bootverbose) @@ -308,8 +310,8 @@ madt = pmap_mapdev(madt_physaddr, madt_length); lapic_init((uintptr_t)madt->LocalApicAddress); printf("ACPI APIC Table: <%.*s %.*s>\n", - sizeof(madt->Header.OemId), madt->Header.OemId, - sizeof(madt->Header.OemTableId), madt->Header.OemTableId); + (int)sizeof(madt->Header.OemId), madt->Header.OemId, + (int)sizeof(madt->Header.OemTableId), madt->Header.OemTableId); /* * We ignore 64-bit local APIC override entries. Should we @@ -419,7 +421,7 @@ if (bootverbose) printf("MADT: Found IO APIC ID %d, Vector %d at %p\n", apic->IoApicId, apic->Vector, - (void *)apic->IoApicAddress); + (void *)(uintptr_t)apic->IoApicAddress); if (apic->IoApicId >= NIOAPICS) panic("%s: I/O APIC ID %d too high", __func__, apic->IoApicId); ==== //depot/projects/hammer/sys/i386/i386/mptable.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.226 2003/11/14 20:51:07 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.227 2003/11/14 22:29:21 peter Exp $"); #include "opt_mptable_force_htt.h" #include @@ -321,8 +321,8 @@ printf("Preset Config %d", mpfps->config_type); } else { lapic_init((uintptr_t)mpct->apic_address); - printf("%.*s %.*s", sizeof(mpct->oem_id), mpct->oem_id, - sizeof(mpct->product_id), mpct->product_id); + printf("%.*s %.*s", (int)sizeof(mpct->oem_id), mpct->oem_id, + (int)sizeof(mpct->product_id), mpct->product_id); } printf(">\n"); return (0); ==== //depot/projects/hammer/sys/i386/include/apicvar.h#5 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.4 2003/11/14 19:10:13 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.5 2003/11/14 22:21:30 peter Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -40,7 +40,7 @@ * Layout of local APIC interrupt vectors: * * 0xff (255) +-------------+ - * | | 15 (Spurious / IPIs / Local Interrupts ) + * | | 15 (Spurious / IPIs / Local Interrupts) * 0xf0 (240) +-------------+ * | | 14 (I/O Interrupts) * 0xe0 (224) +-------------+ ==== //depot/projects/hammer/sys/i386/include/mptable.h#2 (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/i386/include/mptable.h,v 1.220 2003/11/03 22:12:37 jhb Exp $ + * $FreeBSD: src/sys/i386/include/mptable.h,v 1.221 2003/11/14 22:23:30 peter Exp $ */ #ifndef __MACHINE_MPTABLE_H__ @@ -41,7 +41,7 @@ /* MP Floating Pointer Structure */ typedef struct MPFPS { char signature[4]; - void *pap; + u_int32_t pap; u_char length; u_char spec_rev; u_char checksum; @@ -63,10 +63,10 @@ u_char checksum; u_char oem_id[8]; u_char product_id[12]; - void *oem_table_pointer; + u_int32_t oem_table_pointer; u_short oem_table_size; u_short entry_count; - void *apic_address; + u_int32_t apic_address; u_short extended_table_length; u_char extended_table_checksum; u_char reserved; @@ -103,7 +103,7 @@ u_char apic_id; u_char apic_version; u_char apic_flags; - void *apic_address; + u_int32_t apic_address; } *io_apic_entry_ptr; #define IOAPICENTRY_FLAG_EN 0x01 From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:38:11 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA46616A4D4; Fri, 14 Nov 2003 14:38:10 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 352F116A4CE for ; Fri, 14 Nov 2003 14:38:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E8C2B43F75 for ; Fri, 14 Nov 2003 14:38:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMc8XJ080592 for ; Fri, 14 Nov 2003 14:38:08 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMc8p6080589 for perforce@freebsd.org; Fri, 14 Nov 2003 14:38:08 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:38:08 -0800 (PST) Message-Id: <200311142238.hAEMc8p6080589@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42398 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:38:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=42398 Change 42398 by peter@peter_daintree on 2003/11/14 14:38:06 Integ -I -b smp_hammer to pick up changes via i386. I love it when this stuff Just Works. Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/madt.c#17 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#14 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#15 integrate .. //depot/projects/hammer/sys/amd64/include/mptable.h#5 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/madt.c#17 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.6 2003/11/11 18:20:10 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/acpica/madt.c,v 1.7 2003/11/14 22:26:29 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#14 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.226 2003/11/14 20:51:07 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.227 2003/11/14 22:29:21 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#15 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.4 2003/11/14 19:10:13 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicvar.h,v 1.5 2003/11/14 22:21:30 peter Exp $ */ #ifndef _MACHINE_APICVAR_H_ ==== //depot/projects/hammer/sys/amd64/include/mptable.h#5 (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/i386/include/mptable.h,v 1.220 2003/11/03 22:12:37 jhb Exp $ + * $FreeBSD: src/sys/i386/include/mptable.h,v 1.221 2003/11/14 22:23:30 peter Exp $ */ #ifndef __MACHINE_MPTABLE_H__ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:53:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F04B16A4D0; Fri, 14 Nov 2003 14:53:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 77A7416A4CE for ; Fri, 14 Nov 2003 14:53:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9DE443FBF for ; Fri, 14 Nov 2003 14:53:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMrSXJ081705 for ; Fri, 14 Nov 2003 14:53:28 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMrSho081702 for perforce@freebsd.org; Fri, 14 Nov 2003 14:53:28 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:53:28 -0800 (PST) Message-Id: <200311142253.hAEMrSho081702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:53:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=42400 Change 42400 by peter@peter_daintree on 2003/11/14 14:53:14 avoid futzing around with alfred's changes for now. Affected files ... .. //depot/projects/hammer/sys/nfsclient/krpc_subr.c#6 edit Differences ... ==== //depot/projects/hammer/sys/nfsclient/krpc_subr.c#6 (text+ko) ==== @@ -98,7 +98,7 @@ struct auth_info rpc_verf; }; -struct rpc_reply { +struct krpc_reply { u_int32_t rp_xid; /* request transaction id */ int32_t rp_direction; /* call direction (1) */ int32_t rp_astatus; /* accept status (0: accepted) */ @@ -195,7 +195,7 @@ struct sockaddr *from; struct mbuf *m, *nam, *mhead; struct rpc_call *call; - struct rpc_reply *reply; + struct krpc_reply *reply; struct sockopt sopt; struct timeval tv; struct uio auio; @@ -372,7 +372,7 @@ continue; if (m->m_len < MIN_REPLY_HDR) continue; - reply = mtod(m, struct rpc_reply *); + reply = mtod(m, struct krpc_reply *); /* Is it the right reply? */ if (reply->rp_direction != txdr_unsigned(RPC_REPLY)) @@ -421,7 +421,7 @@ goto out; } } - reply = mtod(m, struct rpc_reply *); + reply = mtod(m, struct krpc_reply *); if (reply->rp_auth.authtype != 0) { len += fxdr_unsigned(u_int32_t, reply->rp_auth.authlen); len = (len + 3) & ~3; /* XXX? */ From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:55:33 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4A2816A4D0; Fri, 14 Nov 2003 14:55:32 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9B00F16A4CE for ; Fri, 14 Nov 2003 14:55:32 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1AC7843F85 for ; Fri, 14 Nov 2003 14:55:32 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMtVXJ081800 for ; Fri, 14 Nov 2003 14:55:31 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMtVCg081797 for perforce@freebsd.org; Fri, 14 Nov 2003 14:55:31 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:55:31 -0800 (PST) Message-Id: <200311142255.hAEMtVCg081797@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42401 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:55:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=42401 Change 42401 by peter@peter_daintree on 2003/11/14 14:55:16 fix a couple more alfred-droppings Affected files ... .. //depot/projects/hammer/sys/nfs4client/nfs4_subs.c#2 edit .. //depot/projects/hammer/sys/rpc/rpcclnt.c#2 edit Differences ... ==== //depot/projects/hammer/sys/nfs4client/nfs4_subs.c#2 (text+ko) ==== @@ -717,7 +717,8 @@ int nfsm_v4build_attrs_xx(struct vattr *vap, struct mbuf **mb, caddr_t *bpos) { - uint32_t *tl, *attrlenp, *bmvalp, siz, len; + uint32_t *tl, *attrlenp, *bmvalp, len; + size_t siz; tl = nfsm_build_xx(4 * NFSX_UNSIGNED, mb, bpos); ==== //depot/projects/hammer/sys/rpc/rpcclnt.c#2 (text+ko) ==== @@ -836,7 +836,7 @@ } while (error == EWOULDBLOCK); if (!error && auio.uio_resid > 0) { log(LOG_INFO, - "short receive (%d/%d) from rpc server %s\n", + "short receive (%zd/%zd) from rpc server %s\n", sizeof(u_int32_t) - auio.uio_resid, sizeof(u_int32_t), rep->r_rpcclnt->rc_prog->prog_name); From owner-p4-projects@FreeBSD.ORG Fri Nov 14 14:58:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B2AF16A4D0; Fri, 14 Nov 2003 14:58:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EAD5E16A4CE for ; Fri, 14 Nov 2003 14:58:36 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6EF2743FB1 for ; Fri, 14 Nov 2003 14:58:36 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAEMwaXJ081933 for ; Fri, 14 Nov 2003 14:58:36 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAEMwaq2081930 for perforce@freebsd.org; Fri, 14 Nov 2003 14:58:36 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 14:58:36 -0800 (PST) Message-Id: <200311142258.hAEMwaq2081930@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 22:58:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=42402 Change 42402 by peter@peter_daintree on 2003/11/14 14:58:01 fix merge-o's Affected files ... .. //depot/projects/hammer/sys/amd64/isa/clock.c#14 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/clock.c#14 (text+ko) ==== @@ -114,6 +114,7 @@ static u_int32_t i8254_lastcount; static u_int32_t i8254_offset; static int i8254_ticked; +static struct intsrc *i8254_intsrc; static u_char rtc_statusa = RTCSA_DIVIDER | RTCSA_NOPROF; static u_char rtc_statusb = RTCSB_24HR | RTCSB_PINTR; @@ -153,7 +154,7 @@ clkintr_pending = 0; mtx_unlock_spin(&clock_lock); } - timer_func(&frame); + timer_func(frame); } int From owner-p4-projects@FreeBSD.ORG Fri Nov 14 15:14:59 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F306616A4D0; Fri, 14 Nov 2003 15:14:58 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CD7E216A4CE for ; Fri, 14 Nov 2003 15:14:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D37743F3F for ; Fri, 14 Nov 2003 15:14:58 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAENEwXJ083600 for ; Fri, 14 Nov 2003 15:14:58 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAENEvDS083597 for perforce@freebsd.org; Fri, 14 Nov 2003 15:14:57 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 15:14:57 -0800 (PST) Message-Id: <200311142314.hAENEvDS083597@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42405 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 23:14:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=42405 Change 42405 by peter@peter_daintree on 2003/11/14 15:14:36 if you include 'device atpic', you get mixed mode by default too. Sigh. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#18 edit .. //depot/projects/hammer/sys/conf/options.amd64#17 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#18 (text+ko) ==== @@ -30,6 +30,7 @@ #include __FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.6 2003/11/12 18:13:57 jhb Exp $"); +#include "opt_atpic.h" #include "opt_isa.h" #include "opt_mixed_mode.h" @@ -50,8 +51,8 @@ #include #include -#if defined(MIXED_MODE) && !defined(DEV_ISA) -#error "You need the isa device for mixed mode!"; +#if defined(DEV_ISA) && defined(DEV_ATPIC) && !defined(NO_MIXED_MODE) +#define MIXED_MODE #endif #define IOAPIC_ISA_INTS 16 ==== //depot/projects/hammer/sys/conf/options.amd64#17 (text+ko) ==== @@ -31,5 +31,5 @@ PSM_RESETAFTERSUSPEND opt_psm.h PSM_DEBUG opt_psm.h IA32 -MIXED_MODE +NO_MIXED_MODE DEV_ATPIC opt_atpic.h From owner-p4-projects@FreeBSD.ORG Fri Nov 14 15:18:03 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62E5E16A4D0; Fri, 14 Nov 2003 15:18:03 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3B22416A4CE for ; Fri, 14 Nov 2003 15:18:03 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A05D343FE0 for ; Fri, 14 Nov 2003 15:18:02 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAENI2XJ083725 for ; Fri, 14 Nov 2003 15:18:02 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAENI257083722 for perforce@freebsd.org; Fri, 14 Nov 2003 15:18:02 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 15:18:02 -0800 (PST) Message-Id: <200311142318.hAENI257083722@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42406 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2003 23:18:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=42406 Change 42406 by peter@peter_daintree on 2003/11/14 15:17:22 read jhb's copy instead of this one. Affected files ... .. //depot/projects/hammer/sys/jhb_notes#11 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Nov 14 16:24:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A5D516A4D0; Fri, 14 Nov 2003 16:24:25 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 344D416A4CE for ; Fri, 14 Nov 2003 16:24:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8AC1743FBD for ; Fri, 14 Nov 2003 16:24:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAF0OOXJ087347 for ; Fri, 14 Nov 2003 16:24:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAF0OOBr087344 for perforce@freebsd.org; Fri, 14 Nov 2003 16:24:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 14 Nov 2003 16:24:24 -0800 (PST) Message-Id: <200311150024.hAF0OOBr087344@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42409 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 00:24:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=42409 Change 42409 by rwatson@rwatson_paprika on 2003/11/14 16:23:56 mac_relabel_cred() takes two cred labels, no vnode labels. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#120 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#120 (text+ko) ==== @@ -1206,7 +1206,7 @@ { ASSERT_CRED_LABEL(cred->cr_label); - ASSERT_VNODE_LABEL(newlabel); + ASSERT_CRED_LABEL(newlabel); } static int From owner-p4-projects@FreeBSD.ORG Fri Nov 14 16:45:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DBC216A4D0; Fri, 14 Nov 2003 16:45:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 54B2E16A4CE for ; Fri, 14 Nov 2003 16:45:52 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB69543FE0 for ; Fri, 14 Nov 2003 16:45:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAF0jpXJ088361 for ; Fri, 14 Nov 2003 16:45:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAF0jpY6088358 for perforce@freebsd.org; Fri, 14 Nov 2003 16:45:51 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 14 Nov 2003 16:45:51 -0800 (PST) Message-Id: <200311150045.hAF0jpY6088358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42411 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 00:45:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=42411 Change 42411 by rwatson@rwatson_tislabs on 2003/11/14 16:45:50 Force users of the MAC branch to use MAC_TEST module. Affected files ... .. //depot/projects/trustedbsd/mac/sys/i386/conf/MAC#50 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/i386/conf/MAC#50 (text+ko) ==== @@ -33,6 +33,7 @@ options MAC #options MAC_ALWAYS_LABEL_MBUF options MAC_DEBUG +options MAC_TEST #options MAC_STATIC options UFS_EXTATTR options UFS_EXTATTR_AUTOSTART From owner-p4-projects@FreeBSD.ORG Fri Nov 14 18:00:27 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3962A16A4D0; Fri, 14 Nov 2003 18:00:27 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 14F9C16A4CE for ; Fri, 14 Nov 2003 18:00:27 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 751C543F85 for ; Fri, 14 Nov 2003 18:00:26 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAF20QXJ098098 for ; Fri, 14 Nov 2003 18:00:26 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAF20P66098095 for perforce@freebsd.org; Fri, 14 Nov 2003 18:00:25 -0800 (PST) (envelope-from sam@freebsd.org) Date: Fri, 14 Nov 2003 18:00:25 -0800 (PST) Message-Id: <200311150200.hAF20P66098095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42417 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 02:00:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=42417 Change 42417 by sam@sam_ebb on 2003/11/14 18:00:04 on a beacon miss try to reassociate before starting a scan Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#36 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#36 (text+ko) ==== @@ -490,8 +490,15 @@ DPRINTF(("ath_bmiss_proc: pending %u\n", pending)); KASSERT(ic->ic_opmode == IEEE80211_M_STA, ("unexpect operating mode %u", ic->ic_opmode)); - if (ic->ic_state == IEEE80211_S_RUN) - ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); + if (ic->ic_state == IEEE80211_S_RUN) { + /* + * Rather than go directly to scan state, try to + * reassociate first. If that fails then the state + * machine will drop us into scanning after timing + * out waiting for a probe response. + */ + ieee80211_new_state(ic, IEEE80211_S_ASSOC, -1); + } } static u_int From owner-p4-projects@FreeBSD.ORG Fri Nov 14 18:59:44 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9CF4F16A4D0; Fri, 14 Nov 2003 18:59:44 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7802E16A4CE for ; Fri, 14 Nov 2003 18:59:44 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF4A843FF7 for ; Fri, 14 Nov 2003 18:59:43 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAF2xhXJ002012 for ; Fri, 14 Nov 2003 18:59:43 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAF2xhMC002009 for perforce@freebsd.org; Fri, 14 Nov 2003 18:59:43 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 18:59:43 -0800 (PST) Message-Id: <200311150259.hAF2xhMC002009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 02:59:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=42421 Change 42421 by peter@peter_daintree on 2003/11/14 18:59:33 Work around 'binutils knows best' Affected files ... .. //depot/projects/hammer/contrib/binutils/bfd/elf64-x86-64.c#3 edit Differences ... ==== //depot/projects/hammer/contrib/binutils/bfd/elf64-x86-64.c#3 (text+ko) ==== @@ -667,7 +667,7 @@ cannot be used in shared libs. Don't error out for sections we don't care about, such as debug sections or non-constant sections. */ - if (info->shared + if (getenv("BINUTILS_BITE_ME_HARDER") == NULL && info->shared && (sec->flags & SEC_ALLOC) != 0 && (sec->flags & SEC_READONLY) != 0) { From owner-p4-projects@FreeBSD.ORG Fri Nov 14 19:06:54 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2DDD16A4D0; Fri, 14 Nov 2003 19:06:53 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CEF2A16A4CE for ; Fri, 14 Nov 2003 19:06:53 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3CAFB43FB1 for ; Fri, 14 Nov 2003 19:06:53 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAF36rXJ003215 for ; Fri, 14 Nov 2003 19:06:53 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAF36qCI003212 for perforce@freebsd.org; Fri, 14 Nov 2003 19:06:52 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 14 Nov 2003 19:06:52 -0800 (PST) Message-Id: <200311150306.hAF36qCI003212@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42422 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 03:06:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=42422 Change 42422 by rwatson@rwatson_tislabs on 2003/11/14 19:06:46 Let mac_prepare_type() initialize the internal database, rather than initializing in the older wrapper functions. Otherwise, the database isn't initialized if applications only use mac_prepare_type(). Affected files ... .. //depot/projects/trustedbsd/mac/lib/libc/posix1e/mac.c#12 edit Differences ... ==== //depot/projects/trustedbsd/mac/lib/libc/posix1e/mac.c#12 (text+ko) ==== @@ -358,9 +358,15 @@ mac_prepare_type(struct mac **mac, const char *name) { struct label_default *ld; + int error; + error = mac_maybe_init_internal(); + if (error != 0) + return (error); + for (ld = LIST_FIRST(&label_default_head); ld != NULL; ld = LIST_NEXT(ld, ld_entries)) { + printf("%s\n", ld->ld_name); if (strcmp(name, ld->ld_name) == 0) return (mac_prepare(mac, ld->ld_labels)); } @@ -372,23 +378,13 @@ int mac_prepare_ifnet_label(struct mac **mac) { - int error; - error = mac_maybe_init_internal(); - if (error != 0) - return (error); - return (mac_prepare_type(mac, "ifnet")); } int mac_prepare_file_label(struct mac **mac) { - int error; - - error = mac_maybe_init_internal(); - if (error != 0) - return (error); return (mac_prepare_type(mac, "file")); } @@ -396,23 +392,13 @@ int mac_prepare_packet_label(struct mac **mac) { - int error; - error = mac_maybe_init_internal(); - if (error != 0) - return (error); - return (mac_prepare_type(mac, "packet")); } int mac_prepare_process_label(struct mac **mac) { - int error; - - error = mac_maybe_init_internal(); - if (error != 0) - return (error); return (mac_prepare_type(mac, "process")); } From owner-p4-projects@FreeBSD.ORG Fri Nov 14 19:18:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 23A2416A4D0; Fri, 14 Nov 2003 19:18:08 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F3C5D16A4CE for ; Fri, 14 Nov 2003 19:18:07 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F63143FCB for ; Fri, 14 Nov 2003 19:18:07 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAF3I7XJ003665 for ; Fri, 14 Nov 2003 19:18:07 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAF3I6GJ003662 for perforce@freebsd.org; Fri, 14 Nov 2003 19:18:06 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 14 Nov 2003 19:18:06 -0800 (PST) Message-Id: <200311150318.hAF3I6GJ003662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42423 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 03:18:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=42423 Change 42423 by peter@peter_daintree on 2003/11/14 19:17:32 enable module building Affected files ... .. //depot/projects/hammer/sys/conf/kmod.mk#12 edit Differences ... ==== //depot/projects/hammer/sys/conf/kmod.mk#12 (text+ko) ==== @@ -126,6 +126,7 @@ .endif ${FULLPROG}: ${KMOD}.kld + env BINUTILS_BITE_ME_HARDER=true \ ${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld EXPORT_SYMS?= NO From owner-p4-projects@FreeBSD.ORG Fri Nov 14 20:06:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B634616A4D1; Fri, 14 Nov 2003 20:06:08 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B55116A4CF for ; Fri, 14 Nov 2003 20:06:08 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF09F43FBF for ; Fri, 14 Nov 2003 20:06:07 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAF467XJ006587 for ; Fri, 14 Nov 2003 20:06:07 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAF467N8006584 for perforce@freebsd.org; Fri, 14 Nov 2003 20:06:07 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 14 Nov 2003 20:06:07 -0800 (PST) Message-Id: <200311150406.hAF467N8006584@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42426 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 04:06:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=42426 Change 42426 by rwatson@rwatson_tislabs on 2003/11/14 20:05:30 Remove debugging printf. Affected files ... .. //depot/projects/trustedbsd/mac/lib/libc/posix1e/mac.c#13 edit Differences ... ==== //depot/projects/trustedbsd/mac/lib/libc/posix1e/mac.c#13 (text+ko) ==== @@ -366,7 +366,6 @@ for (ld = LIST_FIRST(&label_default_head); ld != NULL; ld = LIST_NEXT(ld, ld_entries)) { - printf("%s\n", ld->ld_name); if (strcmp(name, ld->ld_name) == 0) return (mac_prepare(mac, ld->ld_labels)); } From owner-p4-projects@FreeBSD.ORG Sat Nov 15 12:05:07 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 520EB16A4D0; Sat, 15 Nov 2003 12:05:07 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 28B1616A4CE for ; Sat, 15 Nov 2003 12:05:07 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A5D843FE0 for ; Sat, 15 Nov 2003 12:05:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAFK56XJ089910 for ; Sat, 15 Nov 2003 12:05:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAFK567g089907 for perforce@freebsd.org; Sat, 15 Nov 2003 12:05:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 15 Nov 2003 12:05:06 -0800 (PST) Message-Id: <200311152005.hAFK567g089907@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42482 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 20:05:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=42482 Change 42482 by rwatson@rwatson_paprika on 2003/11/15 12:04:15 Whitespace. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#13 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#13 (text+ko) ==== @@ -234,7 +234,7 @@ if (error) { MAC_PERFORM(destroy_socket_label, label); mac_labelzone_free(label); - return (NULL); + return (NULL); } MAC_DEBUG_COUNTER_INC(&nmacsockets); return (label); @@ -254,7 +254,7 @@ if (error) { MAC_PERFORM(destroy_socket_peer_label, label); mac_labelzone_free(label); - return (NULL); + return (NULL); } MAC_DEBUG_COUNTER_INC(&nmacsockets); return (label); From owner-p4-projects@FreeBSD.ORG Sat Nov 15 12:08:14 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF25E16A4D0; Sat, 15 Nov 2003 12:08:13 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A263616A4CE for ; Sat, 15 Nov 2003 12:08:13 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0457A43FD7 for ; Sat, 15 Nov 2003 12:08:12 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAFK8BXJ090177 for ; Sat, 15 Nov 2003 12:08:11 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAFK8B7c090174 for perforce@freebsd.org; Sat, 15 Nov 2003 12:08:11 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 15 Nov 2003 12:08:11 -0800 (PST) Message-Id: <200311152008.hAFK8B7c090174@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42484 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 20:08:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=42484 Change 42484 by rwatson@rwatson_tislabs on 2003/11/15 12:07:46 Add labels to struct inpcb, which for most policies will simply cache the label stored in struct socket. This will permit policies to enforce protections during delivery of an mbuf to an inpcb without reaching up to the socket layer to read a label protected by what will eventually be the socket lock. For all inpcb-related protocols, the inpcb label is now used for the delivery check. For non-inpcb related protocols (netatalk, etc), the socket label is still used. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/uipc_socket2.c#37 edit .. //depot/projects/trustedbsd/mac/sys/kern/uipc_usrreq.c#29 edit .. //depot/projects/trustedbsd/mac/sys/net/raw_usrreq.c#10 edit .. //depot/projects/trustedbsd/mac/sys/net/rtsock.c#21 edit .. //depot/projects/trustedbsd/mac/sys/netatalk/ddp_usrreq.c#11 edit .. //depot/projects/trustedbsd/mac/sys/netatm/atm_aal5.c#7 edit .. //depot/projects/trustedbsd/mac/sys/netatm/atm_usrreq.c#9 edit .. //depot/projects/trustedbsd/mac/sys/netgraph/bluetooth/socket/ng_btsocket.c#5 edit .. //depot/projects/trustedbsd/mac/sys/netgraph/ng_socket.c#11 edit .. //depot/projects/trustedbsd/mac/sys/netinet/in_pcb.c#24 edit .. //depot/projects/trustedbsd/mac/sys/netinet/in_pcb.h#20 edit .. //depot/projects/trustedbsd/mac/sys/netinet/ip_divert.c#18 edit .. //depot/projects/trustedbsd/mac/sys/netinet/raw_ip.c#28 edit .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_input.c#45 edit .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_usrreq.c#17 edit .. //depot/projects/trustedbsd/mac/sys/netinet/udp_usrreq.c#26 edit .. //depot/projects/trustedbsd/mac/sys/netinet6/raw_ip6.c#11 edit .. //depot/projects/trustedbsd/mac/sys/netinet6/udp6_usrreq.c#15 edit .. //depot/projects/trustedbsd/mac/sys/netipsec/keysock.c#6 edit .. //depot/projects/trustedbsd/mac/sys/netipx/ipx_usrreq.c#9 edit .. //depot/projects/trustedbsd/mac/sys/netipx/spx_usrreq.c#8 edit .. //depot/projects/trustedbsd/mac/sys/netkey/keysock.c#14 edit .. //depot/projects/trustedbsd/mac/sys/netnatm/natm.c#14 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#14 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#232 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_ifoff/mac_ifoff.c#23 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#77 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#187 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#11 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#121 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#251 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#202 edit .. //depot/projects/trustedbsd/mac/sys/sys/protosw.h#7 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/uipc_socket2.c#37 (text+ko) ==== @@ -1042,6 +1042,16 @@ } /* + * For protocol types that don't keep cached copies of labels in their + * pcbs, provide a null sosetlabel that does a NOOP. + */ +void +pru_sosetlabel_null(struct socket *so) +{ + +} + +/* * Make a copy of a sockaddr in a malloced buffer of type M_SONAME. */ struct sockaddr * ==== //depot/projects/trustedbsd/mac/sys/kern/uipc_usrreq.c#29 (text+ko) ==== @@ -450,7 +450,7 @@ uipc_connect2, pru_control_notsupp, uipc_detach, uipc_disconnect, uipc_listen, uipc_peeraddr, uipc_rcvd, pru_rcvoob_notsupp, uipc_send, uipc_sense, uipc_shutdown, uipc_sockaddr, - sosend, soreceive, sopoll + sosend, soreceive, sopoll, pru_sosetlabel_null }; int ==== //depot/projects/trustedbsd/mac/sys/net/raw_usrreq.c#10 (text+ko) ==== @@ -295,5 +295,5 @@ pru_connect2_notsupp, pru_control_notsupp, raw_udetach, raw_udisconnect, pru_listen_notsupp, raw_upeeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, raw_usend, pru_sense_null, raw_ushutdown, - raw_usockaddr, sosend, soreceive, sopoll + raw_usockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null }; ==== //depot/projects/trustedbsd/mac/sys/net/rtsock.c#21 (text+ko) ==== @@ -270,7 +270,7 @@ pru_connect2_notsupp, pru_control_notsupp, rts_detach, rts_disconnect, pru_listen_notsupp, rts_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, rts_send, pru_sense_null, rts_shutdown, rts_sockaddr, - sosend, soreceive, sopoll + sosend, soreceive, sopoll, pru_sosetlabel_null }; /*ARGSUSED*/ ==== //depot/projects/trustedbsd/mac/sys/netatalk/ddp_usrreq.c#11 (text+ko) ==== @@ -590,5 +590,6 @@ at_setsockaddr, sosend, soreceive, - sopoll + sopoll, + pru_sosetlabel_null }; ==== //depot/projects/trustedbsd/mac/sys/netatm/atm_aal5.c#7 (text+ko) ==== @@ -112,7 +112,8 @@ atm_aal5_sockaddr, /* pru_sockaddr */ sosend, /* pru_sosend */ soreceive, /* pru_soreceive */ - sopoll /* pru_sopoll */ + sopoll, /* pru_sopoll */ + pru_sosetlabel_null /* pru_sosetlabel */ }; /* ==== //depot/projects/trustedbsd/mac/sys/netatm/atm_usrreq.c#9 (text+ko) ==== @@ -83,6 +83,10 @@ pru_sense_null, /* pru_sense */ atm_proto_notsupp1, /* pru_shutdown */ atm_proto_notsupp3, /* pru_sockaddr */ + NULL, /* pru_sosend */ + NULL, /* pru_soreceive */ + NULL, /* pru_sooll */ + pru_sosetlabel_null /* pru_sosetlabel */ }; ==== //depot/projects/trustedbsd/mac/sys/netgraph/bluetooth/socket/ng_btsocket.c#5 (text+ko) ==== @@ -79,7 +79,8 @@ ng_btsocket_hci_raw_sockaddr, /* sockaddr */ sosend, soreceive, - sopoll + sopoll, + pru_sosetlabel_null }; /* @@ -106,7 +107,8 @@ ng_btsocket_l2cap_raw_sockaddr, /* sockaddr */ sosend, soreceive, - sopoll + sopoll, + pru_sosetlabel_null }; /* @@ -133,7 +135,8 @@ ng_btsocket_l2cap_sockaddr, /* sockaddr */ sosend, soreceive, - sopoll + sopoll, + pru_sosetlabel_null }; /* @@ -160,7 +163,8 @@ ng_btsocket_rfcomm_sockaddr, /* sockaddr */ sosend, soreceive, - sopoll + sopoll, + pru_sosetlabel_null }; /* ==== //depot/projects/trustedbsd/mac/sys/netgraph/ng_socket.c#11 (text+ko) ==== @@ -978,7 +978,8 @@ ng_setsockaddr, sosend, soreceive, - sopoll + sopoll, + pru_sosetlabel_null }; static struct pr_usrreqs ngd_usrreqs = { @@ -1001,7 +1002,8 @@ ng_setsockaddr, sosend, soreceive, - sopoll + sopoll, + pru_sosetlabel_null }; /* ==== //depot/projects/trustedbsd/mac/sys/netinet/in_pcb.c#24 (text+ko) ==== @@ -36,10 +36,12 @@ #include "opt_ipsec.h" #include "opt_inet6.h" +#include "opt_mac.h" #include #include #include +#include #include #include #include @@ -161,26 +163,30 @@ struct thread *td; { register struct inpcb *inp; -#if defined(IPSEC) || defined(FAST_IPSEC) int error; -#endif + INP_INFO_WLOCK_ASSERT(pcbinfo); + error = 0; inp = uma_zalloc(pcbinfo->ipi_zone, M_NOWAIT | M_ZERO); if (inp == NULL) return (ENOBUFS); inp->inp_gencnt = ++pcbinfo->ipi_gencnt; inp->inp_pcbinfo = pcbinfo; inp->inp_socket = so; +#ifdef MAC + error = mac_init_inpcb(inp, M_NOWAIT); + if (error != 0) + goto out; + mac_create_inpcb_from_socket(so, inp); +#endif #if defined(IPSEC) || defined(FAST_IPSEC) #ifdef FAST_IPSEC error = ipsec_init_policy(so, &inp->inp_sp); #else error = ipsec_init_pcbpolicy(so, &inp->inp_sp); #endif - if (error != 0) { - uma_zfree(pcbinfo->ipi_zone, inp); - return error; - } + if (error != 0) + goto out; #endif /*IPSEC*/ #if defined(INET6) if (INP_SOCKAF(so) == AF_INET6) { @@ -197,7 +203,12 @@ if (ip6_auto_flowlabel) inp->inp_flags |= IN6P_AUTOFLOWLABEL; #endif - return (0); +#if defined(IPSEC) || defined(FAST_IPSEC) || defined(MAC) +out: + if (error != 0) + uma_zfree(pcbinfo->ipi_zone, inp); +#endif + return (error); } int @@ -700,6 +711,9 @@ ip_freemoptions(inp->inp_moptions); inp->inp_vflag = 0; INP_LOCK_DESTROY(inp); +#ifdef MAC + mac_destroy_inpcb(inp); +#endif uma_zfree(ipi->ipi_zone, inp); } @@ -1216,6 +1230,25 @@ pcbinfo->ipi_count--; } +/* + * A set label operation has occurred at the socket layer, propagate the + * label change into the in_pcb for the socket. + */ +void +in_pcbsosetlabel(so) + struct socket *so; +{ +#ifdef MAC + struct inpcb *inp; + + /* XXX: Will assert socket lock when we have them. */ + inp = (struct inpcb *)so->so_pcb; + INP_LOCK(inp); + mac_inpcb_sosetlabel(so, inp); + INP_UNLOCK(inp); +#endif +} + int prison_xinpcb(struct thread *td, struct inpcb *inp) { ==== //depot/projects/trustedbsd/mac/sys/netinet/in_pcb.h#20 (text+ko) ==== @@ -134,6 +134,7 @@ struct inpcbinfo *inp_pcbinfo; /* PCB list info */ struct socket *inp_socket; /* back pointer to socket */ /* list for this PCB's local port */ + struct label *inp_label; /* MAC label */ int inp_flags; /* generic IP/datagram flags */ struct inpcbpolicy *inp_sp; /* for IPSEC */ @@ -369,10 +370,12 @@ void in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr, int, struct inpcb *(*)(struct inpcb *, int)); void in_pcbrehash(struct inpcb *); +void in_pcbsetsolabel(struct socket *so); int in_setpeeraddr(struct socket *so, struct sockaddr **nam, struct inpcbinfo *pcbinfo); int in_setsockaddr(struct socket *so, struct sockaddr **nam, struct inpcbinfo *pcbinfo);; struct sockaddr * in_sockaddr(in_port_t port, struct in_addr *addr); +void in_pcbsosetlabel(struct socket *so); void in_pcbremlists(struct inpcb *inp); int prison_xinpcb(struct thread *td, struct inpcb *inp); #endif /* _KERNEL */ ==== //depot/projects/trustedbsd/mac/sys/netinet/ip_divert.c#18 (text+ko) ==== @@ -651,5 +651,5 @@ pru_connect_notsupp, pru_connect2_notsupp, in_control, div_detach, div_disconnect, pru_listen_notsupp, div_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, div_send, pru_sense_null, div_shutdown, - div_sockaddr, sosend, soreceive, sopoll + div_sockaddr, sosend, soreceive, sopoll, in_pcbsosetlabel }; ==== //depot/projects/trustedbsd/mac/sys/netinet/raw_ip.c#28 (text+ko) ==== @@ -161,7 +161,7 @@ } #endif /*FAST_IPSEC*/ #ifdef MAC - if (!policyfail && mac_check_socket_deliver(last->inp_socket, n) != 0) + if (!policyfail && mac_check_inpcb_deliver(last, n) != 0) policyfail = 1; #endif if (!policyfail) { @@ -838,5 +838,5 @@ pru_connect2_notsupp, in_control, rip_detach, rip_disconnect, pru_listen_notsupp, rip_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, rip_send, pru_sense_null, rip_shutdown, - rip_sockaddr, sosend, soreceive, sopoll + rip_sockaddr, sosend, soreceive, sopoll, in_pcbsosetlabel }; ==== //depot/projects/trustedbsd/mac/sys/netinet/tcp_input.c#45 (text+ko) ==== @@ -683,11 +683,11 @@ else tiwin = th->th_win; - so = inp->inp_socket; #ifdef MAC - if (mac_check_socket_deliver(so, m)) + if (mac_check_inpcb_deliver(inp, m)) goto drop; #endif + so = inp->inp_socket; #ifdef TCPDEBUG if (so->so_options & SO_DEBUG) { ostate = tp->t_state; ==== //depot/projects/trustedbsd/mac/sys/netinet/tcp_usrreq.c#17 (text+ko) ==== @@ -816,7 +816,7 @@ tcp_usr_connect, pru_connect2_notsupp, in_control, tcp_usr_detach, tcp_usr_disconnect, tcp_usr_listen, tcp_peeraddr, tcp_usr_rcvd, tcp_usr_rcvoob, tcp_usr_send, pru_sense_null, tcp_usr_shutdown, - tcp_sockaddr, sosend, soreceive, sopoll + tcp_sockaddr, sosend, soreceive, sopoll, in_pcbsosetlabel }; #ifdef INET6 @@ -825,7 +825,7 @@ tcp6_usr_connect, pru_connect2_notsupp, in6_control, tcp_usr_detach, tcp_usr_disconnect, tcp6_usr_listen, in6_mapped_peeraddr, tcp_usr_rcvd, tcp_usr_rcvoob, tcp_usr_send, pru_sense_null, tcp_usr_shutdown, - in6_mapped_sockaddr, sosend, soreceive, sopoll + in6_mapped_sockaddr, sosend, soreceive, sopoll, in_pcbsosetlabel }; #endif /* INET6 */ ==== //depot/projects/trustedbsd/mac/sys/netinet/udp_usrreq.c#26 (text+ko) ==== @@ -446,7 +446,7 @@ } #endif /*FAST_IPSEC*/ #ifdef MAC - if (mac_check_socket_deliver(last->inp_socket, n) != 0) { + if (mac_check_inpcb_deliver(last, n) != 0) { m_freem(n); return; } @@ -1096,5 +1096,5 @@ pru_connect2_notsupp, in_control, udp_detach, udp_disconnect, pru_listen_notsupp, udp_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, udp_send, pru_sense_null, udp_shutdown, - udp_sockaddr, sosend, soreceive, sopoll + udp_sockaddr, sosend, soreceive, sopoll, in_pcbsosetlabel }; ==== //depot/projects/trustedbsd/mac/sys/netinet6/raw_ip6.c#11 (text+ko) ==== @@ -750,5 +750,5 @@ pru_connect2_notsupp, in6_control, rip6_detach, rip6_disconnect, pru_listen_notsupp, in6_setpeeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, rip6_send, pru_sense_null, rip6_shutdown, - in6_setsockaddr, sosend, soreceive, sopoll + in6_setsockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null }; ==== //depot/projects/trustedbsd/mac/sys/netinet6/udp6_usrreq.c#15 (text+ko) ==== @@ -767,5 +767,5 @@ pru_connect2_notsupp, in6_control, udp6_detach, udp6_disconnect, pru_listen_notsupp, in6_mapped_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, udp6_send, pru_sense_null, udp_shutdown, - in6_mapped_sockaddr, sosend, soreceive, sopoll + in6_mapped_sockaddr, sosend, soreceive, sopoll, in_pcbsosetlabel }; ==== //depot/projects/trustedbsd/mac/sys/netipsec/keysock.c#6 (text+ko) ==== @@ -567,7 +567,8 @@ key_disconnect, pru_listen_notsupp, key_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, key_send, pru_sense_null, key_shutdown, - key_sockaddr, sosend, soreceive, sopoll + key_sockaddr, sosend, soreceive, sopoll, + pru_sosetlabel_null }; /* sysctl */ ==== //depot/projects/trustedbsd/mac/sys/netipx/ipx_usrreq.c#9 (text+ko) ==== @@ -92,7 +92,7 @@ ipx_connect, pru_connect2_notsupp, ipx_control, ipx_detach, ipx_disconnect, pru_listen_notsupp, ipx_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, ipx_send, pru_sense_null, ipx_shutdown, - ipx_sockaddr, sosend, soreceive, sopoll + ipx_sockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null }; struct pr_usrreqs ripx_usrreqs = { @@ -100,7 +100,7 @@ ipx_connect, pru_connect2_notsupp, ipx_control, ipx_detach, ipx_disconnect, pru_listen_notsupp, ipx_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, ipx_send, pru_sense_null, ipx_shutdown, - ipx_sockaddr, sosend, soreceive, sopoll + ipx_sockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null }; /* ==== //depot/projects/trustedbsd/mac/sys/netipx/spx_usrreq.c#8 (text+ko) ==== @@ -112,7 +112,7 @@ spx_connect, pru_connect2_notsupp, ipx_control, spx_detach, spx_usr_disconnect, spx_listen, ipx_peeraddr, spx_rcvd, spx_rcvoob, spx_send, pru_sense_null, spx_shutdown, - ipx_sockaddr, sosend, soreceive, sopoll + ipx_sockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null }; struct pr_usrreqs spx_usrreq_sps = { @@ -120,7 +120,7 @@ spx_connect, pru_connect2_notsupp, ipx_control, spx_detach, spx_usr_disconnect, spx_listen, ipx_peeraddr, spx_rcvd, spx_rcvoob, spx_send, pru_sense_null, spx_shutdown, - ipx_sockaddr, sosend, soreceive, sopoll + ipx_sockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null }; void ==== //depot/projects/trustedbsd/mac/sys/netkey/keysock.c#14 (text+ko) ==== @@ -477,7 +477,8 @@ key_disconnect, pru_listen_notsupp, key_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, key_send, pru_sense_null, key_shutdown, - key_sockaddr, sosend, soreceive, sopoll + key_sockaddr, sosend, soreceive, sopoll, + pru_sosetlabel_null }; /* sysctl */ ==== //depot/projects/trustedbsd/mac/sys/netnatm/natm.c#14 (text+ko) ==== @@ -396,7 +396,7 @@ natm_usr_detach, natm_usr_disconnect, pru_listen_notsupp, natm_usr_peeraddr, pru_rcvd_notsupp, pru_rcvoob_notsupp, natm_usr_send, pru_sense_null, natm_usr_shutdown, - natm_usr_sockaddr, sosend, soreceive, sopoll + natm_usr_sockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null }; #else /* !FREEBSD_USRREQS */ ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#14 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -61,6 +62,7 @@ #include #include +#include #include #include @@ -77,12 +79,14 @@ #ifdef MAC_DEBUG static unsigned int nmacmbufs, nmacifnets, nmacbpfdescs, nmacsockets, - nmacipqs; + nmacinpcbs, nmacipqs; SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, mbufs, CTLFLAG_RD, &nmacmbufs, 0, "number of mbufs in use"); SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, ifnets, CTLFLAG_RD, &nmacifnets, 0, "number of ifnets in use"); +SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, inpcbs, CTLFLAG_RD, + &nmacinpcbs, 0, "number of inpcbs in use"); SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, ipqs, CTLFLAG_RD, &nmacipqs, 0, "number of ipqs in use"); SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, bpfdescs, CTLFLAG_RD, @@ -143,6 +147,35 @@ } static struct label * +mac_inpcb_label_alloc(int flag) +{ + struct label *label; + int error; + + label = mac_labelzone_alloc(flag); + if (label == NULL) + return (NULL); + MAC_CHECK(init_inpcb_label, label, flag); + if (error) { + MAC_PERFORM(destroy_inpcb_label, label); + mac_labelzone_free(label); + return (NULL); + } + MAC_DEBUG_COUNTER_INC(&nmacinpcbs); + return (label); +} + +int +mac_init_inpcb(struct inpcb *inp, int flag) +{ + + inp->inp_label = mac_inpcb_label_alloc(flag); + if (inp->inp_label == NULL) + return (ENOMEM); + return (0); +} + +static struct label * mac_ipq_label_alloc(int flag) { struct label *label; @@ -311,6 +344,23 @@ } static void +mac_inpcb_label_free(struct label *label) +{ + + MAC_PERFORM(destroy_inpcb_label, label); + mac_labelzone_free(label); + MAC_DEBUG_COUNTER_DEC(&nmacinpcbs); +} + +void +mac_destroy_inpcb(struct inpcb *inp) +{ + + mac_inpcb_label_free(inp->inp_label); + inp->inp_label = NULL; +} + +static void mac_ipq_label_free(struct label *label) { @@ -443,6 +493,14 @@ } void +mac_create_inpcb_from_socket(struct socket *so, struct inpcb *inp) +{ + + MAC_PERFORM(create_inpcb_from_socket, so, so->so_label, inp, + inp->inp_label); +} + +void mac_create_bpfdesc(struct ucred *cred, struct bpf_d *bpf_d) { @@ -704,6 +762,24 @@ } int +mac_check_inpcb_deliver(struct inpcb *inp, struct mbuf *m) +{ + struct label *label; + int error; + + M_ASSERTPKTHDR(m); + + if (!mac_enforce_socket) + return (0); + + label = mbuf_to_label(m); + + MAC_CHECK(check_inpcb_deliver, inp, inp->inp_label, m, label); + + return (error); +} + +int mac_check_socket_bind(struct ucred *ucred, struct socket *socket, struct sockaddr *sockaddr) { @@ -904,6 +980,15 @@ return (0); } +void +mac_inpcb_sosetlabel(struct socket *so, struct inpcb *inp) +{ + + /* XXX: assert socket lock. */ + INP_LOCK_ASSERT(inp); + MAC_PERFORM(inpcb_sosetlabel, so, so->so_label, inp, inp->inp_label); +} + int mac_setsockopt_label_set(struct ucred *cred, struct socket *so, struct mac *mac) @@ -931,6 +1016,7 @@ return (error); } + /* XXX: Will eventually grab a socket lock here. */ mac_check_socket_relabel(cred, so, intlabel); if (error) { mac_socket_label_free(intlabel); @@ -939,6 +1025,16 @@ mac_relabel_socket(cred, so, intlabel); + /* + * If the protocol has expressed interest in socket layer changes, + * such as if it needs to propagate changes to a cached pcb + * label from the socket, notify it of the label change while + * holding the socket lock. + */ + if (so->so_proto->pr_usrreqs->pru_sosetlabel != NULL) + (so->so_proto->pr_usrreqs->pru_sosetlabel)(so); + /* XXX: Will eventually release a socket lock here. */ + mac_socket_label_free(intlabel); return (0); } ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#232 (text+ko) ==== @@ -75,6 +75,7 @@ #include #include +#include #include #include @@ -1065,6 +1066,18 @@ * Labeling event operations: IPC object. */ static void +mac_biba_create_inpcb_from_socket(struct socket *so, struct label *solabel, + struct inpcb *inp, struct label *inplabel) +{ + struct mac_biba *source, *dest; + + source = SLOT(solabel); + dest = SLOT(inplabel); + + mac_biba_copy_single(source, dest); +} + +static void mac_biba_create_mbuf_from_socket(struct socket *so, struct label *socketlabel, struct mbuf *m, struct label *mbuflabel) { @@ -1438,6 +1451,18 @@ /* NOOP: we only accept matching labels, so no need to update */ } +static void +mac_biba_inpcb_sosetlabel(struct socket *so, struct label *solabel, + struct inpcb *inp, struct label *inplabel) +{ + struct mac_biba *source, *dest; + + source = SLOT(solabel); + dest = SLOT(inplabel); + + mac_biba_copy(source, dest); +} + /* * Labeling event operations: processes. */ @@ -1662,6 +1687,21 @@ } static int +mac_biba_check_inpcb_deliver(struct inpcb *inp, struct label *inplabel, + struct mbuf *m, struct label *mlabel) +{ + struct mac_biba *p, *i; + + if (!mac_biba_enabled) + return (0); + + p = SLOT(mlabel); + i = SLOT(inplabel); + + return (mac_biba_equal_single(p, i) ? 0 : EACCES); +} + +static int mac_biba_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr, struct label *msglabel) { @@ -3112,6 +3152,7 @@ .mpo_init_cred_label = mac_biba_init_label, .mpo_init_devfsdirent_label = mac_biba_init_label, .mpo_init_ifnet_label = mac_biba_init_label, + .mpo_init_inpcb_label = mac_biba_init_label_waitcheck, .mpo_init_ipc_msgmsg_label = mac_biba_init_label, .mpo_init_ipc_msgqueue_label = mac_biba_init_label, .mpo_init_ipc_sema_label = mac_biba_init_label, @@ -3129,6 +3170,7 @@ .mpo_destroy_cred_label = mac_biba_destroy_label, .mpo_destroy_devfsdirent_label = mac_biba_destroy_label, .mpo_destroy_ifnet_label = mac_biba_destroy_label, + .mpo_destroy_inpcb_label = mac_biba_destroy_label, .mpo_destroy_ipc_msgmsg_label = mac_biba_destroy_label, .mpo_destroy_ipc_msgqueue_label = mac_biba_destroy_label, .mpo_destroy_ipc_sema_label = mac_biba_destroy_label, @@ -3181,6 +3223,7 @@ .mpo_create_datagram_from_ipq = mac_biba_create_datagram_from_ipq, .mpo_create_fragment = mac_biba_create_fragment, .mpo_create_ifnet = mac_biba_create_ifnet, + .mpo_create_inpcb_from_socket = mac_biba_create_inpcb_from_socket, .mpo_create_ipc_msgmsg = mac_biba_create_ipc_msgmsg, .mpo_create_ipc_msgqueue = mac_biba_create_ipc_msgqueue, .mpo_create_ipc_sema = mac_biba_create_ipc_sema, @@ -3195,6 +3238,7 @@ .mpo_fragment_match = mac_biba_fragment_match, .mpo_relabel_ifnet = mac_biba_relabel_ifnet, .mpo_update_ipq = mac_biba_update_ipq, + .mpo_inpcb_sosetlabel = mac_biba_inpcb_sosetlabel, .mpo_create_cred = mac_biba_create_cred, .mpo_create_proc0 = mac_biba_create_proc0, .mpo_create_proc1 = mac_biba_create_proc1, @@ -3208,6 +3252,7 @@ .mpo_check_cred_visible = mac_biba_check_cred_visible, .mpo_check_ifnet_relabel = mac_biba_check_ifnet_relabel, .mpo_check_ifnet_transmit = mac_biba_check_ifnet_transmit, + .mpo_check_inpcb_deliver = mac_biba_check_inpcb_deliver, .mpo_check_ipc_msgrcv = mac_biba_check_ipc_msgrcv, .mpo_check_ipc_msgrmid = mac_biba_check_ipc_msgrmid, .mpo_check_ipc_msqget = mac_biba_check_ipc_msqget, ==== //depot/projects/trustedbsd/mac/sys/security/mac_ifoff/mac_ifoff.c#23 (text+ko) ==== @@ -143,6 +143,18 @@ } static int +mac_ifoff_check_inpcb_deliver(struct inpcb *inp, struct label *inplabel, + struct mbuf *m, struct label *mlabel) +{ + + M_ASSERTPKTHDR(m); + if (m->m_pkthdr.rcvif != NULL) + return (check_ifnet_incoming(m->m_pkthdr.rcvif, 0)); + + return (0); +} + +static int mac_ifoff_check_socket_deliver(struct socket *so, struct label *socketlabel, struct mbuf *m, struct label *mbuflabel) { @@ -158,6 +170,7 @@ { .mpo_check_bpfdesc_receive = mac_ifoff_check_bpfdesc_receive, .mpo_check_ifnet_transmit = mac_ifoff_check_ifnet_transmit, + .mpo_check_inpcb_deliver = mac_ifoff_check_inpcb_deliver, .mpo_check_socket_deliver = mac_ifoff_check_socket_deliver, }; ==== //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#77 (text+ko) ==== @@ -75,6 +75,7 @@ #include #include +#include #include #include @@ -1138,6 +1139,18 @@ * Labeling event operations: IPC object. */ static void +mac_lomac_create_inpcb_from_socket(struct socket *so, struct label *solabel, + struct inpcb *inp, struct label *inplabel) +{ + struct mac_lomac *source, *dest; + + source = SLOT(solabel); + dest = SLOT(inplabel); + + mac_lomac_copy_single(source, dest); +} + +static void mac_lomac_create_mbuf_from_socket(struct socket *so, struct label *socketlabel, struct mbuf *m, struct label *mbuflabel) { @@ -1522,6 +1535,18 @@ /* NOOP: we only accept matching labels, so no need to update */ } +static void +mac_lomac_inpcb_sosetlabel(struct socket *so, struct label *solabel, + struct inpcb *inp, struct label *inplabel) +{ + struct mac_lomac *source, *dest; + + source = SLOT(solabel); + dest = SLOT(inplabel); + + mac_lomac_copy_single(source, dest); +} + /* * Labeling event operations: processes. */ @@ -1835,6 +1860,21 @@ } static int +mac_lomac_check_inpcb_deliver(struct inpcb *inp, struct label *inplabel, + struct mbuf *m, struct label *mlabel) +{ + struct mac_lomac *p, *i; + + if (!mac_lomac_enabled) + return (0); + + p = SLOT(mlabel); + i = SLOT(inplabel); + + return (mac_lomac_equal_single(p, i) ? 0 : EACCES); +} + +static int mac_lomac_check_ipc_msgrcv(struct ucred *cred, struct msg *msgptr, struct label *msglabel) { @@ -3038,6 +3078,7 @@ .mpo_init_cred_label = mac_lomac_init_label, .mpo_init_devfsdirent_label = mac_lomac_init_label, .mpo_init_ifnet_label = mac_lomac_init_label, + .mpo_init_inpcb_label = mac_lomac_init_label_waitcheck, .mpo_init_ipc_msgmsg_label = mac_lomac_init_label, .mpo_init_ipc_msgqueue_label = mac_lomac_init_label, .mpo_init_ipc_sema_label = mac_lomac_init_label, @@ -3056,6 +3097,7 @@ .mpo_destroy_cred_label = mac_lomac_destroy_label, .mpo_destroy_devfsdirent_label = mac_lomac_destroy_label, .mpo_destroy_ifnet_label = mac_lomac_destroy_label, + .mpo_destroy_inpcb_label = mac_lomac_destroy_label, .mpo_destroy_ipc_msgmsg_label = mac_lomac_destroy_label, .mpo_destroy_ipc_msgqueue_label = mac_lomac_destroy_label, .mpo_destroy_ipc_sema_label = mac_lomac_destroy_label, @@ -3111,6 +3153,7 @@ .mpo_create_datagram_from_ipq = mac_lomac_create_datagram_from_ipq, .mpo_create_fragment = mac_lomac_create_fragment, .mpo_create_ifnet = mac_lomac_create_ifnet, + .mpo_create_inpcb_from_socket = mac_lomac_create_inpcb_from_socket, .mpo_create_ipc_msgmsg = mac_lomac_create_ipc_msgmsg, .mpo_create_ipc_msgqueue = mac_lomac_create_ipc_msgqueue, .mpo_create_ipc_sema = mac_lomac_create_ipc_sema, @@ -3126,6 +3169,7 @@ .mpo_fragment_match = mac_lomac_fragment_match, .mpo_relabel_ifnet = mac_lomac_relabel_ifnet, .mpo_update_ipq = mac_lomac_update_ipq, + .mpo_inpcb_sosetlabel = mac_lomac_inpcb_sosetlabel, .mpo_create_cred = mac_lomac_create_cred, .mpo_execve_transition = mac_lomac_execve_transition, .mpo_execve_will_transition = mac_lomac_execve_will_transition, @@ -3141,6 +3185,7 @@ .mpo_check_cred_visible = mac_lomac_check_cred_visible, .mpo_check_ifnet_relabel = mac_lomac_check_ifnet_relabel, .mpo_check_ifnet_transmit = mac_lomac_check_ifnet_transmit, + .mpo_check_inpcb_deliver = mac_lomac_check_inpcb_deliver, /* .mpo_check_ipc_msgmsq = mac_lomac_check_ipc_msgmsq, */ .mpo_check_ipc_msgrcv = mac_lomac_check_ipc_msgrcv, .mpo_check_ipc_msgrmid = mac_lomac_check_ipc_msgrmid, ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#187 (text+ko) ==== @@ -75,6 +75,7 @@ #include #include +#include #include #include @@ -1033,6 +1034,18 @@ * Labeling event operations: IPC object. */ static void +mac_mls_create_inpcb_from_socket(struct socket *so, struct label *solabel, + struct inpcb *inp, struct label *inplabel) +{ + struct mac_mls *source, *dest; + + source = SLOT(solabel); + dest = SLOT(inplabel); + + mac_mls_copy_single(source, dest); +} + +static void mac_mls_create_mbuf_from_socket(struct socket *so, struct label *socketlabel, struct mbuf *m, struct label *mbuflabel) { @@ -1377,6 +1390,18 @@ /* NOOP: we only accept matching labels, so no need to update */ } +static void +mac_mls_inpcb_sosetlabel(struct socket *so, struct label *solabel, + struct inpcb *inp, struct label *inplabel) +{ + struct mac_mls *source, *dest; + + source = SLOT(solabel); + dest = SLOT(inplabel); + + mac_mls_copy(source, dest); +} + /* * Labeling event operations: processes. */ @@ -1600,6 +1625,21 @@ } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 15 13:03:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D16916A4D0; Sat, 15 Nov 2003 13:03:21 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D9EF516A4CE for ; Sat, 15 Nov 2003 13:03:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4435143FBD for ; Sat, 15 Nov 2003 13:03:20 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAFL3KXJ099794 for ; Sat, 15 Nov 2003 13:03:20 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAFL3J2I099791 for perforce@freebsd.org; Sat, 15 Nov 2003 13:03:19 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 15 Nov 2003 13:03:19 -0800 (PST) Message-Id: <200311152103.hAFL3J2I099791@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42487 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 21:03:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=42487 Change 42487 by rwatson@rwatson_tislabs on 2003/11/15 13:03:05 Whitespace, ordering. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#233 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#12 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#233 (text+ko) ==== @@ -1688,7 +1688,7 @@ static int mac_biba_check_inpcb_deliver(struct inpcb *inp, struct label *inplabel, - struct mbuf *m, struct label *mlabel) + struct mbuf *m, struct label *mlabel) { struct mac_biba *p, *i; ==== //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#12 (text+ko) ==== @@ -1337,7 +1337,6 @@ .mpo_create_devfs_device = stub_create_devfs_device, .mpo_create_devfs_directory = stub_create_devfs_directory, .mpo_create_devfs_symlink = stub_create_devfs_symlink, - .mpo_create_inpcb_from_socket = stub_create_inpcb_from_socket, .mpo_create_ipc_msgmsg = stub_create_ipc_msgmsg, .mpo_create_ipc_msgqueue = stub_create_ipc_msgqueue, .mpo_create_ipc_sema = stub_create_ipc_sema, @@ -1359,6 +1358,7 @@ .mpo_set_socket_peer_from_socket = stub_set_socket_peer_from_socket, .mpo_create_bpfdesc = stub_create_bpfdesc, .mpo_create_ifnet = stub_create_ifnet, + .mpo_create_inpcb_from_socket = stub_create_inpcb_from_socket, .mpo_create_ipq = stub_create_ipq, .mpo_create_datagram_from_ipq = stub_create_datagram_from_ipq, .mpo_create_fragment = stub_create_fragment, From owner-p4-projects@FreeBSD.ORG Sat Nov 15 13:17:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 05C7E16A4D0; Sat, 15 Nov 2003 13:17:40 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D4B9A16A4CE for ; Sat, 15 Nov 2003 13:17:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C70B743FAF for ; Sat, 15 Nov 2003 13:17:38 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAFLHcXJ000607 for ; Sat, 15 Nov 2003 13:17:38 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAFLHcSP000604 for perforce@freebsd.org; Sat, 15 Nov 2003 13:17:38 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 15 Nov 2003 13:17:38 -0800 (PST) Message-Id: <200311152117.hAFLHcSP000604@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42489 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 21:17:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=42489 Change 42489 by rwatson@rwatson_tislabs on 2003/11/15 13:17:01 Forward declare struct inpcb before it's used in a function prototype. Affected files ... .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#252 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#252 (text+ko) ==== @@ -110,6 +110,7 @@ struct devfs_dirent; struct ifnet; struct ifreq; +struct inpcb; struct image_params; struct inpcb; struct ipq; From owner-p4-projects@FreeBSD.ORG Sat Nov 15 16:06:07 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0403916A4D0; Sat, 15 Nov 2003 16:06:07 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D1A6316A4CE for ; Sat, 15 Nov 2003 16:06:06 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 053AD43F75 for ; Sat, 15 Nov 2003 16:06:06 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAG065XJ010752 for ; Sat, 15 Nov 2003 16:06:05 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAG065kQ010749 for perforce@freebsd.org; Sat, 15 Nov 2003 16:06:05 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 15 Nov 2003 16:06:05 -0800 (PST) Message-Id: <200311160006.hAG065kQ010749@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42495 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 00:06:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=42495 Change 42495 by rwatson@rwatson_tislabs on 2003/11/15 16:05:47 For getsockopt() to retrieve MAC labels, we must copy in the struct mac so we know what labels to externalize. This appears to fix SO_LABEL but not SO_PEERLABEL for reason I am still working on figuring out. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/uipc_socket.c#55 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/uipc_socket.c#55 (text+ko) ==== @@ -1599,6 +1599,10 @@ break; case SO_LABEL: #ifdef MAC + error = sooptcopyin(sopt, &extmac, sizeof(extmac), + sizeof(extmac)); + if (error) + return (error); error = mac_getsockopt_label_get( sopt->sopt_td->td_ucred, so, &extmac); if (error) @@ -1610,6 +1614,10 @@ break; case SO_PEERLABEL: #ifdef MAC + error = sooptcopyin(sopt, &extmac, sizeof(extmac), + sizeof(extmac)); + if (error) + return (error); error = mac_getsockopt_peerlabel_get( sopt->sopt_td->td_ucred, so, &extmac); if (error) From owner-p4-projects@FreeBSD.ORG Sat Nov 15 17:28:56 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59EC616A4D0; Sat, 15 Nov 2003 17:28:56 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1BE1F16A4CE for ; Sat, 15 Nov 2003 17:28:56 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 283AC43F3F for ; Sat, 15 Nov 2003 17:28:53 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAG1SrXJ021035 for ; Sat, 15 Nov 2003 17:28:53 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAG1SpBD021032 for perforce@freebsd.org; Sat, 15 Nov 2003 17:28:51 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sat, 15 Nov 2003 17:28:51 -0800 (PST) Message-Id: <200311160128.hAG1SpBD021032@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42503 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 01:28:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=42503 Change 42503 by peter@peter_overcee on 2003/11/15 17:27:56 IFC @42502 Affected files ... .. //depot/projects/hammer/UPDATING#27 integrate .. //depot/projects/hammer/etc/mac.conf#5 integrate .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt#2 integrate .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#2 integrate .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#2 integrate .. //depot/projects/hammer/lib/libc/locale/Makefile.inc#14 integrate .. //depot/projects/hammer/lib/libc/locale/big5.5#2 integrate .. //depot/projects/hammer/lib/libc/locale/euc.4#3 delete .. //depot/projects/hammer/lib/libc/locale/euc.5#1 branch .. //depot/projects/hammer/lib/libc/locale/gb18030.5#3 integrate .. //depot/projects/hammer/lib/libc/locale/gb2312.5#2 integrate .. //depot/projects/hammer/lib/libc/locale/gbk.5#3 integrate .. //depot/projects/hammer/lib/libc/locale/mbrune.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/mskanji.5#2 integrate .. //depot/projects/hammer/lib/libc/locale/multibyte.3#7 integrate .. //depot/projects/hammer/lib/libc/locale/rune.3#6 integrate .. //depot/projects/hammer/lib/libc/locale/setlocale.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/utf2.4#4 delete .. //depot/projects/hammer/lib/libc/locale/utf2.5#1 branch .. //depot/projects/hammer/lib/libc/locale/utf8.5#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/mac.c#5 integrate .. //depot/projects/hammer/libexec/ftpd/ftpd.c#9 integrate .. //depot/projects/hammer/libexec/pppoed/pppoed.c#2 integrate .. //depot/projects/hammer/release/Makefile#40 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#37 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#45 integrate .. //depot/projects/hammer/share/examples/netgraph/ngctl#3 integrate .. //depot/projects/hammer/share/man/man4/acpi.4#13 integrate .. //depot/projects/hammer/share/man/man4/ng_atm.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_bpf.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_etf.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_pppoe.4#3 integrate .. //depot/projects/hammer/share/man/man4/pcm.4#6 integrate .. //depot/projects/hammer/share/man/man9/mbuf.9#9 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#68 integrate .. //depot/projects/hammer/sys/amd64/include/pcpu.h#12 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/boot2.c#9 integrate .. //depot/projects/hammer/sys/boot/pc98/btx/btxldr/btxldr.s#2 integrate .. //depot/projects/hammer/sys/conf/files#38 integrate .. //depot/projects/hammer/sys/conf/kern.post.mk#15 integrate .. //depot/projects/hammer/sys/conf/options.pc98#16 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#15 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_package.c#1 branch .. //depot/projects/hammer/sys/dev/acpica/acpivar.h#14 integrate .. //depot/projects/hammer/sys/fs/fifofs/fifo_vnops.c#13 integrate .. //depot/projects/hammer/sys/geom/geom_subr.c#19 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#21 integrate .. //depot/projects/hammer/sys/i386/include/smptests.h#4 integrate .. //depot/projects/hammer/sys/i386/isa/cy.c#5 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#29 integrate .. //depot/projects/hammer/sys/ia64/include/pcpu.h#3 integrate .. //depot/projects/hammer/sys/kern/kern_physio.c#9 integrate .. //depot/projects/hammer/sys/kern/kern_timeout.c#9 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#18 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#21 integrate .. //depot/projects/hammer/sys/kern/sysv_sem.c#11 integrate .. //depot/projects/hammer/sys/kern/vfs_aio.c#16 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#24 integrate .. //depot/projects/hammer/sys/modules/acpi/Makefile#8 integrate .. //depot/projects/hammer/sys/modules/nfs4client/Makefile#1 branch .. //depot/projects/hammer/sys/modules/nfsclient/Makefile#3 integrate .. //depot/projects/hammer/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#22 integrate .. //depot/projects/hammer/sys/netinet/ip_var.h#14 integrate .. //depot/projects/hammer/sys/netinet6/ah.h#3 integrate .. //depot/projects/hammer/sys/netinet6/ah_core.c#6 integrate .. //depot/projects/hammer/sys/netinet6/ah_input.c#4 integrate .. //depot/projects/hammer/sys/netinet6/esp_core.c#6 integrate .. //depot/projects/hammer/sys/netinet6/esp_input.c#7 integrate .. //depot/projects/hammer/sys/netinet6/esp_output.c#5 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_subs.c#3 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/hammer/sys/nfsclient/krpc_subr.c#7 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#5 integrate .. //depot/projects/hammer/sys/pc98/conf/NOTES#11 integrate .. //depot/projects/hammer/sys/pc98/i386/machdep.c#23 integrate .. //depot/projects/hammer/sys/rpc/rpcclnt.c#3 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#14 integrate .. //depot/projects/hammer/sys/sys/buf.h#9 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#15 integrate .. //depot/projects/hammer/sys/sys/proc.h#39 integrate .. //depot/projects/hammer/sys/sys/reboot.h#4 integrate .. //depot/projects/hammer/sys/sys/sched.h#7 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_rawread.c#8 integrate .. //depot/projects/hammer/sys/vm/vnode_pager.c#16 integrate .. //depot/projects/hammer/usr.bin/mklocale/mklocale.1#7 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/IPXrouted.8#4 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/af.c#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/if.c#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/input.c#3 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/main.c#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/output.c#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/sap_tables.c#3 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/startup.c#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/tables.c#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/timer.c#2 integrate .. //depot/projects/hammer/usr.sbin/IPXrouted/trace.c#3 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/bt3cfw/bt3cfw.c#4 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/hcseriald/hcseriald.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/netgraph.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/tty.c#2 integrate Differences ... ==== //depot/projects/hammer/UPDATING#27 (text+ko) ==== @@ -24,11 +24,17 @@ `make world' as the new kernel will know about binaries using the old statfs structure, but an old kernel will not know about the new system calls that support the new statfs - structure. Running an old kernel after a `make world' will - cause programs such as `df' that do a statfs system call to - fail with a bad system call. Marco Wertejuk - also reports that cfsd (ports/security/cfs) needs to be - recompiled after these changes are installed. + structure. + Note that the backwards compatibility is only present when the + kernel is configured with the COMPAT_FREEBSD4 option. Since + even /bin/sh will not run with a new kernel without said option + you're pretty much dead in the water without it. Make sure you + have COMPAT_FREEBSD4! + Running an old kernel after a `make world' will cause programs + such as `df' that do a statfs system call to fail with a bad + system call. Marco Wertejuk also reports + that cfsd (ports/security/cfs) needs to be recompiled after + these changes are installed. ****************************DANGER******************************* @@ -1425,4 +1431,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.280 2003/11/14 08:07:13 mckusick Exp $ +$FreeBSD: src/UPDATING,v 1.281 2003/11/14 22:11:44 marcel Exp $ ==== //depot/projects/hammer/etc/mac.conf#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/etc/mac.conf,v 1.4 2003/11/11 03:30:29 rwatson Exp $ +# $FreeBSD: src/etc/mac.conf,v 1.5 2003/11/15 02:08:01 rwatson Exp $ # # TrustedBSD MAC userland policy configuration file. Kernel modules # export label information, and mac.conf indicates to userland @@ -14,4 +14,5 @@ default_labels file ?biba,?lomac,?mls,?sebsd default_labels ifnet ?biba,?lomac,?mls,?sebsd default_labels process ?biba,?lomac,?mls,?partition,?sebsd +default_labels socket ?biba,?lomac,?mls ==== //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt#2 (text+ko) ==== @@ -27,7 +27,7 @@ -- 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/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt,v 1.1 2003/11/10 09:17:34 harti Exp $ +-- $FreeBSD: src/lib/libbsnmp/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt,v 1.2 2003/11/15 15:26:34 harti Exp $ -- -- Private MIB for netgraph part of Begemot SNMP daemon. -- @@ -44,7 +44,7 @@ FROM BEGEMOT-MIB; begemotNg MODULE-IDENTITY - LAST-UPDATED "200201310000Z" + LAST-UPDATED "200311140000Z" ORGANIZATION "Fraunhofer FOKUS, CATS" CONTACT-INFO " Hartmut Brandt @@ -66,32 +66,32 @@ -- -------------------------------------------------------------------------- NgTypeName ::= TEXTUAL-CONVENTION - DISPLAY-HINT "15a" + DISPLAY-HINT "31a" STATUS current DESCRIPTION "Name of a netgraph type." - SYNTAX OCTET STRING (SIZE(1..15)) + SYNTAX OCTET STRING (SIZE(1..31)) NgNodeName ::= TEXTUAL-CONVENTION - DISPLAY-HINT "15a" + DISPLAY-HINT "31a" STATUS current DESCRIPTION "Name of a netgraph node." - SYNTAX OCTET STRING (SIZE(1..15)) + SYNTAX OCTET STRING (SIZE(1..31)) NgNodeNameOrEmpty ::= TEXTUAL-CONVENTION - DISPLAY-HINT "15a" + DISPLAY-HINT "31a" STATUS current DESCRIPTION "Name of a netgraph node." - SYNTAX OCTET STRING (SIZE(0..15)) + SYNTAX OCTET STRING (SIZE(0..31)) NgHookName ::= TEXTUAL-CONVENTION - DISPLAY-HINT "15a" + DISPLAY-HINT "31a" STATUS current DESCRIPTION "Name of a netgraph hook." - SYNTAX OCTET STRING (SIZE(1..15)) + SYNTAX OCTET STRING (SIZE(1..31)) NgNodeId ::= TEXTUAL-CONVENTION DISPLAY-HINT "x" ==== //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#2 (text+ko) ==== @@ -27,9 +27,9 @@ .\" 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/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3,v 1.1 2003/11/10 09:17:34 harti Exp $ +.\" $FreeBSD: src/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3,v 1.2 2003/11/15 15:26:34 harti Exp $ .\" -.Dd October 7, 2003 +.Dd November 14, 2003 .Dt snmp_netgraph 3 .Os .Sh NAME @@ -289,8 +289,8 @@ and writes it to the buffer pointed to by .Fa name . This buffer should be at least -.Li NG_NODELEN -+ 1 long. The function returns the node id or 0 if the +.Li NG_NODESIZ +bytes long. The function returns the node id or 0 if the node is not found .Pp The function @@ -300,8 +300,8 @@ and writes it to the buffer pointed to by .Fa type . This buffer should be at least -.Li NG_TYPELEN -+ 1 long. The function returns the node id or 0 if the +.Li NG_TYPESIZ +bytes long. The function returns the node id or 0 if the node is not found. .Pp The function @@ -313,8 +313,8 @@ to the buffer pointed to by .Fa peer_hook . The buffer should be at least -.Li NG_HOOKLEN -+ 1 long. The function returns 0 if the node and the hook is found, -1 +.Li NG_HOOKSIZ +bytes long. The function returns 0 if the node and the hook is found, -1 otherwise. The function skips intermediate tee nodes (see .Xr ng_tee 4 ). .Pp ==== //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * 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/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c,v 1.1 2003/11/10 09:17:34 harti Exp $ + * $FreeBSD: src/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c,v 1.2 2003/11/15 15:26:34 harti Exp $ * * Netgraph interface for SNMPd. */ @@ -79,7 +79,7 @@ struct csock_buf { STAILQ_ENTRY(csock_buf) link; struct ng_mesg *mesg; - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; }; static STAILQ_HEAD(, csock_buf) csock_bufs = STAILQ_HEAD_INITIALIZER(csock_bufs); @@ -103,7 +103,7 @@ * Data messages are dispatched by hook names. */ struct datareg { - char hook[NG_HOOKLEN + 1]; + char hook[NG_HOOKSIZ]; ng_hook_f *func; void *arg; const struct lmodule *mod; @@ -124,7 +124,7 @@ /* netgraph type list */ struct ngtype { - char name[NG_TYPELEN + 1]; + char name[NG_TYPESIZ]; struct asn_oid index; TAILQ_ENTRY(ngtype) link; }; @@ -307,7 +307,7 @@ csock_input(int fd __unused, void *udata __unused) { struct ng_mesg *mesg; - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; if ((mesg = csock_read(path)) == NULL) return; @@ -328,7 +328,7 @@ ng_output_node(const char *node, u_int cookie, u_int opcode, const void *arg, size_t arglen) { - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; sprintf(path, "%s:", node); return (ng_output(path, cookie, opcode, arg, arglen)); @@ -337,7 +337,7 @@ ng_output_id(ng_ID_t node, u_int cookie, u_int opcode, const void *arg, size_t arglen) { - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; sprintf(path, "[%x]:", node); return (ng_output(path, cookie, opcode, arg, arglen)); @@ -355,7 +355,7 @@ { int token, err; struct ng_mesg *mesg; - char rpath[NG_PATHLEN + 1]; + char rpath[NG_PATHSIZ]; struct csock_buf *b; struct timeval end, tv; @@ -420,7 +420,7 @@ ng_dialog_node(const char *node, u_int cookie, u_int opcode, const void *arg, size_t arglen) { - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; sprintf(path, "%s:", node); return (ng_dialog(path, cookie, opcode, arg, arglen)); @@ -429,7 +429,7 @@ ng_dialog_id(ng_ID_t id, u_int cookie, u_int opcode, const void *arg, size_t arglen) { - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; sprintf(path, "[%x]:", id); return (ng_dialog(path, cookie, opcode, arg, arglen)); @@ -453,7 +453,7 @@ { u_char *resbuf, embuf[100]; ssize_t len; - char hook[NG_HOOKLEN + 1]; + char hook[NG_HOOKSIZ]; struct datareg *d, *d1; if ((resbuf = malloc(resbufsiz + 1)) == NULL) { @@ -530,9 +530,9 @@ return (ENOMEM); strcpy(snmp_nodename, NODENAME); } else { - if ((snmp_nodename = malloc(NG_NODELEN + 1)) == NULL) + if ((snmp_nodename = malloc(NG_NODESIZ)) == NULL) return (ENOMEM); - snprintf(snmp_nodename, NG_NODELEN + 1, "%s", argv[0]); + strlcpy(snmp_nodename, argv[0], NG_NODESIZ); } /* fetch clockinfo (for the number of microseconds per tick) */ @@ -610,9 +610,9 @@ { struct ngm_connect conn; - snprintf(conn.path, NG_PATHLEN + 1, "%s:", node); - snprintf(conn.ourhook, NG_HOOKLEN + 1, ourhook); - snprintf(conn.peerhook, NG_HOOKLEN + 1, peerhook); + snprintf(conn.path, NG_PATHSIZ, "%s:", node); + strlcpy(conn.ourhook, ourhook, NG_HOOKSIZ); + strlcpy(conn.peerhook, peerhook, NG_HOOKSIZ); return (NgSendMsg(csock, ".:", NGM_GENERIC_COOKIE, NGM_CONNECT, &conn, sizeof(conn))); } @@ -621,9 +621,9 @@ { struct ngm_connect conn; - snprintf(conn.path, NG_PATHLEN + 1, "[%x]:", id); - snprintf(conn.ourhook, NG_HOOKLEN + 1, ourhook); - snprintf(conn.peerhook, NG_HOOKLEN + 1, peerhook); + snprintf(conn.path, NG_PATHSIZ, "[%x]:", id); + strlcpy(conn.ourhook, ourhook, NG_HOOKSIZ); + strlcpy(conn.peerhook, peerhook, NG_HOOKSIZ); return (NgSendMsg(csock, ".:", NGM_GENERIC_COOKIE, NGM_CONNECT, &conn, sizeof(conn))); } @@ -633,13 +633,13 @@ const char *peerhook) { struct ngm_connect conn; - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; - snprintf(path, NG_PATHLEN + 1, "[%x]:", id); + snprintf(path, NG_PATHSIZ, "[%x]:", id); - snprintf(conn.path, NG_PATHLEN + 1, "[%x]:", peer); - snprintf(conn.ourhook, NG_HOOKLEN + 1, ourhook); - snprintf(conn.peerhook, NG_HOOKLEN + 1, peerhook); + snprintf(conn.path, NG_PATHSIZ, "[%x]:", peer); + strlcpy(conn.ourhook, ourhook, NG_HOOKSIZ); + strlcpy(conn.peerhook, peerhook, NG_HOOKSIZ); return (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, NGM_CONNECT, &conn, sizeof(conn))); } @@ -649,17 +649,17 @@ const char *peerhook) { struct ngm_connect conn; - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; ng_ID_t tee; if ((tee = ng_mkpeer_id(id, NULL, "tee", ourhook, "left")) == 0) return (-1); - snprintf(path, NG_PATHLEN + 1, "[%x]:", tee); + snprintf(path, NG_PATHSIZ, "[%x]:", tee); - snprintf(conn.path, NG_PATHLEN + 1, "[%x]:", peer); - snprintf(conn.ourhook, NG_HOOKLEN + 1, "right"); - snprintf(conn.peerhook, NG_HOOKLEN + 1, peerhook); + snprintf(conn.path, NG_PATHSIZ, "[%x]:", peer); + strlcpy(conn.ourhook, "right", NG_HOOKSIZ); + strlcpy(conn.peerhook, peerhook, NG_HOOKSIZ); return (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, NGM_CONNECT, &conn, sizeof(conn))); } @@ -730,13 +730,13 @@ ng_mkpeer_id(ng_ID_t id, const char *nodename, const char *type, const char *hook, const char *peerhook) { - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; struct ngm_mkpeer mkpeer; struct ngm_name name; - strcpy(mkpeer.type, type); - strcpy(mkpeer.ourhook, hook); - strcpy(mkpeer.peerhook, peerhook); + strlcpy(mkpeer.type, type, NG_TYPESIZ); + strlcpy(mkpeer.ourhook, hook, NG_HOOKSIZ); + strlcpy(mkpeer.peerhook, peerhook, NG_HOOKSIZ); sprintf(path, "[%x]:", id); if (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, NGM_MKPEER, @@ -762,9 +762,9 @@ int ng_shutdown_id(ng_ID_t id) { - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; - sprintf(path, "[%x]:", id); + snprintf(path, NG_PATHSIZ, "[%x]:", id); return (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, NGM_SHUTDOWN, NULL, 0)); } @@ -777,7 +777,7 @@ { struct ngm_rmhook rmhook; - snprintf(rmhook.ourhook, NG_HOOKLEN + 1, "%s", ourhook); + strlcpy(rmhook.ourhook, ourhook, NG_HOOKSIZ); return (NgSendMsg(csock, ".:", NGM_GENERIC_COOKIE, NGM_RMHOOK, &rmhook, sizeof(rmhook))); } @@ -789,10 +789,10 @@ ng_rmhook_id(ng_ID_t id, const char *hook) { struct ngm_rmhook rmhook; - char path[NG_PATHLEN + 1]; + char path[NG_PATHSIZ]; - snprintf(rmhook.ourhook, NG_HOOKLEN + 1, "%s", hook); - sprintf(path, "[%x]:", id); + strlcpy(rmhook.ourhook, hook, NG_HOOKSIZ); + snprintf(path, NG_PATHSIZ, "[%x]:", id); return (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, NGM_RMHOOK, &rmhook, sizeof(rmhook))); } @@ -1243,7 +1243,7 @@ case SNMP_OP_SET: if (index_decode(&value->var, sub, iidx, &name, &namelen)) return (SNMP_ERR_NO_CREATION); - if (namelen == 0 || namelen > NG_TYPELEN) { + if (namelen == 0 || namelen >= NG_TYPESIZ) { free(name); return (SNMP_ERR_NO_CREATION); } ==== //depot/projects/hammer/lib/libc/locale/Makefile.inc#14 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libc/locale/Makefile.inc,v 1.50 2003/11/08 03:02:45 tjr Exp $ +# $FreeBSD: src/lib/libc/locale/Makefile.inc,v 1.51 2003/11/15 02:13:09 tjr Exp $ # locale sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/locale ${.CURDIR}/locale @@ -31,8 +31,7 @@ wcrtomb.3 \ wcsrtombs.3 wcstod.3 wcstol.3 \ wctrans.3 wctype.3 wcwidth.3 -MAN+= euc.4 utf2.4 -MAN+= big5.5 gb18030.5 gb2312.5 gbk.5 mskanji.5 utf8.5 +MAN+= big5.5 euc.5 gb18030.5 gb2312.5 gbk.5 mskanji.5 utf2.5 utf8.5 MLINKS+=btowc.3 wctob.3 MLINKS+=isdigit.3 isnumber.3 ==== //depot/projects/hammer/lib/libc/locale/big5.5#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/big5.5,v 1.1 2003/08/10 09:23:50 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/big5.5,v 1.2 2003/11/15 02:26:04 tjr Exp $ .Dd August 7, 2003 .Dt BIG5 5 .Os @@ -43,6 +43,6 @@ the first in the range 0xA1 - 0xFE, the second in the range 0x40 - 0xFE. .Sh SEE ALSO -.Xr euc 4 , +.Xr euc 5 , .Xr gb18030 5 , .Xr utf8 5 ==== //depot/projects/hammer/lib/libc/locale/gb18030.5#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/gb18030.5,v 1.4 2003/11/08 03:07:56 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/gb18030.5,v 1.5 2003/11/15 02:26:04 tjr Exp $ .Dd August 10, 2003 .Dt GB18030 5 .Os @@ -59,7 +59,7 @@ 0x81-0xFE, have a second byte in the range 0x30-0x39, a third byte in the range 0x81-0xFE and a fourth byte in the range 0x30-0x39. .Sh SEE ALSO -.Xr euc 4 , +.Xr euc 5 , .Xr gb2312 5 , .Xr gbk 5 , .Xr utf8 5 ==== //depot/projects/hammer/lib/libc/locale/gb2312.5#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/gb2312.5,v 1.1 2003/11/08 03:02:45 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/gb2312.5,v 1.2 2003/11/15 02:26:04 tjr Exp $ .Dd November 7, 2003 .Dt GB2312 5 .Os @@ -46,7 +46,7 @@ Simplified Chinese characters are represented by two bytes, both in the range 0xA1-0xFE. .Sh SEE ALSO -.Xr euc 4 , +.Xr euc 5 , .Xr gb18030 5 , .Xr gbk 5 .Sh STANDARDS ==== //depot/projects/hammer/lib/libc/locale/gbk.5#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/gbk.5,v 1.2 2003/11/08 03:07:56 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/gbk.5,v 1.3 2003/11/15 02:26:04 tjr Exp $ .Dd August 10, 2003 .Dt GBK 5 .Os @@ -45,7 +45,7 @@ Chinese characters are represented by two bytes, beginning with a byte in the range 0x80-0xFE and ending with a byte in the range 0x40-0xFE. .Sh SEE ALSO -.Xr euc 4 , +.Xr euc 5 , .Xr gb18030 5 , .Xr gb2312 5 , .Xr utf8 5 ==== //depot/projects/hammer/lib/libc/locale/mbrune.3#5 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mbrune.3 8.2 (Berkeley) 4/19/94 -.\" $FreeBSD: src/lib/libc/locale/mbrune.3,v 1.15 2003/02/06 11:04:46 charnier Exp $ +.\" $FreeBSD: src/lib/libc/locale/mbrune.3,v 1.16 2003/11/15 02:26:04 tjr Exp $ .\" .Dd April 19, 1994 .Dt MBRUNE 3 @@ -159,8 +159,8 @@ .Sh SEE ALSO .Xr rune 3 , .Xr setlocale 3 , -.Xr euc 4 , -.Xr utf2 4 , +.Xr euc 5 , +.Xr utf2 5 , .Xr utf8 5 .Sh HISTORY The ==== //depot/projects/hammer/lib/libc/locale/mskanji.5#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/mskanji.5,v 1.2 2003/08/10 11:41:38 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/mskanji.5,v 1.3 2003/11/15 02:26:04 tjr Exp $ .Dd August 7, 2003 .Dt MSKANJI 5 .Os @@ -65,5 +65,5 @@ extended characters). The second byte ranges from 0x40 - 0xFC, excluding 0x7F (delete). .Sh SEE ALSO -.Xr euc 4 , +.Xr euc 5 , .Xr utf8 5 ==== //depot/projects/hammer/lib/libc/locale/multibyte.3#7 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)multibyte.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/multibyte.3,v 1.22 2003/11/08 03:23:11 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/multibyte.3,v 1.23 2003/11/15 02:26:04 tjr Exp $ .\" .Dd August 10, 2003 .Dt MULTIBYTE 3 @@ -232,13 +232,13 @@ .Xr setlocale 3 , .Xr wcrtomb 3 , .Xr wcsrtombs 3 , -.Xr euc 4 , -.Xr utf2 4 , .Xr big5 5 , +.Xr euc 5 , .Xr gb18030 5 , .Xr gb2312 5 , .Xr gbk 5 , .Xr mskanji 5 , +.Xr utf2 5 , .Xr utf8 5 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/rune.3#6 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rune.3 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/locale/rune.3,v 1.23 2003/09/08 19:57:14 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/rune.3,v 1.24 2003/11/15 02:26:04 tjr Exp $ .\" .Dd October 6, 2002 .Dt RUNE 3 @@ -267,8 +267,8 @@ .Sh SEE ALSO .Xr mbrune 3 , .Xr setlocale 3 , -.Xr euc 4 , -.Xr utf2 4 , +.Xr euc 5 , +.Xr utf2 5 , .Xr utf8 5 .Sh HISTORY These functions first appeared in ==== //depot/projects/hammer/lib/libc/locale/setlocale.3#5 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93 -.\" $FreeBSD: src/lib/libc/locale/setlocale.3,v 1.27 2003/05/22 13:02:27 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/setlocale.3,v 1.28 2003/11/15 02:26:04 tjr Exp $ .\" .Dd October 5, 2002 .Dt SETLOCALE 3 @@ -334,8 +334,8 @@ .Xr rune 3 , .Xr strcoll 3 , .Xr strxfrm 3 , -.Xr euc 4 , -.Xr utf2 4 , +.Xr euc 5 , +.Xr utf2 5 , .Xr utf8 5 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/utf8.5#4 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)utf2.4 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/utf8.5,v 1.3 2002/11/29 17:35:09 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/utf8.5,v 1.4 2003/11/15 02:26:04 tjr Exp $ .\" .Dd October 30, 2002 .Dt UTF8 5 @@ -82,7 +82,7 @@ The .Nm encoding supersedes the -.Xr utf2 4 +.Xr utf2 5 encoding. The only differences between the two are that .Nm @@ -90,16 +90,16 @@ .Tn ISO 10646 whereas -.Xr utf2 4 +.Xr utf2 5 is limited to a 16-bit character set, and that -.Xr utf2 4 +.Xr utf2 5 accepts redundant, .No non- Ns Dq "shortest form" representations of characters. .Sh SEE ALSO -.Xr euc 4 , -.Xr utf2 4 +.Xr euc 5 , +.Xr utf2 5 .Rs .%A "Rob Pike" .%A "Ken Thompson" ==== //depot/projects/hammer/lib/libc/posix1e/mac.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/posix1e/mac.c,v 1.8 2003/08/30 14:51:01 rwatson Exp $ + * $FreeBSD: src/lib/libc/posix1e/mac.c,v 1.10 2003/11/15 04:05:49 rwatson Exp $ */ #include @@ -358,6 +358,11 @@ mac_prepare_type(struct mac **mac, const char *name) { struct label_default *ld; + int error; + + error = mac_maybe_init_internal(); + if (error != 0) + return (error); for (ld = LIST_FIRST(&label_default_head); ld != NULL; ld = LIST_NEXT(ld, ld_entries)) { @@ -372,47 +377,27 @@ int mac_prepare_ifnet_label(struct mac **mac) { - int error; - error = mac_maybe_init_internal(); - if (error != 0) - return (error); - return (mac_prepare_type(mac, "ifnet")); } int mac_prepare_file_label(struct mac **mac) { - int error; - error = mac_maybe_init_internal(); - if (error != 0) - return (error); - return (mac_prepare_type(mac, "file")); } int mac_prepare_packet_label(struct mac **mac) { - int error; - error = mac_maybe_init_internal(); - if (error != 0) - return (error); - return (mac_prepare_type(mac, "packet")); } int mac_prepare_process_label(struct mac **mac) { - int error; - - error = mac_maybe_init_internal(); - if (error != 0) - return (error); return (mac_prepare_type(mac, "process")); } ==== //depot/projects/hammer/libexec/ftpd/ftpd.c#9 (text+ko) ==== @@ -44,7 +44,7 @@ static char sccsid[] = "@(#)ftpd.c 8.4 (Berkeley) 4/16/94"; #endif static const char rcsid[] = - "$FreeBSD: src/libexec/ftpd/ftpd.c,v 1.146 2003/09/14 16:42:46 ume Exp $"; + "$FreeBSD: src/libexec/ftpd/ftpd.c,v 1.147 2003/11/15 11:08:26 yar Exp $"; #endif /* not lint */ /* @@ -1970,7 +1970,7 @@ static int send_data(FILE *instr, FILE *outstr, off_t blksize, off_t filesize, int isreg) { - int c, filefd, netfd; + int c, cp, filefd, netfd; char *buf; off_t cnt; @@ -1978,16 +1978,18 @@ switch (type) { case TYPE_A: + cp = '\0'; while ((c = getc(instr)) != EOF) { if (recvurg) goto got_oob; byte_count++; - if (c == '\n') { + if (c == '\n' && cp != '\r') { if (ferror(outstr)) goto data_err; (void) putc('\r', outstr); } (void) putc(c, outstr); + cp = c; } if (recvurg) goto got_oob; ==== //depot/projects/hammer/libexec/pppoed/pppoed.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/libexec/pppoed/pppoed.c,v 1.22 2002/05/14 12:33:40 brian Exp $ + * $FreeBSD: src/libexec/pppoed/pppoed.c,v 1.23 2003/11/15 15:26:34 harti Exp $ */ #include @@ -497,7 +497,7 @@ int main(int argc, char *argv[]) { - char hostname[MAXHOSTNAMELEN], *exec, rhook[NG_HOOKLEN + 1]; + char hostname[MAXHOSTNAMELEN], *exec, rhook[NG_HOOKSIZ]; unsigned char response[1024]; const char *label, *prog, *provider, *acname; struct ngm_connect ngc; ==== //depot/projects/hammer/release/Makefile#40 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.823 2003/11/14 08:21:21 kuriyama Exp $ +# $FreeBSD: src/release/Makefile,v 1.824 2003/11/15 03:58:12 kuriyama Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -695,7 +695,10 @@ ${RD}/trees/base/etc/services | \ sed -e '/^#.*$$/d' -e 's/[:space:]*#.*$$//g' \ > ${RD}/mfsfd/stand/etc/services + grep 'operator' ${RD}/trees/base/etc/group \ + > ${RD}/mfsfd/stand/etc/group ln ${RD}/mfsfd/stand/etc/services ${RD}/mfsfd/etc/services + ln ${RD}/mfsfd/stand/etc/group ${RD}/mfsfd/etc/group ln ${RD}/mfsfd/stand/etc/netconfig ${RD}/mfsfd/etc/netconfig cp ${RD}/trees/base/COPYRIGHT ${RD}/mfsfd/stand/help/COPYRIGHT.hlp .if !defined(NODOC) ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#37 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.198 2003/11/13 22:39:49 simon Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.199 2003/11/15 05:24:10 bmah Exp $ Supported Devices @@ -997,10 +997,7 @@ FORE Systems, Inc. PCA-200E ATM PCI Adapters (hfa and &man.fatm.4; drivers) - IDT 77201/211 NICStAR ATM Adapters (idt - driver) - - FORE Systems, Inc. LE155 ATM Adapter (idt + IDT NICStAR 77201/211-based ATM Adapters (&man.idt.4; driver) FORE Systems, Inc. HE155 and HE622 ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#45 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.650 2003/11/10 16:27:53 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.651 2003/11/15 02:19:46 bmah Exp $ 2000 @@ -184,7 +184,7 @@ &merged; The DRM kernel modules have been updated from - DRI CVS as of 23 October 2003. Among other changes, this + DRI CVS as of 12 November 2003. Among other changes, this change includes a newly-ported SiS 300/305/540/630/730 driver and mostly-complete SMPng locking. @@ -429,6 +429,9 @@ + A number of fixes and updates to the IPv6 and IPSec code + have been imported from the KAME Project. + Support for the IPv6 Advanced Sockets API now conforms to RFC 3542 (also known as RFC 2292bis), rather than RFC 2292. Applications using this API have been updated @@ -499,6 +502,36 @@ Some off-by-one errors in the smbfs that prevented it from working correctly with 15-character NetBIOS names have been fixed. + The sizes of some members of the statfs + structure have changed from 32 bits to 64 bits in order to + better support multi-terabyte filesystems. + + + + Users performing source upgrades across this change + must ensure that their kernel and userland bits are in + sync, by following the documented source upgrade + procedures. + + + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 15 18:48:32 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 002B016A4D0; Sat, 15 Nov 2003 18:48:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D01C016A4CE for ; Sat, 15 Nov 2003 18:48:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3AA7643F85 for ; Sat, 15 Nov 2003 18:48:31 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAG2mUXJ025651 for ; Sat, 15 Nov 2003 18:48:30 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAG2mUYU025648 for perforce@freebsd.org; Sat, 15 Nov 2003 18:48:30 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 15 Nov 2003 18:48:30 -0800 (PST) Message-Id: <200311160248.hAG2mUYU025648@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42506 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 02:48:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=42506 Change 42506 by rwatson@rwatson_tislabs on 2003/11/15 18:47:44 Pass M_ZERO to uma_zalloc() not uma_zcreate(). Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#234 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#188 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#234 (text+ko) ==== @@ -148,7 +148,7 @@ biba_alloc(int flag) { - return (uma_zalloc(zone_biba, flag)); + return (uma_zalloc(zone_biba, flag | M_ZERO)); } static void @@ -498,7 +498,7 @@ { zone_biba = uma_zcreate("mac_biba", sizeof(struct mac_biba), NULL, - NULL, NULL, NULL, UMA_ALIGN_PTR, M_ZERO); + NULL, NULL, NULL, UMA_ALIGN_PTR, 0); } /* ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#188 (text+ko) ==== @@ -136,7 +136,7 @@ mls_alloc(int flag) { - return (uma_zalloc(zone_mls, flag)); + return (uma_zalloc(zone_mls, flag | M_ZERO)); } static void @@ -463,7 +463,7 @@ { zone_mls = uma_zcreate("mac_mls", sizeof(struct mac_mls), NULL, - NULL, NULL, NULL, UMA_ALIGN_PTR, M_ZERO); + NULL, NULL, NULL, UMA_ALIGN_PTR, 0); } /* From owner-p4-projects@FreeBSD.ORG Sat Nov 15 19:28:58 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A501616A4D0; Sat, 15 Nov 2003 19:28:58 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7FDB916A4CE for ; Sat, 15 Nov 2003 19:28:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C8D6043FBD for ; Sat, 15 Nov 2003 19:28:56 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAG3SuXJ028203 for ; Sat, 15 Nov 2003 19:28:56 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAG3Stbc028200 for perforce@freebsd.org; Sat, 15 Nov 2003 19:28:55 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sat, 15 Nov 2003 19:28:55 -0800 (PST) Message-Id: <200311160328.hAG3Stbc028200@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42508 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 03:28:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=42508 Change 42508 by peter@peter_daintree on 2003/11/15 19:28:02 fix opt file Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#19 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#19 (text+ko) ==== @@ -32,7 +32,7 @@ #include "opt_atpic.h" #include "opt_isa.h" -#include "opt_mixed_mode.h" +#include "opt_no_mixed_mode.h" #include #include From owner-p4-projects@FreeBSD.ORG Sat Nov 15 19:31:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 147B516A4D0; Sat, 15 Nov 2003 19:31:01 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E224116A4CE for ; Sat, 15 Nov 2003 19:31:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 57EB743FA3 for ; Sat, 15 Nov 2003 19:31:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAG3V0XJ028392 for ; Sat, 15 Nov 2003 19:31:00 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAG3UxR0028387 for perforce@freebsd.org; Sat, 15 Nov 2003 19:30:59 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sat, 15 Nov 2003 19:30:59 -0800 (PST) Message-Id: <200311160330.hAG3UxR0028387@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42509 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 03:31:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=42509 Change 42509 by peter@peter_overcee on 2003/11/15 19:30:12 create AP bootstrap page tables Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#30 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#30 (text+ko) ==== @@ -454,7 +454,8 @@ u_char mpbiosreason; u_int32_t mpbioswarmvec; struct pcpu *pc; - int x, apic_id, cpu; + int x, apic_id, cpu, i; + u_int64_t *pt4, *pt3, *pt2; mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); @@ -462,6 +463,28 @@ pmap_kenter(boot_address + KERNBASE, boot_address); bcopy(mptramp_start, (void *)((uintptr_t)boot_address + KERNBASE), bootMP_size); + /* Locate the page tables, they'll be below the trampoline */ + pt4 = (u_int64_t *)(uintptr_t)mptramp_pagetables; + pt3 = pt4 + 512; + pt2 = pt3 + 512; + printf("pt4 = %p; pt3 = %p; pt2 = %p\n", pt4, pt3, pt2); + + /* Create the initial 1GB replicated page tables */ + for (i = 0; i < 512; i++) { + /* Each slot of the level 4 pages points to the same level 3 page */ + pt4[i] = (u_int64_t)(uintptr_t)pt3; + pt4[i] = PG_V | PG_RW | PG_U; + + /* Each slot of the level 3 pages points to the same level 2 page */ + pt3[i] = (u_int64_t)(uintptr_t)pt2; + pt3[i] = PG_V | PG_RW | PG_U; + + /* The level 2 page slots are mapped with 2MB pages for 1GB. */ + pt2[i] = i * (2 * 1024 * 1024); + pt2[i] = PG_V | PG_RW | PG_PS | PG_U; + } + printf("pagetables created\n"); + /* save the current value of the warm-start vector */ mpbioswarmvec = *((u_int32_t *) WARMBOOT_OFF); outb(CMOS_REG, BIOS_RESET); From owner-p4-projects@FreeBSD.ORG Sat Nov 15 19:57:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BCEE16A4D1; Sat, 15 Nov 2003 19:57:34 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1625C16A4CF for ; Sat, 15 Nov 2003 19:57:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 75DD543F75 for ; Sat, 15 Nov 2003 19:57:33 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAG3vXXJ029458 for ; Sat, 15 Nov 2003 19:57:33 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAG3vXD1029455 for perforce@freebsd.org; Sat, 15 Nov 2003 19:57:33 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sat, 15 Nov 2003 19:57:33 -0800 (PST) Message-Id: <200311160357.hAG3vXD1029455@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42511 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 03:57:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=42511 Change 42511 by peter@peter_overcee on 2003/11/15 19:57:05 make smp compile again Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#31 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#31 (text+ko) ==== @@ -350,7 +350,7 @@ cpu_setregs(); /* set up FPU state on the AP */ - npxinit(__INITIAL_NPXCW__); + fpuinit(); /* set up SSE registers */ enable_sse();