From owner-p4-projects@FreeBSD.ORG Sun Jul 17 01:15:37 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F83E16A445; Sun, 17 Jul 2005 01:15:36 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 34B2516A442 for ; Sun, 17 Jul 2005 01:15:36 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9E3043D49 for ; Sun, 17 Jul 2005 01:15:35 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6H1FZB0060074 for ; Sun, 17 Jul 2005 01:15:35 GMT (envelope-from wsalamon@computer.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6H1FZh6060071 for perforce@freebsd.org; Sun, 17 Jul 2005 01:15:35 GMT (envelope-from wsalamon@computer.org) Date: Sun, 17 Jul 2005 01:15:35 GMT Message-Id: <200507170115.j6H1FZh6060071@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to wsalamon@computer.org using -f From: Wayne Salamon To: Perforce Change Reviews Cc: Subject: PERFORCE change 80366 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 01:15:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=80366 Change 80366 by wsalamon@gretsch on 2005/07/17 01:15:19 Change the audit system calls to MSTD from MNOSTD in syscalls.master, and update generated files. Affected files ... .. //depot/projects/trustedbsd/audit3/sys/kern/init_sysent.c#16 edit .. //depot/projects/trustedbsd/audit3/sys/kern/syscalls.c#10 edit .. //depot/projects/trustedbsd/audit3/sys/kern/syscalls.master#19 edit .. //depot/projects/trustedbsd/audit3/sys/sys/syscall.h#10 edit .. //depot/projects/trustedbsd/audit3/sys/sys/syscall.mk#11 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/kern/init_sysent.c#16 (text+ko) ==== @@ -365,7 +365,7 @@ { SYF_MPSAFE | AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL }, /* 333 = sched_get_priority_min */ { SYF_MPSAFE | AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL }, /* 334 = sched_rr_get_interval */ { SYF_MPSAFE | AS(utrace_args), (sy_call_t *)utrace, AUE_NULL }, /* 335 = utrace */ - { compat4(SYF_MPSAFE | AS(freebsd4_sendfile_args),sendfile), AUE_NULL }, /* 336 = old sendfile */ + { compat4(SYF_MPSAFE | AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE }, /* 336 = old sendfile */ { SYF_MPSAFE | AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL }, /* 337 = kldsym */ { SYF_MPSAFE | AS(jail_args), (sy_call_t *)jail, AUE_NULL }, /* 338 = jail */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 339 = pioctl */ @@ -422,7 +422,7 @@ { SYF_MPSAFE | AS(kenv_args), (sy_call_t *)kenv, AUE_NULL }, /* 390 = kenv */ { SYF_MPSAFE | AS(lchflags_args), (sy_call_t *)lchflags, AUE_LCHFLAGS }, /* 391 = lchflags */ { SYF_MPSAFE | AS(uuidgen_args), (sy_call_t *)uuidgen, AUE_NULL }, /* 392 = uuidgen */ - { SYF_MPSAFE | AS(sendfile_args), (sy_call_t *)sendfile, AUE_NULL }, /* 393 = sendfile */ + { SYF_MPSAFE | AS(sendfile_args), (sy_call_t *)sendfile, AUE_SENDFILE }, /* 393 = sendfile */ { SYF_MPSAFE | AS(mac_syscall_args), (sy_call_t *)mac_syscall, AUE_NULL }, /* 394 = mac_syscall */ { SYF_MPSAFE | AS(getfsstat_args), (sy_call_t *)getfsstat, AUE_GETFSSTAT }, /* 395 = getfsstat */ { SYF_MPSAFE | AS(statfs_args), (sy_call_t *)statfs, AUE_STATFS }, /* 396 = statfs */ @@ -474,15 +474,15 @@ { SYF_MPSAFE | AS(thr_suspend_args), (sy_call_t *)thr_suspend, AUE_NULL }, /* 442 = thr_suspend */ { SYF_MPSAFE | AS(thr_wake_args), (sy_call_t *)thr_wake, AUE_NULL }, /* 443 = thr_wake */ { SYF_MPSAFE | AS(kldunloadf_args), (sy_call_t *)kldunloadf, AUE_NULL }, /* 444 = kldunloadf */ - { SYF_MPSAFE | AS(audit_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 445 = audit */ - { SYF_MPSAFE | AS(auditon_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 446 = auditon */ - { SYF_MPSAFE | AS(getauid_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 447 = getauid */ - { SYF_MPSAFE | AS(setauid_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 448 = setauid */ - { SYF_MPSAFE | AS(getaudit_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 449 = getaudit */ - { SYF_MPSAFE | AS(setaudit_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 450 = setaudit */ - { SYF_MPSAFE | AS(getaudit_addr_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 451 = getaudit_addr */ - { SYF_MPSAFE | AS(setaudit_addr_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 452 = setaudit_addr */ - { SYF_MPSAFE | AS(auditctl_args), (sy_call_t *)lkmressys, AUE_NULL }, /* 453 = auditctl */ + { SYF_MPSAFE | AS(audit_args), (sy_call_t *)audit, AUE_AUDIT }, /* 445 = audit */ + { SYF_MPSAFE | AS(auditon_args), (sy_call_t *)auditon, AUE_AUDITON }, /* 446 = auditon */ + { SYF_MPSAFE | AS(getauid_args), (sy_call_t *)getauid, AUE_GETAUID }, /* 447 = getauid */ + { SYF_MPSAFE | AS(setauid_args), (sy_call_t *)setauid, AUE_SETAUID }, /* 448 = setauid */ + { SYF_MPSAFE | AS(getaudit_args), (sy_call_t *)getaudit, AUE_GETAUDIT }, /* 449 = getaudit */ + { SYF_MPSAFE | AS(setaudit_args), (sy_call_t *)setaudit, AUE_SETAUDIT }, /* 450 = setaudit */ + { SYF_MPSAFE | AS(getaudit_addr_args), (sy_call_t *)getaudit_addr, AUE_GETAUDIT_ADDR }, /* 451 = getaudit_addr */ + { SYF_MPSAFE | AS(setaudit_addr_args), (sy_call_t *)setaudit_addr, AUE_SETAUDIT_ADDR }, /* 452 = setaudit_addr */ + { SYF_MPSAFE | AS(auditctl_args), (sy_call_t *)auditctl, AUE_AUDITCTL }, /* 453 = auditctl */ { SYF_MPSAFE | AS(_umtx_op_args), (sy_call_t *)_umtx_op, AUE_NULL }, /* 454 = _umtx_op */ { SYF_MPSAFE | AS(thr_new_args), (sy_call_t *)thr_new, AUE_NULL }, /* 455 = thr_new */ }; ==== //depot/projects/trustedbsd/audit3/sys/kern/syscalls.c#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.179 2005/05/30 15:20:20 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.196 2005/05/30 15:09:18 rwatson Exp */ ==== //depot/projects/trustedbsd/audit3/sys/kern/syscalls.master#19 (text+ko) ==== @@ -770,21 +770,21 @@ const struct timespec *timeout); } 443 AUE_NULL MSTD { int thr_wake(long id); } 444 AUE_NULL MSTD { int kldunloadf(int fileid, int flags); } -445 AUE_AUDIT MNOSTD { int audit(const void *record, \ +445 AUE_AUDIT MSTD { int audit(const void *record, \ u_int length); } -446 AUE_AUDITON MNOSTD { int auditon(int cmd, void *data, \ +446 AUE_AUDITON MSTD { int auditon(int cmd, void *data, \ u_int length); } -447 AUE_GETAUID MNOSTD { int getauid(uid_t *auid); } -448 AUE_SETAUID MNOSTD { int setauid(uid_t *auid); } -449 AUE_GETAUDIT MNOSTD { int getaudit(struct auditinfo *auditinfo); } -450 AUE_SETAUDIT MNOSTD { int setaudit(struct auditinfo *auditinfo); } -451 AUE_GETAUDIT_ADDR MNOSTD { int getaudit_addr( \ +447 AUE_GETAUID MSTD { int getauid(uid_t *auid); } +448 AUE_SETAUID MSTD { int setauid(uid_t *auid); } +449 AUE_GETAUDIT MSTD { int getaudit(struct auditinfo *auditinfo); } +450 AUE_SETAUDIT MSTD { int setaudit(struct auditinfo *auditinfo); } +451 AUE_GETAUDIT_ADDR MSTD { int getaudit_addr( \ struct auditinfo_addr *auditinfo_addr, \ u_int length); } -452 AUE_SETAUDIT_ADDR MNOSTD { int setaudit_addr( \ +452 AUE_SETAUDIT_ADDR MSTD { int setaudit_addr( \ struct auditinfo_addr *auditinfo_addr, \ u_int length); } -453 AUE_AUDITCTL MNOSTD { int auditctl(char *path); } +453 AUE_AUDITCTL MSTD { int auditctl(char *path); } 454 AUE_NULL MSTD { int _umtx_op(struct umtx *umtx, int op, \ long id, void *uaddr, void *uaddr2); } 455 AUE_NULL MSTD { int thr_new(struct thr_param *param, \ ==== //depot/projects/trustedbsd/audit3/sys/sys/syscall.h#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.176 2005/05/30 15:20:21 rwatson Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.196 2005/05/30 15:09:18 rwatson Exp */ ==== //depot/projects/trustedbsd/audit3/sys/sys/syscall.mk#11 (text+ko) ==== @@ -1,6 +1,6 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.131 2005/05/30 15:20:21 rwatson Exp $ +# $FreeBSD$ # created from FreeBSD: src/sys/kern/syscalls.master,v 1.196 2005/05/30 15:09:18 rwatson Exp MIASM = \ syscall.o \ From owner-p4-projects@FreeBSD.ORG Sun Jul 17 09:36:50 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4133416A420; Sun, 17 Jul 2005 09:36:50 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 1268D16A41C for ; Sun, 17 Jul 2005 09:36:50 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA43743D45 for ; Sun, 17 Jul 2005 09:36:49 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6H9anXR001363 for ; Sun, 17 Jul 2005 09:36:49 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6H9anHx001360 for perforce@freebsd.org; Sun, 17 Jul 2005 09:36:49 GMT (envelope-from soc-andrew@freebsd.org) Date: Sun, 17 Jul 2005 09:36:49 GMT Message-Id: <200507170936.j6H9anHx001360@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 80382 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 09:36:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=80382 Change 80382 by soc-andrew@soc-andrew_serv on 2005/07/17 09:36:24 Catchup with libmemstat + new release docs Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#2 edit .. //depot/projects/soc2005/bsdinstaller/src/lib/Makefile#3 integrate .. //depot/projects/soc2005/bsdinstaller/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#4 integrate .. //depot/projects/soc2005/bsdinstaller/src/release/doc/share/sgml/release.ent#2 integrate .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/Makefile#5 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#2 (text+ko) ==== @@ -73,6 +73,8 @@ #include "fn.h" #include "pathnames.h" +#include "extra_flow.h" + /*** GLOBALS ***/ void (*state)(struct i_fn_args *) = NULL; @@ -1160,7 +1162,8 @@ fn_create_subpartitions(a); if (a->result) { - state = state_install_os; + /* state = state_install_os; */ + state = state_select_distros; } else { state = disk_get_formatted(storage_get_selected_disk(a->s)) ? state_select_disk : state_select_slice; ==== //depot/projects/soc2005/bsdinstaller/src/lib/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.205 2005/04/20 20:50:32 marcel Exp $ +# $FreeBSD: src/lib/Makefile,v 1.206 2005/07/14 17:59:50 rwatson Exp $ # To satisfy shared library or ELF linkage when only the libraries being # built are visible: @@ -29,7 +29,7 @@ libcalendar libcam libcompat libdevinfo libdevstat ${_libdisk} \ libedit libexpat libfetch libform libftpio libgeom ${_libgpib} \ ${_libio} libipsec \ - libipx libkiconv libmagic libmenu ${_libmilter} ${_libmp} \ + libipx libkiconv libmagic libmemstat libmenu ${_libmilter} ${_libmp} \ ${_libncp} ${_libngatm} libopie libpam libpanel libpcap \ libpmc ${_libpthread} ${_libsdp} ${_libsm} ${_libsmb} ${_libsmdb} \ ${_libsmutil} libstand libtelnet ${_libthr} ${_libthread_db} libufs \ ==== //depot/projects/soc2005/bsdinstaller/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#4 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.883 2005/07/10 03:47:00 hrs Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.885 2005/07/15 16:38:52 hrs Exp $ 2000 @@ -113,323 +113,25 @@ Security Advisories - A bug in the &man.fetch.1; utility, which allows - a malicious HTTP server to cause arbitrary portions of the client's - memory to be overwritten, has been fixed. - For more information, see security advisory - FreeBSD-SA-04:16.fetch. - &merged; - - A bug in &man.procfs.5; and &man.linprocfs.5; - which could allow a malicious local user to read parts of kernel - memory or perform a local - denial of service attack by causing a system panic, - has been fixed. - For more information, see security advisory - FreeBSD-SA-04:17.procfs. - &merged; - - Two buffer overflows in the TELNET client program have been - corrected. They could have allowed a malicious TELNET server or - an active network attacker to cause &man.telnet.1; to execute - arbitrary code with the privileges of the user running it. - More information can be found in security advisory - FreeBSD-SA-05:01.telnet. - &merged; - - An information disclosure vulnerability in the - &man.sendfile.2; system call, which could permit it to transmit - random parts of kernel memory, has been fixed. More details are - in security advisory - FreeBSD-SA-05:02.sendfile. - &merged; - - A possible privilege escalation vulnerability on &os;/amd64 - has been fixed. This allows unprivileged users to gain direct - access to some hardware which cannot be accessed - without the elevated privilege level. More details are in security advisory - FreeBSD-SA-05:03.amd64. - &merged; - - An information leak vulnerability in the - SIOCGIFCONF &man.ioctl.2;, which leaked 12 - bytes of kernel memory, has been fixed. More details are in security advisory - FreeBSD-SA-05:04.ifconf. - &merged; - - Several programming errors in &man.cvs.1;, which could - potentially cause arbitrary code to be executed on CVS servers, - have been corrected. Further information can be found in - security advisory - FreeBSD-SA-05:05.cvs. - &merged; - - An error in the default permissions on the /dev/iir device node, which - allowed unprivileged local users can send commands to the - hardware supported by the &man.iir.4; driver, has been fixed. - For more information, see security advisory - FreeBSD-SA-05:06.iir. - &merged; - - A bug in the validation of &man.i386.get.ldt.2; system call - input arguments, which may allow kernel memory to be disclosed - to a user process, has been fixed. For more information, see - security advisory - FreeBSD-SA-05:07.ldt. - &merged; - - Several information disclosure vulnerabilities in various - parts of the kernel have been fixed. For more information, see - security advisory - FreeBSD-SA-05:08.kmem. - &merged; - - Because of an information disclosure vulnerability on - processors using Hyper-Threading Technology (HTT), the - machdep.hyperthreading_allowed sysctl - variable has been added. It defaults to 1 - (HTT enabled) on &os; CURRENT, and 0 (HTT - disabled) on the 4-STABLE and 5-STABLE development branches and - supported security fix branches. More information can be found - in security advisory - FreeBSD-SA-05:09.htt. - &merged; - - A bug in the &man.tcpdump.1; utility which allows - a malicious remote user to cause a denial-of-service - by using specially crafted packets, has been fixed. - For more information, see security advisory - FreeBSD-SA-05:10.tcpdump. - &merged; - - Two problems in the &man.gzip.1; utility have been fixed. - These may allow a local user to modify permissions - of arbitrary files and overwrite arbitrary local - files when uncompressing a file. - For more information, see security advisory - FreeBSD-SA-05:11.gzip. - &merged; - - A bug in BIND 9 DNSSEC has been fixed. - When DNSSEC is enabled, this bug may allow a remote attacker to inject - a specially crafted packet which will cause &man.named.8; to terminate. - For more information, see security advisory - FreeBSD-SA-05:12.bind9. - &merged; - - A bug has been fixed in &man.ipfw.4; that could cause - packets to be matched incorrectly against a lookup table. This - bug only affects SMP machines or UP machines that have the - PREEMPTION kernel option enabled. More - information is contained in security advisory - FreeBSD-SA-05:13.ipfw. - &merged; - - Two security-related problems have been fixed in - &man.bzip2.1;. These include a potential denial of service and - unauthorized manipulation of file permissions. For more - information, see security advisory - FreeBSD-SA-05:14.bzip2. - &merged; - - Two problems in &os;'s TCP stack have been fixed. They - could allow attackers to stall existing TCP connections, - creating a denial-of-service situation. More information is - contained in security advisory - FreeBSD-SA-05:15.tcp. - &merged; - + Kernel Changes - Support for 80386 processors (the - I386_CPU kernel configuration option) has - been removed. Users running this class of CPU should use &os; - 5.X or earlier. + A new sysctl variable kern.malloc_stats + has been added. This allows to export kernel malloc + statistics via a binary structure stream. - The kernel debugger &man.ddb.4; now supports a - show alllocks command, which dumps a list of processes - and threads currently holding sleep mutexes (and spin mutexes for - the current thread). &merged; - - The kernel crash dump format has been changed to - ELF to support large memory (more than 4GB) environment. - - The &man.ichsmb.4; driver is now available as a loadable - kernel module. - - The &man.jail.8; feature now supports a new sysctl - security.jail.chflags_allowed, which controls the - behavior of &man.chflags.1; within a jail. - If set to 0 (the default), then a jailed root user is - treated as an unprivileged user; if set to 1, then - a jailed root user is treated the same as an unjailed root user. &merged; - - A sysctl security.jail.getfsstatroot_only has been - renamed to security.jail.enforce_statfs and - now supports the following policies: - - - - - - - - Value - Policy - - - - - - 0 - Show all mount-points without any restrictions. - - - - 1 - Show only mount-points below jail's chroot and show only part of the - mount-point's path (for example, if the jail's chroot directory is - /jails/foo and - mount-point is - /jails/foo/usr/home, - only /usr/home will be shown). - + A new sysctl variable vm.zone_stats + has been added. This allows to export &man.uma.9; allocator + statistics via a binary structure stream. - - 2 - Show only mount-point where jail's chroot directory is placed. - - - - - - The loader tunable debug.mpsafevm - has been enabled by default. &merged; - - &man.memguard.9;, a kernel memory allocator designed to help detect - tamper-after-free scenarios, has been added. - This must be explicitly enabled via options - DEBUG_MEMGUARD, plus small kernel modifications. It - is generally intended for use by kernel developers. - - struct ifnet and network interface API - have been changed. Due to ABI incompatibility, all drivers - not in the &os; base system need to be updated to use - the new API and recompiled. - - A number of bugs have been fixed in the ULE - scheduler. &merged; - - Fine-grained locking to allow much of the VFS stack to run - without the Giant lock has been added. This is enabled by default - on the alpha, amd64, and i386 architectures, and can be disabled - by setting the loader tunable (and sysctl variable) - debug.mpsafevfs to - 0. - - A bug in Inter-Processor Interrupt (IPI) - handling, which could cause SMP systems to crash under heavy - load, has been fixed. More details are contained in errata note - FreeBSD-EN-05:03.ipi. - &merged; - - System V IPC objects (message queues, semaphores, and shared - memory) now have support for Mandatory Access Control policies, - notably &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, and - &man.mac.test.4;. - - Memory allocation for legacy PCI bridges has - been limited to the top 32MB of RAM. Many older, legacy bridges - only allow allocation from this range. This change only applies - to devices which do not have their memory assigned by the BIOS. - This change fixes the bad Vcc error of CardBus - bridges (&man.pccbb.4;). &merged; - - The &man.sysctl.3; MIBs beginning with debug - now require the kernel option options SYSCTL_DEBUG. - This option is disabled by default. - - The generic &man.tty.4; driver interface has been added - and many device drivers including - &man.cx.4; ({tty,cua}x), - &man.cy.4; ({tty,cua}c), - &man.digi.4; ({tty,cua}D), - &man.rc.4; ({tty,cua}m), - &man.rp.4; ({tty,cua}R), - &man.sab.4; ({tty,cua}z), - &man.si.4; ({tty,cua}A), - &man.sio.4; ({tty,cua}d), - sx ({tty,cua}G), - &man.uart.4; ({tty,cua}u), - &man.ubser.4; ({tty,cua}y), - &man.ucom.4; ({tty,cua}U), and - &man.ucycom.4; ({tty,cua}y) - have been rewritten to use it. Note that /etc/remote - and /etc/ttys have been updated as well. - - The &man.vkbd.4; driver has been added. This driver - provides a software loopback mechanism that can implement - a virtual AT keyboard similar to what the &man.pty.4; driver - does for terminals. - - - - &os; always uses the local APIC timer - even on uni-processor systems now. - - The default HZ - parameter (which controls various kernel timers) has been - increased from 100 to 1000 - on the i386 and ia64. It has been reduced from - 1024 to 1000 on the amd64 - to reduce synchronization effects with other system - clocks. - - The maximum length of shell commands has changed from 128 - bytes to PAGE_SIZE. By default, this value - is either 4KB (i386, pc98, amd64, and powerpc) or 8KB (sparc64 - and ia64). As a result, compatibility modules need to be - rebuilt to stay synchronized with data structure changes in the - kernel. - - A new tunable vm.blacklist has been added. - This can hold a space or comma separated list of physical addresses. - The pages containing these physical addresses will - not be added to the free list and thus will effectively - be ignored by the &os; VM system. The physical addresses - of any ignored pages are listed in the message buffer as well. - Boot Loader Changes - A serial console-capable version of - boot0 has been added. It can be written - to a disk using &man.boot0cfg.8; and specifying - /boot/boot0sio as the argument to the - option. - - cdboot now works around a - BIOS problem observed on some systems when booting from USB - CDROM drives. - - The autoboot loader command - now supports the prompt parameter. + - The autoboot loader command will now prevent the user - from interrupting the boot process at all if the - autoboot_delay variable is set to - -1. &merged; - - A loader menu option to set hint.atkbd.0.flags=0x1 - has been added. This setting allows USB keyboards to work - if no PS/2 keyboard is attached. - - The beastie boot menu has been disabled by default. - @@ -437,1228 +139,106 @@ Hardware Support - The &man.acpi.4; driver now turns - the ACPI and PCI devices off or to a lower power state - when suspending, and back on again when resuming. - This behavior can be disabled by - setting the debug.acpi.do_powerstate and - hw.pci.do_powerstate sysctls to 0. - - The &man.acpi.ibm.4; driver for IBM laptops - has been added. It provides support for the various - hotkeys and reading fan status and thermal - sensors. - - The &man.acpi.fujitsu.4; driver for handling - &man.acpi.4;-controlled buttons Fujitsu laptops has been added. - - The acpi_sony driver, - which supports the Sony Notebook Controller on various - Sony laptops has been added. - - The &man.atkbdc.4;, &man.atkbd.4;, and &man.psm.4; - drivers have been rewritten in more bus-independent way, - and now support the EBus found on the sparc64 platform. - - The following device drivers have been - added and enabled by default in the - GENERIC kernel: - &man.atkbdc.4;, - &man.atkbd.4;, - creator(4), - machfb(4), - &man.syscons.4;, - &man.ohci.4;, - &man.psm.4;, - &man.ukbd.4;, - &man.ums.4;, - and &man.usb.4;. - - The &man.auxio.4; driver has been added; it supports - some auxiliary I/O functions found on various SBus/EBus - &ultrasparc; models. &merged; - - The clkbrd driver has been added to support - the clock-board device frequently found on - Sun Exx00 servers. - - A framework for flexible processor speed control has been - added. It provides methods for various drivers to control CPU - power utilization by adjusting the processor speed. More - details can be found in the &man.cpufreq.4; manual page. &merged; - Currently supported drivers include ichss (Intel SpeedStep for ICH), - acpi_perf (ACPI CPU performance states), and acpi_throttle - (ACPI CPU throttling). The latter two drivers are contained - in the &man.acpi.4; driver. These can individually be disabled by setting device - hints such as hint.ichss.0.disabled="1". - - The &man.hwpmc.4; hardware performance - monitoring counter driver has been added. - This driver virtualizes the hardware performance monitoring - facilities in modern CPUs and provides support for using - these facilities from user level processes. For more details, - see manual pages of &man.hwpmc.4;, associated libraries, - and associated userland utilities. - - Support for the OLDCARD subsystem has - been removed. The NEWCARD system is now used for all PCCARD - device support. - - The pcii driver has been added to support GPIB-PCIIA IEEE-488 - cards. &merged; - - The &man.atkbd.4; driver now supports a 0x8 - (bit 3) flag to disable testing the keyboard port during - the device probe as this can cause hangs on some machines, - specifically Compaq R3000Z series amd64 laptops. - - The &man.pbio.4; driver, - which supports direct access to - the Intel 8255A programmable peripheral interface (PPI) - chip running in mode 0 (simple I/O) has been added. - - The &man.psm.4; driver now has improved support for - Synaptics Touchpad users. It now has better tracking of - slow-speed movement and support for various extra - buttons and dials. These features can be tuned with the - hw.psm.synaptics.* - hierarchy of sysctl variables. - - The rtc driver has been added to support - the MC146818-compatible clock found on some &ultrasparc; II - and III models. &merged; - - The &man.syscons.4; driver now supports VESA - (15, 16, 24, and 32 bit) modes. To enable this feature, two - kernel options SC_PIXEL_MODE and - VESA (or corresponding kernel module) - are needed. - - The &man.uart.4; driver is now enabled in - the GENERIC kernel, and is now the - default driver for serial ports. The &man.ofw.console.4; and - &man.sab.4; drivers are now disabled in the - GENERIC kernel. &merged; - - The &man.uftdi.4; driver now supports the FTDI FT2232C - chip. + - The &man.uplcom.4; driver now supports handling of the - CTS signal. - - The &man.ehci.4; driver has been improved. - - The zs driver has been removed - in favor of the &man.uart.4; driver. - Multimedia Support - The &man.snd.audiocs.4; driver has been - added to support the Crystal Semiconductor CS4231 audio - controller found on &ultrasparc; - workstations. &merged; - - The &man.snd.csa.4; driver now supports - suspend and resume operation. - - The &man.uaudio.4; driver now has some added - functionality, including volume control on more inputs and - recording capability on some devices. &merged; - + Network Interface Support - The &man.ath.4; driver has been updated to split the - transmit rate control algorithm into a separate module. - One of device ath_rate_onoe, - device ath_rate_amrr, or - device ath_rate_sample must be included in - the kernel configuration when using the &man.ath.4; - driver. - - The &man.bge.4; driver now supports the &man.altq.4; - framework, as well as the BCM5714, 5721, 5750, 5751, 5751M and 5789 - chips. &merged; - - The &man.cdce.4; USB Communication Device Class Ethernet - driver has been added. &merged; - - The &man.cp.4; driver is now MPSAFE. &merged; - - The &man.ctau.4; driver is now MPSAFE. &merged; - - The &man.cx.4; driver is now MPSAFE. &merged; - - The &man.dc.4; driver now supports the &man.altq.4; - framework. &merged; - - The &man.ed.4; driver now supports the &man.altq.4; - framework. &merged; - - In the &man.em.4; driver, hardware support for VLAN - tagging is now disabled by default due to some interactions - between this feature and promiscuous mode. &merged; - - Ethernet flow control is now disabled by default in the - &man.fxp.4; driver, to prevent problems on a subnet when a system panics - or is left in the kernel debugger. &merged; - - The gx(4) driver has been removed because - it is no longer maintained actively and - the &man.em.4; driver supports all of the supported hardware. - - The &man.hme.4; driver is now MPSAFE. &merged; - - The &man.ipw.4; (for Intel PRO/Wireless 2100), - &man.iwi.4; (for Intel PRO/Wireless 2200BG/2225BG/2915ABG), - &man.ral.4; (for Ralink Technology RT2500), - and &man.ural.4; (for Ralink Technology RT2500USB) - drivers have been added. - - The &man.ixgb.4; driver is now MPSAFE. &merged; - - The musycc driver, for the LanMedia LMC1504 T1/E1 - network interface card, has been removed due to - disuse. - - Drivers using the &man.ndis.4; device - driver wrapper mechanism are now built and loaded - differently. The &man.ndis.4; driver can now be pre-built - as module or statically compiled into a kernel. Individual - drivers can now be built with the &man.ndisgen.8; utility; - the result is a kernel module that can be loaded into a - running kernel using &man.kldload.8;. &merged; - - The &man.ndis.4; device driver wrapper now - supports &windows;/x86-64 binaries on amd64 - systems. &merged; - - The &man.nve.4; driver, which supports the - nVidia nForce MCP Networking Adapter, has been added. - - The &man.re.4; driver now supports the &man.altq.4; - framework. &merged; - - The &man.sf.4; driver now has support for device polling - and &man.altq.4;. &merged; - - Several programming errors in the &man.sk.4; driver have - been corrected. These bugs were particular to SMP systems, and - could cause panics, page faults, aborted SSH connections, or - corrupted file transfers. More details can be found in - errata note - FreeBSD-EN-05:02.sk. - &merged; - - The &man.sk.4; driver now has support for &man.altq.4;. - This driver also now supports jumbo frames on Yukon-based - interfaces. &merged; - - The &man.ste.4; driver now has support for &man.altq.4;. - - The &man.vge.4; driver now has support for device polling - (&man.polling.4;). - - Support for 802.11 devices in the &man.wlan.4; framework has been - greatly overhauled. In addition to architectural changes, - it includes completed 802.11g, WPA, 802.11i, 802.1x, - WME/WMM, AP-side power-saving, and plugin frameworks for - cryptography modules, authenticators, and access control. - Note in particular that WEP now requires the - wlan_wep module to be loaded (or - compiled) into the kernel. - - The &man.xl.4; driver now supports - &man.polling.4;. &merged; - + Network Protocols - The MTU feedback in IPv6 has been disabled when the sender writes - data that must be fragmented. &merged; - - The Common Address Redundancy Protocol (CARP) has - been implemented. CARP comes from OpenBSD and allows - multiple hosts to share an IP address, providing - high availability and load balancing. - For more information, see the &man.carp.4; manual page. &merged; - - The &man.if.bridge.4; network bridging implementation, - originally from NetBSD, has been added. It supports the IEEE - 802.1D Spanning Tree Protocol, individual interface devices - for each bridge, and filtering of bridged packets. - The &man.ifconfig.8; utility now supports to configure - &man.if.bridge.4;. - - The &man.ipfw.4; IPDIVERT option is now - available as a kernel loadable module. - If this module is not loaded, &man.ipfw.4; will refuse to - install divert rules and &man.natd.8; - will return the error message protocol not supported. - - The &man.ipfw.4; system can work with - debug.mpsafenet=1 - (this tunable is 1 by default) - when the gid, jail, - and/or uid rule options are used. &merged; - - The &man.ipfw.4; and &man.dummynet.4; systems now - support IPv6. - - &man.ipfw.8; now supports classification and tagging - of &man.altq.4; packets via a divert socket. It is also - possible to specify rules that match TCP packets with specific - payload sizes. - - The &man.ipfw.8; ipfw fwd rule now supports - the full packet destination manipulation when the kernel option - options IPFIREWALL_FORWARD_EXTENDED is specified - in addition to options IPFIRWALL_FORWARD. - This kernel option disables all restrictions to ensure proper - behavior for locally generated packets and allows redirection of - packets destined to locally configured IP addresses. - Note that &man.ipfw.8; rules have to be carefully crafted to - make sure that things like PMTU discovery do not break. &merged; - - The &man.ipfw.8; system now supports IPv4 only rules. - - &man.ipnat.8; now allows redirect rules to - work for non-TCP/UDP packets. &merged; - - Ongoing work is reducing the use of the Giant lock by the - network protocol stack and improving the locking - strategies. - - The libalias library can now be built - as a kernel module. - - The link state change notifications of network interfaces - are sent to /dev/devctl now. - - A new &man.ng.ipfw.4; NetGraph node provides - a simple interface between the &man.ipfw.4; and &man.netgraph.4; - facilities. - - A new &man.ng.nat.4; NetGraph node has been added to - perform NAT functions. - - A new &man.ng.netflow.4; NetGraph node allows a router - running &os; to do NetFlow version 5 exports. &merged; - - A new &man.ng.tcpmss.4; NetGraph node has been added. - This supports altering MSS options of TCP packets. - - The &man.sppp.4; driver now includes Frame Relay - support. &merged; - - The &man.sppp.4; driver is now MPSAFE. - - The &os; routing table now requires gateways for routes - to be of the same address family as the route itself. - The &man.route.8; utility now rejects a combination of different - address families. For example: - - &prompt.root; route add 10.1.1.1 -inet6 fe80::1%fxp0 - - The new sysctl net.link.tap.user_open - has been implemented. This allows unprivileged access to - &man.tap.4; device nodes based on file system permissions. - - A bug in TCP that sometimes caused RST packets to - be ignored if the receive window was zero bytes has been - fixed. &merged; - - The RST - handling of the &os; TCP stack has been improved - to make reset attacks as difficult as possible while - maintaining compatibility with the widest range of TCP stacks. - The algorithm is as follows: For connections in the - ESTABLISHED - state, only resets with sequence numbers exactly matching - last_ack_sent will cause a reset; - all other segments will - be silently dropped. For connections in all other states, - a reset anywhere in the window will cause the connection - to be reset. All other segments will be silently dropped. - Note that this behavior technically violates the RFC 793 specification; - the conventional (but less secure) behavior can be restored - by setting a new sysctl net.inet.tcp.insecure_rst - to 1. &merged; - - Several bugs in the TCP SACK implementation have been - fixed. &merged; - - RFC 1644 T/TCP support has been removed. This is because - the design is based on a weak security model that can easily - permit denial-of-service attacks. This TCP - extension has been considered a defective one in - a recent Internet Draft. - - The KAME IPv4 IPsec implementation integrated - in &os; now supports TCP-MD5. &merged; - - Random ephemeral port number allocation has led to some - problems with port reuse at high connection rates. This - feature is now disabled during periods of high connection - rates; whenever new connections are created faster than - net.inet.ip.portrange.randomcps per second, - port number randomization is disabled for the next - net.inet.ip.portrange.randomtime - seconds. The default values for these two sysctl variables - are 10 and 45, - respectively. &merged; - - Fine-grained locking has been applied to many of the data - structures in the IPX/SPX protocol stack. While not fully - MPSAFE at this point, it is generally safe to use IPX/SPX - without the Giant lock (in other words, the - debug.mpsafenet sysctl variable may be set - to 1). - - Unix domain sockets now support the - LOCAL_CREDS and - LOCAL_CONNWAIT options. - The LOCAL_CREDS option provides - a mechanism for the receiver to receive the credentials - of the process as a &man.recvmsg.2; control message. - The LOCAL_CONNWAIT - option causes the &man.connect.2; function to block - until &man.accept.2; has been called on the listening socket. - For more details, see the &man.unix.4; manual page. + Disks and Storage - The &man.amr.4; driver is now safe for use on systems - using &man.pae.4;. &merged; - - The &man.arcmsr.4; driver has been added. - It supports the Areca ARC-11xx and - ARC-12xx series of SATA RAID - controllers. &merged; - - The &man.ata.4; family of drivers has been overhauled and - updated. It has been split into modules that can be loaded - and unloaded independently (the atapci - and ata modules are prerequesites for the - device subdrivers, which are atadisk, - atapicd, atapifd, - atapist, and - ataraid). On supported SATA controllers, - devices can be hot inserted/removed. ATA RAID support has - been rewritten and supports a number of new metadata formats. - The atapicd driver no longer supports CD - changers. This update has been referred to as ATA - mkIII. - - The SHSEC GEOM class has been added. It provides for the - sharing of a secret between multiple GEOM providers. All of - these providers must be present in order to reveal the - secret. This feature is controlled by the &man.gshsec.8; - utility. &merged; - - The &man.hptmv.4; driver, which supports the HighPoint - RocketRAID 182x series, has been added. &merged; - - The &man.ips.4; driver now support kernel crash dumps - on some modern ServeRAID models. &merged; - - The &man.matcd.4; driver has been removed. &merged; - - The default SCSI boot-time probe delay in the - GENERIC kernel has been reduced from - fifteen seconds to five seconds. - - The old vinum(4) subsystem has been removed - in favor of the new &man.geom.4;-based version. - - The &man.twa.4; driver has been updated to - the 9.2 release (for &os; 5.2.1) distributed from - the 3ware website. - - The &man.wd.4; driver has been removed. The - &man.ata.4; driver has been found to work well enough on the - pc98 platform that there is no need for the older &man.wd.4; - driver. - - Information about newly-mounted cd9660 file systems (such - as the presence of RockRidge extensions) is now only printed - if the kernel was booted in verbose mode. This change was - made to reduce the amount of (generally unnecessary) kernel - log messages. &merged; - + The &man.mpt.4; driver has been updated to support + various new features such as RAID volume and RAID member + state/settings reporting, periodic volume re-synchronization + status reporting, and sysctl variables for volume + re-synchronization rate, volume member write cache status, + and volume transaction queue depth. File Systems - Recomputing the summary information for - dirty UFS and UFS2 file systems is no longer - done at mount time, but is now done by background - &man.fsck.8;. This change improves the startup speed when - mounting large file systems after a crash. The prior behavior - can be restored by setting the - vfs.ffs.compute_summary_at_mount sysctl - variable to a non-zero value. &merged; - - A kernel panic in the NFS server has been fixed. More - details can be found in errata note - FreeBSD-EN-05:01.nfs. - &merged; - - Read-only support for ReiserFS version 3 has been - added. See &man.mount.reiserfs.8; for details. - + Contributed Software - ACPI-CA has been updated from - 20040527 to 20041119. &merged; - + Userland Changes - The &man.burncd.8; utility now allows commands (such as - eject) to take place after fixating a - disk. + The &man.ifconfig.8; utility now supports + a flag to allow printing + potentially sensitive keying material to standard output. + This sensitive information will not be printed by default. - Machine-specific optimized versions of - &man.bcmp.3;, &man.bcopy.3;, &man.bzero.3;, &man.memcmp.3;, - &man.memcpy.3;, &man.memmove.3;, &man.memset.3;, &man.strcat.3; - and &man.strcpy.3; have been implemented. Several mathematics - functions such as &man.ceill.3; and &man.sqrtf.3; are also - replaced with the optimized versions. - - The &man.chflags.1; utility now supports the - flag, which supports changing flags on - symbolic links. - - The &man.env.1; program now supports a - flag to write the command to standard error before it is executed. - - The &man.env.1; program now supports a - option to split the string and pass them to - the command as the command-line arguments. - - The &man.env.1; program now supports a - option to set the command search path used to look for - the command. - - The &man.ftpd.8; program now uses the 212 - and 213 status codes for directory - and file status correctly (211 was used in - the previous versions). This behavior is described in RFC 959. - &merged; - - The create command of the &man.gpt.8; - utility now supports a command-line flag to - force creation of a GPT even when there is an MBR record on a - disk. &merged; - - The &man.getaddrinfo.3; function now queries A - DNS resource records before AAAA records - when AF_UNSPEC is specified. - Some broken DNS servers return NXDOMAIN - against non-existent AAAA queries, - even when it should return NOERROR - with empty return records. This is a problem for an IPv4/IPv6 dual - stack node because the NXDOMAIN returned - by the first query of an AAAA record makes - the querying server stop attempting to resolve the A - record if any. Also, this behavior has been recognized as a potential - denial-of-service attack (see - for more details). - Note that although the query order has been changed, - the returned result still includes - AF_INET6 records before - AF_INET records. &merged; - - The &man.gethostbyname.3;, &man.gethostbyname2.3;, and - &man.gethostbyaddr.3; functions are now thread-safe. &merged; - - The &man.getnetent.3;, &man.getnetbyname.3;, and - &man.getnetbyaddr.3; functions are now thread-safe. &merged; - - The &man.getprotoent.3;, &man.getprotobyname.3;, and - &man.getprotobynumber.3; functions are now thread-safe. &merged; - - The &man.getservent.3;, &man.getservbyname.3;, and - &man.getservbyport.3; functions are now thread-safe. &merged; - - For conformation to IEEE Std 1003.1-2001 - (also known as POSIX 2001), the n_net member - of struct netent and the first argument - of &man.getnetbyaddr.3; has been changed to an uint32_t. - Due to these changes, the ABI on 64-bit platforms is - incompatible with previous releases of &os; and - the major version number of the libpcap - shared library has been bumped. - On 64-bit platforms being upgraded from older &os; versions, all - userland programs that use &man.getnetbyaddr.3;, - &man.getnetbyname.3;, &man.getnetent.3;, and/or - libpcap have to be recompiled. - - The gvinum(8) utility now supports the - checkparity, - rebuildparity, and - setstate - subcommands. &merged; - - The &man.ifconfig.8; utility has been restructured. It is >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 17 13:51:59 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7898416A420; Sun, 17 Jul 2005 13:51:59 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 4EA1116A41C for ; Sun, 17 Jul 2005 13:51:59 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E40943D48 for ; Sun, 17 Jul 2005 13:51:59 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HDpxcB017798 for ; Sun, 17 Jul 2005 13:51:59 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HDpwwc017795 for perforce@freebsd.org; Sun, 17 Jul 2005 13:51:58 GMT (envelope-from soc-tyler@freebsd.org) Date: Sun, 17 Jul 2005 13:51:58 GMT Message-Id: <200507171351.j6HDpwwc017795@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 80388 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 13:52:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=80388 Change 80388 by soc-tyler@soc-tyler_launchd on 2005/07/17 13:51:29 Add more bits of launchd(8) code (on the next submit I'll remove those two accidentally added files :-!) Affected files ... .. //depot/projects/soc2005/launchd/includes/launch.h#4 edit .. //depot/projects/soc2005/launchd/includes/launchd.h#5 edit .. //depot/projects/soc2005/launchd/launchproxy.8#1 add .. //depot/projects/soc2005/launchd/launchproxy.c#1 add .. //depot/projects/soc2005/launchd/launchproxy.c~#1 add .. //depot/projects/soc2005/launchd/launchproxy.o#1 add .. //depot/projects/soc2005/launchd/pathnames.h#1 add Differences ... ==== //depot/projects/soc2005/launchd/includes/launch.h#4 (text+ko) ==== @@ -58,6 +58,10 @@ #define _BUILD_DARWIN_ #endif +#ifdef _BUILD_DARWIN_ +// on Darwin-based systems, LOG_LAUNCHD is defined for syslog() +#define LOG_LAUNCHD LOG_DAEMON +#endif #define LAUNCH_KEY_SUBMITJOB "SubmitJob" #define LAUNCH_KEY_REMOVEJOB "RemoveJob" ==== //depot/projects/soc2005/launchd/includes/launchd.h#5 (text+ko) ==== @@ -52,8 +52,6 @@ #endif #ifndef _BUILD_DARWIN_ -// on Darwin-based systems, LOG_LAUNCHD is defined for syslog() -#define LOG_LAUNCHD LOG_DAEMON /* on Darwin-based systems, O_EVTONLY helps us track changes to a certain file descriptor * as outlined here: From owner-p4-projects@FreeBSD.ORG Sun Jul 17 13:53:01 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 46A6316A420; Sun, 17 Jul 2005 13:53:01 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 205F616A41C for ; Sun, 17 Jul 2005 13:53:01 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D056643D45 for ; Sun, 17 Jul 2005 13:53:00 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HDr0DI017847 for ; Sun, 17 Jul 2005 13:53:00 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HDr0cp017842 for perforce@freebsd.org; Sun, 17 Jul 2005 13:53:00 GMT (envelope-from soc-tyler@freebsd.org) Date: Sun, 17 Jul 2005 13:53:00 GMT Message-Id: <200507171353.j6HDr0cp017842@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 80389 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 13:53:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=80389 Change 80389 by soc-tyler@soc-tyler_launchd on 2005/07/17 13:51:59 Oops Affected files ... .. //depot/projects/soc2005/launchd/launchproxy.c~#2 delete .. //depot/projects/soc2005/launchd/launchproxy.o#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 17 14:03:14 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E260816A420; Sun, 17 Jul 2005 14:03:13 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 BCAFC16A41C for ; Sun, 17 Jul 2005 14:03:13 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8AEB843D45 for ; Sun, 17 Jul 2005 14:03:13 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HE3D5p018274 for ; Sun, 17 Jul 2005 14:03:13 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HE3DiM018271 for perforce@freebsd.org; Sun, 17 Jul 2005 14:03:13 GMT (envelope-from soc-tyler@freebsd.org) Date: Sun, 17 Jul 2005 14:03:13 GMT Message-Id: <200507171403.j6HE3DiM018271@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 80390 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 14:03:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=80390 Change 80390 by soc-tyler@soc-tyler_launchd on 2005/07/17 14:02:56 Start merging FreeBSD-CURRENT init(8) code in a manner similar to that used by zarzycki@ with 10.3's init(8) code to 10.4's launchd(8) release. Oh, and add some other stuff Affected files ... .. //depot/projects/soc2005/launchd/Makefile#5 edit .. //depot/projects/soc2005/launchd/includes/launch.h#5 edit .. //depot/projects/soc2005/launchd/init.8#3 add .. //depot/projects/soc2005/launchd/init.c#4 add .. //depot/projects/soc2005/launchd/launchd.8#1 add .. //depot/projects/soc2005/launchd/launchd_debugd.8#1 add Differences ... ==== //depot/projects/soc2005/launchd/Makefile#5 (text+ko) ==== @@ -2,7 +2,8 @@ # $FreeBSD$ PROG= launchd -SRCS= launchd.c liblaunch.c launchdebugd.c launchproxy.c init.c +SRCS= launchd.c liblaunch.c init.c +#launchdebugd.c launchproxy.c MAN= launchd.conf.5 launchd.plist.5 init.8 launchd.8 \ launchd_debug.8 launchproxy.8 rc.8 service.8 ==== //depot/projects/soc2005/launchd/includes/launch.h#5 (text+ko) ==== @@ -58,7 +58,7 @@ #define _BUILD_DARWIN_ #endif -#ifdef _BUILD_DARWIN_ +#ifndef _BUILD_DARWIN_ // on Darwin-based systems, LOG_LAUNCHD is defined for syslog() #define LOG_LAUNCHD LOG_DAEMON #endif From owner-p4-projects@FreeBSD.ORG Sun Jul 17 15:22:54 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6EBAD16A420; Sun, 17 Jul 2005 15:22:54 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 475AA16A41C for ; Sun, 17 Jul 2005 15:22:54 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1910643D46 for ; Sun, 17 Jul 2005 15:22:54 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HFMrEs023283 for ; Sun, 17 Jul 2005 15:22:54 GMT (envelope-from wsalamon@computer.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HFMr7P023280 for perforce@freebsd.org; Sun, 17 Jul 2005 15:22:53 GMT (envelope-from wsalamon@computer.org) Date: Sun, 17 Jul 2005 15:22:53 GMT Message-Id: <200507171522.j6HFMr7P023280@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to wsalamon@computer.org using -f From: Wayne Salamon To: Perforce Change Reviews Cc: Subject: PERFORCE change 80398 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 15:22:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=80398 Change 80398 by wsalamon@gretsch on 2005/07/17 15:22:39 Audit the stat/ostat/nstat, fstat/ofstat/nfstat, and statfs system calls. In the fd-related system calls, we still attempt to audit the pathname. This attempt will probably go away in the future, for these and other calls. Affected files ... .. //depot/projects/trustedbsd/audit3/sys/kern/kern_descrip.c#6 edit .. //depot/projects/trustedbsd/audit3/sys/kern/vfs_syscalls.c#9 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/kern/kern_descrip.c#6 (text+ko) ==== @@ -1085,8 +1085,14 @@ struct file *fp; int error; + AUDIT_ARG(fd, fd); + if ((error = fget(td, fd, &fp)) != 0) return (error); + + //XXX Grab the vnode lock? + AUDIT_ARG(vnpath, fp->f_vnode, ARG_VNODE1); + error = fo_stat(fp, sbp, td->td_ucred, td); fdrop(fp, td); return (error); ==== //depot/projects/trustedbsd/audit3/sys/kern/vfs_syscalls.c#9 (text+ko) ==== @@ -250,7 +250,7 @@ struct nameidata nd; mtx_lock(&Giant); - NDINIT(&nd, LOOKUP, FOLLOW, pathseg, path, td); + NDINIT(&nd, LOOKUP, FOLLOW | AUDITVNPATH1, pathseg, path, td); error = namei(&nd); if (error) { mtx_unlock(&Giant); @@ -2078,7 +2078,8 @@ struct stat sb; int error, vfslocked; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | MPSAFE, + NDINIT(&nd, LOOKUP, + FOLLOW | LOCKSHARED | LOCKLEAF | MPSAFE | AUDITVNPATH1, pathseg, path, td); if ((error = namei(&nd)) != 0) return (error); From owner-p4-projects@FreeBSD.ORG Sun Jul 17 16:07:49 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDEF616A420; Sun, 17 Jul 2005 16:07:48 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 C1C6B16A41C for ; Sun, 17 Jul 2005 16:07:48 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 973E943D46 for ; Sun, 17 Jul 2005 16:07:48 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HG7mu2024776 for ; Sun, 17 Jul 2005 16:07:48 GMT (envelope-from wsalamon@computer.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HG7mhS024773 for perforce@freebsd.org; Sun, 17 Jul 2005 16:07:48 GMT (envelope-from wsalamon@computer.org) Date: Sun, 17 Jul 2005 16:07:48 GMT Message-Id: <200507171607.j6HG7mhS024773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to wsalamon@computer.org using -f From: Wayne Salamon To: Perforce Change Reviews Cc: Subject: PERFORCE change 80399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 16:07:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=80399 Change 80399 by wsalamon@gretsch on 2005/07/17 16:07:14 Start of audit of lstat/olstat/nlstat calls. 'Still need to associate events with some of the stat-related system calls. Affected files ... .. //depot/projects/trustedbsd/audit3/sys/kern/vfs_syscalls.c#10 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/kern/vfs_syscalls.c#10 (text+ko) ==== @@ -2128,7 +2128,8 @@ struct nameidata nd; int error, vfslocked; - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | LOCKSHARED | MPSAFE, + NDINIT(&nd, LOOKUP, + NOFOLLOW | LOCKLEAF | LOCKSHARED | MPSAFE | AUDITVNPATH1, pathseg, path, td); if ((error = namei(&nd)) != 0) return (error); From owner-p4-projects@FreeBSD.ORG Sun Jul 17 18:20:32 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29A3816A420; Sun, 17 Jul 2005 18:20:32 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 F189716A41C for ; Sun, 17 Jul 2005 18:20:31 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AAB8543D46 for ; Sun, 17 Jul 2005 18:20:31 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HIKVmD038431 for ; Sun, 17 Jul 2005 18:20:31 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HIKVcB038428 for perforce@freebsd.org; Sun, 17 Jul 2005 18:20:31 GMT (envelope-from soc-tyler@freebsd.org) Date: Sun, 17 Jul 2005 18:20:31 GMT Message-Id: <200507171820.j6HIKVcB038428@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 80402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 18:20:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=80402 Change 80402 by soc-tyler@soc-tyler_launchd on 2005/07/17 18:19:44 Linkage errors still, release edit locks so I can sync on a RELENG_5 machine. Still working on init(8) and launchd(8) synergy ;) Affected files ... .. //depot/projects/soc2005/launchd/Makefile#6 edit .. //depot/projects/soc2005/launchd/init.c#5 edit .. //depot/projects/soc2005/launchd/launchd.c#5 edit Differences ... ==== //depot/projects/soc2005/launchd/Makefile#6 (text+ko) ==== @@ -9,7 +9,9 @@ MAINTAINER= tyler@tamu.edu -CFLAGS+= -g -Wall -W -Wshadow -Wpadded -Iincludes/ +CFLAGS+= -g -Wall -W -Wshadow -Wpadded -Iincludes -D_LAUNCHD_ +## init.c related CFLAGS +CFLAGS+=-DDEBUGSHELL -DSECURE -DLOGIN_CAP -DCOMPAT_SYSV_INIT LDADD+= -lutil NO_SHARED?= YES ==== //depot/projects/soc2005/launchd/init.c#5 (text+ko) ==== @@ -1,3 +1,8 @@ +/* + * Modifications to this code are my fault (R. Tyler Ballance ) + * Taken from src/sbin/init/ (init.c rev. 1.60) + */ + /*- * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. @@ -181,6 +186,7 @@ session_t *find_session(pid_t); DB *session_db; +#ifndef _LAUNCHD_ /* * The mother of all processes. */ @@ -349,6 +355,7 @@ */ return 1; } +#endif /* * Associate a function with a signal handler. ==== //depot/projects/soc2005/launchd/launchd.c#5 (text+ko) ==== @@ -384,7 +384,6 @@ static void pid1_magic_init(bool sflag, bool vflag, bool xflag) { - pthread_attr_t attr; int memmib[2] = { CTL_HW, HW_PHYSMEM }; int mvnmib[2] = { CTL_KERN, KERN_MAXVNODES }; int hnmib[2] = { CTL_KERN, KERN_HOSTNAME }; @@ -392,6 +391,7 @@ uint32_t mvn; size_t memsz = sizeof(mem); #ifdef _BUILD_DARWIN_ + pthread_attr_t attr; int pthr_r; #endif @@ -440,20 +440,19 @@ launchd_bootstrap_port = mach_init_init(); task_set_bootstrap_port(mach_task_self(), launchd_bootstrap_port); bootstrap_port = MACH_PORT_NULL; -#endif pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -#ifdef _BUILD_DARWIN_ + pthr_r = pthread_create(&mach_server_loop_thread, &attr, mach_server_loop, NULL); if (pthr_r != 0) { syslog(LOG_ERR, "pthread_create(mach_server_loop): %s", strerror(pthr_r)); exit(EXIT_FAILURE); } + + pthread_attr_destroy(&attr); #endif - pthread_attr_destroy(&attr); - init_boot(sflag, vflag, xflag); } From owner-p4-projects@FreeBSD.ORG Sun Jul 17 22:32:40 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F3C7716A420; Sun, 17 Jul 2005 22:32:39 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 C67F216A41C for ; Sun, 17 Jul 2005 22:32:39 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BA9243D45 for ; Sun, 17 Jul 2005 22:32:39 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HMWd9g057386 for ; Sun, 17 Jul 2005 22:32:39 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HMWdgb057382 for perforce@freebsd.org; Sun, 17 Jul 2005 22:32:39 GMT (envelope-from soc-saturnero@freebsd.org) Date: Sun, 17 Jul 2005 22:32:39 GMT Message-Id: <200507172232.j6HMWdgb057382@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 80413 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 22:32:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=80413 Change 80413 by soc-saturnero@soc-saturnero_sberta on 2005/07/17 22:32:26 Adding buildkernel Affected files ... .. //depot/projects/soc2005/freesbie/Makefile#3 edit .. //depot/projects/soc2005/freesbie/conf/freesbie.defaults.conf#4 edit .. //depot/projects/soc2005/freesbie/scripts/buildkernel.sh#1 add .. //depot/projects/soc2005/freesbie/scripts/buildworld.sh#2 edit .. //depot/projects/soc2005/freesbie/scripts/launch.sh#3 edit Differences ... ==== //depot/projects/soc2005/freesbie/Makefile#3 (text+ko) ==== @@ -5,7 +5,7 @@ # # $FreeBSD$ -all: buildworld +all: buildworld buildkernel buildworld: .done_buildworld .done_buildworld: @@ -14,5 +14,13 @@ @sh ./scripts/launch.sh buildworld .tmp_buildworld @mv .tmp_buildworld .done_buildworld +buildkernel: .done_buildworld .done_buildkernel +.done_buildkernel: + @-rm -f .tmp_buildkernel + @touch .tmp_buildkernel + @sh ./scripts/launch.sh buildkernel .tmp_buildkernel + @mv .tmp_buildkernel .done_buildkernel + + clean: - @-rm -rf .tmp* .done* > /dev/null 2>&1 + @-rm -f .tmp* .done* > /dev/null 2>&1 ==== //depot/projects/soc2005/freesbie/conf/freesbie.defaults.conf#4 (text+ko) ==== @@ -52,9 +52,9 @@ # #NO_BUILDWORLD=YES -# Define NO_BUILDKERNEL to avoid rebuilding kernel. If -# ${MAKEOBJDIRPREFIX}/src/ssys/${KERNCONF} doesn't exist, the kernel -# is built anyway. +# Define NO_BUILDKERNEL to avoid rebuilding kernel. Be sure you know +# what you're doing, you should have an already compiled kernel +# #NO_BUILDKERNEL=YES ==== //depot/projects/soc2005/freesbie/scripts/buildworld.sh#2 (text+ko) ==== @@ -29,8 +29,7 @@ fi cd $SRCDIR -{ -script -aq $LOGFILE make ${MAKEOPT:-} buildworld __MAKE_CONF=${MAKE_CONF} || print_error; -} | grep '^>>>' + +(script -aq $LOGFILE make ${MAKEOPT:-} buildworld __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH} || print_error;) | grep '^>>>' cd $LOCALDIR ==== //depot/projects/soc2005/freesbie/scripts/launch.sh#3 (text+ko) ==== @@ -46,8 +46,7 @@ echo "Something went wrong, check errors!" >&2 [ -n "${LOGFILE:-}" ] && \ echo "Log saved on ${LOGFILE}" >&2 -# kill $$ # XXX exit 1 won't work. - exit 1 + kill $$ # XXX exit 1 won't work. } if [ -f "${LOCALDIR}/scripts/${ARCH}/${TARGET}.sh" ]; then From owner-p4-projects@FreeBSD.ORG Sun Jul 17 22:36:45 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3EB8416A420; Sun, 17 Jul 2005 22:36:45 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 1973016A41C for ; Sun, 17 Jul 2005 22:36:45 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DFCC443D48 for ; Sun, 17 Jul 2005 22:36:44 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6HMaiIq057667 for ; Sun, 17 Jul 2005 22:36:44 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6HMai7Z057664 for perforce@freebsd.org; Sun, 17 Jul 2005 22:36:44 GMT (envelope-from soc-saturnero@freebsd.org) Date: Sun, 17 Jul 2005 22:36:44 GMT Message-Id: <200507172236.j6HMai7Z057664@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 80414 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jul 2005 22:36:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=80414 Change 80414 by soc-saturnero@soc-saturnero_sberta on 2005/07/17 22:36:08 Echoed information about the built architecture Affected files ... .. //depot/projects/soc2005/freesbie/scripts/buildkernel.sh#2 edit .. //depot/projects/soc2005/freesbie/scripts/buildworld.sh#3 edit Differences ... ==== //depot/projects/soc2005/freesbie/scripts/buildkernel.sh#2 (text+ko) ==== @@ -12,7 +12,7 @@ exit 1 fi -echo "#### Building kernel ####" +echo "#### Building kernel for ${ARCH} architecture ####" if [ -n "${NO_BUILDKERNEL:-}" ]; then echo "NO_BUILDKERNEL set, skipping build" | tee -a ${LOGFILE} ==== //depot/projects/soc2005/freesbie/scripts/buildworld.sh#3 (text+ko) ==== @@ -12,7 +12,7 @@ exit 1 fi -echo "#### Building world ####" +echo "#### Building world for ${ARCH} architecture ####" if [ -n "${NO_BUILDWORLD:-}" ]; then echo "NO_BUILDWORLD set, skipping build" | tee -a ${LOGFILE} From owner-p4-projects@FreeBSD.ORG Mon Jul 18 11:48:19 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3833316A421; Mon, 18 Jul 2005 11:48:19 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 0AFCF16A41C for ; Mon, 18 Jul 2005 11:48:19 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C1F343D49 for ; Mon, 18 Jul 2005 11:48:18 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IBmI9G035877 for ; Mon, 18 Jul 2005 11:48:18 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IBmH9v035874 for perforce@freebsd.org; Mon, 18 Jul 2005 11:48:17 GMT (envelope-from soc-bushman@freebsd.org) Date: Mon, 18 Jul 2005 11:48:17 GMT Message-Id: <200507181148.j6IBmH9v035874@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 80435 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 11:48:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=80435 Change 80435 by soc-bushman@soc-bushman_stinger on 2005/07/18 11:47:36 openssh patch finished - port submitted Affected files ... .. //depot/projects/soc2005/nsswitch_cached/src/include/nsswitch.h#4 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getproto.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoent.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoname.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/netdb_private.h#6 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth-rh-rsa.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2-hostbased.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/config.h.in#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/configure#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/configure.ac#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/initial_copy.sh#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/key.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/make.sh#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth-rh.rsa.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth2-hostbased.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-config.h.in#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-configure#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-configure.ac#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-sshconnect.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/distinfo#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/batch.patch#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/gss-serv.c.patch#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-pam.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-rh.rsa.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth1.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2-hostbased.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-clientloop.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-config.h.in#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-configure#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-configure.ac#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-fake-rfc2553.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-loginrec.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-regress-test-exec.sh#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-session.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshconnect.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd_config#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshpty.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/servconf.c.patch#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/sshd.sh#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/pkg-descr#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/pkg-message#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/pkg-plist#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/result_copy.sh#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/sshconnect.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/auth.c#3 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/auth.h#3 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/auth2-hostbased.c#3 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/auth2.c#3 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/hostfile.c#3 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/hostfile.h#3 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/key.h#3 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/make.sh#2 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_keys/sshconnect.c#3 delete Differences ... ==== //depot/projects/soc2005/nsswitch_cached/src/include/nsswitch.h#4 (text+ko) ==== @@ -83,6 +83,8 @@ #define NSDB_SERVICES "services" #define NSDB_SERVICES_COMPAT "services_compat" #define NSDB_SSH_HOSTKEYS "ssh_hostkeys" +#define NSDB_PROTOCOLS "protocols" +#define NSDB_RPC "rpc" /* * suggested databases to implement @@ -96,9 +98,7 @@ #define NSDB_NETMASKS "netmasks" #define NSDB_PHONES "phones" #define NSDB_PRINTCAP "printcap" -#define NSDB_PROTOCOLS "protocols" #define NSDB_REMOTE "remote" -#define NSDB_RPC "rpc" #define NSDB_SENDMAILVARS "sendmailvars" #define NSDB_TERMCAP "termcap" #define NSDB_TTYS "ttys" ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getproto.c#2 (text+ko) ==== @@ -37,31 +37,6 @@ #include __FBSDID("$FreeBSD: src/lib/libc/net/getproto.c,v 1.4 2005/04/19 14:41:13 ume Exp $"); -#include -#include "netdb_private.h" - -int -getprotobynumber_r(int proto, struct protoent *pe, struct protoent_data *ped) -{ - int error; - - setprotoent_r(ped->stayopen, ped); - while ((error = getprotoent_r(pe, ped)) == 0) - if (pe->p_proto == proto) - break; - if (!ped->stayopen) - endprotoent_r(ped); - return (error); -} - -struct protoent * -getprotobynumber(int proto) -{ - struct protodata *pd; - - if ((pd = __protodata_init()) == NULL) - return (NULL); - if (getprotobynumber_r(proto, &pd->proto, &pd->data) != 0) - return (NULL); - return (&pd->proto); -} +/* This file is obsolete. The getproto* functions are currently implemented via the + * nsswitch subsystem. The functionality of all getserv*_r functions is currently + * incapsulated in the files_protoent functions in the getprotoent.c file */ ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoent.c#2 (text+ko) ==== @@ -39,108 +39,83 @@ #include #include +#include #include +#include #include #include #include #include "namespace.h" +#include "nss_tls.h" #include "reentrant.h" #include "un-namespace.h" #include "netdb_private.h" -static struct protodata protodata; -static thread_key_t protodata_key; -static once_t protodata_init_once = ONCE_INITIALIZER; -static int protodata_thr_keycreated = 0; - -static void -protoent_data_clear(struct protoent_data *ped) +/* nsswitch declarations */ +enum constants { - if (ped->fp) { - fclose(ped->fp); - ped->fp = NULL; - } -} + SETPROTOENT = 1, + ENDPROTOENT = 2, + PROTOENT_STORAGE_INITIAL = 1 << 10, /* 1 KByte */ + PROTOENT_STORAGE_MAX = 1 << 20, /* 1 MByte */ +}; -static void -protodata_free(void *ptr) -{ - struct protodata *pd = ptr; +static const ns_src defaultsrc[] = { + { NSSRC_FILES, NS_SUCCESS }, + { NULL, 0 } +}; - if (pd == NULL) - return; - protoent_data_clear(&pd->data); - free(pd); -} - -static void -protodata_keycreate(void) +/* files backend declarations */ +struct files_state { - protodata_thr_keycreated = - (thr_keycreate(&protodata_key, protodata_free) == 0); -} + FILE *fp; + int stayopen; +}; +static void files_endstate(void *); +NSS_TLS_HANDLING(files); -struct protodata * -__protodata_init(void) -{ - struct protodata *pd; +static int files_protoent(void *, void *, va_list); +static int files_setprotoent(void *, void *, va_list); - if (thr_main() != 0) - return (&protodata); - if (thr_once(&protodata_init_once, protodata_keycreate) != 0 || - !protodata_thr_keycreated) - return (NULL); - if ((pd = thr_getspecific(protodata_key)) != NULL) - return (pd); - if ((pd = calloc(1, sizeof(*pd))) == NULL) - return (NULL); - if (thr_setspecific(protodata_key, pd) == 0) - return (pd); - free(pd); - return (NULL); -} +/* get** wrappers for get**_r functions declarations */ +struct protoent_state { + struct protoent pe; + char *buffer; + size_t bufsize; +}; +static void protoent_endstate(void *); +NSS_TLS_HANDLING(protoent); -void -setprotoent_r(int f, struct protoent_data *ped) -{ - if (ped->fp == NULL) - ped->fp = fopen(_PATH_PROTOCOLS, "r"); - else - rewind(ped->fp); - ped->stayopen |= f; -} +union key { + const char *name; + int proto; +}; -void -endprotoent_r(struct protoent_data *ped) -{ - if (ped->fp) { - fclose(ped->fp); - ped->fp = NULL; - } - ped->stayopen = 0; -} +static int wrap_getprotobyname_r(union key, struct protoent *, char *, + size_t, struct protoent **); +static int wrap_getprotobynumber_r(union key, struct protoent *, char *, + size_t, struct protoent **); +static int wrap_getprotoent_r(union key, struct protoent *, char *, + size_t, struct protoent **); +static struct protoent *getpe(int (*fn)(union key, struct protoent *, char *, + size_t, struct protoent **), union key); -int -getprotoent_r(struct protoent *pe, struct protoent_data *ped) +static int +protoent_unpack(char *p, struct protoent *pe, char **aliases, + size_t aliases_size, int *errnop) { - char *p; char *cp, **q, *endp; long l; - - if (ped->fp == NULL && (ped->fp = fopen(_PATH_PROTOCOLS, "r")) == NULL) + + if (*p == '#') return (-1); -again: - if ((p = fgets(ped->line, sizeof ped->line, ped->fp)) == NULL) - return (-1); - if (*p == '#') - goto again; cp = strpbrk(p, "#\n"); if (cp != NULL) *cp = '\0'; pe->p_name = p; cp = strpbrk(p, " \t"); if (cp == NULL) - goto again; + return (-1); *cp++ = '\0'; while (*cp == ' ' || *cp == '\t') cp++; @@ -149,9 +124,9 @@ *p++ = '\0'; l = strtol(cp, &endp, 10); if (endp == cp || *endp != '\0' || l < 0 || l > USHRT_MAX) - goto again; + return -1; pe->p_proto = l; - q = pe->p_aliases = ped->aliases; + q = pe->p_aliases = aliases; if (p != NULL) { cp = p; while (cp && *cp) { @@ -159,45 +134,386 @@ cp++; continue; } - if (q < &ped->aliases[_MAXALIASES - 1]) + if (q < &(aliases[aliases_size - 1])) *q++ = cp; + else { + *errnop = ERANGE; + return -1; + } cp = strpbrk(cp, " \t"); if (cp != NULL) *cp++ = '\0'; } } *q = NULL; - return (0); + return (0); +} + +/* files backend implementation */ +static void +files_endstate(void *p) +{ + FILE * f; + + if (p == NULL) + return; + + f = ((struct files_state *)p)->fp; + if (f != NULL) + fclose(f); + + free(p); +} + +static int +files_protoent(void *retval, void *mdata, va_list ap) +{ + char *name; + int number; + struct protoent *pe; + char *buffer; + size_t bufsize; + int *errnop; + + char *line; + size_t linesize; + char **aliases; + int aliases_size; + char **rp; + + struct files_state *st; + int rv; + int stayopen; + enum nss_lookup_type how; + + how = (enum nss_lookup_type)mdata; + switch (how) + { + case nss_lt_name: + name = va_arg(ap, char *); + break; + case nss_lt_id: + number = va_arg(ap, int); + break; + case nss_lt_all: + break; + default: + return (NS_NOTFOUND); + } + + pe = va_arg(ap, struct protoent *); + buffer = va_arg(ap, char *); + bufsize = va_arg(ap, size_t); + errnop = va_arg(ap, int *); + + *errnop = files_getstate(&st); + if (*errnop != 0) + return (NS_UNAVAIL); + + if (st->fp == NULL && (st->fp = fopen(_PATH_PROTOCOLS, "r")) == NULL) { + *errnop = errno; + return (NS_UNAVAIL); + } + + if (how == nss_lt_all) + stayopen = 1; + else { + rewind(st->fp); + stayopen = st->stayopen; + } + + do { + if ((line = fgetln(st->fp, &linesize)) == NULL) { + *errnop = errno; + rv = NS_RETURN; + break; + } + + if (bufsize <= linesize + _ALIGNBYTES + sizeof(char *)) { + *errnop = ERANGE; + rv = NS_RETURN; + break; + } + + aliases = (char **)_ALIGN(&buffer[linesize+1]); + aliases_size = (buffer + bufsize - (char *)aliases)/sizeof(char *); + if (aliases_size < 1) { + *errnop = ERANGE; + rv = NS_RETURN; + break; + } + + memcpy(buffer, line, linesize); + buffer[linesize] = '\0'; + + rv = protoent_unpack(buffer, pe, aliases, aliases_size, errnop); + if (rv != 0) { + if (*errnop == 0) { + rv = NS_NOTFOUND; + continue; + } + else { + rv = NS_RETURN; + break; + } + } + + switch (how) + { + case nss_lt_name: + if (strcmp(pe->p_name, name) == 0) + goto done; + for (rp = pe->p_aliases; *rp != NULL; rp++) { + if (strcmp(*rp, name) == 0) + goto done; + } + rv = NS_NOTFOUND; + continue; +done: + rv = NS_SUCCESS; + break; + case nss_lt_id: + rv = (pe->p_proto == number) ? NS_SUCCESS : NS_NOTFOUND; + break; + case nss_lt_all: + rv = NS_SUCCESS; + break; + } + + } while (!(rv & NS_TERMINATE)); + + if (!stayopen && st->fp!=NULL) { + fclose(st->fp); + st->fp = NULL; + } + + if ((rv == NS_SUCCESS) && (retval != NULL)) + *((struct protoent **)retval) = pe; + + return (rv); +} + +static int +files_setprotoent(void *retval, void *mdata, va_list ap) +{ + struct files_state *st; + int rv; + int f; + + rv = files_getstate(&st); + if (rv != 0) + return (NS_UNAVAIL); + + switch ((enum constants)mdata) + { + case SETPROTOENT: + f = va_arg(ap,int); + if (st->fp == NULL) + st->fp = fopen(_PATH_PROTOCOLS, "r"); + else + rewind(st->fp); + st->stayopen |= f; + break; + case ENDPROTOENT: + if (st->fp != NULL) { + fclose(st->fp); + st->fp = NULL; + } + st->stayopen = 0; + break; + default: + break; + } + + return (NS_UNAVAIL); +} + +/* get**_r functions implementation */ +int +getprotobyname_r(const char *name, struct protoent *pe, char *buffer, + size_t bufsize, struct protoent **result) +{ + static const ns_dtab dtab[] = { + { NSSRC_FILES, files_protoent, (void *)nss_lt_name }, + { NULL, NULL, NULL } + }; + + int rv, ret_errno; + + ret_errno = 0; + *result = NULL; + rv = nsdispatch(result, dtab, NSDB_PROTOCOLS, "getprotobyname_r", defaultsrc, + name, pe, buffer, bufsize, &ret_errno); + + if (rv == NS_SUCCESS) + return (0); + else + return (ret_errno); +} + +int +getprotobynumber_r(int number, struct protoent *pe, char *buffer, + size_t bufsize, struct protoent **result) +{ + static const ns_dtab dtab[] = { + { NSSRC_FILES, files_protoent, (void *)nss_lt_id }, + { NULL, NULL, NULL } + }; + int rv, ret_errno; + + ret_errno = 0; + *result = NULL; + rv = nsdispatch(result, dtab, NSDB_PROTOCOLS, "getprotobynumber_r", defaultsrc, + number, pe, buffer, bufsize, &ret_errno); + + if (rv == NS_SUCCESS) + return (0); + else + return (ret_errno); +} + +int +getprotoent_r(struct protoent *pe, char *buffer, size_t bufsize, + struct protoent **result) +{ + static const ns_dtab dtab[] = { + { NSSRC_FILES, files_protoent, (void *)nss_lt_all }, + { NULL, NULL, NULL } + }; + int rv, ret_errno; + + ret_errno = 0; + *result = NULL; + rv = nsdispatch(result, dtab, NSDB_PROTOCOLS, "getprotoent_r", defaultsrc, + pe, buffer, bufsize, &ret_errno); + + if (rv == NS_SUCCESS) + return (0); + else + return (ret_errno); +} + +void +setprotoent(int stayopen) +{ + static const ns_dtab dtab[] = { + { NSSRC_FILES, files_setprotoent, (void *)SETPROTOENT }, + { NULL, NULL, NULL } + }; + + (void)nsdispatch(NULL, dtab, NSDB_PROTOCOLS, "setprotoent", defaultsrc, stayopen); } -void -setprotoent(int f) +void +endprotoent() { - struct protodata *pd; + static const ns_dtab dtab[] = { + { NSSRC_FILES, files_setprotoent, (void *)ENDPROTOENT }, + { NULL, NULL, NULL } + }; + + (void)nsdispatch(NULL, dtab, NSDB_PROTOCOLS, "endprotoent", defaultsrc); +} - if ((pd = __protodata_init()) == NULL) +/* get** wrappers for get**_r functions implementation */ +static void +protoent_endstate(void *p) +{ + if (p == NULL) return; - setprotoent_r(f, &pd->data); + + free(((struct protoent_state *)p)->buffer); + free(p); +} + +static int +wrap_getprotobyname_r(union key key, struct protoent *pe, char *buffer, size_t bufsize, + struct protoent **res) +{ + return (getprotobyname_r(key.name, pe, buffer, bufsize, res)); +} + +static int +wrap_getprotobynumber_r(union key key, struct protoent *pe, char *buffer, size_t bufsize, + struct protoent **res) +{ + return (getprotobynumber_r(key.proto, pe, buffer, bufsize, res)); +} + +static int +wrap_getprotoent_r(union key key, struct protoent *pe, char *buffer, size_t bufsize, + struct protoent **res) +{ + return (getprotoent_r(pe, buffer, bufsize, res)); +} + +static struct protoent * +getpe(int (*fn)(union key, struct protoent *, char *, size_t, struct protoent **), + union key key) +{ + int rv; + struct protoent *res; + struct protoent_state * st; + + rv=protoent_getstate(&st); + if (rv != 0) { + errno = rv; + return NULL; + } + + if (st->buffer == NULL) { + st->buffer = malloc(PROTOENT_STORAGE_INITIAL); + if (st->buffer == NULL) + return (NULL); + st->bufsize = PROTOENT_STORAGE_INITIAL; + } + do { + rv = fn(key, &st->pe, st->buffer, st->bufsize, &res); + if (res == NULL && rv == ERANGE) { + free(st->buffer); + if ((st->bufsize << 1) > PROTOENT_STORAGE_MAX) { + st->buffer = NULL; + errno = ERANGE; + return (NULL); + } + st->bufsize <<= 1; + st->buffer = malloc(st->bufsize); + if (st->buffer == NULL) + return (NULL); + } + } while (res == NULL && rv == ERANGE); + if (rv != 0) + errno = rv; + + return (res); } -void -endprotoent(void) +struct protoent * +getprotobyname(const char *name) { - struct protodata *pd; + union key key; - if ((pd = __protodata_init()) == NULL) - return; - endprotoent_r(&pd->data); + key.name = name; + + return (getpe(wrap_getprotobyname_r, key)); } struct protoent * -getprotoent(void) +getprotobynumber(int number) { - struct protodata *pd; + union key key; + + key.proto = number; + + return (getpe(wrap_getprotobynumber_r, key)); +} - if ((pd = __protodata_init()) == NULL) - return (NULL); - if (getprotoent_r(&pd->proto, &pd->data) != 0) - return (NULL); - return (&pd->proto); +struct protoent * +getprotoent() +{ + union key key; + + key.proto = 0; /* not used */ + + return (getpe(wrap_getprotoent_r, key)); } ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoname.c#2 (text+ko) ==== @@ -37,39 +37,6 @@ #include __FBSDID("$FreeBSD: src/lib/libc/net/getprotoname.c,v 1.4 2005/04/19 14:41:13 ume Exp $"); -#include -#include -#include "netdb_private.h" - -int -getprotobyname_r(const char *name, struct protoent *pe, - struct protoent_data *ped) -{ - char **cp; - int error; - - setprotoent_r(ped->stayopen, ped); - while ((error = getprotoent_r(pe, ped)) == 0) { - if (strcmp(pe->p_name, name) == 0) - break; - for (cp = pe->p_aliases; *cp != 0; cp++) - if (strcmp(*cp, name) == 0) - goto found; - } -found: - if (!ped->stayopen) - endprotoent_r(ped); - return (error); -} - -struct protoent * -getprotobyname(const char *name) -{ - struct protodata *pd; - - if ((pd = __protodata_init()) == NULL) - return (NULL); - if (getprotobyname_r(name, &pd->proto, &pd->data) != 0) - return (NULL); - return (&pd->proto); -} +/* This file is obsolete. The getproto* functions are currently implemented via the + * nsswitch subsystem. The functionality of all getserv*_r functions is currently + * incapsulated in the files_protoent functions in the getprotoent.c file */ ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/netdb_private.h#6 (text+ko) ==== @@ -58,13 +58,6 @@ #endif }; -struct protoent_data { - FILE *fp; - char *aliases[_MAXALIASES]; - int stayopen; - char line[_MAXLINELEN + 1]; -}; - struct hostdata { struct hostent host; struct hostent_data data; @@ -75,11 +68,6 @@ struct netent_data data; }; -struct protodata { - struct protoent proto; - struct protoent_data data; -}; - #define endhostent_r __endhostent_r #define endnetent_r __endnetent_r #define endprotoent_r __endprotoent_r @@ -131,9 +119,12 @@ struct netent_data *); int getnetbyname_r(const char *, struct netent *, struct netent_data *); int getnetent_r(struct netent *, struct netent_data *); -int getprotobyname_r(const char *, struct protoent *, struct protoent_data *); -int getprotobynumber_r(int, struct protoent *, struct protoent_data *); -int getprotoent_r(struct protoent *, struct protoent_data *); +int getprotobyname_r(const char *, struct protoent *, char *, size_t, + struct protoent **); +int getprotobynumber_r(int, struct protoent *, char *, size_t, + struct protoent **); +int getprotoent_r(struct protoent *, char *, size_t, + struct protoent **); int getservbyname_r(const char *, const char *, struct servent *, char *, size_t, struct servent **); int getservbyport_r(int, const char *, struct servent *, From owner-p4-projects@FreeBSD.ORG Mon Jul 18 12:37:18 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E7BC216A420; Mon, 18 Jul 2005 12:37:17 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9F9CD16A41C for ; Mon, 18 Jul 2005 12:37:17 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A7F743D4C for ; Mon, 18 Jul 2005 12:37:17 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6ICbHaV038588 for ; Mon, 18 Jul 2005 12:37:17 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6ICbHxt038585 for perforce@freebsd.org; Mon, 18 Jul 2005 12:37:17 GMT (envelope-from soc-tyler@freebsd.org) Date: Mon, 18 Jul 2005 12:37:17 GMT Message-Id: <200507181237.j6ICbHxt038585@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 80436 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 12:37:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=80436 Change 80436 by soc-tyler@soc-tyler_launchd on 2005/07/18 12:37:02 Fix Makefile Affected files ... .. //depot/projects/soc2005/launchd/Makefile#7 edit Differences ... ==== //depot/projects/soc2005/launchd/Makefile#7 (text+ko) ==== @@ -6,13 +6,18 @@ #launchdebugd.c launchproxy.c MAN= launchd.conf.5 launchd.plist.5 init.8 launchd.8 \ launchd_debug.8 launchproxy.8 rc.8 service.8 - -MAINTAINER= tyler@tamu.edu + +BINMODE=500 +INSTALLFLAGS=-b -B.bak +NO_SHARED?= YES CFLAGS+= -g -Wall -W -Wshadow -Wpadded -Iincludes -D_LAUNCHD_ ## init.c related CFLAGS -CFLAGS+=-DDEBUGSHELL -DSECURE -DLOGIN_CAP -DCOMPAT_SYSV_INIT -LDADD+= -lutil -NO_SHARED?= YES +CFLAGS+= -DDEBUGSHELL -DSECURE -DLOGIN_CAP -DCOMPAT_SYSV_INIT + +# -lcrypt needed by original FreeBSD init(8) code +DPADD= ${LIBUTIL} ${LIBCRYPT} +LDADD+= -lutil -lcrypt + .include From owner-p4-projects@FreeBSD.ORG Mon Jul 18 15:44:08 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 99BC416A421; Mon, 18 Jul 2005 15:44:07 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6A85E16A41C for ; Mon, 18 Jul 2005 15:44:07 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8163443D45 for ; Mon, 18 Jul 2005 15:44:06 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IFi6HC053555 for ; Mon, 18 Jul 2005 15:44:06 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IFi64S053552 for perforce@freebsd.org; Mon, 18 Jul 2005 15:44:06 GMT (envelope-from jhb@freebsd.org) Date: Mon, 18 Jul 2005 15:44:06 GMT Message-Id: <200507181544.j6IFi64S053552@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 Cc: Subject: PERFORCE change 80445 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 15:44:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=80445 Change 80445 by jhb@jhb_slimer on 2005/07/18 15:43:37 IFC @80443. Affected files ... .. //depot/projects/smpng/sys/alpha/conf/GENERIC#49 integrate .. //depot/projects/smpng/sys/alpha/include/atomic.h#28 integrate .. //depot/projects/smpng/sys/alpha/osf1/Makefile#2 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#34 integrate .. //depot/projects/smpng/sys/amd64/include/atomic.h#22 integrate .. //depot/projects/smpng/sys/arm/include/atomic.h#15 integrate .. //depot/projects/smpng/sys/boot/ficl/Makefile#12 integrate .. //depot/projects/smpng/sys/boot/i386/Makefile.inc#7 integrate .. //depot/projects/smpng/sys/boot/i386/boot2/Makefile#18 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/Makefile#13 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/libi386.h#8 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/smpng/sys/boot/i386/loader/main.c#10 integrate .. //depot/projects/smpng/sys/conf/NOTES#100 integrate .. //depot/projects/smpng/sys/conf/files#144 integrate .. //depot/projects/smpng/sys/conf/kern.mk#15 integrate .. //depot/projects/smpng/sys/conf/options#103 integrate .. //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#14 integrate .. //depot/projects/smpng/sys/dev/aac/aac_pci.c#38 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#31 integrate .. //depot/projects/smpng/sys/dev/ex/if_ex_pccard.c#11 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#35 integrate .. //depot/projects/smpng/sys/dev/hatm/if_hatm_intr.c#14 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#7 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ppro.c#4 integrate .. //depot/projects/smpng/sys/dev/kbd/kbd.c#16 integrate .. //depot/projects/smpng/sys/dev/kbd/kbdreg.h#5 integrate .. //depot/projects/smpng/sys/dev/kbdmux/kbdmux.c#1 branch .. //depot/projects/smpng/sys/dev/pccard/pccard.c#37 integrate .. //depot/projects/smpng/sys/dev/pccard/pccard_cis.c#21 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#48 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb.c#49 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb_pci.c#8 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbbreg.h#11 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbbvar.h#16 integrate .. //depot/projects/smpng/sys/dev/syscons/syscons.c#49 integrate .. //depot/projects/smpng/sys/dev/usb/sl811hs.c#1 branch .. //depot/projects/smpng/sys/dev/usb/sl811hsreg.h#1 branch .. //depot/projects/smpng/sys/dev/usb/sl811hsvar.h#1 branch .. //depot/projects/smpng/sys/dev/usb/slhci_pccard.c#1 branch .. //depot/projects/smpng/sys/dev/usb/ulpt.c#21 integrate .. //depot/projects/smpng/sys/dev/usb/usb.c#32 integrate .. //depot/projects/smpng/sys/dev/xe/if_xe.c#23 integrate .. //depot/projects/smpng/sys/dev/xe/if_xe_pccard.c#20 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#17 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#47 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_conv.c#13 integrate .. //depot/projects/smpng/sys/geom/concat/g_concat.c#13 integrate .. //depot/projects/smpng/sys/geom/geom_mbr.c#31 integrate .. //depot/projects/smpng/sys/geom/geom_pc98.c#28 integrate .. //depot/projects/smpng/sys/geom/stripe/g_stripe.c#12 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_var.h#8 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_volume.c#7 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#64 integrate .. //depot/projects/smpng/sys/i386/include/atomic.h#41 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#44 integrate .. //depot/projects/smpng/sys/ia64/include/atomic.h#11 integrate .. //depot/projects/smpng/sys/kern/Makefile#4 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#38 integrate .. //depot/projects/smpng/sys/kern/kern_mac.c#41 integrate .. //depot/projects/smpng/sys/kern/kern_malloc.c#37 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#8 integrate .. //depot/projects/smpng/sys/kern/kern_mutex.c#101 integrate .. //depot/projects/smpng/sys/kern/tty_pty.c#40 integrate .. //depot/projects/smpng/sys/kern/uipc_mbuf2.c#20 integrate .. //depot/projects/smpng/sys/modules/Makefile#101 integrate .. //depot/projects/smpng/sys/modules/kbdmux/Makefile#1 branch .. //depot/projects/smpng/sys/modules/slhci/Makefile#1 branch .. //depot/projects/smpng/sys/modules/ukbd/Makefile#7 integrate .. //depot/projects/smpng/sys/net/if.c#69 integrate .. //depot/projects/smpng/sys/net/rtsock.c#46 integrate .. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.c#6 integrate .. //depot/projects/smpng/sys/netinet/in_proto.c#20 integrate .. //depot/projects/smpng/sys/nfs/nfs_common.c#13 integrate .. //depot/projects/smpng/sys/nfs/nfs_common.h#8 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#35 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#56 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#28 integrate .. //depot/projects/smpng/sys/powerpc/include/atomic.h#14 integrate .. //depot/projects/smpng/sys/security/mac/mac_vfs.c#9 integrate .. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#36 integrate .. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#27 integrate .. //depot/projects/smpng/sys/security/mac_mls/mac_mls.c#34 integrate .. //depot/projects/smpng/sys/security/mac_stub/mac_stub.c#14 integrate .. //depot/projects/smpng/sys/security/mac_test/mac_test.c#32 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#57 integrate .. //depot/projects/smpng/sys/sparc64/include/atomic.h#14 integrate .. //depot/projects/smpng/sys/sys/cdefs.h#30 integrate .. //depot/projects/smpng/sys/sys/conf.h#41 integrate .. //depot/projects/smpng/sys/sys/kbio.h#2 integrate .. //depot/projects/smpng/sys/sys/mac.h#33 integrate .. //depot/projects/smpng/sys/sys/mac_policy.h#32 integrate .. //depot/projects/smpng/sys/sys/malloc.h#22 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#51 integrate .. //depot/projects/smpng/sys/sys/mutex.h#59 integrate .. //depot/projects/smpng/sys/vm/uma.h#16 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#56 integrate .. //depot/projects/smpng/sys/vm/uma_dbg.c#15 integrate .. //depot/projects/smpng/sys/vm/uma_dbg.h#7 integrate .. //depot/projects/smpng/sys/vm/uma_int.h#28 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#49 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/conf/GENERIC#49 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.186 2005/06/06 10:53:10 wilko Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.187 2005/07/14 15:39:04 kensmith Exp $ machine alpha cpu EV4 @@ -63,6 +63,7 @@ options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 +options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory ==== //depot/projects/smpng/sys/alpha/include/atomic.h#28 (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/alpha/include/atomic.h,v 1.21 2005/07/09 12:38:53 jhb Exp $ + * $FreeBSD: src/sys/alpha/include/atomic.h,v 1.22 2005/07/15 18:17:57 jhb Exp $ */ #ifndef _MACHINE_ATOMIC_H_ ==== //depot/projects/smpng/sys/alpha/osf1/Makefile#2 (text+ko) ==== @@ -1,9 +1,11 @@ -# $FreeBSD: src/sys/alpha/osf1/Makefile,v 1.2 2000/01/15 19:40:08 bde Exp $ +# $FreeBSD: src/sys/alpha/osf1/Makefile,v 1.3 2005/07/13 20:50:17 jhb Exp $ # Makefile for syscall tables. all: - @echo "make osf1_sysent.c only" + @echo "make sysent only" + +sysent: osf1_sysent.c osf1_syscall.h osf1_proto.h osf1_sysent.c osf1_syscall.h osf1_proto.h: ../../kern/makesyscalls.sh \ syscalls.master syscalls.conf ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#34 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.439 2005/05/24 16:48:06 damien Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.440 2005/07/14 15:39:04 kensmith Exp $ machine amd64 cpu HAMMER @@ -49,6 +49,7 @@ options COMPAT_43 # Needed by COMPAT_LINUX32 options COMPAT_IA32 # Compatible with i386 binaries options COMPAT_FREEBSD4 # Compatible with FreeBSD4 +options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_LINUX32 # Compatible with i386 linux binaries options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support ==== //depot/projects/smpng/sys/amd64/include/atomic.h#22 (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/include/atomic.h,v 1.34 2005/07/09 12:38:53 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.35 2005/07/15 18:17:57 jhb Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ ==== //depot/projects/smpng/sys/arm/include/atomic.h#15 (text+ko) ==== @@ -33,7 +33,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/atomic.h,v 1.8 2005/06/23 21:54:17 jhb Exp $ + * $FreeBSD: src/sys/arm/include/atomic.h,v 1.9 2005/07/15 18:17:57 jhb Exp $ */ #ifndef _MACHINE_ATOMIC_H_ ==== //depot/projects/smpng/sys/boot/ficl/Makefile#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.41 2005/05/31 18:13:29 obrien Exp $ +# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.42 2005/07/15 12:22:14 ache Exp $ # .PATH: ${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/} BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \ @@ -14,6 +14,9 @@ CFLAGS+= -mpreferred-stack-boundary=2 CFLAGS+= -mno-mmx -mno-3dnow -mno-sse -mno-sse2 .endif +.if ${MACHINE_ARCH} == "i386" +CFLAGS+= -mno-sse3 +.endif .if ${MACHINE_ARCH} == "powerpc" CFLAGS+= -msoft-float .endif ==== //depot/projects/smpng/sys/boot/i386/Makefile.inc#7 (text+ko) ==== @@ -1,12 +1,12 @@ # Common defines for all of /sys/boot/i386/ # -# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.10 2005/03/15 18:43:36 obrien Exp $ +# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.11 2005/07/15 12:22:14 ache Exp $ BINDIR?= /boot LOADER_ADDRESS?=0x200000 CFLAGS+= -ffreestanding -mpreferred-stack-boundary=2 \ - -mno-mmx -mno-3dnow -mno-sse -mno-sse2 + -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 LDFLAGS+= -nostdlib .if ${MACHINE_ARCH} == "amd64" ==== //depot/projects/smpng/sys/boot/i386/boot2/Makefile#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.58 2005/03/15 18:43:36 obrien Exp $ +# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.59 2005/07/15 12:22:14 ache Exp $ FILES= boot boot1 boot2 @@ -26,7 +26,7 @@ -fno-unit-at-a-time \ -mno-align-long-strings \ -mrtd \ - -mno-mmx -mno-3dnow -mno-sse -mno-sse2 \ + -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \ -D${BOOT2_UFS} \ -DFLAGS=${BOOT_BOOT1_FLAGS} \ -DSIOPRT=${BOOT_COMCONSOLE_PORT} \ ==== //depot/projects/smpng/sys/boot/i386/libi386/Makefile#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.37 2004/10/24 15:32:49 ru Exp $ +# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.38 2005/07/14 19:52:22 jkim Exp $ # LIB= i386 INTERNALLIB= @@ -8,7 +8,7 @@ comconsole.c devicename.c elf32_freebsd.c \ elf64_freebsd.c gatea20.c \ i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \ - time.c vidconsole.c amd64_tramp.S + smbios.c time.c vidconsole.c amd64_tramp.S BOOT_COMCONSOLE_PORT?= 0x3f8 CFLAGS+= -DCOMPORT=${BOOT_COMCONSOLE_PORT} ==== //depot/projects/smpng/sys/boot/i386/libi386/libi386.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/boot/i386/libi386/libi386.h,v 1.20 2005/05/27 19:28:04 jhb Exp $ + * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.21 2005/07/14 19:52:22 jkim Exp $ */ @@ -99,6 +99,8 @@ void biosacpi_detect(); +void smbios_detect(); + void gateA20(void); int i386_autoload(void); ==== //depot/projects/smpng/sys/boot/i386/loader/main.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.31 2005/05/27 19:31:00 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.32 2005/07/14 19:52:22 jkim Exp $"); /* * MD bootstrap main() and assorted miscellaneous @@ -144,6 +144,9 @@ /* detect ACPI for future reference */ biosacpi_detect(); + /* detect SMBIOS for future reference */ + smbios_detect(); + printf("\n"); printf("%s, Revision %s\n", bootprog_name, bootprog_rev); printf("(%s, %s)\n", bootprog_maker, bootprog_date); ==== //depot/projects/smpng/sys/conf/NOTES#100 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1325 2005/06/21 10:17:54 dumbbell Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1326 2005/07/14 15:57:00 takawata Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -2309,6 +2309,8 @@ device ohci # EHCI controller device ehci +# SL811 Controller +device slhci # General USB code (mandatory for USB) device usb # ==== //depot/projects/smpng/sys/conf/files#144 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1031 2005/07/10 15:07:57 scottl Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1034 2005/07/17 03:27:36 obrien Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -627,6 +627,7 @@ dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa dev/joy/joy_pccard.c optional joy pccard +dev/kbdmux/kbdmux.c optional kbdmux dev/led/led.c standard dev/lge/if_lge.c optional lge dev/lnc/if_lnc.c optional lnc @@ -789,16 +790,19 @@ #dev/sound/pci/au88x0.c optional snd_au88x0 pci dev/sound/pci/cmi.c optional snd_cmi pci dev/sound/pci/cs4281.c optional snd_cs4281 pci -dev/sound/pci/csa.c optional snd_csa pci +dev/sound/pci/csa.c optional snd_csa pci \ + warning "kernel contains GPL contaminated csaimg.h header" dev/sound/pci/csapcm.c optional snd_csa pci dev/sound/pci/ds1.c optional snd_ds1 pci dev/sound/pci/emu10k1.c optional snd_emu10k1 pci \ - dependency "emu10k1-alsa%diked.h" + dependency "emu10k1-alsa%diked.h" \ + warning "kernel contains GPL contaminated emu10k1 headers" dev/sound/pci/es137x.c optional snd_es137x pci dev/sound/pci/fm801.c optional snd_fm801 pci dev/sound/pci/ich.c optional snd_ich pci dev/sound/pci/maestro.c optional snd_maestro pci -dev/sound/pci/maestro3.c optional snd_maestro3 pci +dev/sound/pci/maestro3.c optional snd_maestro3 pci \ + warning "kernel contains GPL contaminated maestro3 headers" dev/sound/pci/neomagic.c optional snd_neomagic pci dev/sound/pci/solo.c optional snd_solo pci dev/sound/pci/t4dwave.c optional snd_t4dwave pci @@ -896,6 +900,8 @@ dev/usb/if_udav.c optional udav dev/usb/ohci.c optional ohci dev/usb/ohci_pci.c optional ohci pci +dev/usb/sl811hs.c optional slhci +dev/usb/slhci_pccard.c optional slhci pccard dev/usb/ubsa.c optional ubsa ucom dev/usb/ubser.c optional ubser dev/usb/ucom.c optional ucom ==== //depot/projects/smpng/sys/conf/kern.mk#15 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.mk,v 1.45 2005/03/31 22:53:58 peter Exp $ +# $FreeBSD: src/sys/conf/kern.mk,v 1.46 2005/07/15 11:45:30 ache Exp $ # # Warning flags for compiling the kernel and components of the kernel. @@ -31,7 +31,7 @@ # .if ${MACHINE_ARCH} == "i386" && ${CC} != "icc" CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2 \ - -mno-mmx -mno-3dnow -mno-sse -mno-sse2 + -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 INLINE_LIMIT?= 8000 .endif ==== //depot/projects/smpng/sys/conf/options#103 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.510 2005/06/30 00:09:18 peter Exp $ +# $FreeBSD: src/sys/conf/options,v 1.511 2005/07/15 05:12:49 takawata Exp $ # # On the handling of kernel options # @@ -124,6 +124,7 @@ SCHED_ULE opt_sched.h SHOW_BUSYBUFS SLEEPQUEUE_PROFILING +SLHCI_DEBUG opt_slhci.h SPX_HACK SUIDDIR opt_suiddir.h MSGMNB opt_sysvipc.h ==== //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#14 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.19 2005/06/26 21:00:52 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.20 2005/07/14 22:22:51 mlaier Exp $ */ /* $OpenBSD: if_pfsync.c,v 1.46 2005/02/20 15:58:38 mcbride Exp $ */ /* @@ -56,6 +56,7 @@ #include #include #include +#include #else #include #include @@ -119,8 +120,11 @@ struct pfsync_softc pfsyncif; #endif struct pfsyncstats pfsyncstats; - #ifdef __FreeBSD__ +SYSCTL_DECL(_net_inet_pfsync); +SYSCTL_STRUCT(_net_inet_pfsync, 0, stats, CTLFLAG_RW, + &pfsyncstats, pfsyncstats, + "PFSYNC statistics (struct pfsyncstats, net/if_pfsync.h)"); /* * Locking notes: ==== //depot/projects/smpng/sys/dev/aac/aac_pci.c#38 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.54 2005/05/29 04:42:16 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.55 2005/07/14 17:43:00 scottl Exp $"); /* * PCI bus interface and resource allocation. @@ -356,8 +356,8 @@ aacch_probe(device_t dev) { - if ((pci_get_subvendor(dev) != 0x9005) || - (pci_get_subdevice(dev) != 0x00c5)) + if ((pci_get_vendor(dev) != 0x9005) || + (pci_get_device(dev) != 0x00c5)) return (ENXIO); device_set_desc(dev, "AAC RAID Channel"); ==== //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#31 (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_pccard.c,v 1.84 2005/07/10 02:00:34 imp Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.85 2005/07/15 01:54:59 imp Exp $ */ #include "opt_ed.h" @@ -105,7 +105,11 @@ #define NE2000DVF_DL100XX 0x0001 /* chip is D-Link DL10019/22 */ #define NE2000DVF_AX88X90 0x0002 /* chip is ASIX AX88[17]90 */ #define NE2000DVF_ENADDR 0x0004 /* Get MAC from attr mem */ +#define NE2000DVF_ANYFUNC 0x0008 /* Allow any function type */ +#define NE2000DVF_MODEM 0x0010 /* Has a modem/serial */ int enoff; + int edrid; + int siorid; } ed_pccard_products[] = { { PCMCIA_CARD(ACCTON, EN2212), 0}, { PCMCIA_CARD(ACCTON, EN2216), 0}, @@ -142,7 +146,8 @@ { PCMCIA_CARD(EPSON, EEN10B), 0}, { PCMCIA_CARD(EXP, THINLANCOMBO), 0}, { PCMCIA_CARD(GREY_CELL, TDK3000), 0}, - { PCMCIA_CARD(GREY_CELL, DMF650TX), 0}, + { PCMCIA_CARD(GREY_CELL, DMF650TX), + NE2000DVF_ANYFUNC | NE2000DVF_DL100XX | NE2000DVF_MODEM, -1, 1, 0}, { PCMCIA_CARD(IBM, HOME_AND_AWAY), 0}, { PCMCIA_CARD(IBM, INFOMOVER), NE2000DVF_ENADDR, 0xff0}, { PCMCIA_CARD(IODATA3, PCLAT), 0}, @@ -203,14 +208,19 @@ error = pccard_get_function(dev, &fcn); if (error != 0) return (error); - if (fcn != PCCARD_FUNCTION_NETWORK) - return (ENXIO); if ((pp = (const struct ed_product *) pccard_product_lookup(dev, (const struct pccard_product *) ed_pccard_products, sizeof(ed_pccard_products[0]), NULL)) != NULL) { if (pp->prod.pp_name != NULL) device_set_desc(dev, pp->prod.pp_name); + /* + * Some devices don't ID themselves as network, but + * that's OK if the flags say so. + */ + if (!(pp->flags & NE2000DVF_ANYFUNC) && + fcn != PCCARD_FUNCTION_NETWORK) + return (ENXIO); return (0); } return (ENXIO); @@ -226,13 +236,15 @@ { const struct ed_product *pp; int error; + struct ed_softc *sc = device_get_softc(dev); if ((pp = (const struct ed_product *) pccard_product_lookup(dev, (const struct pccard_product *) ed_pccard_products, sizeof(ed_pccard_products[0]), NULL)) == NULL) return (ENXIO); + sc->port_rid = pp->edrid; if (pp->flags & NE2000DVF_DL100XX) { - error = ed_probe_Novell(dev, 0, 0); + error = ed_probe_Novell(dev, sc->port_rid, 0); if (error == 0) error = ed_pccard_Linksys(dev); ed_release_resources(dev); @@ -244,7 +256,7 @@ if (error == 0) goto end2; } - error = ed_probe_Novell(dev, 0, 0); + error = ed_probe_Novell(dev, sc->port_rid, 0); end2: if (error == 0) error = ed_alloc_irq(dev, 0, 0); @@ -279,6 +291,13 @@ } static int +ed_pccard_add_modem(device_t dev, int rid) +{ + device_printf(dev, "Need to write this code: modem rid is %d\n", rid); + return 0; +} + +static int ed_pccard_attach(device_t dev) { int error, i; @@ -291,6 +310,7 @@ (const struct pccard_product *) ed_pccard_products, sizeof(ed_pccard_products[0]), NULL)) == NULL) return (ENXIO); + sc->port_rid = pp->edrid; if (sc->port_used > 0) ed_alloc_port(dev, sc->port_rid, sc->port_used); if (sc->mem_used) @@ -367,6 +387,8 @@ ed_ifmedia_sts); } #endif + if (pp->flags & NE2000DVF_MODEM) + ed_pccard_add_modem(dev, pp->siorid); return (error); } @@ -514,7 +536,7 @@ struct ed_softc *sc = device_get_softc(dev); /* Allocate the port resource during setup. */ - error = ed_alloc_port(dev, 0, ED_NOVELL_IO_PORTS); + error = ed_alloc_port(dev, sc->port_rid, ED_NOVELL_IO_PORTS); if (error) return (error); ==== //depot/projects/smpng/sys/dev/ex/if_ex_pccard.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ex/if_ex_pccard.c,v 1.14 2005/06/24 14:36:52 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ex/if_ex_pccard.c,v 1.15 2005/07/15 01:48:38 imp Exp $"); #include #include @@ -146,55 +146,28 @@ return (sum != 0); } -#if 0 -#ifdef NETBSD_LIKE static int -ex_pccard_silicom_cb(struct pccard_tuple *tuple, void *arg) +ex_pccard_silicom_cb(const struct pccard_tuple *tuple, void *arg) { u_char *enaddr = arg; + int i; - if (tuple->code != PCMCIA_CISTPL_FUNCE) + if (tuple->code != CISTPL_FUNCE) return (0); if (tuple->length != 15) return (0); - if (CARD_CIS_READ_1(tuple->dev, tuple, 6) != 6) + if (pccard_tuple_read_1(tuple, 6) != 6) return (0); for (i = 0; i < 6; i++) - enaddr[i] = CARD_CIS_READ_1(tuple->dev, tuple, 7 + i); + enaddr[i] = pccard_tuple_read_1(tuple, 7 + i); return (1); } -#endif -#endif static void ex_pccard_get_silicom_mac(device_t dev, u_char *ether_addr) { -#if 0 -#ifdef NETBSD_LIKE - CARD_CIS_SCAN(dev, ex_pccard_silicom_cb, ether_addr); -#endif -#ifdef CS_LIKE - uint8_t buffer[64]; - tuple_t tuple; - int i; - - tuple.TupleData = buffer; - tuple.TupleDataMax = sizeof(buffer); - tuple.TupleOffset = 0; - tuple.DesiredTuple = CISTPL_FUNCE; - tuple.Attributes = TUPLE_RETURN_COMMON; - if (CARD_SERVICE(dev, GetFirstTuple, &tuple) != CS_SUCCESS) - return; - if (CARD_SERVICES(dev, GetTupleData, &tuple) != CS_SUCCESS) - return; - if (tuple.TupleLength != 15) - return; - if (buffer[6] != 6) - return; - for (i = 0; i < 6; i++) - ether_addr[i] = buffer[7 + i); -#endif -#endif + CARD_CIS_SCAN(device_get_parent(dev), ex_pccard_silicom_cb, + ether_addr); } static int ==== //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#35 (text+ko) ==== @@ -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/fwohci_pci.c,v 1.52 2005/05/20 12:37:16 marius Exp $ + * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.53 2005/07/17 19:59:07 imp Exp $ */ #define BOUNCE_BUFFER_TEST 0 @@ -169,8 +169,8 @@ return BUS_PROBE_DEFAULT; } if (id == (FW_VENDORID_SONY | FW_DEVICE_CXD1947)) { - device_set_desc(dev, "Sony i.LINK (CXD1947)"); - return BUS_PROBE_DEFAULT; + device_printf(dev, "Sony i.LINK (CXD1947) not supported"); + return ENXIO; } if (id == (FW_VENDORID_SONY | FW_DEVICE_CXD3222)) { device_set_desc(dev, "Sony i.LINK (CXD3222)"); ==== //depot/projects/smpng/sys/dev/hatm/if_hatm_intr.c#14 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm_intr.c,v 1.18 2005/06/10 16:49:09 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm_intr.c,v 1.19 2005/07/15 18:17:57 jhb Exp $"); /* * ForeHE driver. ==== //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_mod.c,v 1.10 2005/07/09 17:29:36 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_mod.c,v 1.12 2005/07/17 04:18:06 jkoshy Exp $"); #include #include @@ -668,7 +668,7 @@ td = curthread; *fullpath = "unknown"; *freepath = NULL; - vn_lock(v, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(v, LK_CANRECURSE | LK_EXCLUSIVE | LK_RETRY, td); vn_fullpath(td, v, fullpath, freepath); VOP_UNLOCK(v, 0, td); } ==== //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ppro.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_ppro.c,v 1.8 2005/07/09 17:29:36 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_ppro.c,v 1.9 2005/07/14 15:09:14 jkoshy Exp $"); #include #include @@ -294,9 +294,9 @@ struct p6_cpu { struct pmc_cpu pc_common; - uint32_t pc_state; struct pmc_hw *pc_hwpmcs[P6_NPMCS]; struct pmc_hw pc_p6pmcs[P6_NPMCS]; + uint32_t pc_state; }; /* ==== //depot/projects/smpng/sys/dev/kbd/kbd.c#16 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.43 2004/12/22 17:29:02 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.44 2005/07/13 23:58:57 emax Exp $"); #include "opt_kbd.h" @@ -282,13 +282,19 @@ * exclusive use. */ -/* find the keyboard specified by a driver name and a unit number */ +/* + * find the keyboard specified by a driver name and a unit number + * starting at given index + */ int -kbd_find_keyboard(char *driver, int unit) +kbd_find_keyboard2(char *driver, int unit, int index) { int i; - for (i = 0; i < keyboards; ++i) { + if ((index < 0) || (index >= keyboards)) + return (-1); + + for (i = index; i < keyboards; ++i) { if (keyboard[i] == NULL) continue; if (!KBD_IS_VALID(keyboard[i])) @@ -299,9 +305,17 @@ continue; return (i); } + return (-1); } +/* find the keyboard specified by a driver name and a unit number */ +int +kbd_find_keyboard(char *driver, int unit) +{ + return (kbd_find_keyboard2(driver, unit, 0)); +} + /* allocate a keyboard */ int kbd_allocate(char *driver, int unit, void *id, kbd_callback_func_t *func, ==== //depot/projects/smpng/sys/dev/kbd/kbdreg.h#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/sys/dev/kbd/kbdreg.h,v 1.17 2004/06/16 09:46:48 phk Exp $ + * $FreeBSD: src/sys/dev/kbd/kbdreg.h,v 1.18 2005/07/13 23:58:57 emax Exp $ */ #ifndef _DEV_KBD_KBDREG_H_ @@ -196,6 +196,7 @@ int kbd_change_callback(keyboard_t *kbd, void *id, kbd_callback_func_t *func, void *arg); int kbd_find_keyboard(char *driver, int unit); +int kbd_find_keyboard2(char *driver, int unit, int index); keyboard_t *kbd_get_keyboard(int index); /* a back door for the console driver to tickle the keyboard driver XXX */ ==== //depot/projects/smpng/sys/dev/pccard/pccard.c#37 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pccard/pccard.c,v 1.106 2005/07/13 15:00:59 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccard/pccard.c,v 1.108 2005/07/15 01:43:08 imp Exp $"); #include #include @@ -967,12 +967,16 @@ struct pccard_ivar *devi = PCCARD_IVAR(child); struct pccard_function *pf = devi->pf; struct pccard_softc *sc = PCCARD_SOFTC(bus); + int i; device_printf(bus, ""); - printf(" (manufacturer=0x%04x, product=0x%04x) at function %d\n", - sc->card.manufacturer, sc->card.product, pf->number); - device_printf(bus, " CIS info: %s, %s, %s\n", sc->card.cis1_info[0], - sc->card.cis1_info[1], sc->card.cis1_info[2]); + printf(" (manufacturer=0x%04x, product=0x%04x, function_type=%d) " + "at function %d\n", sc->card.manufacturer, sc->card.product, + pf->function, pf->number); + device_printf(bus, " CIS info: "); + for (i = 0; sc->card.cis1_info[i] != NULL && i < 4; i++) + printf("%s%s", i > 0 ? ", " : "", sc->card.cis1_info[i]); + printf("\n"); return; } ==== //depot/projects/smpng/sys/dev/pccard/pccard_cis.c#21 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: pcmcia_cis.c,v 1.17 2000/02/10 09:01:52 chopps Exp $ */ -/* $FreeBSD: src/sys/dev/pccard/pccard_cis.c,v 1.35 2005/07/13 14:59:06 imp Exp $ */ +/* $FreeBSD: src/sys/dev/pccard/pccard_cis.c,v 1.36 2005/07/17 20:16:22 imp Exp $ */ /*- * Copyright (c) 1997 Marc Horowitz. All rights reserved. @@ -93,9 +93,7 @@ STAILQ_INIT(&state.card->pf_head); state.pf = NULL; - tsleep(&state, 0, "pccard", hz); - if (pccard_scan_cis(sc->dev, pccard_parse_cis_tuple, - &state) == -1) + if (pccard_scan_cis(sc->dev, pccard_parse_cis_tuple, &state) == -1) state.card->error++; } ==== //depot/projects/smpng/sys/dev/pccard/pccarddevs#48 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.110 2005/07/13 14:50:47 imp Exp $ +$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.111 2005/07/14 14:53:38 takawata Exp $ /* $NetBSD: pcmciadevs,v 1.186 2003/09/16 08:26:37 onoe Exp $ */ /* $OpenBSD: pcmciadevs,v 1.93 2002/06/21 08:31:10 henning Exp $ */ @@ -486,7 +486,7 @@ /* RATOC System Inc. Products */ /* Don't use because both cards have same product id */ -product RATOC REX_R280_9530 0x0001 RATOC REX-R280/REX-9530 +product RATOC REX_R280_9530 0x0001 RATOC REX-R280/REX-9530/CFU01 /* Racore Computer Products */ product RACORE ACCTON_EN2226 0x010a Accton Fast EtherCard @@ -699,6 +699,7 @@ product RATOC REX5536M { "PCMCIA&spSCSI2&spCARD", "01", NULL, NULL } RATOC REX-5536M product RATOC REX5572 { "RATOC&spSystem&spInc.", "SOUND/SCSI2&spCARD", NULL, NULL } RATOC REX-5572 product RATOC REX9530 { "RATOC&spSystem&spInc.", "SCSI2&spCARD&sp37", NULL, NULL } RATOC REX-9530 +product RATOC REX_CFU1 { "RATOC", "USB&spHOST&spCF+&spCard", NULL, NULL } RATOC REX-CFU1 product SIMPLETECH SPECTRUM24_ALT { "Symbol&spTechnologies", "LA4111&spSpectrum24&spWireless&spLAN&spPC&spCard", NULL, NULL } LA4111 Spectrum24 Wireless LAN PC Card product SMC 2632W { "SMC", "SMC2632W", "Version&sp01.02", NULL } SMC 2632 EZ Connect Wireless PC Card product SMC 8000 { "SMC8000", "DEV1", NULL, NULL } ==== //depot/projects/smpng/sys/dev/pccbb/pccbb.c#49 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.121 2005/01/13 19:05:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.126 2005/07/17 19:40:05 imp Exp $"); #include #include @@ -157,7 +157,7 @@ static void cbb_insert(struct cbb_softc *sc); static void cbb_removal(struct cbb_softc *sc); -static int cbb_detect_voltage(device_t brdev); +static uint32_t cbb_detect_voltage(device_t brdev); static void cbb_cardbus_reset(device_t brdev); static int cbb_cardbus_io_open(device_t brdev, int win, uint32_t start, uint32_t end); @@ -318,6 +318,7 @@ sc->base_res); mtx_destroy(&sc->mtx); cv_destroy(&sc->cv); + cv_destroy(&sc->powercv); return (0); } @@ -535,6 +536,9 @@ if (sc->exca[0].pccarddev) { sc->flags |= CBB_16BIT_CARD; exca_insert(&sc->exca[0]); + } else { + device_printf(sc->dev, + "16-bit card inserted, but no pccard bus.\n"); } } else if (sockstate & CBB_STATE_CB_CARD) { if (sc->cbdev != NULL) { @@ -620,13 +624,10 @@ struct cbb_softc *sc = arg; uint32_t sockevent; - /* - * This ISR needs work XXX - */ sockevent = cbb_get(sc, CBB_SOCKET_EVENT); if (sockevent != 0) { /* ack the interrupt */ - cbb_setb(sc, CBB_SOCKET_EVENT, sockevent); + cbb_set(sc, CBB_SOCKET_EVENT, sockevent); /* * If anything has happened to the socket, we assume that @@ -643,12 +644,22 @@ */ if (sockevent & CBB_SOCKET_EVENT_CD) { mtx_lock(&sc->mtx); - cbb_setb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD); + cbb_clrb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD); sc->flags &= ~CBB_CARD_OK; cbb_disable_func_intr(sc); cv_signal(&sc->cv); mtx_unlock(&sc->mtx); } + /* + * If we get a power interrupt, wakeup anybody that might + * be waiting for one. + */ + if (sockevent & CBB_SOCKET_EVENT_POWER) { + mtx_lock(&sc->mtx); + sc->powerintr++; + cv_signal(&sc->powercv); + mtx_unlock(&sc->mtx); + } } /* * Some chips also require us to read the old ExCA registe for @@ -669,12 +680,12 @@ /* Generic Power functions */ /************************************************************************/ -static int +static uint32_t cbb_detect_voltage(device_t brdev) { struct cbb_softc *sc = device_get_softc(brdev); uint32_t psr; - int vol = CARD_UKN_CARD; + uint32_t vol = CARD_UKN_CARD; psr = cbb_get(sc, CBB_SOCKET_STATE); @@ -718,6 +729,11 @@ * Selecting IRQ1 will result in INT# NOT being asserted * (because IRQ1 is selected), and IRQ1 won't be asserted * because our controllers don't generate IRQ1. + * >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 18 15:57:24 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 880EE16A420; Mon, 18 Jul 2005 15:57:23 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 5F24916A41C for ; Mon, 18 Jul 2005 15:57:23 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13FA643D46 for ; Mon, 18 Jul 2005 15:57:23 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IFvMMv054037 for ; Mon, 18 Jul 2005 15:57:22 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IFvMvo054034 for perforce@freebsd.org; Mon, 18 Jul 2005 15:57:22 GMT (envelope-from soc-victor@freebsd.org) Date: Mon, 18 Jul 2005 15:57:22 GMT Message-Id: <200507181557.j6IFvMvo054034@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: soc-victor To: Perforce Change Reviews Cc: Subject: PERFORCE change 80446 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 15:57:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=80446 Change 80446 by soc-victor@soc-victor_82.76.158.176 on 2005/07/18 15:56:49 Added the SNMP instrumentation for hrFSTable table from HOST-RESOURCES-MIB Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#6 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#7 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#8 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#5 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#6 (text+ko) ==== @@ -7,7 +7,7 @@ MOD= hostres SRCS= hostres_snmp.c hostres_scalars.c \ - hostres_storage_tbl.c + hostres_storage_tbl.c hostres_fs_tbl.c WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr #CFLAGS+= -DNDEBUG ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#7 (text+ko) ==== @@ -87,9 +87,28 @@ } - hrState_g.hr_tick = 0; - + hrState_g.next_hrStorage_index = 1; + + STAILQ_INIT(&hrState_g.storage_name_map); + + TAILQ_INIT(&hrState_g.hr_storage_tbl); + + + hrState_g.next_hrFS_index = 1; + + STAILQ_INIT(&hrState_g.fs_name_map); + + TAILQ_INIT(&hrState_g.hr_fs_tbl); + + + hrState_g.hr_storage_tick = 0; + hrState_g.hr_fs_tick = 0; + + hrState_g.hrStorage_tbl_age = 0; + hrState_g.hrFS_tbl_age = 0; + init_hrStorage_tbl_v(); + init_hrFS_tbl_v(); HR_DPRINTF((stderr, "[%s] done.\n", __func__)); @@ -132,6 +151,7 @@ hrState_g.phys_mem_size = 0; fini_hrStorage_tbl_v(); + fini_hrFS_tbl_v(); if( host_registration_id > 0){ or_unregister(host_registration_id); @@ -151,7 +171,11 @@ refresh_hrStorage_tbl_v(); } - /*nothing iteresting here for the time being*/ + if ( (time(NULL) - hrState_g.hrFS_tbl_age) > HR_FS_TBL_REFRESH ) { + HR_DPRINTF((stderr, "%s: hrFSTable needs refresh\n ", __func__)); + refresh_hrFS_tbl_v(); + } + HR_DPRINTF((stderr, "[%s] done.\n ", __func__)); } @@ -281,14 +305,6 @@ } -int op_hrFSTable(struct snmp_context *ctx __unused, - struct snmp_value *value __unused, - u_int sub __unused, - u_int iidx __unused, - enum snmp_op curr_op __unused) -{ - return (SNMP_ERR_NOSUCHNAME); -} int op_hrSWRun(struct snmp_context *ctx __unused, ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#8 (text+ko) ==== @@ -62,7 +62,7 @@ * This structure is used to hold on SNMP table entry * for HOST-RESOURCES-MIB's hrStorageTable */ -#define HR_STORAGE_FOUND 0x001 + struct hrStorageTblEntry { int32_t index; struct asn_oid type; @@ -71,6 +71,7 @@ int32_t size; int32_t used; uint32_t allocationFailures; +#define HR_STORAGE_FOUND 0x001 uint32_t flags; /*not from the SNMP mib table, only to be used internally*/ TAILQ_ENTRY(hrStorageTblEntry) link; }; @@ -89,42 +90,106 @@ int32_t hrIndex; /*used for hrStorageTblEntry::index*/ u_char a_name[255+1]; /*map key, also used for hrStorageTblEntry::descr*/ - /*next may be NULL if the respective hrStorageTblEntry is (temporally) gone*/ + /* + * next may be NULL if the respective hrStorageTblEntry + * is (temporally) gone + */ struct hrStorageTblEntry *entry_p; STAILQ_ENTRY(storageNameMapEntry) link; }; STAILQ_HEAD(storage_map_list, storageNameMapEntry); +enum hrFSAccess { + FS_READ_WRITE = 1, + FS_READ_ONLY = 2 +}; + +enum snmpTCTruthValue { + SNMP_TRUE = 1, + SNMP_FALSE= 2 +}; + +struct hrFSTblEntry { + int32_t index; + u_char mountPoint[128]; + u_char remoteMountPoint[128]; + struct asn_oid type; + int32_t access; /* enum hrFSAccess, see above */ + int32_t bootable; /* enum snmpTCTruthValue, see above */ + int32_t storageIndex; /* hrStorageTblEntry::index */ + u_char lastFullBackupDate[11]; + u_char lastPartialBackupDate[11]; +#define HR_FS_FOUND 0x001 + uint32_t flags; /*not from the SNMP mib table, only to be used internally*/ + TAILQ_ENTRY(hrFSTblEntry) link; +}; + +TAILQ_HEAD(fs_tbl, hrFSTblEntry); + + +/* + * Next structure is used to keep o list of mappings from a specific + * name (a_name) to an entry in the hrFSTblEntry; + * We are trying to keep the same index for a specific name at least + * for the duration of one SNMP agent run + */ +struct FSNameMapEntry { + int32_t hrIndex; /*used for hrFSTblEntry::index*/ + u_char a_name[255+1]; /*map key*/ + + /* + * next may be NULL if the respective hrFSTblEntry + * is (temporally) gone + */ + struct + hrFSTblEntry *entry_p; + STAILQ_ENTRY(FSNameMapEntry) link; +}; + +STAILQ_HEAD(fs_map_list, FSNameMapEntry); struct hostres_state { - FILE *utmp_fp; /*file pointer to keep an open instance of utmp*/ - kvm_t *kd; /*kernel descriptor*/ - uint32_t kernel_boot; /*boot timestamp in centi-seconds*/ - char k_boot_line[128];/*kernel boot line*/ - int max_proc; /*maximum number of processes */ - uint32_t phys_mem_size; /*physical memory size in Kb*/ + FILE *utmp_fp; /*file pointer to keep an open instance of utmp*/ + kvm_t *kd; /*kernel descriptor*/ + uint32_t kernel_boot; /*boot timestamp in centi-seconds*/ + char k_boot_line[128]; /*kernel boot line*/ + int max_proc; /*maximum number of processes */ + uint32_t phys_mem_size; /*physical memory size in Kb*/ - u_char *time_to_set; /*for setting hrSystemDate*/ - struct timeval timeval_to_set; /*for setting hrSystemDate*/ + u_char *time_to_set; /*for setting hrSystemDate*/ + struct timeval timeval_to_set; /*for setting hrSystemDate*/ - /* next items are used for hrStorageTable */ + /* + * next items are used for hrStorageTable + */ struct - storage_map_list storage_name_map; /*for consistent table indexing*/ + storage_map_list storage_name_map; /*for consistent table indexing*/ struct - storage_tbl hr_storage_tbl; /*the head of the list with table's entries */ - uint64_t hr_tick; - struct kvm_swap *swap_devs; /*for kvm_getswapinfo, malloc'd*/ - size_t swap_devs_len; /*idem */ - struct statfs *fs_buf; /*for getfsstat, malloc'd*/ - size_t fs_buf_count; /*idem*/ + storage_tbl hr_storage_tbl; /*the head of the list with table's entries */ + uint64_t hr_storage_tick; /*last (agent) tick when hrStorageTable was updated */ + struct kvm_swap *swap_devs; /*for kvm_getswapinfo, malloc'd*/ + size_t swap_devs_len; /*idem */ + struct statfs *fs_buf; /*for getfsstat, malloc'd*/ + size_t fs_buf_count; /*idem*/ struct vmtotal mem_stats; - uint32_t next_hrStorage_index; /*next int availabe for indexing the hrStorageTable*/ + uint32_t next_hrStorage_index; /*next int available for indexing the hrStorageTable*/ time_t hrStorage_tbl_age; + /* + * next items are used for hrFSTable + */ + struct + fs_map_list fs_name_map; /*for consistent table indexing*/ + + struct fs_tbl hr_fs_tbl; /*the head of the list with hrFSTable's entries */ + uint32_t next_hrFS_index; /*next int available for indexing the hrFSTable*/ + time_t hrFS_tbl_age; + uint64_t hr_fs_tick; /*last (agent) tick when hrFSTable was updated */ + }; /* @@ -133,7 +198,14 @@ */ extern struct hostres_state hrState_g; + /* + * Query the underlaying OS for the mounted file systems + * anf fill in the respective lists (for hrStorageTable and for hrFSTable) + */ +void hrStorage_OS_get_fs_v(void); + +/* * Init the things for hrStorageTable. */ void init_hrStorage_tbl_v(void); @@ -151,5 +223,30 @@ */ void refresh_hrStorage_tbl_v(void); + + + +void +FS_tbl_process_statfs_entry_v(const struct statfs *fs_p, int32_t storage_idx); + +/* + * Init the things for hrFSTable. + */ +void init_hrFS_tbl_v(void); + +/* + * Finalization routine for hrFSTable. + * It destroys the lists and frees any allocated heap memory + */ +void fini_hrFS_tbl_v(void); + +#define HR_FS_TBL_REFRESH 7 +/* + * Refresh routine for hrFSTable. + * Usable for polling the system for any changes. + */ +void refresh_hrFS_tbl_v(void); + + #endif /*__HOSTRES_SNMP_H_INCLUDED__ */ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#5 (text+ko) ==== @@ -143,7 +143,7 @@ */ static -void hrStorage_get_vm_v(void) { +void hrStorage_OS_get_vm_v(void) { /*FIX ME*/ int mib[2] = { CTL_VM, VM_TOTAL }; int len = sizeof(hrState_g.mem_stats); @@ -195,7 +195,7 @@ static -void hrStorage_get_swap_v(void) { +void hrStorage_OS_get_swap_v(void) { int nswapdev = 0; int len = sizeof(nswapdev); struct hrStorageTblEntry *entry; @@ -309,8 +309,8 @@ } -static -void hrStorage_get_fs_v(void) { + +void hrStorage_OS_get_fs_v(void) { int mounted_fs_count = 0; int i = 0; struct hrStorageTblEntry *entry; @@ -343,6 +343,7 @@ HR_DPRINTF((stderr, "%s: Got %d mounted FS\n ", __func__, mounted_fs_count)); for(i = 0; i < mounted_fs_count; i++ ) { + memset(&fs_string[0], '\0', sizeof(fs_string) ); snprintf(fs_string, 255, "%s, type: %s, dev: %s", hrState_g.fs_buf[i].f_mntonname, hrState_g.fs_buf[i].f_fstypename, @@ -368,7 +369,11 @@ INT_MAX : used_blocks_count ); /*may overflow the SNMP type*/ - entry->allocationFailures = 0; + entry->allocationFailures = 0; + + /*take care of hrFSTable*/ + FS_tbl_process_statfs_entry_v(&hrState_g.fs_buf[i], entry->index); + continue; } if ((entry = hrStorageTblEntry_create(fs_string)) != NULL) { @@ -392,6 +397,10 @@ entry->allocationFailures = 0; + /*take care of hrFSTable*/ + FS_tbl_process_statfs_entry_v(&hrState_g.fs_buf[i], entry->index); + + } }/*end for*/ @@ -408,18 +417,9 @@ memset( &hrState_g.mem_stats, 0, sizeof(hrState_g.mem_stats) ); - hrState_g.next_hrStorage_index = 1; - STAILQ_INIT(&hrState_g.storage_name_map); - - TAILQ_INIT(&hrState_g.hr_storage_tbl); + refresh_hrStorage_tbl_v(); - hrStorage_get_vm_v(); - - hrStorage_get_swap_v(); - - hrStorage_get_fs_v(); - } void fini_hrStorage_tbl_v(void) { @@ -450,8 +450,6 @@ n1 = n2; } STAILQ_INIT(&hrState_g.storage_name_map); - - } @@ -460,7 +458,7 @@ struct hrStorageTblEntry *entry = NULL, *entry_tmp = NULL; - if ( this_tick <= hrState_g.hr_tick) { + if ( this_tick <= hrState_g.hr_storage_tick) { HR_DPRINTF((stderr, "%s: no refresh needed\n ",__func__)); return; } @@ -469,11 +467,11 @@ entry->flags &= ~HR_STORAGE_FOUND; - hrStorage_get_vm_v(); + hrStorage_OS_get_vm_v(); - hrStorage_get_swap_v(); + hrStorage_OS_get_swap_v(); - hrStorage_get_fs_v(); + hrStorage_OS_get_fs_v(); /* * Purge items items that disappeared @@ -486,7 +484,7 @@ entry = entry_tmp; } - hrState_g.hr_tick = this_tick; + hrState_g.hr_storage_tick = this_tick; hrState_g.hrStorage_tbl_age = time(NULL); From owner-p4-projects@FreeBSD.ORG Mon Jul 18 16:11:47 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85A9516A421; Mon, 18 Jul 2005 16:11:46 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 5DFD516A41F for ; Mon, 18 Jul 2005 16:11:46 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C3D0643D6A for ; Mon, 18 Jul 2005 16:11:41 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IGBfg3054869 for ; Mon, 18 Jul 2005 16:11:41 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IGBfAl054866 for perforce@freebsd.org; Mon, 18 Jul 2005 16:11:41 GMT (envelope-from soc-saturnero@freebsd.org) Date: Mon, 18 Jul 2005 16:11:41 GMT Message-Id: <200507181611.j6IGBfAl054866@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 80449 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 16:11:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=80449 Change 80449 by soc-saturnero@soc-saturnero_sberta on 2005/07/18 16:11:30 Added installkernel and installworld target. Added cleandir target. Affected files ... .. //depot/projects/soc2005/freesbie/Makefile#4 edit .. //depot/projects/soc2005/freesbie/scripts/cleandir.sh#1 add .. //depot/projects/soc2005/freesbie/scripts/installkernel.sh#1 add .. //depot/projects/soc2005/freesbie/scripts/installworld.sh#1 add .. //depot/projects/soc2005/freesbie/scripts/launch.sh#4 edit Differences ... ==== //depot/projects/soc2005/freesbie/Makefile#4 (text+ko) ==== @@ -5,7 +5,9 @@ # # $FreeBSD$ -all: buildworld buildkernel +all: freesbie + +freesbie: buildworld buildkernel installworld installkernel buildworld: .done_buildworld .done_buildworld: @@ -14,13 +16,29 @@ @sh ./scripts/launch.sh buildworld .tmp_buildworld @mv .tmp_buildworld .done_buildworld -buildkernel: .done_buildworld .done_buildkernel +installworld: .done_installworld +.done_installworld: .done_buildworld + @-rm -f .tmp_installworld + @touch .tmp_installworld + @sh ./scripts/launch.sh installworld .tmp_installworld + @mv .tmp_installworld .done_installworld + +buildkernel: .done_buildkernel .done_buildkernel: @-rm -f .tmp_buildkernel @touch .tmp_buildkernel @sh ./scripts/launch.sh buildkernel .tmp_buildkernel @mv .tmp_buildkernel .done_buildkernel +installkernel: .done_installkernel +.done_installkernel: .done_buildkernel .done_installworld + @-rm -f .tmp_installkernel + @touch .tmp_installkernel + @sh ./scripts/launch.sh installkernel .tmp_installkernel + @mv .tmp_installkernel .done_installkernel clean: @-rm -f .tmp* .done* > /dev/null 2>&1 + +cleandir: clean + @sh ./scripts/launch.sh cleandir ==== //depot/projects/soc2005/freesbie/scripts/launch.sh#4 (text+ko) ==== @@ -25,7 +25,7 @@ TARGET=$1; shift; -if [ -n "$1" ]; then +if [ -n "${1:-}" ]; then LOGFILE=${LOCALDIR}/$1 else LOGFILE=$(mktemp -q /tmp/freesbie.XXXXXX) From owner-p4-projects@FreeBSD.ORG Mon Jul 18 16:36:12 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1360916A421; Mon, 18 Jul 2005 16:36:12 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 E156116A41F for ; Mon, 18 Jul 2005 16:36:11 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B203A43D45 for ; Mon, 18 Jul 2005 16:36:11 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IGaBpv056273 for ; Mon, 18 Jul 2005 16:36:11 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IGaBiW056270 for perforce@freebsd.org; Mon, 18 Jul 2005 16:36:11 GMT (envelope-from sam@freebsd.org) Date: Mon, 18 Jul 2005 16:36:11 GMT Message-Id: <200507181636.j6IGaBiW056270@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 Cc: Subject: PERFORCE change 80451 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 16:36:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=80451 Change 80451 by sam@sam_ebb on 2005/07/18 16:36:10 add recent stuff Affected files ... .. //depot/projects/wifi/tools/tools/ath/80211debug.c#6 edit Differences ... ==== //depot/projects/wifi/tools/tools/ath/80211debug.c#6 (text+ko) ==== @@ -73,6 +73,9 @@ #define IEEE80211_MSG_ACL 0x00000800 /* ACL handling */ #define IEEE80211_MSG_WME 0x00000400 /* WME protocol */ #define IEEE80211_MSG_SUPERG 0x00000200 /* Atheros SuperG protocol */ +#define IEEE80211_MSG_DOTH 0x00000100 /* 802.11h support */ +#define IEEE80211_MSG_INACT 0x00000080 /* inactivity handling */ +#define IEEE80211_MSG_ROAM 0x00000040 /* sta-mode roaming */ static struct { const char *name; @@ -100,6 +103,9 @@ { "acl", IEEE80211_MSG_ACL }, { "wme", IEEE80211_MSG_WME }, { "superg", IEEE80211_MSG_SUPERG }, + { "doth", IEEE80211_MSG_DOTH }, + { "inact", IEEE80211_MSG_INACT }, + { "roam", IEEE80211_MSG_ROAM }, }; static u_int From owner-p4-projects@FreeBSD.ORG Mon Jul 18 16:38:15 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3781416A420; Mon, 18 Jul 2005 16:38:15 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 104B516A41C for ; Mon, 18 Jul 2005 16:38:15 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C806D43D45 for ; Mon, 18 Jul 2005 16:38:14 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IGcESI056361 for ; Mon, 18 Jul 2005 16:38:14 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IGcEqs056354 for perforce@freebsd.org; Mon, 18 Jul 2005 16:38:14 GMT (envelope-from sam@freebsd.org) Date: Mon, 18 Jul 2005 16:38:14 GMT Message-Id: <200507181638.j6IGcEqs056354@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 Cc: Subject: PERFORCE change 80452 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 16:38:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=80452 Change 80452 by sam@sam_ebb on 2005/07/18 16:37:22 add bgscan+roaming controls Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#41 edit Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#41 (text+ko) ==== @@ -636,6 +636,66 @@ set80211(s, IEEE80211_IOC_PUREG, d, 0, NULL); } +static void +set80211bgscan(const char *val, int d, int s, const struct afswtch *rafp) +{ + set80211(s, IEEE80211_IOC_BGSCAN, d, 0, NULL); +} + +static +DECL_CMD_FUNC(set80211bgscanidle, val, d) +{ + set80211(s, IEEE80211_IOC_BGSCAN_IDLE, atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211bgscanintvl, val, d) +{ + set80211(s, IEEE80211_IOC_BGSCAN_INTERVAL, atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211scanvalid, val, d) +{ + set80211(s, IEEE80211_IOC_SCANVALID, atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211roamrssi11a, val, d) +{ + set80211(s, IEEE80211_IOC_ROAM_RSSI_11A, atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211roamrssi11b, val, d) +{ + set80211(s, IEEE80211_IOC_ROAM_RSSI_11B, atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211roamrssi11g, val, d) +{ + set80211(s, IEEE80211_IOC_ROAM_RSSI_11G, atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211roamrate11a, val, d) +{ + set80211(s, IEEE80211_IOC_ROAM_RATE_11A, 2*atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211roamrate11b, val, d) +{ + set80211(s, IEEE80211_IOC_ROAM_RATE_11B, 2*atoi(val), 0, NULL); +} + +static +DECL_CMD_FUNC(set80211roamrate11g, val, d) +{ + set80211(s, IEEE80211_IOC_ROAM_RATE_11G, 2*atoi(val), 0, NULL); +} + static int getmaxrate(uint8_t rates[15], uint8_t nrates) { @@ -961,12 +1021,11 @@ if (IEEE80211_IS_CHAN_A(c)) strlcat(buf, " 11a", sizeof(buf)); /* XXX 11g schizophrenia */ - if (IEEE80211_IS_CHAN_G(c) || - IEEE80211_IS_CHAN_PUREG(c)) + if (IEEE80211_IS_CHAN_ANYG(c)) strlcat(buf, " 11g", sizeof(buf)); else if (IEEE80211_IS_CHAN_B(c)) strlcat(buf, " 11b", sizeof(buf)); - if (IEEE80211_IS_CHAN_T(c)) + if (IEEE80211_IS_CHAN_TURBO(c)) strlcat(buf, " Turbo", sizeof(buf)); printf("Channel %3u : %u%c Mhz%-14.14s", ieee80211_mhz2ieee(c->ic_freq), c->ic_freq, @@ -1028,7 +1087,7 @@ #define IEEE80211_C_BITS \ "\020\1WEP\2TKIP\3AES\4AES_CCM\6CKIP\11IBSS\12PMGT\13HOSTAP\14AHDEMO" \ "\15SWRETRY\16TXPMGT\17SHSLOT\20SHPREAMBLE\21MONITOR\22TKIPMIC\30WPA1" \ -"\31WPA2\32BURST\33WME" +"\31WPA2\32BURST\33WME\34WDS\36BGSCAN" static void list_capabilities(int s) @@ -1306,7 +1365,7 @@ { static const uint8_t zerobssid[IEEE80211_ADDR_LEN]; enum ieee80211_opmode opmode = get80211opmode(s); - int i, num, wpa, wme; + int i, num, wpa, wme, bgscan; struct ieee80211req ireq; u_int8_t data[32]; const struct ieee80211_channel *c; @@ -1316,6 +1375,7 @@ ireq.i_data = &data; wpa = 0; /* unknown/not set */ + bgscan = 0; /* unknown/not set */ ireq.i_type = IEEE80211_IOC_SSID; ireq.i_val = -1; @@ -1521,7 +1581,54 @@ LINE_CHECK("%crtsthreshold %d", spacer, ireq.i_val); } - if (IEEE80211_IS_CHAN_G(c) || IEEE80211_IS_CHAN_PUREG(c) || verbose) { + ireq.i_type = IEEE80211_IOC_BGSCAN; + if (ioctl(s, SIOCG80211, &ireq) != -1) { + bgscan = ireq.i_val; + if (ireq.i_val) + LINE_CHECK("%cbgscan", spacer); + else if (verbose) + LINE_CHECK("%c-bgscan", spacer); + } + if (bgscan || verbose) { + ireq.i_type = IEEE80211_IOC_BGSCAN_INTERVAL; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%cbgscanintvl %u", spacer, ireq.i_val); + ireq.i_type = IEEE80211_IOC_BGSCAN_IDLE; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%cbgscanidle %u", spacer, ireq.i_val); + if (IEEE80211_IS_CHAN_A(c) || verbose) { + ireq.i_type = IEEE80211_IOC_ROAM_RSSI_11A; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%croam:rssi11a %d", + spacer, ireq.i_val); + ireq.i_type = IEEE80211_IOC_ROAM_RATE_11A; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%croam:rate11a %u", + spacer, ireq.i_val/2); + } + if (IEEE80211_IS_CHAN_B(c) || verbose) { + ireq.i_type = IEEE80211_IOC_ROAM_RSSI_11B; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%croam:rssi11b %d", + spacer, ireq.i_val); + ireq.i_type = IEEE80211_IOC_ROAM_RATE_11B; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%croam:rate11b %u", + spacer, ireq.i_val/2); + } + if (IEEE80211_IS_CHAN_ANYG(c) || verbose) { + ireq.i_type = IEEE80211_IOC_ROAM_RSSI_11G; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%croam:rssi11g %d", + spacer, ireq.i_val); + ireq.i_type = IEEE80211_IOC_ROAM_RATE_11G; + if (ioctl(s, SIOCG80211, &ireq) != -1) + LINE_CHECK("%croam:rate11g %u", + spacer, ireq.i_val/2); + } + } + + if (IEEE80211_IS_CHAN_ANYG(c) || verbose) { ireq.i_type = IEEE80211_IOC_PUREG; if (ioctl(s, SIOCG80211, &ireq) != -1) { if (ireq.i_val) @@ -1836,6 +1943,17 @@ DEF_CMD("-ff", 0, set80211fastframes), DEF_CMD("dturbo", 1, set80211dturbo), DEF_CMD("-dturbo", 0, set80211dturbo), + DEF_CMD("bgscan", 1, set80211bgscan), + DEF_CMD("-bgscan", 0, set80211bgscan), + DEF_CMD_ARG("bgscanidle", set80211bgscanidle), + DEF_CMD_ARG("bgscanintvl", set80211bgscanintvl), + DEF_CMD_ARG("scanvalid", set80211scanvalid), + DEF_CMD_ARG("roam:rssi11a", set80211roamrssi11a), + DEF_CMD_ARG("roam:rssi11b", set80211roamrssi11b), + DEF_CMD_ARG("roam:rssi11g", set80211roamrssi11g), + DEF_CMD_ARG("roam:rate11a", set80211roamrate11a), + DEF_CMD_ARG("roam:rate11b", set80211roamrate11b), + DEF_CMD_ARG("roam:rate11g", set80211roamrate11g), }; static struct afswtch af_ieee80211 = { .af_name = "af_ieee80211", From owner-p4-projects@FreeBSD.ORG Mon Jul 18 16:56:39 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB96A16A420; Mon, 18 Jul 2005 16:56:38 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9A3FC16A41C for ; Mon, 18 Jul 2005 16:56:38 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 00CEB43D4C for ; Mon, 18 Jul 2005 16:56:38 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IGub07064242 for ; Mon, 18 Jul 2005 16:56:37 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IGubhj064239 for perforce@freebsd.org; Mon, 18 Jul 2005 16:56:37 GMT (envelope-from sam@freebsd.org) Date: Mon, 18 Jul 2005 16:56:37 GMT Message-Id: <200507181656.j6IGubhj064239@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 Cc: Subject: PERFORCE change 80453 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 16:56:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=80453 Change 80453 by sam@sam_ebb on 2005/07/18 16:56:28 Checkpoint backmerge of new scanning+roaming+power save support. While here nuke wiconfig compatbility ioctls and update some api's to conform to vap work. Still more things to cleanup/fix but bg scan+roam works. Affected files ... .. //depot/projects/wifi/sys/net80211/_ieee80211.h#7 edit .. //depot/projects/wifi/sys/net80211/ieee80211.c#24 edit .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#17 edit .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#53 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#40 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#25 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#54 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#25 edit .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#44 edit .. //depot/projects/wifi/sys/net80211/ieee80211_power.c#1 add .. //depot/projects/wifi/sys/net80211/ieee80211_power.h#1 add .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#28 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.h#18 edit .. //depot/projects/wifi/sys/net80211/ieee80211_scan.c#1 add .. //depot/projects/wifi/sys/net80211/ieee80211_scan.h#1 add .. //depot/projects/wifi/sys/net80211/ieee80211_scan_ap.c#1 add .. //depot/projects/wifi/sys/net80211/ieee80211_scan_sta.c#1 add .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#28 edit Differences ... ==== //depot/projects/wifi/sys/net80211/_ieee80211.h#7 (text+ko) ==== @@ -216,4 +216,14 @@ u_int8_t rs_rates[IEEE80211_RATE_MAXSIZE]; }; +struct ieee80211_roam { + int8_t rssi11a; /* rssi thresh for 11a bss */ + int8_t rssi11b; /* for 11g sta in 11b bss */ + int8_t rssi11bOnly; /* for 11b sta */ + u_int8_t pad1; + u_int8_t rate11a; /* rate thresh for 11a bss */ + u_int8_t rate11b; /* for 11g sta in 11b bss */ + u_int8_t rate11bOnly; /* for 11b sta */ + u_int8_t pad2; +}; #endif /* _NET80211__IEEE80211_H_ */ ==== //depot/projects/wifi/sys/net80211/ieee80211.c#24 (text+ko) ==== @@ -129,8 +129,6 @@ bpfattach2(ifp, DLT_IEEE802_11, sizeof(struct ieee80211_frame_addr4), &ic->ic_rawbpf); - ieee80211_crypto_attach(ic); - /* * Fill in 802.11 available channel set, mark * all available channels as active, and pick @@ -187,12 +185,16 @@ ic->ic_lintval = IEEE80211_BINTVAL_DEFAULT; ic->ic_bmisstimeout = 7*ic->ic_lintval; /* default 7 beacons */ ic->ic_dtim_period = IEEE80211_DTIM_DEFAULT; + IEEE80211_LOCK_INIT(ic, "ieee80211com"); IEEE80211_BEACON_LOCK_INIT(ic, "beacon"); ic->ic_txpowlimit = IEEE80211_TXPOWER_MAX; + ieee80211_crypto_attach(ic); ieee80211_node_attach(ic); + ieee80211_power_attach(ic); ieee80211_proto_attach(ic); + ieee80211_scan_attach(ic); ieee80211_add_vap(ic); @@ -214,11 +216,14 @@ ieee80211_remove_vap(ic); ieee80211_sysctl_detach(ic); + ieee80211_scan_detach(ic); ieee80211_proto_detach(ic); ieee80211_crypto_detach(ic); + ieee80211_power_detach(ic); ieee80211_node_detach(ic); ifmedia_removeall(&ic->ic_media); + IEEE80211_LOCK_DESTROY(ic); IEEE80211_BEACON_LOCK_DESTROY(ic); bpfdetach(ifp); @@ -339,6 +344,7 @@ * (i.e. driver) work such as overriding methods. */ ieee80211_node_lateattach(ic); + ieee80211_power_lateattach(ic); /* * Fill in media characteristics. @@ -483,19 +489,6 @@ } } -static int -findrate(struct ieee80211com *ic, enum ieee80211_phymode mode, int rate) -{ -#define IEEERATE(_ic,_m,_i) \ - ((_ic)->ic_sup_rates[_m].rs_rates[_i] & IEEE80211_RATE_VAL) - int i, nrates = ic->ic_sup_rates[mode].rs_nrates; - for (i = 0; i < nrates; i++) - if (IEEERATE(ic, mode, i) == rate) - return i; - return -1; -#undef IEEERATE -} - /* * Find an instance by it's mac address. */ @@ -524,7 +517,51 @@ return NULL; } +static int +findrate(struct ieee80211com *ic, enum ieee80211_phymode mode, int rate) +{ +#define IEEERATE(_ic,_m,_i) \ + ((_ic)->ic_sup_rates[_m].rs_rates[_i] & IEEE80211_RATE_VAL) + int i, nrates = ic->ic_sup_rates[mode].rs_nrates; + for (i = 0; i < nrates; i++) + if (IEEERATE(ic, mode, i) == rate) + return i; + return -1; +#undef IEEERATE +} + /* + * Convert a media specification to a rate index and possibly a mode + * (if the rate is fixed and the mode is specified as ``auto'' then + * we need to lock down the mode so the index is meanginful). + */ +static int +checkrate(struct ieee80211com *ic, enum ieee80211_phymode mode, int rate) +{ + + /* + * Check the rate table for the specified/current phy. + */ + if (mode == IEEE80211_MODE_AUTO) { + int i; + /* + * In autoselect mode search for the rate. + */ + for (i = IEEE80211_MODE_11A; i < IEEE80211_MODE_MAX; i++) { + if ((ic->ic_modecaps & (1<ic_fixed_rate; if (IFM_SUBTYPE(ime->ifm_media) != IFM_AUTO) { /* * Convert media subtype to rate. */ newrate = ieee80211_media2rate(ime->ifm_media); - if (newrate == 0) + if (newrate == 0 || !checkrate(ic, newphymode, newrate)) return EINVAL; - /* - * Check the rate table for the specified/current phy. - */ - if (newphymode == IEEE80211_MODE_AUTO) { - /* - * In autoselect mode search for the rate. - */ - for (j = IEEE80211_MODE_11A; - j < IEEE80211_MODE_MAX; j++) { - if ((ic->ic_modecaps & (1<ic_curmode != newphymode) { /* change phy mode */ - error = ieee80211_setmode(ic, newphymode); - if (error != 0) - return error; + if (ic->ic_des_mode != newphymode) { /* change phy mode */ + ic->ic_des_mode = newphymode; error = ENETRESET; } @@ -787,26 +798,12 @@ void ieee80211_watchdog(struct ieee80211com *ic) { - struct ieee80211_node_table *nt; - int need_inact_timer = 0; if (ic->ic_state != IEEE80211_S_INIT) { if (ic->ic_mgt_timer && --ic->ic_mgt_timer == 0) ieee80211_new_state(ic, IEEE80211_S_SCAN, 0); - nt = &ic->ic_scan; - if (nt->nt_inact_timer) { - if (--nt->nt_inact_timer == 0) - nt->nt_timeout(nt); - need_inact_timer += nt->nt_inact_timer; - } - nt = &ic->ic_sta; - if (nt->nt_inact_timer) { - if (--nt->nt_inact_timer == 0) - nt->nt_timeout(nt); - need_inact_timer += nt->nt_inact_timer; - } } - if (ic->ic_mgt_timer != 0 || need_inact_timer) + if (ic->ic_mgt_timer != 0) ic->ic_ifp->if_timer = 1; } ==== //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#17 (text+ko) ==== @@ -30,6 +30,18 @@ #define _NET80211_IEEE80211_FREEBSD_H_ /* + * Common state locking definitions. + */ +typedef struct mtx ieee80211_com_lock_t; +#define IEEE80211_LOCK_INIT(_ic, _name) \ + mtx_init(&(_ic)->ic_comlock, _name, "802.11 com lock", MTX_DEF) +#define IEEE80211_LOCK_DESTROY(_ic) mtx_destroy(&(_ic)->ic_comlock) +#define IEEE80211_LOCK(_ic) mtx_lock(&(_ic)->ic_comlock) +#define IEEE80211_UNLOCK(_ic) mtx_unlock(&(_ic)->ic_comlock) +#define IEEE80211_LOCK_ASSERT(_ic) \ + mtx_assert(&(_ic)->ic_comlock, MA_OWNED) + +/* * Beacon locking definitions. */ typedef struct mtx ieee80211_beacon_lock_t; @@ -58,7 +70,7 @@ */ typedef struct mtx ieee80211_scan_lock_t; #define IEEE80211_SCAN_LOCK_INIT(_nt, _name) \ - mtx_init(&(_nt)->nt_scanlock, _name, "802.11 scangen", MTX_DEF) + mtx_init(&(_nt)->nt_scanlock, _name, "802.11 node scangen", MTX_DEF) #define IEEE80211_SCAN_LOCK_DESTROY(_nt) mtx_destroy(&(_nt)->nt_scanlock) #define IEEE80211_SCAN_LOCK(_nt) mtx_lock(&(_nt)->nt_scanlock) #define IEEE80211_SCAN_UNLOCK(_nt) mtx_unlock(&(_nt)->nt_scanlock) @@ -145,6 +157,12 @@ int ieee80211_node_dectestref(struct ieee80211_node *ni); #define ieee80211_node_refcnt(_ni) (_ni)->ni_refcnt +#define msecs_to_ticks(ms) ((ms)*1000/hz) +#define time_after(a,b) ((long)(b) - (long)(a) < 0) +#define time_before(a,b) time_after(b,a) +#define time_after_eq(a,b) ((long)(a) - (long)(b) >= 0) +#define time_before_eq(a,b) time_after_eq(b,a) + struct mbuf *ieee80211_getmgtframe(u_int8_t **frm, u_int pktlen); #define M_LINK0 M_PROTO1 /* WEP requested */ #define M_PWR_SAV M_PROTO4 /* bypass PS handling */ ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#53 (text+ko) ==== @@ -116,7 +116,6 @@ struct ieee80211_node *, struct mbuf *); static struct mbuf *ieee80211_decap_fastframe(struct ieee80211com *, struct ieee80211_node *, struct mbuf *); -static void ieee80211_node_pwrsave(struct ieee80211_node *, int enable); static void ieee80211_recv_pspoll(struct ieee80211com *, struct ieee80211_node *, struct mbuf *); @@ -938,10 +937,11 @@ /* * Install received rate set information in the node's state block. */ -static int -ieee80211_setup_rates(struct ieee80211com *ic, struct ieee80211_node *ni, - u_int8_t *rates, u_int8_t *xrates, int flags) +int +ieee80211_setup_rates(struct ieee80211_node *ni, + const u_int8_t *rates, const u_int8_t *xrates, int flags) { + struct ieee80211com *ic = ni->ni_ic; struct ieee80211_rateset *rs = &ni->ni_rates; memset(rs, 0, sizeof(*rs)); @@ -964,7 +964,7 @@ memcpy(rs->rs_rates + rs->rs_nrates, xrates+2, nxrates); rs->rs_nrates += nxrates; } - return ieee80211_fix_rate(ic, ni, flags); + return ieee80211_fix_rate(ni, flags); } static void @@ -1027,7 +1027,7 @@ * authorized at this point so traffic can flow. */ if (ni->ni_authmode != IEEE80211_AUTH_8021X) - ieee80211_node_authorize(ic, ni); + ieee80211_node_authorize(ni); break; case IEEE80211_M_STA: @@ -1251,7 +1251,7 @@ IEEE80211_MSG_DEBUG | IEEE80211_MSG_AUTH, "[%s] station authenticated (shared key)\n", ether_sprintf(ni->ni_macaddr)); - ieee80211_node_authorize(ic, ni); + ieee80211_node_authorize(ni); break; default: IEEE80211_DISCARD_MAC(ic, IEEE80211_MSG_AUTH, @@ -1832,7 +1832,7 @@ return 0; /* NB: no change */ } -static void +void ieee80211_saveie(u_int8_t **iep, const u_int8_t *ie) { u_int ielen = ie[1]+2; @@ -1849,37 +1849,33 @@ /* XXX note failure */ } -#ifdef IEEE80211_DEBUG -static void -dump_probe_beacon(u_int8_t subtype, int isnew, - const u_int8_t mac[IEEE80211_ADDR_LEN], - u_int8_t chan, u_int8_t bchan, u_int16_t capinfo, u_int16_t bintval, - u_int8_t erp, u_int8_t *ssid, u_int8_t *country) +void +ieee80211_saveath(struct ieee80211_node *ni, u_int8_t *ie) { - printf("[%s] %s%s on chan %u (bss chan %u) ", - ether_sprintf(mac), isnew ? "new " : "", - ieee80211_mgt_subtype_name[subtype >> IEEE80211_FC0_SUBTYPE_SHIFT], - chan, bchan); - ieee80211_print_essid(ssid + 2, ssid[1]); - printf("\n"); +#if 0 + const struct ieee80211_ath_ie *ath = + (const struct ieee80211_ath_ie *) ie; - if (isnew) { - printf("[%s] caps 0x%x bintval %u erp 0x%x", - ether_sprintf(mac), capinfo, bintval, erp); - if (country) { -#ifdef __FreeBSD__ - printf(" country info %*D", country[1], country+2, " "); -#else - int i; - printf(" country info"); - for (i = 0; i < country[1]; i++) - printf(" %02x", country[i+2]); + ni->ni_ath_flags = ath->ath_capability; #endif - } - printf("\n"); - } + ieee80211_saveie(&ni->ni_ath_ie, ie); +} + +static __inline int +contbgscan(struct ieee80211com *ic) +{ + return ((ic->ic_flags_ext & IEEE80211_FEXT_BGSCAN) && + time_after(ticks, ic->ic_lastdata + ic->ic_bgscanidle)); +} + +static __inline int +startbgscan(struct ieee80211com *ic) +{ + return ((ic->ic_flags & IEEE80211_F_BGSCAN) && + !IEEE80211_IS_CHAN_DTURBO(ic->ic_curchan) && + time_after(ticks, ic->ic_lastscan + ic->ic_bgscanintvl) && + time_after(ticks, ic->ic_lastdata + ic->ic_bgscanidle)); } -#endif /* IEEE80211_DEBUG */ void ieee80211_recv_mgmt(struct ieee80211com *ic, struct mbuf *m0, @@ -1900,10 +1896,7 @@ switch (subtype) { case IEEE80211_FC0_SUBTYPE_PROBE_RESP: case IEEE80211_FC0_SUBTYPE_BEACON: { - u_int8_t *tstamp, *country, *tim; - u_int8_t chan, bchan, fhindex, erp; - u_int16_t capinfo, bintval, timoff; - u_int16_t fhdwell; + struct ieee80211_scanparams scan; /* * We process beacon/probe response frames: @@ -1935,32 +1928,29 @@ * [tlv] Atheros capabilities */ IEEE80211_VERIFY_LENGTH(efrm - frm, 12); - tstamp = frm; frm += 8; - bintval = le16toh(*(u_int16_t *)frm); frm += 2; - capinfo = le16toh(*(u_int16_t *)frm); frm += 2; - ssid = rates = xrates = country = wpa = wme = tim = ath = NULL; - bchan = ieee80211_chan2ieee(ic, ic->ic_curchan); - chan = bchan; - fhdwell = 0; - fhindex = 0; - erp = 0; - timoff = 0; + memset(&scan, 0, sizeof(scan)); + scan.tstamp = frm; frm += 8; + scan.bintval = le16toh(*(u_int16_t *)frm); frm += 2; + scan.capinfo = le16toh(*(u_int16_t *)frm); frm += 2; + scan.bchan = ieee80211_chan2ieee(ic, ic->ic_curchan); + scan.chan = scan.bchan; + while (frm < efrm) { switch (*frm) { case IEEE80211_ELEMID_SSID: - ssid = frm; + scan.ssid = frm; break; case IEEE80211_ELEMID_RATES: - rates = frm; + scan.rates = frm; break; case IEEE80211_ELEMID_COUNTRY: - country = frm; + scan.country = frm; break; case IEEE80211_ELEMID_FHPARMS: if (ic->ic_phytype == IEEE80211_T_FH) { - fhdwell = LE_READ_2(&frm[2]); - chan = IEEE80211_FH_CHAN(frm[4], frm[5]); - fhindex = frm[6]; + scan.fhdwell = LE_READ_2(&frm[2]); + scan.chan = IEEE80211_FH_CHAN(frm[4], frm[5]); + scan.fhindex = frm[6]; } break; case IEEE80211_ELEMID_DSPARMS: @@ -1969,17 +1959,17 @@ * is problematic for multi-mode devices. */ if (ic->ic_phytype != IEEE80211_T_FH) - chan = frm[2]; + scan.chan = frm[2]; break; case IEEE80211_ELEMID_TIM: /* XXX ATIM? */ - tim = frm; - timoff = frm - mtod(m0, u_int8_t *); + scan.tim = frm; + scan.timoff = frm - mtod(m0, u_int8_t *); break; case IEEE80211_ELEMID_IBSSPARMS: break; case IEEE80211_ELEMID_XRATES: - xrates = frm; + scan.xrates = frm; break; case IEEE80211_ELEMID_ERP: if (frm[1] != 1) { @@ -1989,18 +1979,18 @@ ic->ic_stats.is_rx_elem_toobig++; break; } - erp = frm[2]; + scan.erp = frm[2]; break; case IEEE80211_ELEMID_RSN: - wpa = frm; + scan.wpa = frm; break; case IEEE80211_ELEMID_VENDOR: if (iswpaoui(frm)) - wpa = frm; + scan.wpa = frm; else if (iswmeparam(frm) || iswmeinfo(frm)) - wme = frm; + scan.wme = frm; else if (isatherosoui(frm)) - ath = frm; + scan.ath = frm; break; default: IEEE80211_DISCARD_IE(ic, IEEE80211_MSG_ELEMID, @@ -2011,10 +2001,10 @@ } frm += frm[1] + 2; } - IEEE80211_VERIFY_ELEMENT(rates, IEEE80211_RATE_MAXSIZE); - IEEE80211_VERIFY_ELEMENT(ssid, IEEE80211_NWID_LEN); + IEEE80211_VERIFY_ELEMENT(scan.rates, IEEE80211_RATE_MAXSIZE); + IEEE80211_VERIFY_ELEMENT(scan.ssid, IEEE80211_NWID_LEN); #if IEEE80211_CHAN_MAX < 255 - if (chan > IEEE80211_CHAN_MAX) { + if (scan.chan > IEEE80211_CHAN_MAX) { IEEE80211_DISCARD(ic, IEEE80211_MSG_ELEMID, wh, ieee80211_mgt_subtype_name[subtype >> IEEE80211_FC0_SUBTYPE_SHIFT], @@ -2023,7 +2013,8 @@ return; } #endif - if (chan != bchan && ic->ic_phytype != IEEE80211_T_FH) { + if (scan.chan != scan.bchan && + ic->ic_phytype != IEEE80211_T_FH) { /* * Frame was received on a channel different from the * one indicated in the DS params element id; @@ -2037,7 +2028,7 @@ IEEE80211_DISCARD(ic, IEEE80211_MSG_ELEMID, wh, ieee80211_mgt_subtype_name[subtype >> IEEE80211_FC0_SUBTYPE_SHIFT], - "for off-channel %u", chan); + "for off-channel %u", scan.chan); ic->ic_stats.is_rx_chanmismatch++; return; } @@ -2061,27 +2052,27 @@ ((ic->ic_flags & IEEE80211_F_SCAN) == 0 || IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid))) { /* record tsf of last beacon */ - memcpy(ni->ni_tstamp.data, tstamp, + memcpy(ni->ni_tstamp.data, scan.tstamp, sizeof(ni->ni_tstamp)); - if (ni->ni_erp != erp) { + if (ni->ni_erp != scan.erp) { IEEE80211_DPRINTF(ic, IEEE80211_MSG_ASSOC, "[%s] erp change: was 0x%x, now 0x%x\n", ether_sprintf(wh->i_addr2), - ni->ni_erp, erp); + ni->ni_erp, scan.erp); if (IEEE80211_IS_CHAN_ANYG(ic->ic_curchan) && (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION)) ic->ic_flags |= IEEE80211_F_USEPROT; else ic->ic_flags &= ~IEEE80211_F_USEPROT; - ni->ni_erp = erp; + ni->ni_erp = scan.erp; /* XXX statistic */ } - if ((ni->ni_capinfo ^ capinfo) & IEEE80211_CAPINFO_SHORT_SLOTTIME) { + if ((ni->ni_capinfo ^ scan.capinfo) & IEEE80211_CAPINFO_SHORT_SLOTTIME) { IEEE80211_DPRINTF(ic, IEEE80211_MSG_ASSOC, "[%s] capabilities change: before 0x%x," " now 0x%x\n", ether_sprintf(wh->i_addr2), - ni->ni_capinfo, capinfo); + ni->ni_capinfo, scan.capinfo); /* * NB: we assume short preamble doesn't * change dynamically @@ -2089,111 +2080,78 @@ ieee80211_set_shortslottime(ic, IEEE80211_IS_CHAN_A(ic->ic_bsschan) || (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_SLOTTIME)); - ni->ni_capinfo = capinfo; + ni->ni_capinfo = scan.capinfo; /* XXX statistic */ } - if (wme != NULL && + if (scan.wme != NULL && (ni->ni_flags & IEEE80211_NODE_QOS) && - ieee80211_parse_wmeparams(ic, wme, wh) > 0) + ieee80211_parse_wmeparams(ic, scan.wme, wh) > 0) ieee80211_wme_updateparams(ic); - if (tim != NULL) { - struct ieee80211_tim_ie *ie = - (struct ieee80211_tim_ie *) tim; - - ni->ni_dtim_count = ie->tim_count; - ni->ni_dtim_period = ie->tim_period; + if (scan.ath != NULL) + ieee80211_parse_athparams(ni, scan.ath, wh); + if (scan.tim != NULL) { + struct ieee80211_tim_ie *tim = + (struct ieee80211_tim_ie *) scan.tim; +#if 0 + int aid = IEEE80211_AID(ni->ni_associd); + int ix = aid / NBBY; + int min = tim->tim_bitctl &~ 1; + int max = tim->tim_len + min - 4; + if ((tim->tim_bitctl&1) || + (min <= ix && ix <= max && + isset(tim->tim_bitmap - min, aid))) + ieee80211_sta_pwrsave(ic, 0); +#endif + ni->ni_dtim_count = tim->tim_count; + ni->ni_dtim_period = tim->tim_period; } - if (ath != NULL) - ieee80211_parse_athparams(ni, ath, wh); - /* NB: don't need the rest of this */ - if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) - return; - } - - if (ni == ic->ic_bss && - !IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid)) { -#ifdef IEEE80211_DEBUG - if (ieee80211_msg_scan(ic)) - dump_probe_beacon(subtype, 1, - wh->i_addr2, chan, bchan, capinfo, - bintval, erp, ssid, country); -#endif /* - * Create a new entry. If scanning the entry goes - * in the scan cache. Otherwise, be particular when - * operating in adhoc mode--only take nodes marked - * as ibss participants so we don't populate our - * neighbor table with unintersting sta's. + * If scanning, pass the info to the scan module. + * Otherwise, check if it's the right time to do + * a background scan. Background scanning must + * be enabled and we must not be operating in the + * turbo phase of dynamic turbo mode. Then, + * it's been a while since the last background + * scan and if no data frames have come through + * recently, kick off a scan. Note that this + * is the mechanism by which a background scan + * is started _and_ continued each time we + * return on-channel to receive a beacon from + * our ap. */ - if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) { - if ((capinfo & IEEE80211_CAPINFO_IBSS) == 0) - return; - ni = ieee80211_fakeup_adhoc_node(&ic->ic_sta, - wh->i_addr2); - } else - ni = ieee80211_dup_bss(&ic->ic_scan, wh->i_addr2); - if (ni == NULL) - return; - ni->ni_esslen = ssid[1]; - memset(ni->ni_essid, 0, sizeof(ni->ni_essid)); - memcpy(ni->ni_essid, ssid + 2, ssid[1]); - } else if (ssid[1] != 0 && - (ISPROBE(subtype) || ni->ni_esslen == 0)) { - /* - * Update ESSID at probe response to adopt - * hidden AP by Lucent/Cisco, which announces - * null ESSID in beacon. - */ -#ifdef IEEE80211_DEBUG - if (ieee80211_msg_scan(ic) || - ieee80211_msg_debug(ic)) - dump_probe_beacon(subtype, 0, - wh->i_addr2, chan, bchan, capinfo, - bintval, erp, ssid, country); -#endif - ni->ni_esslen = ssid[1]; - memset(ni->ni_essid, 0, sizeof(ni->ni_essid)); - memcpy(ni->ni_essid, ssid + 2, ssid[1]); - } - ni->ni_scangen = ic->ic_scan.nt_scangen; - IEEE80211_ADDR_COPY(ni->ni_bssid, wh->i_addr3); - ni->ni_rssi = rssi; - ni->ni_rstamp = rstamp; - memcpy(ni->ni_tstamp.data, tstamp, sizeof(ni->ni_tstamp)); - ni->ni_intval = bintval; - ni->ni_capinfo = capinfo; - ni->ni_chan = ic->ic_curchan; - ni->ni_fhdwell = fhdwell; - ni->ni_fhindex = fhindex; - ni->ni_erp = erp; - if (tim != NULL) { - struct ieee80211_tim_ie *ie = - (struct ieee80211_tim_ie *) tim; - - ni->ni_dtim_count = ie->tim_count; - ni->ni_dtim_period = ie->tim_period; + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_add_scan(ic, &scan, wh, + subtype, rssi, rstamp); + else if (contbgscan(ic) || startbgscan(ic)) + ieee80211_bg_scan(ic); + return; } /* - * Record the byte offset from the mac header to - * the start of the TIM information element for - * use by hardware and/or to speedup software - * processing of beacon frames. + * If scanning, just pass information to the scan module. */ - ni->ni_timoff = timoff; - /* - * Record optional information elements that might be - * used by applications or drivers. - */ - if (wme != NULL) - ieee80211_saveie(&ni->ni_wme_ie, wme); - if (wpa != NULL) - ieee80211_saveie(&ni->ni_wpa_ie, wpa); - if (ath != NULL) { - ieee80211_saveie(&ni->ni_ath_ie, ath); - (void) ieee80211_parse_athparams(ni, ath, wh); + if (ic->ic_flags & IEEE80211_F_SCAN) { + ieee80211_add_scan(ic, &scan, wh, + subtype, rssi, rstamp); + return; + } + if (scan.capinfo & IEEE80211_CAPINFO_IBSS) { + if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) { + /* + * Create a new entry in the neighbor table. + */ + ni = ieee80211_add_neighbor(ic, wh, &scan); + } else { + /* + * Record tsf for potential resync. + */ + memcpy(ni->ni_tstamp.data, scan.tstamp, + sizeof(ni->ni_tstamp)); + } + if (ni != NULL) { + ni->ni_rssi = rssi; + ni->ni_rstamp = rstamp; + } } - /* NB: must be after ni_chan is setup */ - ieee80211_setup_rates(ic, ni, rates, xrates, IEEE80211_F_DOSORT); break; } @@ -2272,7 +2230,7 @@ ieee80211_saveie(&ni->ni_ath_ie, ath); (void) ieee80211_parse_athparams(ni, ath, wh); } - rate = ieee80211_setup_rates(ic, ni, rates, xrates, + rate = ieee80211_setup_rates(ni, rates, xrates, IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE | IEEE80211_F_DONEGO | IEEE80211_F_DODEL); if (rate & IEEE80211_RATE_BASIC) { @@ -2496,7 +2454,7 @@ ic->ic_stats.is_rx_assoc_capmismatch++; return; } - rate = ieee80211_setup_rates(ic, ni, rates, xrates, + rate = ieee80211_setup_rates(ni, rates, xrates, IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE | IEEE80211_F_DONEGO | IEEE80211_F_DODEL); /* @@ -2634,7 +2592,7 @@ } IEEE80211_VERIFY_ELEMENT(rates, IEEE80211_RATE_MAXSIZE); - rate = ieee80211_setup_rates(ic, ni, rates, xrates, + rate = ieee80211_setup_rates(ni, rates, xrates, IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE | IEEE80211_F_DONEGO | IEEE80211_F_DODEL); if (rate & IEEE80211_RATE_BASIC) { @@ -2782,66 +2740,6 @@ #undef IEEE80211_VERIFY_ELEMENT /* - * Handle station power-save state change. - */ -static void -ieee80211_node_pwrsave(struct ieee80211_node *ni, int enable) -{ - struct ieee80211com *ic = ni->ni_ic; - struct mbuf *m; - - if (enable) { - if ((ni->ni_flags & IEEE80211_NODE_PWR_MGT) == 0) - ic->ic_ps_sta++; - ni->ni_flags |= IEEE80211_NODE_PWR_MGT; - IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER, - "[%s] power save mode on, %u sta's in ps mode\n", - ether_sprintf(ni->ni_macaddr), ic->ic_ps_sta); - return; - } - - if (ni->ni_flags & IEEE80211_NODE_PWR_MGT) - ic->ic_ps_sta--; - ni->ni_flags &= ~IEEE80211_NODE_PWR_MGT; - IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER, - "[%s] power save mode off, %u sta's in ps mode\n", - ether_sprintf(ni->ni_macaddr), ic->ic_ps_sta); - /* XXX if no stations in ps mode, flush mc frames */ - - /* - * Flush queued unicast frames. - */ - if (IEEE80211_NODE_SAVEQ_QLEN(ni) == 0) { - if (ic->ic_set_tim != NULL) - ic->ic_set_tim(ic, ni, 0); /* just in case */ - return; - } - IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER, - "[%s] flush ps queue, %u packets queued\n", - ether_sprintf(ni->ni_macaddr), IEEE80211_NODE_SAVEQ_QLEN(ni)); - for (;;) { - int qlen; - - IEEE80211_NODE_SAVEQ_DEQUEUE(ni, m, qlen); - if (m == NULL) - break; - /* - * If this is the last packet, turn off the TIM bit. - * If there are more packets, set the more packets bit - * in the mbuf so ieee80211_encap will mark the 802.11 - * head to indicate more data frames will follow. - */ - if (qlen != 0) - m->m_flags |= M_MORE_DATA; - /* XXX need different driver interface */ - /* XXX bypasses q max */ - IF_ENQUEUE(&ic->ic_ifp->if_snd, m); - } - if (ic->ic_set_tim != NULL) - ic->ic_set_tim(ic, ni, 0); -} - -/* * Process a received ps-poll frame. */ static void @@ -2882,10 +2780,10 @@ IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER, "[%s] recv ps-poll, but queue empty\n", ether_sprintf(wh->i_addr2)); - ieee80211_send_nulldata(ic, ni); + ieee80211_send_nulldata(ni); ic->ic_stats.is_ps_qempty++; /* XXX node stat */ if (ic->ic_set_tim != NULL) - ic->ic_set_tim(ic, ni, 0); /* just in case */ + ic->ic_set_tim(ni, 0); /* just in case */ return; } /* @@ -2903,7 +2801,7 @@ "[%s] recv ps-poll, send packet, queue empty\n", ether_sprintf(ni->ni_macaddr)); if (ic->ic_set_tim != NULL) - ic->ic_set_tim(ic, ni, 0); + ic->ic_set_tim(ni, 0); } m->m_flags |= M_PWR_SAV; /* bypass PS handling */ IF_ENQUEUE(&ic->ic_ifp->if_snd, m); @@ -2929,6 +2827,48 @@ return wh->i_addr3; } +void +ieee80211_note(struct ieee80211com *ic, const char *fmt, ...) +{ + char buf[128]; /* XXX */ + va_list ap; + + va_start(ap, fmt); + vsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + + if_printf(ic->ic_ifp, "%s", buf); /* NB: no \n */ +} + +void +ieee80211_note_frame(struct ieee80211com *ic, + const struct ieee80211_frame *wh, + const char *fmt, ...) +{ + char buf[128]; /* XXX */ + va_list ap; + + va_start(ap, fmt); + vsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + if_printf(ic->ic_ifp, "[%s] %s\n", + ether_sprintf(ieee80211_getbssid(ic, wh)), buf); +} + +void +ieee80211_note_mac(struct ieee80211com *ic, + const u_int8_t mac[IEEE80211_ADDR_LEN], + const char *fmt, ...) +{ + char buf[128]; /* XXX */ + va_list ap; + + va_start(ap, fmt); + vsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + if_printf(ic->ic_ifp, "[%s] %s\n", ether_sprintf(mac), buf); +} + static void ieee80211_discard_frame(struct ieee80211com *ic, const struct ieee80211_frame *wh, @@ -2936,7 +2876,8 @@ { va_list ap; - printf("[%s] discard ", ether_sprintf(ieee80211_getbssid(ic, wh))); + printf("[%s:%s] discard ", ic->ic_ifp->if_xname, + ether_sprintf(ieee80211_getbssid(ic, wh))); if (type != NULL) printf(" %s frame, ", type); else @@ -2954,7 +2895,8 @@ { va_list ap; - printf("[%s] discard ", ether_sprintf(ieee80211_getbssid(ic, wh))); + printf("[%s:%s] discard ", ic->ic_ifp->if_xname, + ether_sprintf(ieee80211_getbssid(ic, wh))); if (type != NULL) printf(" %s information element, ", type); else @@ -2972,7 +2914,7 @@ { va_list ap; - printf("[%s] discard ", ether_sprintf(mac)); + printf("[%s:%s] discard ", ic->ic_ifp->if_xname, ether_sprintf(mac)); if (type != NULL) printf(" %s frame, ", type); else ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#40 (text+ko) ==== @@ -65,8 +65,6 @@ #include #include -#include - #define IS_UP(_ic) \ (((_ic)->ic_ifp->if_flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP)) #define IS_UP_AUTO(_ic) \ @@ -76,370 +74,6 @@ int ieee, int mode); /* - * XXX - * Wireless LAN specific configuration interface, which is compatible - * with wicontrol(8). - */ - -struct wi_read_ap_args { - int i; /* result count */ - struct wi_apinfo *ap; /* current entry in result buffer */ - caddr_t max; /* result buffer bound */ -}; - -static void -wi_read_ap_result(void *arg, struct ieee80211_node *ni) -{ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 18 16:59:43 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B7F6416A421; Mon, 18 Jul 2005 16:59:42 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7A71816A41C for ; Mon, 18 Jul 2005 16:59:42 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2EF1B43D45 for ; Mon, 18 Jul 2005 16:59:42 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IGxgoA064370 for ; Mon, 18 Jul 2005 16:59:42 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IGxfmu064367 for perforce@freebsd.org; Mon, 18 Jul 2005 16:59:41 GMT (envelope-from sam@freebsd.org) Date: Mon, 18 Jul 2005 16:59:41 GMT Message-Id: <200507181659.j6IGxfmu064367@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 Cc: Subject: PERFORCE change 80454 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 16:59:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=80454 Change 80454 by sam@sam_ebb on 2005/07/18 16:58:57 o update for new scan api o more of the 11j support o track revised api's from vap work o separate min rate index for mgt/ctl frames o purge defrag test glop Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#87 edit .. //depot/projects/wifi/sys/dev/ath/if_athvar.h#37 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#87 (text+ko) ==== @@ -159,18 +159,20 @@ static void ath_stoprecv(struct ath_softc *); static int ath_startrecv(struct ath_softc *); static void ath_chan_change(struct ath_softc *, struct ieee80211_channel *); -static void ath_next_scan(void *); +static void ath_scan_start(struct ieee80211com *); +static void ath_scan_end(struct ieee80211com *); +static void ath_set_channel(struct ieee80211com *); static void ath_calibrate(void *); static int ath_newstate(struct ieee80211com *, enum ieee80211_state, int); static void ath_setup_stationkey(struct ieee80211_node *); -static void ath_newassoc(struct ieee80211com *, - struct ieee80211_node *, int); +static void ath_newassoc(struct ieee80211_node *, int); static int ath_getchannels(struct ath_softc *, u_int cc, HAL_BOOL outdoor, HAL_BOOL xchanmode); static void ath_led_event(struct ath_softc *, int); static void ath_update_txpow(struct ath_softc *); static int ath_rate_setup(struct ath_softc *, u_int mode); +static void ath_setup_subrates(struct ath_softc *); static void ath_setcurmode(struct ath_softc *, enum ieee80211_phymode); static void ath_sysctlattach(struct ath_softc *); @@ -180,9 +182,6 @@ SYSCTL_DECL(_hw_ath); /* XXX validate sysctl values */ -static int ath_dwelltime = 200; /* 5 channels/second */ -SYSCTL_INT(_hw_ath, OID_AUTO, dwell, CTLFLAG_RW, &ath_dwelltime, - 0, "channel dwell time (ms) for AP/station scanning"); static int ath_calinterval = 30; /* calibrate every 30 secs */ SYSCTL_INT(_hw_ath, OID_AUTO, calibrate, CTLFLAG_RW, &ath_calinterval, 0, "chip calibration interval (secs)"); @@ -360,6 +359,7 @@ ath_rate_setup(sc, IEEE80211_MODE_11G); ath_rate_setup(sc, IEEE80211_MODE_TURBO_A); ath_rate_setup(sc, IEEE80211_MODE_TURBO_G); + ath_setup_subrates(sc); /* half/quarter rates */ /* NB: setup here so ath_rate_update is happy */ ath_setcurmode(sc, IEEE80211_MODE_11A); @@ -371,7 +371,6 @@ if_printf(ifp, "failed to allocate descriptors: %d\n", error); goto bad; } - callout_init(&sc->sc_scan_ch, debug_mpsafenet ? CALLOUT_MPSAFE : 0); callout_init(&sc->sc_cal_ch, CALLOUT_MPSAFE); ATH_TXBUF_LOCK_INIT(sc); @@ -503,6 +502,7 @@ | IEEE80211_C_SHPREAMBLE /* short preamble supported */ | IEEE80211_C_SHSLOT /* short slot time supported */ | IEEE80211_C_WPA /* capable of WPA1+WPA2 */ + | IEEE80211_C_BGSCAN /* capable of bg scanning */ ; /* * Query the hal to figure out h/w crypto support. @@ -592,6 +592,9 @@ ic->ic_recv_mgmt = ath_recv_mgmt; sc->sc_newstate = ic->ic_newstate; ic->ic_newstate = ath_newstate; + ic->ic_scan_start = ath_scan_start; + ic->ic_scan_end = ath_scan_end; + ic->ic_set_channel = ath_set_channel; ic->ic_crypto.cs_key_alloc = ath_key_alloc; ic->ic_crypto.cs_key_delete = ath_key_delete; ic->ic_crypto.cs_key_set = ath_key_set; @@ -843,14 +846,20 @@ CHANNEL_B, /* IEEE80211_MODE_11B */ CHANNEL_PUREG, /* IEEE80211_MODE_11G */ 0, /* IEEE80211_MODE_FH */ - CHANNEL_T, /* IEEE80211_MODE_TURBO_A */ + CHANNEL_108A, /* IEEE80211_MODE_TURBO_A */ CHANNEL_108G /* IEEE80211_MODE_TURBO_G */ }; enum ieee80211_phymode mode = ieee80211_chan2mode(chan); + int flags; KASSERT(mode < N(modeflags), ("unexpected phy mode %u", mode)); KASSERT(modeflags[mode] != 0, ("mode %u undefined", mode)); - return modeflags[mode]; + flags = modeflags[mode]; + if (IEEE80211_IS_CHAN_HALF(chan)) + flags |= CHANNEL_HALF; + else if (IEEE80211_IS_CHAN_QUARTER(chan)) + flags |= CHANNEL_QUARTER; + return flags; #undef N } @@ -1449,7 +1458,7 @@ * to the 802.11 layer and continue. We'll get * the frame back when the time is right. */ - ieee80211_pwrsave(ic, ni, m); + ieee80211_pwrsave(ni, m); goto reclaim; } /* calculate priority so we can find the tx queue */ @@ -1960,14 +1969,15 @@ * - when scanning */ static u_int32_t -ath_calcrxfilter(struct ath_softc *sc, enum ieee80211_state state) +ath_calcrxfilter(struct ath_softc *sc) { +#define RX_FILTER_PRESERVE (HAL_RX_FILTER_PHYERR | HAL_RX_FILTER_PHYRADAR) struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; struct ifnet *ifp = sc->sc_ifp; u_int32_t rfilt; - rfilt = (ath_hal_getrxfilter(ah) & HAL_RX_FILTER_PHYERR) + rfilt = (ath_hal_getrxfilter(ah) & RX_FILTER_PRESERVE) | HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST | HAL_RX_FILTER_MCAST; if (ic->ic_opmode != IEEE80211_M_STA) rfilt |= HAL_RX_FILTER_PROBEREQ; @@ -1976,9 +1986,10 @@ rfilt |= HAL_RX_FILTER_PROM; if (ic->ic_opmode == IEEE80211_M_STA || ic->ic_opmode == IEEE80211_M_IBSS || - state == IEEE80211_S_SCAN) + sc->sc_scanning) rfilt |= HAL_RX_FILTER_BEACON; return rfilt; +#undef RX_FILTER_PRESERVE } static void @@ -1992,7 +2003,7 @@ struct ifmultiaddr *ifma; /* configure rx filter */ - rfilt = ath_calcrxfilter(sc, ic->ic_state); + rfilt = ath_calcrxfilter(sc); ath_hal_setrxfilter(ah, rfilt); /* configure operational mode */ @@ -2181,10 +2192,10 @@ struct ieee80211com *ic = ni->ni_ic; struct mbuf *m = bf->bf_m; struct ath_hal *ah = sc->sc_ah; - struct ath_node *an = ATH_NODE(ni); struct ath_desc *ds; int flags, antenna; - u_int8_t rate; + const HAL_RATE_TABLE *rt; + u_int8_t rix, rate; DPRINTF(sc, ATH_DEBUG_BEACON, "%s: m %p len %u\n", __func__, m, m->m_len); @@ -2216,10 +2227,11 @@ * Calculate rate code. * XXX everything at min xmit rate */ + rix = sc->sc_minrateix; + rt = sc->sc_currates; + rate = rt->info[rix].rateCode; if (USE_SHPREAMBLE(ic)) - rate = an->an_tx_mgtratesp; - else - rate = an->an_tx_mgtrate; + rate |= rt->info[rix].shortPreamble; ath_hal_setuptxdesc(ah, ds , m->m_len + IEEE80211_CRC_LEN /* frame length */ , sizeof(struct ieee80211_frame)/* header length */ @@ -2575,6 +2587,7 @@ if (ic->ic_opmode == IEEE80211_M_IBSS && sc->sc_hasveol) ath_beacon_proc(sc, 0); } + sc->sc_syncbeacon = 0; #undef TSF_TO_TU } @@ -2931,6 +2944,14 @@ case IEEE80211_FC0_SUBTYPE_BEACON: /* update rssi statistics for use by the hal */ ATH_RSSI_LPF(ATH_NODE(ni)->an_halstats.ns_avgbrssi, rssi); + if (sc->sc_syncbeacon && + ni == ic->ic_bss && ic->ic_state == IEEE80211_S_RUN) { + /* + * Resync beacon timers using the tsf of the beacon + * frame we just received. + */ + ath_beacon_config(sc); + } /* fall thru... */ case IEEE80211_FC0_SUBTYPE_PROBE_RESP: if (ic->ic_opmode == IEEE80211_M_IBSS && @@ -2951,7 +2972,7 @@ "ibss merge, rstamp %u tsf %ju " "tstamp %ju\n", rstamp, (uintmax_t)tsf, (uintmax_t)ni->ni_tstamp.tsf); - (void) ieee80211_ibss_merge(ic, ni); + (void) ieee80211_ibss_merge(ni); } } break; @@ -3202,7 +3223,8 @@ * frame; it'll be dropped where it's not wanted. */ if (ds->ds_rxstat.rs_keyix != HAL_RXKEYIX_INVALID && - (ni = sc->sc_keyixmap[ds->ds_rxstat.rs_keyix]) != NULL) { + (ni = sc->sc_keyixmap[ds->ds_rxstat.rs_keyix]) != NULL && + ieee80211_node_refcnt(ni) > 1) { /* * Fast path: node is present in the key map; * grab a reference for processing the frame. @@ -3443,18 +3465,6 @@ ath_tx_cleanupq(sc, &sc->sc_txq[i]); } -SYSCTL_NODE(_hw_ath, OID_AUTO, defrag, CTLFLAG_RD, 0, "defrag testing"); -static int ath_maxfrags = 4; -SYSCTL_INT(_hw_ath_defrag, OID_AUTO, max, CTLFLAG_RW, &ath_maxfrags, 0, ""); -static int ath_defrags; -SYSCTL_INT(_hw_ath_defrag, OID_AUTO, calls, CTLFLAG_RW, &ath_defrags, 0, ""); -static int ath_collectedfrags; -SYSCTL_INT(_hw_ath_defrag, OID_AUTO, combined, CTLFLAG_RW, &ath_collectedfrags, 0, ""); -static int ath_replacedfrags; -SYSCTL_INT(_hw_ath_defrag, OID_AUTO, replaced, CTLFLAG_RW, &ath_replacedfrags, 0, ""); -static int ath_defragsfail; -SYSCTL_INT(_hw_ath_defrag, OID_AUTO, fail, CTLFLAG_RW, &ath_defragsfail, 0, ""); - /* * Defragment an mbuf chain, returning at most maxfrags separate * mbufs+clusters. If this is not possible NULL is returned and @@ -3468,14 +3478,12 @@ struct mbuf *m, *n, *n2, **prev; u_int curfrags; -ath_defrags++;/*XXX*/ /* * Calculate the current number of frags. */ curfrags = 0; for (m = m0; m != NULL; m = m->m_next) curfrags++; -if (curfrags <= maxfrags) return m0; /* XXX for testing */ /* * First, try to collapse mbufs. Note that we always collapse * towards the front so we don't need to deal with moving the @@ -3495,7 +3503,6 @@ m->m_len += n->m_len; m->m_next = n->m_next; m_free(n); -ath_collectedfrags++;/*XXX*/ if (--curfrags <= maxfrags) return m0; } else @@ -3521,7 +3528,6 @@ *prev = m; m_free(n); m_free(n2); -ath_replacedfrags++;/*XXX*/ if (--curfrags <= maxfrags) /* +1 cl -2 mbufs */ return m0; /* @@ -3540,7 +3546,6 @@ * packet header). */ bad: -ath_defragsfail++;/*XXX*/ return NULL; } @@ -3632,8 +3637,6 @@ pktlen += IEEE80211_CRC_LEN; -m = ath_defrag(m0, M_DONTWAIT, ath_maxfrags); if (m != NULL) m0 = m; /*XXX*/ - /* * Load the DMA map so any coalescing is done. This * also calculates the number of descriptors we need. @@ -3718,12 +3721,11 @@ atype = HAL_PKT_TYPE_ATIM; else atype = HAL_PKT_TYPE_NORMAL; /* XXX */ - rix = 0; /* XXX lowest rate */ + rix = sc->sc_minrateix; + txrate = rt->info[rix].rateCode; + if (shortPreamble) + txrate |= rt->info[rix].shortPreamble; try0 = ATH_TXMAXTRY; - if (shortPreamble) - txrate = an->an_tx_mgtratesp; - else - txrate = an->an_tx_mgtrate; /* NB: force all management frames to highest queue */ if (ni->ni_flags & IEEE80211_NODE_QOS) { /* NB: force all management frames to highest queue */ @@ -3734,12 +3736,11 @@ break; case IEEE80211_FC0_TYPE_CTL: atype = HAL_PKT_TYPE_PSPOLL; /* stop setting of duration */ - rix = 0; /* XXX lowest rate */ + rix = sc->sc_minrateix; + txrate = rt->info[rix].rateCode; + if (shortPreamble) + txrate |= rt->info[rix].shortPreamble; try0 = ATH_TXMAXTRY; - if (shortPreamble) - txrate = an->an_tx_mgtratesp; - else - txrate = an->an_tx_mgtrate; /* NB: force all ctl frames to highest queue */ if (ni->ni_flags & IEEE80211_NODE_QOS) { /* NB: force all ctl frames to highest queue */ @@ -4491,16 +4492,6 @@ return 0; } -static void -ath_next_scan(void *arg) -{ - struct ath_softc *sc = arg; - struct ieee80211com *ic = &sc->sc_ic; - - if (ic->ic_state == IEEE80211_S_SCAN) - ieee80211_next_scan(ic); -} - /* * Periodically recalibrate the PHY to account * for temperature/environment changes. @@ -4533,6 +4524,61 @@ callout_reset(&sc->sc_cal_ch, ath_calinterval * hz, ath_calibrate, sc); } +static void +ath_scan_start(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct ath_softc *sc = ifp->if_softc; + struct ath_hal *ah = sc->sc_ah; + u_int32_t rfilt; + + /* XXX calibration timer? */ + + sc->sc_scanning = 1; + sc->sc_syncbeacon = 0; + rfilt = ath_calcrxfilter(sc); + ath_hal_setrxfilter(ah, rfilt); + ath_hal_setassocid(ah, ifp->if_broadcastaddr, 0); + + DPRINTF(sc, ATH_DEBUG_STATE, "%s: RX filter 0x%x bssid %s aid 0\n", + __func__, rfilt, ether_sprintf(ifp->if_broadcastaddr)); +} + +static void +ath_scan_end(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct ath_softc *sc = ifp->if_softc; + struct ath_hal *ah = sc->sc_ah; + u_int32_t rfilt; + + sc->sc_scanning = 0; + rfilt = ath_calcrxfilter(sc); + ath_hal_setrxfilter(ah, rfilt); + ath_hal_setassocid(ah, sc->sc_curbssid, sc->sc_curaid); + + DPRINTF(sc, ATH_DEBUG_STATE, "%s: RX filter 0x%x bssid %s aid 0x%x\n", + __func__, rfilt, ether_sprintf(sc->sc_curbssid), + sc->sc_curaid); +} + +static void +ath_set_channel(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct ath_softc *sc = ifp->if_softc; + + (void) ath_chan_set(sc, ic->ic_curchan); + /* + * If we are returning to our bss channel then mark state + * so the next recv'd beacon's tsf will be used to sync the + * beacon timers. Note that since we only hear beacons in + * sta/ibss mode this has no effect in other operating modes. + */ + if (!sc->sc_scanning && ic->ic_curchan == ic->ic_bsschan) + sc->sc_syncbeacon = 1; +} + static int ath_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg) { @@ -4540,8 +4586,7 @@ struct ath_softc *sc = ifp->if_softc; struct ath_hal *ah = sc->sc_ah; struct ieee80211_node *ni; - int i, error; - const u_int8_t *bssid; + int i, error, stamode; u_int32_t rfilt; static const HAL_LED_STATE leds[] = { HAL_LED_INIT, /* IEEE80211_S_INIT */ @@ -4555,7 +4600,6 @@ ieee80211_state_name[ic->ic_state], ieee80211_state_name[nstate]); - callout_stop(&sc->sc_scan_ch); callout_stop(&sc->sc_cal_ch); ath_hal_setledstate(ah, leds[nstate]); /* set LED */ @@ -4572,26 +4616,30 @@ goto done; } ni = ic->ic_bss; - error = ath_chan_set(sc, ic->ic_curchan); - if (error != 0) - goto bad; - rfilt = ath_calcrxfilter(sc, nstate); - if (nstate == IEEE80211_S_SCAN) - bssid = ifp->if_broadcastaddr; - else - bssid = ni->ni_bssid; + + rfilt = ath_calcrxfilter(sc); + stamode = (ic->ic_opmode == IEEE80211_M_STA || + ic->ic_opmode == IEEE80211_M_IBSS || + ic->ic_opmode == IEEE80211_M_AHDEMO); + if (stamode && nstate == IEEE80211_S_RUN) { + sc->sc_curaid = ni->ni_associd; + IEEE80211_ADDR_COPY(sc->sc_curbssid, ni->ni_bssid); + } else + sc->sc_curaid = 0; + + DPRINTF(sc, ATH_DEBUG_STATE, "%s: RX filter 0x%x bssid %s aid 0x%x\n", + __func__, rfilt, ether_sprintf(sc->sc_curbssid), + sc->sc_curaid); + ath_hal_setrxfilter(ah, rfilt); - DPRINTF(sc, ATH_DEBUG_STATE, "%s: RX filter 0x%x bssid %s\n", - __func__, rfilt, ether_sprintf(bssid)); + if (stamode) + ath_hal_setassocid(ah, sc->sc_curbssid, ni->ni_associd); - if (nstate == IEEE80211_S_RUN && ic->ic_opmode == IEEE80211_M_STA) - ath_hal_setassocid(ah, bssid, ni->ni_associd); - else - ath_hal_setassocid(ah, bssid, 0); - if (ic->ic_flags & IEEE80211_F_PRIVACY) { + if (ic->ic_opmode != IEEE80211_M_STA && + (ic->ic_flags & IEEE80211_F_PRIVACY)) { for (i = 0; i < IEEE80211_WEP_NKID; i++) if (ath_hal_keyisvalid(ah, i)) - ath_hal_keysetmac(ah, i, bssid); + ath_hal_keysetmac(ah, i, ni->ni_bssid); } /* @@ -4672,10 +4720,6 @@ /* start periodic recalibration timer */ callout_reset(&sc->sc_cal_ch, ath_calinterval * hz, ath_calibrate, sc); - } else if (nstate == IEEE80211_S_SCAN) { - /* start ap/neighbor scan timer */ - callout_reset(&sc->sc_scan_ch, (ath_dwelltime * hz) / 1000, - ath_next_scan, sc); } bad: return error; @@ -4717,8 +4761,9 @@ * param tells us if this is the first time or not. */ static void -ath_newassoc(struct ieee80211com *ic, struct ieee80211_node *ni, int isnew) +ath_newassoc(struct ieee80211_node *ni, int isnew) { + struct ieee80211com *ic = ni->ni_ic; struct ath_softc *sc = ic->ic_ifp->if_softc; ath_rate_newassoc(sc, ATH_NODE(ni), isnew); @@ -4855,51 +4900,74 @@ ic->ic_bss->ni_txpower = txpow; } +static void +rate_setup(struct ath_softc *sc, + const HAL_RATE_TABLE *rt, struct ieee80211_rateset *rs) +{ + int i, maxrates; + + if (rt->rateCount > IEEE80211_RATE_MAXSIZE) { + DPRINTF(sc, ATH_DEBUG_ANY, + "%s: rate table too small (%u > %u)\n", + __func__, rt->rateCount, IEEE80211_RATE_MAXSIZE); + maxrates = IEEE80211_RATE_MAXSIZE; + } else + maxrates = rt->rateCount; + for (i = 0; i < maxrates; i++) + rs->rs_rates[i] = rt->info[i].dot11Rate; + rs->rs_nrates = maxrates; +} + static int ath_rate_setup(struct ath_softc *sc, u_int mode) { struct ath_hal *ah = sc->sc_ah; struct ieee80211com *ic = &sc->sc_ic; const HAL_RATE_TABLE *rt; - struct ieee80211_rateset *rs; - int i, maxrates; switch (mode) { case IEEE80211_MODE_11A: - sc->sc_rates[mode] = ath_hal_getratetable(ah, HAL_MODE_11A); + rt = ath_hal_getratetable(ah, HAL_MODE_11A); break; case IEEE80211_MODE_11B: - sc->sc_rates[mode] = ath_hal_getratetable(ah, HAL_MODE_11B); + rt = ath_hal_getratetable(ah, HAL_MODE_11B); break; case IEEE80211_MODE_11G: - sc->sc_rates[mode] = ath_hal_getratetable(ah, HAL_MODE_11G); + rt = ath_hal_getratetable(ah, HAL_MODE_11G); break; case IEEE80211_MODE_TURBO_A: - sc->sc_rates[mode] = ath_hal_getratetable(ah, HAL_MODE_TURBO); + rt = ath_hal_getratetable(ah, HAL_MODE_TURBO); break; case IEEE80211_MODE_TURBO_G: - sc->sc_rates[mode] = ath_hal_getratetable(ah, HAL_MODE_108G); + rt = ath_hal_getratetable(ah, HAL_MODE_108G); break; default: DPRINTF(sc, ATH_DEBUG_ANY, "%s: invalid mode %u\n", __func__, mode); return 0; } - rt = sc->sc_rates[mode]; - if (rt == NULL) + sc->sc_rates[mode] = rt; + if (rt != NULL) { + rate_setup(sc, rt, &ic->ic_sup_rates[mode]); + return 1; + } else return 0; - if (rt->rateCount > IEEE80211_RATE_MAXSIZE) { - DPRINTF(sc, ATH_DEBUG_ANY, - "%s: rate table too small (%u > %u)\n", - __func__, rt->rateCount, IEEE80211_RATE_MAXSIZE); - maxrates = IEEE80211_RATE_MAXSIZE; - } else - maxrates = rt->rateCount; - rs = &ic->ic_sup_rates[mode]; - for (i = 0; i < maxrates; i++) - rs->rs_rates[i] = rt->info[i].dot11Rate; - rs->rs_nrates = maxrates; - return 1; +} + +static void +ath_setup_subrates(struct ath_softc *sc) +{ + struct ath_hal *ah = sc->sc_ah; + struct ieee80211com *ic = &sc->sc_ic; + + sc->sc_half_rates = ath_hal_getratetable(ah, HAL_MODE_11A_HALF_RATE); + if (sc->sc_half_rates != NULL) + rate_setup(sc, sc->sc_half_rates, &ic->ic_sup_half_rates); + + sc->sc_quarter_rates = + ath_hal_getratetable(ah, HAL_MODE_11A_QUARTER_RATE); + if (sc->sc_quarter_rates != NULL) + rate_setup(sc, sc->sc_quarter_rates, &ic->ic_sup_quarter_rates); } static void @@ -4970,6 +5038,8 @@ */ sc->sc_protrix = (mode == IEEE80211_MODE_11G ? 1 : 0); /* NB: caller is responsible for reseting rate control state */ + /* rate index used to send management frames */ + sc->sc_minrateix = 0; #undef N } ==== //depot/projects/wifi/sys/dev/ath/if_athvar.h#37 (text+ko) ==== @@ -226,13 +226,19 @@ sc_ledstate: 1, /* LED on/off state */ sc_blinking: 1, /* LED blink operation active */ sc_mcastkey: 1, /* mcast key cache search */ + sc_scanning: 1, /* scanning active */ + sc_syncbeacon:1,/* sync/resync beacon timers */ sc_hasclrkey:1; /* CLR key supported */ /* rate tables */ const HAL_RATE_TABLE *sc_rates[IEEE80211_MODE_MAX]; + const HAL_RATE_TABLE *sc_half_rates; /* half rate table */ + const HAL_RATE_TABLE *sc_quarter_rates;/* quarter rate table */ const HAL_RATE_TABLE *sc_currates; /* current rate table */ enum ieee80211_phymode sc_curmode; /* current phy mode */ u_int16_t sc_curtxpow; /* current tx power limit */ + u_int16_t sc_curaid; /* current association id */ HAL_CHANNEL sc_curchan; /* current h/w channel */ + u_int8_t sc_curbssid[IEEE80211_ADDR_LEN]; u_int8_t sc_rixmap[256]; /* IEEE to h/w rate table ix */ struct { u_int8_t ieeerate; /* IEEE rate */ @@ -241,6 +247,7 @@ u_int16_t ledon; /* softled on time */ u_int16_t ledoff; /* softled off time */ } sc_hwmap[32]; /* h/w rate ix mappings */ + u_int8_t sc_minrateix; /* min h/w rate index */ u_int8_t sc_protrix; /* protection rate index */ u_int8_t sc_lastdatarix; /* last data frame rate index */ u_int sc_fftxqmin; /* min frames before staging */ @@ -309,7 +316,6 @@ } sc_updateslot; /* slot time update fsm */ struct callout sc_cal_ch; /* callout handle for cals */ - struct callout sc_scan_ch; /* callout handle for scan */ HAL_NODE_STATS sc_halstats; /* station-mode rssi stats */ }; #define sc_tx_th u_tx_rt.th From owner-p4-projects@FreeBSD.ORG Mon Jul 18 16:59:44 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C0B416A466; Mon, 18 Jul 2005 16:59:43 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 AED1516A41F for ; Mon, 18 Jul 2005 16:59:42 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E79443D4C for ; Mon, 18 Jul 2005 16:59:42 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IGxgGx064376 for ; Mon, 18 Jul 2005 16:59:42 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IGxgl9064373 for perforce@freebsd.org; Mon, 18 Jul 2005 16:59:42 GMT (envelope-from sam@freebsd.org) Date: Mon, 18 Jul 2005 16:59:42 GMT Message-Id: <200507181659.j6IGxgl9064373@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 Cc: Subject: PERFORCE change 80455 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 16:59:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=80455 Change 80455 by sam@sam_ebb on 2005/07/18 16:59:32 802.11 scan+roam+power save stuff Affected files ... .. //depot/projects/wifi/sys/conf/files#27 edit Differences ... ==== //depot/projects/wifi/sys/conf/files#27 (text+ko) ==== @@ -1399,7 +1399,11 @@ net80211/ieee80211_ioctl.c optional wlan net80211/ieee80211_node.c optional wlan net80211/ieee80211_output.c optional wlan +net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan +net80211/ieee80211_scan.c optional wlan +net80211/ieee80211_scan_ap.c optional wlan_scan_ap +net80211/ieee80211_scan_sta.c optional wlan_scan_sta net80211/ieee80211_xauth.c optional wlan_xauth netatalk/aarp.c optional netatalk netatalk/at_control.c optional netatalk From owner-p4-projects@FreeBSD.ORG Mon Jul 18 17:21:24 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 846B416A420; Mon, 18 Jul 2005 17:21:23 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 479F416A41C for ; Mon, 18 Jul 2005 17:21:23 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1518143D45 for ; Mon, 18 Jul 2005 17:21:23 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IHLMNG065541 for ; Mon, 18 Jul 2005 17:21:22 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IHLMIB065538 for perforce@freebsd.org; Mon, 18 Jul 2005 17:21:22 GMT (envelope-from jhb@freebsd.org) Date: Mon, 18 Jul 2005 17:21:22 GMT Message-Id: <200507181721.j6IHLMIB065538@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 Cc: Subject: PERFORCE change 80465 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 17:21:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=80465 Change 80465 by jhb@jhb_slimer on 2005/07/18 17:20:49 Merge in some fixes made possible by atomic_foo_ptr(). Affected files ... .. //depot/projects/smpng/sys/arm/include/atomic.h#16 edit .. //depot/projects/smpng/sys/arm/include/endian.h#12 edit .. //depot/projects/smpng/sys/sparc64/include/cpufunc.h#25 edit Differences ... ==== //depot/projects/smpng/sys/arm/include/atomic.h#16 (text+ko) ==== @@ -77,8 +77,10 @@ static __inline uint32_t __swp(uint32_t val, volatile uint32_t *ptr) { - __asm __volatile("swp %0, %1, [%2]" - : "=&r" (val) : "r" (val) , "r" (ptr) : "memory"); + __asm __volatile("swp %0, %2, [%3]" + : "=&r" (val), "=m" (*ptr) + : "r" (val) , "r" (ptr), "m" (*ptr) + : "memory"); return (val); } ==== //depot/projects/smpng/sys/arm/include/endian.h#12 (text+ko) ==== @@ -100,11 +100,10 @@ __bswap16_var(__uint16_t v) { __asm __volatile( - "mov %0, %1, ror #8\n" + "mov %0, %0, ror #8\n" "orr %0, %0, %0, lsr #16\n" "bic %0, %0, %0, lsl #16" - : "=r" (v) - : "0" (v)); + : "+r" (v)); return (v); } ==== //depot/projects/smpng/sys/sparc64/include/cpufunc.h#25 (text+ko) ==== @@ -62,15 +62,17 @@ #define casa(rs1, rs2, rd, asi) ({ \ u_int __rd = (uint32_t)(rd); \ - __asm __volatile("casa [%1] %2, %3, %0" \ - : "+r" (__rd) : "r" (rs1), "n" (asi), "r" (rs2)); \ + __asm __volatile("casa [%2] %3, %4, %0" \ + : "+r" (__rd), "=m" (*rs1) \ + : "r" (rs1), "n" (asi), "r" (rs2), "m" (*rs1)); \ __rd; \ }) #define casxa(rs1, rs2, rd, asi) ({ \ u_long __rd = (uint64_t)(rd); \ - __asm __volatile("casxa [%1] %2, %3, %0" \ - : "+r" (__rd) : "r" (rs1), "n" (asi), "r" (rs2)); \ + __asm __volatile("casxa [%2] %3, %4, %0" \ + : "+r" (__rd), "=m" (*rs1) \ + : "r" (rs1), "n" (asi), "r" (rs2), "m" (*rs1)); \ __rd; \ }) From owner-p4-projects@FreeBSD.ORG Mon Jul 18 17:47:35 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8233316A420; Mon, 18 Jul 2005 17:47:35 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 08AA216A41C; Mon, 18 Jul 2005 17:47:35 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9046443D46; Mon, 18 Jul 2005 17:47:34 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.13.0/8.13.0) with ESMTP id j6IHlYfG021564; Mon, 18 Jul 2005 10:47:34 -0700 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.13.0/8.13.0/Submit) id j6IHlY9M021563; Mon, 18 Jul 2005 10:47:34 -0700 Date: Mon, 18 Jul 2005 10:47:34 -0700 From: Brooks Davis To: soc-tyler Message-ID: <20050718174734.GA20979@odin.ac.hmc.edu> References: <200507171351.j6HDpwwc017795@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="a8Wt8u1KmwUX3Y2C" Content-Disposition: inline In-Reply-To: <200507171351.j6HDpwwc017795@repoman.freebsd.org> User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new X-Spam-Status: No, hits=0.0 required=8.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on odin.ac.hmc.edu Cc: Perforce Change Reviews Subject: Re: PERFORCE change 80388 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 17:47:36 -0000 --a8Wt8u1KmwUX3Y2C Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jul 17, 2005 at 01:51:58PM +0000, soc-tyler wrote: > http://perforce.freebsd.org/chv.cgi?CH=3D80388 >=20 > Change 80388 by soc-tyler@soc-tyler_launchd on 2005/07/17 13:51:29 >=20 > Add more bits of launchd(8) code (on the next submit I'll remove those t= wo accidentally added files :-!) FYI, you can remove files from a submit by simply deleting the refrences to them in the messages. Also, you can abort a submit by deleting your change description entierly or exiting without saving. Perforce will complain and throw you back in, but will abort the second time. -- Brooks --a8Wt8u1KmwUX3Y2C Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFC2+s1XY6L6fI4GtQRAgn6AJ9b7NkQXbyji2N1z4FOWbYHp0lffgCg4olE dxeO7SOdxHPpLyomQoPEhKI= =A2sQ -----END PGP SIGNATURE----- --a8Wt8u1KmwUX3Y2C-- From owner-p4-projects@FreeBSD.ORG Mon Jul 18 18:26:55 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE7CA16A420; Mon, 18 Jul 2005 18:26:54 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 845F416A41C for ; Mon, 18 Jul 2005 18:26:54 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2FBAB43D53 for ; Mon, 18 Jul 2005 18:26:54 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IIQsQE069444 for ; Mon, 18 Jul 2005 18:26:54 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IIQrjN069441 for perforce@freebsd.org; Mon, 18 Jul 2005 18:26:53 GMT (envelope-from sam@freebsd.org) Date: Mon, 18 Jul 2005 18:26:53 GMT Message-Id: <200507181826.j6IIQrjN069441@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 Cc: Subject: PERFORCE change 80471 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 18:26:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=80471 Change 80471 by sam@sam_ebb on 2005/07/18 18:25:53 add separate tx rate for mcast traffic Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#42 edit .. //depot/projects/wifi/sys/dev/ath/if_ath.c#88 edit .. //depot/projects/wifi/sys/dev/ath/if_athvar.h#38 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#41 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#26 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#29 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#29 edit Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#42 (text+ko) ==== @@ -696,6 +696,12 @@ set80211(s, IEEE80211_IOC_ROAM_RATE_11G, 2*atoi(val), 0, NULL); } +static +DECL_CMD_FUNC(set80211mcastrate, val, d) +{ + set80211(s, IEEE80211_IOC_MCAST_RATE, 2*atoi(val), 0, NULL); +} + static int getmaxrate(uint8_t rates[15], uint8_t nrates) { @@ -1581,6 +1587,12 @@ LINE_CHECK("%crtsthreshold %d", spacer, ireq.i_val); } + ireq.i_type = IEEE80211_IOC_MCAST_RATE; + if (ioctl(s, SIOCG80211, &ireq) != -1) { + if (ireq.i_val != 2*1 || verbose) + LINE_CHECK("%cmcastrate %d", spacer, ireq.i_val/2); + } + ireq.i_type = IEEE80211_IOC_BGSCAN; if (ioctl(s, SIOCG80211, &ireq) != -1) { bgscan = ireq.i_val; @@ -1954,6 +1966,7 @@ DEF_CMD_ARG("roam:rate11a", set80211roamrate11a), DEF_CMD_ARG("roam:rate11b", set80211roamrate11b), DEF_CMD_ARG("roam:rate11g", set80211roamrate11g), + DEF_CMD_ARG("mcastrate", set80211mcastrate), }; static struct afswtch af_ieee80211 = { .af_name = "af_ieee80211", ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#88 (text+ko) ==== @@ -3549,6 +3549,20 @@ return NULL; } +/* + * Return h/w rate index for an IEEE rate (w/o basic rate bit). + */ +static int +ath_tx_findrix(const HAL_RATE_TABLE *rt, int rate) +{ + int i; + + for (i = 0; i < rt->rateCount; i++) + if ((rt->info[i].dot11Rate & IEEE80211_RATE_VAL) == rate) + return i; + return 0; /* NB: lowest rate */ +} + static int ath_tx_start(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf, struct mbuf *m0) @@ -3752,12 +3766,29 @@ case IEEE80211_FC0_TYPE_DATA: atype = HAL_PKT_TYPE_NORMAL; /* default */ /* - * Data frames; consult the rate control module. + * Data frames: multicast frames go out at a fixed rate, + * otherwise consult the rate control module for the + * rate to use. */ - ath_rate_findrate(sc, an, shortPreamble, pktlen, - &rix, &try0, &txrate); - sc->sc_txrate = txrate; /* for LED blinking */ - sc->sc_lastdatarix = rix; /* for fast frames */ + if (ismcast) { + /* + * Check mcast rate setting in case it changed. + * XXX move out of fastpath + */ + if (ic->ic_mcast_rate != sc->sc_mcastrate) { + sc->sc_mcastrix = + ath_tx_findrix(rt, ic->ic_mcast_rate); + sc->sc_mcastrate = ic->ic_mcast_rate; + } + rix = sc->sc_mcastrix; + txrate = rt->info[rix].rateCode; + try0 = ATH_TXMAXTRY; + } else { + ath_rate_findrate(sc, an, shortPreamble, pktlen, + &rix, &try0, &txrate); + sc->sc_txrate = txrate; /* for LED blinking */ + sc->sc_lastdatarix = rix; /* for fast frames */ + } /* * Default all non-QoS traffic to the best-effort queue. */ @@ -5034,12 +5065,20 @@ /* * All protection frames are transmited at 2Mb/s for * 11g, otherwise at 1Mb/s. - * XXX select protection rate index from rate table. */ - sc->sc_protrix = (mode == IEEE80211_MODE_11G ? 1 : 0); - /* NB: caller is responsible for reseting rate control state */ + if (mode == IEEE80211_MODE_11G) + sc->sc_protrix = ath_tx_findrix(rt, 2*2); + else + sc->sc_protrix = ath_tx_findrix(rt, 2*1); /* rate index used to send management frames */ sc->sc_minrateix = 0; + /* + * Setup multicast rate state. + */ + /* XXX layering violation */ + sc->sc_mcastrix = ath_tx_findrix(rt, sc->sc_ic.ic_mcast_rate); + sc->sc_mcastrate = sc->sc_ic.ic_mcast_rate; + /* NB: caller is responsible for reseting rate control state */ #undef N } ==== //depot/projects/wifi/sys/dev/ath/if_athvar.h#38 (text+ko) ==== @@ -248,8 +248,10 @@ u_int16_t ledoff; /* softled off time */ } sc_hwmap[32]; /* h/w rate ix mappings */ u_int8_t sc_minrateix; /* min h/w rate index */ + u_int8_t sc_mcastrix; /* mcast h/w rate index */ u_int8_t sc_protrix; /* protection rate index */ u_int8_t sc_lastdatarix; /* last data frame rate index */ + u_int sc_mcastrate; /* ieee rate for mcastrateix */ u_int sc_fftxqmin; /* min frames before staging */ u_int sc_fftxqmax; /* max frames before drop */ u_int sc_txantenna; /* tx antenna (fixed or auto) */ ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#41 (text+ko) ==== @@ -797,6 +797,9 @@ case IEEE80211_IOC_ROAM_RATE_11G: ireq->i_val = ic->ic_roam.rate11b; break; + case IEEE80211_IOC_MCAST_RATE: + ireq->i_val = ic->ic_mcast_rate; + break; default: error = EINVAL; break; @@ -1850,13 +1853,16 @@ ic->ic_roam.rssi11b = ireq->i_val; break; case IEEE80211_IOC_ROAM_RATE_11A: - ic->ic_roam.rate11a = ireq->i_val; + ic->ic_roam.rate11a = ireq->i_val & IEEE80211_RATE_VAL; break; case IEEE80211_IOC_ROAM_RATE_11B: - ic->ic_roam.rate11bOnly = ireq->i_val; + ic->ic_roam.rate11bOnly = ireq->i_val & IEEE80211_RATE_VAL; break; case IEEE80211_IOC_ROAM_RATE_11G: - ic->ic_roam.rate11b = ireq->i_val; + ic->ic_roam.rate11b = ireq->i_val & IEEE80211_RATE_VAL; + break; + case IEEE80211_IOC_MCAST_RATE: + ic->ic_mcast_rate = ireq->i_val & IEEE80211_RATE_VAL; break; default: error = EINVAL; ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#26 (text+ko) ==== @@ -445,6 +445,7 @@ #define IEEE80211_IOC_ROAM_RATE_11A 69 /* tx rate threshold in 11a */ #define IEEE80211_IOC_ROAM_RATE_11B 70 /* tx rate threshold in 11b */ #define IEEE80211_IOC_ROAM_RATE_11G 71 /* tx rate threshold in 11g */ +#define IEEE80211_IOC_MCAST_RATE 72 /* tx rate for mcast frames */ /* * Scan result data returned for IEEE80211_IOC_SCAN_RESULTS. ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#29 (text+ko) ==== @@ -101,6 +101,7 @@ #endif ic->ic_fragthreshold = 2346; /* XXX not used yet */ ic->ic_fixed_rate = IEEE80211_FIXED_RATE_NONE; + ic->ic_mcast_rate = IEEE80211_MCAST_RATE_DEFAULT; ic->ic_protmode = IEEE80211_PROT_CTSONLY; ic->ic_roaming = IEEE80211_ROAMING_AUTO; ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#29 (text+ko) ==== @@ -81,6 +81,7 @@ #define IEEE80211_PS_MAX_QUEUE 50 /* maximum saved packets */ #define IEEE80211_FIXED_RATE_NONE -1 +#define IEEE80211_MCAST_RATE_DEFAULT (2*1) /* default mcast rate (1M) */ #define IEEE80211_MS_TO_TU(x) (((x) * 1000) / 1024) #define IEEE80211_TU_TO_MS(x) (((x) * 1024) / 1000) From owner-p4-projects@FreeBSD.ORG Mon Jul 18 19:10:48 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C2A8416A420; Mon, 18 Jul 2005 19:10:47 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 95E9F16A41C for ; Mon, 18 Jul 2005 19:10:47 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 564EC43D45 for ; Mon, 18 Jul 2005 19:10:47 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IJAl95071744 for ; Mon, 18 Jul 2005 19:10:47 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IJAkKh071741 for perforce@freebsd.org; Mon, 18 Jul 2005 19:10:46 GMT (envelope-from sam@freebsd.org) Date: Mon, 18 Jul 2005 19:10:46 GMT Message-Id: <200507181910.j6IJAkKh071741@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 Cc: Subject: PERFORCE change 80472 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 19:10:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=80472 Change 80472 by sam@sam_ebb on 2005/07/18 19:10:11 o fixup get scan results o convert get sta table to use an interator o change M_WAITOK usage to M_NOWAIT since it appears that it'll be a while before we resolve the issue with drivers holding their lock over ioctl requests Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#42 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#42 (text+ko) ==== @@ -349,7 +349,7 @@ int error; if (ireq->i_len < sizeof(struct scanreq)) - return -EFAULT; + return EFAULT; error = 0; req.space = 0; @@ -361,13 +361,14 @@ void *p; space = req.space; - MALLOC(p, void *, space, M_TEMP, M_WAITOK); + /* XXX M_WAITOK after driver lock released */ + MALLOC(p, void *, space, M_TEMP, M_NOWAIT); if (p == NULL) - return -ENOMEM; + return ENOMEM; req.sr = p; ieee80211_scan_iterate(ic, get_scan_result, &req); ireq->i_len = space - req.space; - error = copyout(ireq->i_data, p, ireq->i_len); + error = copyout(p, ireq->i_data, ireq->i_len); FREE(p, M_TEMP); } else ireq->i_len = 0; @@ -375,20 +376,59 @@ return error; } +struct stainforeq { + struct ieee80211com *ic; + struct ieee80211req_sta_info *si; + size_t space; +}; + +static size_t +sta_space(const struct ieee80211_node *ni, size_t *ielen) +{ + *ielen = 0; + if (ni->ni_wpa_ie != NULL) + *ielen += 2+ni->ni_wpa_ie[1]; + if (ni->ni_wme_ie != NULL) + *ielen += 2+ni->ni_wme_ie[1]; + if (ni->ni_ath_ie != NULL) + *ielen += 2+ni->ni_ath_ie[1]; + return roundup(sizeof(struct ieee80211req_sta_info) + *ielen, + sizeof(u_int32_t)); +} + +static void +get_sta_space(void *arg, struct ieee80211_node *ni) +{ + struct stainforeq *req = arg; + struct ieee80211com *ic = ni->ni_ic; + size_t ielen; + + if (ic->ic_opmode == IEEE80211_M_HOSTAP && + ni->ni_associd == 0) /* only associated stations */ + return; + req->space += sta_space(ni, &ielen); +} + static void -get_sta_info(struct ieee80211req_sta_info *si, const struct ieee80211_node *ni) +get_sta_info(void *arg, struct ieee80211_node *ni) { + struct stainforeq *req = arg; struct ieee80211com *ic = ni->ni_ic; + struct ieee80211req_sta_info *si; + size_t ielen, len; + u_int8_t *cp; - si->isi_ie_len = 0; - if (ni->ni_wpa_ie != NULL) - si->isi_ie_len += 2+ni->ni_wpa_ie[1]; - if (ni->ni_wme_ie != NULL) - si->isi_ie_len += 2+ni->ni_wme_ie[1]; - if (ni->ni_ath_ie != NULL) - si->isi_ie_len += 2+ni->ni_ath_ie[1]; - si->isi_len = sizeof(*si) + si->isi_ie_len, sizeof(u_int32_t); - si->isi_len = roundup(si->isi_len, sizeof(u_int32_t)); + if (ic->ic_opmode == IEEE80211_M_HOSTAP && + ni->ni_associd == 0) /* only associated stations */ + return; + if (ni->ni_chan == IEEE80211_CHAN_ANYC) /* XXX bogus entry */ + return; + len = sta_space(ni, &ielen); + if (len > req->space) + return; + si = req->si; + si->isi_len = len; + si->isi_ie_len = ielen; si->isi_freq = ni->ni_chan->ic_freq; si->isi_flags = ni->ni_chan->ic_flags; si->isi_state = ni->ni_flags; @@ -402,6 +442,7 @@ si->isi_nrates = 15; memcpy(si->isi_rates, ni->ni_rates.rs_rates, si->isi_nrates); si->isi_txrate = ni->ni_txrate; + si->isi_ie_len = ielen; si->isi_associd = ni->ni_associd; si->isi_txpower = ni->ni_txpower; si->isi_vlan = ni->ni_vlan; @@ -412,59 +453,64 @@ si->isi_txseqs[0] = ni->ni_txseqs[0]; si->isi_rxseqs[0] = ni->ni_rxseqs[0]; } - if (ic->ic_opmode == IEEE80211_M_IBSS || ni->ni_associd != 0) + /* NB: leave all cases in case we relax ni_associd == 0 check */ + if (ieee80211_node_is_authorized(ni)) si->isi_inact = ic->ic_inact_run; - else if (ieee80211_node_is_authorized(ni)) + else if (ni->ni_associd != 0) si->isi_inact = ic->ic_inact_auth; else si->isi_inact = ic->ic_inact_init; si->isi_inact = (si->isi_inact - ni->ni_inact) * IEEE80211_INACT_WAIT; + + cp = (u_int8_t *)(si+1); + if (ni->ni_wpa_ie != NULL) { + memcpy(cp, ni->ni_wpa_ie, 2+ni->ni_wpa_ie[1]); + cp += 2+ni->ni_wpa_ie[1]; + } + if (ni->ni_wme_ie != NULL) { + memcpy(cp, ni->ni_wme_ie, 2+ni->ni_wme_ie[1]); + cp += 2+ni->ni_wme_ie[1]; + } + if (ni->ni_ath_ie != NULL) { + memcpy(cp, ni->ni_ath_ie, 2+ni->ni_ath_ie[1]); + cp += 2+ni->ni_ath_ie[1]; + } + + req->si = (struct ieee80211req_sta_info *)(((u_int8_t *)si) + len); + req->space -= len; } static int ieee80211_ioctl_getstainfo(struct ieee80211com *ic, struct ieee80211req *ireq) { - union { - struct ieee80211req_sta_info info; - char data[512]; /* XXX shrink? */ - } u; - struct ieee80211req_sta_info *si = &u.info; - struct ieee80211_node_table *nt; - struct ieee80211_node *ni; - int error, space; - u_int8_t *p, *cp; + struct stainforeq req; + int error; + + if (ireq->i_len < sizeof(struct stainforeq)) + return EFAULT; - nt = &ic->ic_sta; - p = ireq->i_data; - space = ireq->i_len; error = 0; - /* XXX locking */ - TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { - get_sta_info(si, ni); - if (si->isi_len > sizeof(u)) - continue; /* XXX */ - if (space < si->isi_len) - break; - cp = (u_int8_t *)(si+1); - if (ni->ni_wpa_ie != NULL) { - memcpy(cp, ni->ni_wpa_ie, 2+ni->ni_wpa_ie[1]); - cp += 2+ni->ni_wpa_ie[1]; - } - if (ni->ni_wme_ie != NULL) { - memcpy(cp, ni->ni_wme_ie, 2+ni->ni_wme_ie[1]); - cp += 2+ni->ni_wme_ie[1]; - } - if (ni->ni_ath_ie != NULL) { - memcpy(cp, ni->ni_ath_ie, 2+ni->ni_ath_ie[1]); - cp += 2+ni->ni_ath_ie[1]; - } - error = copyout(si, p, si->isi_len); - if (error) - break; - p += si->isi_len; - space -= si->isi_len; - } - ireq->i_len -= space; + req.space = 0; + ieee80211_iterate_nodes(&ic->ic_sta, get_sta_space, &req); + if (req.space > ireq->i_len) + req.space = ireq->i_len; + if (req.space > 0) { + size_t space; + void *p; + + space = req.space; + /* XXX M_WAITOK after driver lock released */ + MALLOC(p, void *, space, M_TEMP, M_NOWAIT); + if (p == NULL) + return ENOMEM; + req.si = p; + ieee80211_iterate_nodes(&ic->ic_sta, get_sta_info, &req); + ireq->i_len = space - req.space; + error = copyout(p, ireq->i_data, ireq->i_len); + FREE(p, M_TEMP); + } else + ireq->i_len = 0; + return error; } @@ -824,7 +870,8 @@ if (ireq->i_len > IEEE80211_MAX_OPT_IE) return EINVAL; /* NB: data.length is validated by the wireless extensions code */ - MALLOC(ie, void *, ireq->i_len, M_DEVBUF, M_WAITOK); + /* XXX M_WAITOK after driver lock released */ + MALLOC(ie, void *, ireq->i_len, M_DEVBUF, M_NOWAIT); if (ie == NULL) return ENOMEM; error = copyin(ireq->i_data, ie, ireq->i_len); From owner-p4-projects@FreeBSD.ORG Mon Jul 18 21:57:00 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E474A16A420; Mon, 18 Jul 2005 21:56:59 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 A673016A41C for ; Mon, 18 Jul 2005 21:56:59 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5DAE243D48 for ; Mon, 18 Jul 2005 21:56:59 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6ILux0S090170 for ; Mon, 18 Jul 2005 21:56:59 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6ILuwGx090167 for perforce@freebsd.org; Mon, 18 Jul 2005 21:56:59 GMT (envelope-from soc-victor@freebsd.org) Date: Mon, 18 Jul 2005 21:56:59 GMT Message-Id: <200507182156.j6ILuwGx090167@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: soc-victor To: Perforce Change Reviews Cc: Subject: PERFORCE change 80480 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 21:57:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=80480 Change 80480 by soc-victor@soc-victor_82.76.158.176 on 2005/07/18 21:56:19 hrFSTable step #2: some optimizations and some improvements. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#7 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#9 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#6 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#7 (text+ko) ==== @@ -10,7 +10,7 @@ hostres_storage_tbl.c hostres_fs_tbl.c WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr -#CFLAGS+= -DNDEBUG +CFLAGS+= -DNDEBUG XSYM= host hrStorageOther hrStorageRam hrStorageVirtualMemory \ hrStorageFixedDisk hrStorageRemovableDisk hrStorageFloppyDisk \ hrStorageCompactDisc hrStorageRamDisk hrStorageFlashMemory \ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#2 (text+ko) ==== @@ -75,12 +75,15 @@ return (NULL); } map->hrIndex = hrState_g.next_hrFS_index ++; - strncpy(map->a_name, entry->mountPoint, 255); + map->a_name[sizeof(map->a_name)-1]='\0'; + strncpy(map->a_name, entry->mountPoint, sizeof(map->a_name)-1); map->entry_p = entry; STAILQ_INSERT_TAIL(&hrState_g.fs_name_map, map, link); - HR_DPRINTF((stderr, "%s added into hrFSMap at index=%d\n ",name, map->hrIndex)); + HR_DPRINTF((stderr, "%s added into hrFSMap at index=%d\n ", + name, map->hrIndex)); } else { - HR_DPRINTF((stderr, "%s exists in hrFSMap index=%d\n ",name, map->hrIndex)); + HR_DPRINTF((stderr, "%s exists in hrFSMap index=%d\n ", + name, map->hrIndex)); } entry->index = map->hrIndex; @@ -158,20 +161,20 @@ } +void +FS_tbl_pre_refresh_v(void) { + struct hrFSTblEntry *entry = NULL; -void refresh_hrFS_tbl_v(void) { - struct hrFSTblEntry *entry = NULL, *entry_tmp = NULL; - - if ( this_tick <= hrState_g.hr_fs_tick) { - HR_DPRINTF((stderr, "%s: no refresh needed\n ",__func__)); - return; - } - /*mark each entry as missisng*/ TAILQ_FOREACH(entry, &hrState_g.hr_fs_tbl, link) entry->flags &= ~HR_FS_FOUND; - hrStorage_OS_get_fs_v(); +} + + +void +FS_tbl_post_refresh_v(void) { + struct hrFSTblEntry *entry = NULL, *entry_tmp = NULL; /* * Purge items items that disappeared @@ -187,7 +190,17 @@ hrState_g.hr_fs_tick = this_tick; hrState_g.hrFS_tbl_age = time(NULL); +} + +void refresh_hrFS_tbl_v(void) { + if ( this_tick <= hrState_g.hr_fs_tick) { + HR_DPRINTF((stderr, "%s: no refresh needed\n ",__func__)); + return; + } + + refresh_hrStorage_tbl_v(); + HR_DPRINTF((stderr, "%s: refresh DONE\n ",__func__)); } @@ -292,17 +305,24 @@ entry->access = FS_READ_WRITE; } - entry->bootable = SNMP_FALSE; /*FIX ME*/ + /*FIX ME - bootable fs ?! */ + if( ( fs_p->f_flags & MNT_ROOTFS ) == MNT_ROOTFS ) { + entry->bootable = SNMP_TRUE; + } else { + entry->bootable = SNMP_FALSE; + } entry->storageIndex = storage_idx; memset(&entry->lastFullBackupDate[0], 0, sizeof(entry->lastFullBackupDate)); /*Info not available*/ + + memset(&entry->lastPartialBackupDate[0], 0, sizeof(entry->lastPartialBackupDate)); /*Info not available*/ + - return; } if ((entry = hrFSTblEntry_create(fs_p->f_mntonname)) != NULL) { @@ -324,13 +344,21 @@ get_FS_type_v(fs_p, &entry->type); - if( (fs_p->f_flags & MNT_RDONLY) == MNT_RDONLY ) { + if( ( fs_p->f_flags & MNT_RDONLY ) == MNT_RDONLY ) { entry->access = FS_READ_ONLY; } else { entry->access = FS_READ_WRITE; } + + /*FIX ME - bootable fs ?! */ + if( ( fs_p->f_flags & MNT_ROOTFS ) == MNT_ROOTFS ) { + entry->bootable = SNMP_TRUE; + } else { + entry->bootable = SNMP_FALSE; + } + - entry->bootable = SNMP_FALSE; /*FIX ME*/ + entry->storageIndex = storage_idx; @@ -339,7 +367,8 @@ memset(&entry->lastPartialBackupDate[0], 0, sizeof(entry->lastPartialBackupDate)); /*Info not available*/ - + + } return; } @@ -418,10 +447,10 @@ value->v.integer = entry->storageIndex; break; case LEAF_hrFSLastFullBackupDate: - ret = string_get(value, entry->lastFullBackupDate, 11); + ret = string_get(value, entry->lastFullBackupDate, 8); break; case LEAF_hrFSLastPartialBackupDate: - ret = string_get(value, entry->lastPartialBackupDate, 11); + ret = string_get(value, entry->lastPartialBackupDate, 8); break; default: assert(0); ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#9 (text+ko) ==== @@ -136,7 +136,7 @@ */ struct FSNameMapEntry { int32_t hrIndex; /*used for hrFSTblEntry::index*/ - u_char a_name[255+1]; /*map key*/ + u_char a_name[128]; /*map key*/ /* * next may be NULL if the respective hrFSTblEntry @@ -200,12 +200,6 @@ /* - * Query the underlaying OS for the mounted file systems - * anf fill in the respective lists (for hrStorageTable and for hrFSTable) - */ -void hrStorage_OS_get_fs_v(void); - -/* * Init the things for hrStorageTable. */ void init_hrStorage_tbl_v(void); @@ -216,6 +210,11 @@ */ void fini_hrStorage_tbl_v(void); +/* + * Next macro represents the number of seconds + * between two consecutive queries to the OS for getting the new data + * for hrStorageTable + */ #define HR_STORAGE_TBL_REFRESH 7 /* * Refresh routine for hrStorageTable. @@ -224,12 +223,28 @@ void refresh_hrStorage_tbl_v(void); +/* + * Because hrFSTable depends to hrStorageTable we are + * refreshing hrFSTable by refreshing hrStorageTable. + * When one entry "of type" fs from hrStorageTable is refreshed + * then the corresponding entry from hrFSTable is refreshed + * FS_tbl_pre_refresh_v() is called before refeshing fs part of hrStorageTable + */ +void +FS_tbl_pre_refresh_v(void); void FS_tbl_process_statfs_entry_v(const struct statfs *fs_p, int32_t storage_idx); /* + * FS_tbl_pre_refresh_v() is called after refeshing fs part of hrStorageTable + */ +void +FS_tbl_post_refresh_v(void); + + +/* * Init the things for hrFSTable. */ void init_hrFS_tbl_v(void); @@ -240,7 +255,12 @@ */ void fini_hrFS_tbl_v(void); -#define HR_FS_TBL_REFRESH 7 +/* + * Next macro represents the number of seconds + * between two consecutive queries to the OS for getting the new data + * for hrFSTable + */ +#define HR_FS_TBL_REFRESH HR_STORAGE_TBL_REFRESH /* * Refresh routine for hrFSTable. * Usable for polling the system for any changes. ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#6 (text+ko) ==== @@ -309,7 +309,11 @@ } - +/* + * Query the underlaying OS for the mounted file systems + * anf fill in the respective lists (for hrStorageTable and for hrFSTable) + */ +static void hrStorage_OS_get_fs_v(void) { int mounted_fs_count = 0; int i = 0; @@ -341,6 +345,9 @@ } HR_DPRINTF((stderr, "%s: Got %d mounted FS\n ", __func__, mounted_fs_count)); + + FS_tbl_pre_refresh_v(); + for(i = 0; i < mounted_fs_count; i++ ) { @@ -405,6 +412,7 @@ }/*end for*/ + FS_tbl_post_refresh_v(); } From owner-p4-projects@FreeBSD.ORG Mon Jul 18 22:46:01 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D233016A420; Mon, 18 Jul 2005 22:46:00 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 AAD0416A41C for ; Mon, 18 Jul 2005 22:46:00 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6DFCB43D45 for ; Mon, 18 Jul 2005 22:46:00 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6IMk0Rq092409 for ; Mon, 18 Jul 2005 22:46:00 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6IMk0d1092404 for perforce@freebsd.org; Mon, 18 Jul 2005 22:46:00 GMT (envelope-from soc-anders@freebsd.org) Date: Mon, 18 Jul 2005 22:46:00 GMT Message-Id: <200507182246.j6IMk0d1092404@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80485 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 22:46:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=80485 Change 80485 by soc-anders@soc-anders_gimli on 2005/07/18 22:45:43 When listing interfaces, the '-I' flag did not work correctly, now it should :) Parsing of messages is done in a safer manner. Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/if.c#5 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/if.c#5 (text+ko) ==== @@ -60,6 +60,7 @@ #include #include #include +#include #define IFCLEANUP @@ -174,7 +175,7 @@ struct ifa_msghdr *ifam; struct sockaddr *addr, *mask, *brd; u_long if_mtu; - int if_index; + int if_index = -1; if (_interval) { sidewaysintpr((unsigned)_interval, ifnetaddr); @@ -232,48 +233,69 @@ if (ifm->ifm_type == RTM_IFINFO) { struct sockaddr_dl *sdl; if (!(ifm->ifm_addrs & RTA_IFP)) { - printf("Missing IFP\n"); - exit(1); + errx(1, "Interface information missing"); } sa = (struct sockaddr *)(cur + sizeof(*ifm)); addr = sa; sdl = (struct sockaddr_dl *)sa; strlcpy(name, sdl->sdl_data, sdl->sdl_nlen+1); cur += ifm->ifm_msglen; - if (interface != 0 && (strcmp(name, interface) != 0)) - continue; + if (interface != 0 && (strcmp(name, interface) != 0)) { + if_index = -1; + continue; + } + + if (pfunc) { + (*pfunc)(name); + continue; + } + if ((ifm->ifm_flags & IFF_UP) == 0) { cp = index(name, '\0'); *cp++ = '*'; *cp = '\0'; - } + } if_mtu = ifm->ifm_data.ifi_mtu; if_index = ifm->ifm_index; } else if (ifm->ifm_type == RTM_NEWADDR) { int addrs = ifm->ifm_addrs; + char *msgend; + int i; + + if (if_index < 0) { + cur += ifm->ifm_msglen; + continue; + } ifam = (struct ifa_msghdr *)cur; + msgend = cur + ifm->ifm_msglen; cur += sizeof(*ifam); - - while (addrs != 0) { + for (i = 0; addrs != 0 && i < RTAX_MAX && cur < msgend; + addrs &= ~(1<sa_len == 0) continue; - if (addrs & RTA_NETMASK) { + switch (1<ifm_type); + warnx("Unexpected message type: %d\n", ifm->ifm_type); cur += ifm->ifm_msglen; continue; } @@ -299,7 +321,7 @@ drops = ifm->ifm_data.ifi_iqdrops; } - if (af != AF_UNSPEC && sa->sa_family != af) + if (af != AF_UNSPEC && addr->sa_family != af) continue; if (Wflag) @@ -362,8 +384,8 @@ break; case AF_APPLETALK: - printf("atalk:%-12.12s ",atalk_print(sa,0x10) ); - printf("%-11.11s ",atalk_print(sa,0x0b) ); + printf("atalk:%-12.12s ",atalk_print(addr,0x10) ); + printf("%-11.11s ",atalk_print(addr,0x0b) ); break; case AF_LINK: { @@ -377,11 +399,11 @@ } goto hexprint; default: - m = printf("(%d)", sa->sa_family); - for (cp = sa->sa_len + (char *)sa; - --cp > sa->sa_data && (*cp == 0);) {} - n = cp - sa->sa_data + 1; - cp = sa->sa_data; + m = printf("(%d)", addr->sa_family); + for (cp = addr->sa_len + (char *)addr; + --cp > addr->sa_data && (*cp == 0);) {} + n = cp - addr->sa_data + 1; + cp = addr->sa_data; hexprint: while (--n >= 0) m += printf("%02x%c", *cp++ & 0xff, @@ -469,10 +491,9 @@ mib[5] = if_index; if (sysctl(mib, 6, NULL, &mlen, NULL, 0) < 0) continue; - if ((mbuf = malloc(mlen)) == NULL) { - printf("malloc\n"); - exit(1); - } + if ((mbuf = malloc(mlen)) == NULL) + err(1, NULL); + if (sysctl(mib, 6, mbuf, &mlen, NULL, 0) < 0) { free(mbuf); continue; @@ -482,24 +503,33 @@ mend = mcur + mlen; while (mcur < mend) { ifmam = (struct ifma_msghdr *)mcur; + if (ifmam->ifmam_type != RTM_NEWMADDR) { + warnx("Unexpected message type: %d", ifmam->ifmam_type); + mcur += ifmam->ifmam_msglen; + continue; + } + int addrs = ifmam->ifmam_addrs; + int i; + char *msgend = mcur + ifmam->ifmam_msglen; + mcur += sizeof(*ifmam); - while (addrs != 0) { - struct sockaddr *tmp = - (struct sockaddr *)mcur; - mcur += SA_SIZE(tmp); - if (addrs & RTA_GATEWAY) - addrs &= ~RTA_GATEWAY; - else if (addrs & RTA_IFP) - addrs &= ~RTA_IFP; - else if (addrs & RTA_IFA) { - bcopy(tmp, &msa, tmp->sa_len); - addrs &= ~RTA_IFA; - } else { - printf("UNEXPECTED: %x\n", addrs); + + for (i = 0; addrs != 0 && i < RTAX_MAX && mcur < msgend; + addrs &= ~(1<sa_len == 0) continue; - } + + if (1<sa_len); } + mcur = msgend; + fmt = 0; switch (msa.sa.sa_family) { case AF_INET: From owner-p4-projects@FreeBSD.ORG Tue Jul 19 02:16:19 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D938916A420; Tue, 19 Jul 2005 02:16:18 +0000 (GMT) X-Original-To: perforce@FreeBSD.org 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 65CFA16A41C for ; Tue, 19 Jul 2005 02:16:18 +0000 (GMT) (envelope-from samy@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3795D43D45 for ; Tue, 19 Jul 2005 02:16:18 +0000 (GMT) (envelope-from samy@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6J2GIIJ007944 for ; Tue, 19 Jul 2005 02:16:18 GMT (envelope-from samy@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6J2GHED007941 for perforce@freebsd.org; Tue, 19 Jul 2005 02:16:17 GMT (envelope-from samy@FreeBSD.org) Date: Tue, 19 Jul 2005 02:16:17 GMT Message-Id: <200507190216.j6J2GHED007941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to samy@FreeBSD.org using -f From: Samy Al Bahra To: Perforce Change Reviews Cc: Subject: PERFORCE change 80496 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 02:16:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=80496 Change 80496 by samy@samy_home on 2005/07/19 02:15:25 These changes introduce the __MAC_version define that was introduced to improve third-party security policy support as well as introduce the security.mac.version sysctl that will allow the ports system proper integration of our new MAC versioning scheme. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#445 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#279 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#445 (text+ko) ==== @@ -102,6 +102,13 @@ SYSCTL_NODE(_security, OID_AUTO, mac, CTLFLAG_RW, 0, "TrustedBSD MAC policy controls"); +/* + * Export the MAC API version counter. + */ +static int mac_version = __MAC_version; +SYSCTL_INT(_security_mac, OID_AUTO, version, CTLFLAG_RD, + &mac_version, 0, "MAC version"); + #if MAC_MAX_SLOTS > 32 #error "MAC_MAX_SLOTS too large" #endif ==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#279 (text+ko) ==== @@ -54,6 +54,21 @@ #endif /* + * __MAC_version must be incremented with every API or + * ABI change to the MAC framework. Once in a branch, + * changes may not break existing ABI in a forward + * compatible way. + * + * The scheme is: + * XXXX + * + * The major of 99 is reserved as a linear counter for + * MAC changes in -HEAD. + */ +#undef __MAC_version +#define __MAC_version 990000 + +/* * MAC framework-related constants and limits. */ #define MAC_MAX_POLICY_NAME 32 From owner-p4-projects@FreeBSD.ORG Tue Jul 19 03:51:14 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02D3216A420; Tue, 19 Jul 2005 03:51:13 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 B7FF916A41C for ; Tue, 19 Jul 2005 03:51:13 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 885D343D48 for ; Tue, 19 Jul 2005 03:51:13 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6J3pDbT012923 for ; Tue, 19 Jul 2005 03:51:13 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6J3pDgo012920 for perforce@freebsd.org; Tue, 19 Jul 2005 03:51:13 GMT (envelope-from soc-anders@freebsd.org) Date: Tue, 19 Jul 2005 03:51:13 GMT Message-Id: <200507190351.j6J3pDgo012920@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80499 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 03:51:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=80499 Change 80499 by soc-anders@soc-anders_gimli on 2005/07/19 03:50:53 '-rs' mode now uses sysctl to obtain rtstat and rttrash info Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/route.c#3 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/route.c#3 (text+ko) ==== @@ -755,22 +755,21 @@ { struct rtstat rtstat; int rttrash; + size_t len; - /* IFCLEANUP - * rtstat should be accessible via sysctl.. until then skip this - */ - return; - - if (rtsaddr == 0) { - printf("rtstat: symbol not in namelist\n"); + len = sizeof(rtstat); + if (sysctlbyname("net.route.rtstat", &rtstat, &len, + NULL, 0) < 0) { + warn("sysctl: net.route.rtstat"); return; } - if (rttaddr == 0) { - printf("rttrash: symbol not in namelist\n"); + len = sizeof(rttrash); + if (sysctlbyname("net.route.rttrash", &rttrash, &len, + NULL, 0) < 0) { + warn("sysctl: net.route.rttrash"); return; } - kread(rtsaddr, (char *)&rtstat, sizeof (rtstat)); - kread(rttaddr, (char *)&rttrash, sizeof (rttrash)); + printf("routing:\n"); #define p(f, m) if (rtstat.f || sflag <= 1) \ From owner-p4-projects@FreeBSD.ORG Tue Jul 19 03:54:18 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2723D16A420; Tue, 19 Jul 2005 03:54:18 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 01FBF16A41C for ; Tue, 19 Jul 2005 03:54:18 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BAEC643D46 for ; Tue, 19 Jul 2005 03:54:17 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6J3sHek013024 for ; Tue, 19 Jul 2005 03:54:17 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6J3sHnv013021 for perforce@freebsd.org; Tue, 19 Jul 2005 03:54:17 GMT (envelope-from soc-anders@freebsd.org) Date: Tue, 19 Jul 2005 03:54:17 GMT Message-Id: <200507190354.j6J3sHnv013021@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80500 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 03:54:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=80500 Change 80500 by soc-anders@soc-anders_gimli on 2005/07/19 03:53:41 Added sysctl variables net.route.rtstat and net.route.rttrash. Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/net/route.c#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/net/route.c#2 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -54,6 +55,12 @@ static int rttrash; /* routes not in table but not freed */ +SYSCTL_DECL(_net_route); +SYSCTL_STRUCT(_net_route, OID_AUTO, rtstat, CTLFLAG_RD, + &rtstat, rtstat, "Routing Statistics (struct rtstat, net/route.h)"); +SYSCTL_INT(_net_route, OID_AUTO, rttrash, CTLFLAG_RD, + &rttrash, 0, "Routes not in table but not freed"); + static void rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *); static void rtable_init(void **); From owner-p4-projects@FreeBSD.ORG Tue Jul 19 11:26:34 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BFEA16A420; Tue, 19 Jul 2005 11:26:33 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 57DB516A41C for ; Tue, 19 Jul 2005 11:26:33 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A438343D49 for ; Tue, 19 Jul 2005 11:26:32 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JBQWiV043902 for ; Tue, 19 Jul 2005 11:26:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JBQVgg043899 for perforce@freebsd.org; Tue, 19 Jul 2005 11:26:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 19 Jul 2005 11:26:31 GMT Message-Id: <200507191126.j6JBQVgg043899@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 Cc: Subject: PERFORCE change 80517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 11:26:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=80517 Change 80517 by rwatson@rwatson_zoo on 2005/07/19 11:26:04 Integrate netperf_socket. Netperf-relevant changes include: - system call table and emulation MPSAFEty cleanup - NET_LOCK_GIANT() in Linux socket-related code - if_cnw, if_sbsh become IFF_NEEDSGIANT - if_cx locking - UMA(9), malloc(9) statistics stream and libmemstat(3) support. - Mbuf zone naming consistency. - MAC checks for socket creation. - mac_copy_mbuf() - NATM locking. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/vm_machdep.c#10 integrate .. //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#18 integrate .. //depot/projects/netperf_socket/sys/alpha/include/atomic.h#4 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/linux_proto.h#10 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/linux_syscall.h#10 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/linux_sysent.c#10 integrate .. //depot/projects/netperf_socket/sys/alpha/linux/syscalls.master#11 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/Makefile#2 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/osf1_misc.c#11 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/osf1_proto.h#6 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/osf1_syscall.h#6 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/osf1_sysent.c#6 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/syscalls.master#6 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/vm_machdep.c#18 integrate .. //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#24 integrate .. //depot/projects/netperf_socket/sys/amd64/include/atomic.h#3 integrate .. //depot/projects/netperf_socket/sys/amd64/isa/clock.c#11 integrate .. //depot/projects/netperf_socket/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/netperf_socket/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/netperf_socket/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/netperf_socket/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/netperf_socket/sys/arm/arm/vm_machdep.c#12 integrate .. //depot/projects/netperf_socket/sys/arm/include/atomic.h#7 integrate .. //depot/projects/netperf_socket/sys/boot/ficl/Makefile#7 integrate .. //depot/projects/netperf_socket/sys/boot/i386/Makefile.inc#4 integrate .. //depot/projects/netperf_socket/sys/boot/i386/boot2/Makefile#6 integrate .. //depot/projects/netperf_socket/sys/boot/i386/libi386/Makefile#4 integrate .. //depot/projects/netperf_socket/sys/boot/i386/libi386/libi386.h#5 integrate .. //depot/projects/netperf_socket/sys/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/netperf_socket/sys/boot/i386/loader/main.c#5 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_misc.c#14 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_proto.h#14 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_syscall.h#14 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_syscalls.c#14 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_sysent.c#14 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/syscalls.master#13 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_getcwd.c#5 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_misc.c#13 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_socket.c#10 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#23 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4.h#3 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_ipc.c#3 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_misc.c#8 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_proto.h#5 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_socket.c#4 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_stream.c#8 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_syscall.h#5 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_syscallnames.c#5 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/svr4_sysent.c#5 integrate .. //depot/projects/netperf_socket/sys/compat/svr4/syscalls.master#5 integrate .. //depot/projects/netperf_socket/sys/conf/NOTES#53 integrate .. //depot/projects/netperf_socket/sys/conf/files#65 integrate .. //depot/projects/netperf_socket/sys/conf/files.amd64#24 integrate .. //depot/projects/netperf_socket/sys/conf/kern.mk#7 integrate .. //depot/projects/netperf_socket/sys/conf/newvers.sh#8 integrate .. //depot/projects/netperf_socket/sys/conf/options#40 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/if_pfsync.c#16 integrate .. //depot/projects/netperf_socket/sys/dev/aac/aac_pci.c#13 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_thermal.c#16 integrate .. //depot/projects/netperf_socket/sys/dev/advansys/adv_isa.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#15 integrate .. //depot/projects/netperf_socket/sys/dev/ath/if_athvar.h#8 integrate .. //depot/projects/netperf_socket/sys/dev/auxio/auxio.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/cnw/if_cnw.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/cp/if_cp.c#15 integrate .. //depot/projects/netperf_socket/sys/dev/ctau/if_ct.c#17 integrate .. //depot/projects/netperf_socket/sys/dev/cx/if_cx.c#23 integrate .. //depot/projects/netperf_socket/sys/dev/ed/if_ed_pccard.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/em/README#3 integrate .. //depot/projects/netperf_socket/sys/dev/ep/if_epvar.h#4 integrate .. //depot/projects/netperf_socket/sys/dev/ex/if_ex_pccard.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/fb/creator.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/fb/machfb.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwohci_pci.c#13 integrate .. //depot/projects/netperf_socket/sys/dev/hatm/if_hatm_intr.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/hme/if_hme_pci.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/hwpmc/hwpmc_amd.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/hwpmc/hwpmc_mod.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/hwpmc/hwpmc_piv.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/hwpmc/hwpmc_ppro.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/iwi/if_iwi.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/kbd/kbd.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/kbd/kbdreg.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/kbdmux/kbdmux.c#1 branch .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/fc_log.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_cnfg.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_fc.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_init.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_ioc.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_lan.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_raid.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_targ.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpilib/mpi_type.h#5 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpt.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpt.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_cam.c#1 branch .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_cam.h#1 branch .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_debug.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_freebsd.c#5 delete .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_freebsd.h#4 delete .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_pci.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_raid.c#1 branch .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_raid.h#1 branch .. //depot/projects/netperf_socket/sys/dev/mpt/mpt_reg.h#1 branch .. //depot/projects/netperf_socket/sys/dev/pccard/pccard.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/pccard/pccard_cis.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/pccard/pccard_cis.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/pccard/pccarddevs#10 integrate .. //depot/projects/netperf_socket/sys/dev/pccard/pccardvar.h#6 integrate .. //depot/projects/netperf_socket/sys/dev/pccbb/pccbb.c#15 integrate .. //depot/projects/netperf_socket/sys/dev/pccbb/pccbb_pci.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/pccbb/pccbbreg.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/pccbb/pccbbvar.h#5 integrate .. //depot/projects/netperf_socket/sys/dev/ral/if_ral.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/sbsh/if_sbsh.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/sn/if_sn.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/sn/if_sn_isa.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/sn/if_sn_pccard.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sn/if_snvar.h#4 integrate .. //depot/projects/netperf_socket/sys/dev/sn/ositech.h#1 branch .. //depot/projects/netperf_socket/sys/dev/sound/isa/mss.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#18 integrate .. //depot/projects/netperf_socket/sys/dev/usb/if_ural.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/usb/if_uralvar.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/usb/sl811hs.c#1 branch .. //depot/projects/netperf_socket/sys/dev/usb/sl811hsreg.h#1 branch .. //depot/projects/netperf_socket/sys/dev/usb/sl811hsvar.h#1 branch .. //depot/projects/netperf_socket/sys/dev/usb/slhci_pccard.c#1 branch .. //depot/projects/netperf_socket/sys/dev/usb/ulpt.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/usb/umass.c#17 integrate .. //depot/projects/netperf_socket/sys/dev/usb/usb.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#34 integrate .. //depot/projects/netperf_socket/sys/dev/wi/if_wi_pccard.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/xe/if_xe.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/xe/if_xe_pccard.c#8 integrate .. //depot/projects/netperf_socket/sys/fs/devfs/devfs_devs.c#8 integrate .. //depot/projects/netperf_socket/sys/fs/devfs/devfs_vnops.c#17 integrate .. //depot/projects/netperf_socket/sys/fs/msdosfs/msdosfs_conv.c#6 integrate .. //depot/projects/netperf_socket/sys/fs/pseudofs/pseudofs_vncache.c#8 integrate .. //depot/projects/netperf_socket/sys/fs/udf/udf_vnops.c#13 integrate .. //depot/projects/netperf_socket/sys/geom/concat/g_concat.c#18 integrate .. //depot/projects/netperf_socket/sys/geom/gate/g_gate.c#12 integrate .. //depot/projects/netperf_socket/sys/geom/gate/g_gate.h#3 integrate .. //depot/projects/netperf_socket/sys/geom/geom_mbr.c#10 integrate .. //depot/projects/netperf_socket/sys/geom/geom_pc98.c#8 integrate .. //depot/projects/netperf_socket/sys/geom/stripe/g_stripe.c#17 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_var.h#6 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_volume.c#8 integrate .. //depot/projects/netperf_socket/sys/gnu/fs/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/conf/GENERIC#21 integrate .. //depot/projects/netperf_socket/sys/i386/i386/exception.s#8 integrate .. //depot/projects/netperf_socket/sys/i386/i386/machdep.c#21 integrate .. //depot/projects/netperf_socket/sys/i386/i386/trap.c#11 integrate .. //depot/projects/netperf_socket/sys/i386/i386/vm_machdep.c#23 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_isc.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_isc_syscall.h#4 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_isc_sysent.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_misc.c#8 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_proto.h#6 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_syscall.h#6 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_sysent.c#7 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_sysi86.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_xenix.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_xenix.h#4 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_xenix_syscall.h#4 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_xenix_sysent.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/syscalls.isc#4 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/syscalls.master#6 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/syscalls.xenix#4 integrate .. //depot/projects/netperf_socket/sys/i386/include/atomic.h#6 integrate .. //depot/projects/netperf_socket/sys/i386/isa/clock.c#11 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_proto.h#10 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_syscall.h#10 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_sysent.c#10 integrate .. //depot/projects/netperf_socket/sys/i386/linux/syscalls.master#10 integrate .. //depot/projects/netperf_socket/sys/i386/pci/pci_pir.c#9 integrate .. //depot/projects/netperf_socket/sys/ia64/conf/GENERIC#13 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/machdep.c#19 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/vm_machdep.c#10 integrate .. //depot/projects/netperf_socket/sys/ia64/include/atomic.h#3 integrate .. //depot/projects/netperf_socket/sys/ia64/include/md_var.h#8 integrate .. //depot/projects/netperf_socket/sys/kern/Makefile#2 integrate .. //depot/projects/netperf_socket/sys/kern/init_sysent.c#20 integrate .. //depot/projects/netperf_socket/sys/kern/kern_conf.c#15 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exit.c#26 integrate .. //depot/projects/netperf_socket/sys/kern/kern_mac.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/kern_malloc.c#11 integrate .. //depot/projects/netperf_socket/sys/kern/kern_mbuf.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/kern_mutex.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thr.c#19 integrate .. //depot/projects/netperf_socket/sys/kern/sys_generic.c#11 integrate .. //depot/projects/netperf_socket/sys/kern/syscalls.c#20 integrate .. //depot/projects/netperf_socket/sys/kern/syscalls.master#20 integrate .. //depot/projects/netperf_socket/sys/kern/tty_pty.c#18 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_mbuf2.c#9 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_syscalls.c#34 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#35 integrate .. //depot/projects/netperf_socket/sys/modules/Makefile#30 integrate .. //depot/projects/netperf_socket/sys/modules/ed/Makefile#4 integrate .. //depot/projects/netperf_socket/sys/modules/ep/Makefile#5 integrate .. //depot/projects/netperf_socket/sys/modules/kbdmux/Makefile#1 branch .. //depot/projects/netperf_socket/sys/modules/mpt/Makefile#2 integrate .. //depot/projects/netperf_socket/sys/modules/slhci/Makefile#1 branch .. //depot/projects/netperf_socket/sys/modules/sound/sound/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/syscons/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/ukbd/Makefile#5 integrate .. //depot/projects/netperf_socket/sys/net/bpf.h#8 integrate .. //depot/projects/netperf_socket/sys/net/bridgestp.c#2 integrate .. //depot/projects/netperf_socket/sys/net/bsd_comp.c#4 integrate .. //depot/projects/netperf_socket/sys/net/if.c#31 integrate .. //depot/projects/netperf_socket/sys/net/if_atmsubr.c#5 integrate .. //depot/projects/netperf_socket/sys/net/if_bridge.c#2 integrate .. //depot/projects/netperf_socket/sys/net/if_bridgevar.h#2 integrate .. //depot/projects/netperf_socket/sys/net/if_ppp.c#12 integrate .. //depot/projects/netperf_socket/sys/net/rtsock.c#20 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_crypto.c#5 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_crypto_ccmp.c#3 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_input.c#8 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_ioctl.c#9 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_ioctl.h#5 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_node.c#11 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_node.h#8 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_output.c#8 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_var.h#8 integrate .. //depot/projects/netperf_socket/sys/netatalk/ddp_output.c#7 integrate .. //depot/projects/netperf_socket/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#12 integrate .. //depot/projects/netperf_socket/sys/netgraph/netflow/ng_netflow.c#5 integrate .. //depot/projects/netperf_socket/sys/netgraph/netgraph.h#14 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_base.c#19 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_pppoe.c#11 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_socket.c#12 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_socketvar.h#3 integrate .. //depot/projects/netperf_socket/sys/netinet/in_proto.c#10 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_output.c#26 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_input.c#30 integrate .. //depot/projects/netperf_socket/sys/netnatm/natm.c#9 integrate .. //depot/projects/netperf_socket/sys/netnatm/natm.h#3 integrate .. //depot/projects/netperf_socket/sys/netnatm/natm_pcb.c#3 integrate .. //depot/projects/netperf_socket/sys/netnatm/natm_proto.c#3 integrate .. //depot/projects/netperf_socket/sys/nfs/nfs_common.c#5 integrate .. //depot/projects/netperf_socket/sys/nfs/nfs_common.h#5 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_socket.c#16 integrate .. //depot/projects/netperf_socket/sys/pc98/cbus/clock.c#3 integrate .. //depot/projects/netperf_socket/sys/pc98/conf/GENERIC#22 integrate .. //depot/projects/netperf_socket/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/pci/if_ste.c#21 integrate .. //depot/projects/netperf_socket/sys/pci/if_ti.c#14 integrate .. //depot/projects/netperf_socket/sys/pci/if_xl.c#17 integrate .. //depot/projects/netperf_socket/sys/powerpc/conf/GENERIC#14 integrate .. //depot/projects/netperf_socket/sys/powerpc/include/atomic.h#4 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/busdma_machdep.c#7 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/vm_machdep.c#13 integrate .. //depot/projects/netperf_socket/sys/security/mac/mac_net.c#6 integrate .. //depot/projects/netperf_socket/sys/security/mac/mac_socket.c#4 integrate .. //depot/projects/netperf_socket/sys/security/mac/mac_vfs.c#6 integrate .. //depot/projects/netperf_socket/sys/security/mac_biba/mac_biba.c#11 integrate .. //depot/projects/netperf_socket/sys/security/mac_lomac/mac_lomac.c#8 integrate .. //depot/projects/netperf_socket/sys/security/mac_mls/mac_mls.c#10 integrate .. //depot/projects/netperf_socket/sys/security/mac_stub/mac_stub.c#8 integrate .. //depot/projects/netperf_socket/sys/security/mac_test/mac_test.c#11 integrate .. //depot/projects/netperf_socket/sys/sparc64/conf/GENERIC#22 integrate .. //depot/projects/netperf_socket/sys/sparc64/creator/creator.h#5 integrate .. //depot/projects/netperf_socket/sys/sparc64/creator/creator_upa.c#8 integrate .. //depot/projects/netperf_socket/sys/sparc64/include/atomic.h#3 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/vm_machdep.c#14 integrate .. //depot/projects/netperf_socket/sys/sys/cdefs.h#10 integrate .. //depot/projects/netperf_socket/sys/sys/conf.h#16 integrate .. //depot/projects/netperf_socket/sys/sys/kbio.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/mac.h#8 integrate .. //depot/projects/netperf_socket/sys/sys/mac_policy.h#11 integrate .. //depot/projects/netperf_socket/sys/sys/malloc.h#6 integrate .. //depot/projects/netperf_socket/sys/sys/mbuf.h#24 integrate .. //depot/projects/netperf_socket/sys/sys/mutex.h#12 integrate .. //depot/projects/netperf_socket/sys/sys/param.h#38 integrate .. //depot/projects/netperf_socket/sys/sys/pmc.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/proc.h#36 integrate .. //depot/projects/netperf_socket/sys/sys/socketvar.h#27 integrate .. //depot/projects/netperf_socket/sys/sys/syscall.h#19 integrate .. //depot/projects/netperf_socket/sys/sys/syscall.mk#19 integrate .. //depot/projects/netperf_socket/sys/sys/syscallsubr.h#8 integrate .. //depot/projects/netperf_socket/sys/sys/sysproto.h#19 integrate .. //depot/projects/netperf_socket/sys/sys/uio.h#8 integrate .. //depot/projects/netperf_socket/sys/vm/uma.h#7 integrate .. //depot/projects/netperf_socket/sys/vm/uma_core.c#20 integrate .. //depot/projects/netperf_socket/sys/vm/uma_dbg.c#8 integrate .. //depot/projects/netperf_socket/sys/vm/uma_dbg.h#5 integrate .. //depot/projects/netperf_socket/sys/vm/uma_int.h#9 integrate .. //depot/projects/netperf_socket/sys/vm/vm_fault.c#16 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/vm_machdep.c#10 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.109 2005/04/23 02:32:30 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.110 2005/07/10 23:31:09 davidxu Exp $"); #include #include @@ -360,7 +360,7 @@ tf->tf_regs[FRAME_FLAGS] = 0; /* full restore */ } -void +int cpu_set_user_tls(struct thread *td, void *tls_base) { @@ -368,6 +368,7 @@ td->td_pcb->pcb_hw.apcb_unique = (unsigned long)tls_base; else alpha_pal_wrunique((uintptr_t)tls_base); + return (0); } /* ==== //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#18 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.186 2005/06/06 10:53:10 wilko Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.187 2005/07/14 15:39:04 kensmith Exp $ machine alpha cpu EV4 @@ -63,6 +63,7 @@ options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 +options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory ==== //depot/projects/netperf_socket/sys/alpha/include/atomic.h#4 (text+ko) ==== @@ -23,11 +23,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/atomic.h,v 1.20 2005/03/02 21:33:20 joerg Exp $ + * $FreeBSD: src/sys/alpha/include/atomic.h,v 1.22 2005/07/15 18:17:57 jhb Exp $ */ #ifndef _MACHINE_ATOMIC_H_ -#define _MACHINE_ATOMIC_H_ +#define _MACHINE_ATOMIC_H_ #ifndef _SYS_CDEFS_H_ #error this file needs sys/cdefs.h as a prerequisite @@ -216,29 +216,7 @@ return result; } -#define atomic_set_char atomic_set_8 -#define atomic_clear_char atomic_clear_8 -#define atomic_add_char atomic_add_8 -#define atomic_subtract_char atomic_subtract_8 - -#define atomic_set_short atomic_set_16 -#define atomic_clear_short atomic_clear_16 -#define atomic_add_short atomic_add_16 -#define atomic_subtract_short atomic_subtract_16 - -#define atomic_set_int atomic_set_32 -#define atomic_clear_int atomic_clear_32 -#define atomic_add_int atomic_add_32 -#define atomic_subtract_int atomic_subtract_32 -#define atomic_readandclear_int atomic_readandclear_32 - -#define atomic_set_long atomic_set_64 -#define atomic_clear_long atomic_clear_64 -#define atomic_add_long atomic_add_64 -#define atomic_subtract_long atomic_subtract_64 -#define atomic_readandclear_long atomic_readandclear_64 - -#define ATOMIC_ACQ_REL(NAME, WIDTH, TYPE) \ +#define ATOMIC_ACQ_REL(NAME, WIDTH) \ static __inline void \ atomic_##NAME##_acq_##WIDTH(volatile u_int##WIDTH##_t *p, u_int##WIDTH##_t v)\ { \ @@ -251,49 +229,36 @@ { \ alpha_mb(); \ atomic_##NAME##_##WIDTH(p, v); \ -} \ - \ -static __inline void \ -atomic_##NAME##_acq_##TYPE(volatile u_int##WIDTH##_t *p, u_int##WIDTH##_t v)\ -{ \ - atomic_##NAME##_##WIDTH(p, v); \ - alpha_mb(); \ -} \ - \ -static __inline void \ -atomic_##NAME##_rel_##TYPE(volatile u_int##WIDTH##_t *p, u_int##WIDTH##_t v)\ -{ \ - alpha_mb(); \ - atomic_##NAME##_##WIDTH(p, v); \ } -ATOMIC_ACQ_REL(set, 8, char) -ATOMIC_ACQ_REL(clear, 8, char) -ATOMIC_ACQ_REL(add, 8, char) -ATOMIC_ACQ_REL(subtract, 8, char) -ATOMIC_ACQ_REL(set, 16, short) -ATOMIC_ACQ_REL(clear, 16, short) -ATOMIC_ACQ_REL(add, 16, short) -ATOMIC_ACQ_REL(subtract, 16, short) -ATOMIC_ACQ_REL(set, 32, int) -ATOMIC_ACQ_REL(clear, 32, int) -ATOMIC_ACQ_REL(add, 32, int) -ATOMIC_ACQ_REL(subtract, 32, int) -ATOMIC_ACQ_REL(set, 64, long) -ATOMIC_ACQ_REL(clear, 64, long) -ATOMIC_ACQ_REL(add, 64, long) -ATOMIC_ACQ_REL(subtract, 64, long) +/* Variants of simple arithmetic with memory barriers. */ +ATOMIC_ACQ_REL(set, 8) +ATOMIC_ACQ_REL(clear, 8) +ATOMIC_ACQ_REL(add, 8) +ATOMIC_ACQ_REL(subtract, 8) +ATOMIC_ACQ_REL(set, 16) +ATOMIC_ACQ_REL(clear, 16) +ATOMIC_ACQ_REL(add, 16) +ATOMIC_ACQ_REL(subtract, 16) +ATOMIC_ACQ_REL(set, 32) +ATOMIC_ACQ_REL(clear, 32) +ATOMIC_ACQ_REL(add, 32) +ATOMIC_ACQ_REL(subtract, 32) +ATOMIC_ACQ_REL(set, 64) +ATOMIC_ACQ_REL(clear, 64) +ATOMIC_ACQ_REL(add, 64) +ATOMIC_ACQ_REL(subtract, 64) #undef ATOMIC_ACQ_REL /* * We assume that a = b will do atomic loads and stores. */ -#define ATOMIC_STORE_LOAD(TYPE, WIDTH) \ -static __inline u_##TYPE \ -atomic_load_acq_##WIDTH(volatile u_##TYPE *p) \ +#define ATOMIC_STORE_LOAD(WIDTH) \ +static __inline u_int##WIDTH##_t \ +atomic_load_acq_##WIDTH(volatile u_int##WIDTH##_t *p) \ { \ - u_##TYPE v; \ + u_int##WIDTH##_t v; \ \ v = *p; \ alpha_mb(); \ @@ -301,32 +266,14 @@ } \ \ static __inline void \ -atomic_store_rel_##WIDTH(volatile u_##TYPE *p, u_##TYPE v)\ +atomic_store_rel_##WIDTH(volatile u_int##WIDTH##_t *p, u_int##WIDTH##_t v)\ { \ alpha_mb(); \ *p = v; \ -} \ -static __inline u_##TYPE \ -atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ -{ \ - u_##TYPE v; \ - \ - v = *p; \ - alpha_mb(); \ - return (v); \ -} \ - \ -static __inline void \ -atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ -{ \ - alpha_mb(); \ - *p = v; \ } -ATOMIC_STORE_LOAD(char, 8) -ATOMIC_STORE_LOAD(short, 16) -ATOMIC_STORE_LOAD(int, 32) -ATOMIC_STORE_LOAD(long, 64) +ATOMIC_STORE_LOAD(32) +ATOMIC_STORE_LOAD(64) #undef ATOMIC_STORE_LOAD @@ -384,17 +331,6 @@ return ret; } -#define atomic_cmpset_int atomic_cmpset_32 -#define atomic_cmpset_long atomic_cmpset_64 - -static __inline int -atomic_cmpset_ptr(volatile void *dst, void *exp, void *src) -{ - - return (atomic_cmpset_long((volatile u_long *)dst, (u_long)exp, - (u_long)src)); -} - static __inline u_int32_t atomic_cmpset_acq_32(volatile u_int32_t *p, u_int32_t cmpval, u_int32_t newval) { @@ -429,63 +365,92 @@ return (atomic_cmpset_64(p, cmpval, newval)); } +/* Operations on chars. */ +#define atomic_set_char atomic_set_8 +#define atomic_set_acq_char atomic_set_acq_8 +#define atomic_set_rel_char atomic_set_rel_8 +#define atomic_clear_char atomic_clear_8 +#define atomic_clear_acq_char atomic_clear_acq_8 +#define atomic_clear_rel_char atomic_clear_rel_8 +#define atomic_add_char atomic_add_8 +#define atomic_add_acq_char atomic_add_acq_8 +#define atomic_add_rel_char atomic_add_rel_8 +#define atomic_subtract_char atomic_subtract_8 +#define atomic_subtract_acq_char atomic_subtract_acq_8 +#define atomic_subtract_rel_char atomic_subtract_rel_8 + +/* Operations on shorts. */ +#define atomic_set_short atomic_set_16 +#define atomic_set_acq_short atomic_set_acq_16 +#define atomic_set_rel_short atomic_set_rel_16 +#define atomic_clear_short atomic_clear_16 +#define atomic_clear_acq_short atomic_clear_acq_16 +#define atomic_clear_rel_short atomic_clear_rel_16 +#define atomic_add_short atomic_add_16 +#define atomic_add_acq_short atomic_add_acq_16 +#define atomic_add_rel_short atomic_add_rel_16 +#define atomic_subtract_short atomic_subtract_16 +#define atomic_subtract_acq_short atomic_subtract_acq_16 +#define atomic_subtract_rel_short atomic_subtract_rel_16 + +/* Operations on ints. */ +#define atomic_set_int atomic_set_32 +#define atomic_set_acq_int atomic_set_acq_32 +#define atomic_set_rel_int atomic_set_rel_32 +#define atomic_clear_int atomic_clear_32 +#define atomic_clear_acq_int atomic_clear_acq_32 +#define atomic_clear_rel_int atomic_clear_rel_32 +#define atomic_add_int atomic_add_32 +#define atomic_add_acq_int atomic_add_acq_32 +#define atomic_add_rel_int atomic_add_rel_32 +#define atomic_subtract_int atomic_subtract_32 +#define atomic_subtract_acq_int atomic_subtract_acq_32 +#define atomic_subtract_rel_int atomic_subtract_rel_32 +#define atomic_cmpset_int atomic_cmpset_32 #define atomic_cmpset_acq_int atomic_cmpset_acq_32 #define atomic_cmpset_rel_int atomic_cmpset_rel_32 +#define atomic_load_acq_int atomic_load_acq_32 +#define atomic_store_rel_int atomic_store_rel_32 +#define atomic_readandclear_int atomic_readandclear_32 + +/* Operations on longs. */ +#define atomic_set_long atomic_set_64 +#define atomic_set_acq_long atomic_set_acq_64 +#define atomic_set_rel_long atomic_set_rel_64 +#define atomic_clear_long atomic_clear_64 +#define atomic_clear_acq_long atomic_clear_acq_64 +#define atomic_clear_rel_long atomic_clear_rel_64 +#define atomic_add_long atomic_add_64 +#define atomic_add_acq_long atomic_add_acq_64 +#define atomic_add_rel_long atomic_add_rel_64 +#define atomic_subtract_long atomic_subtract_64 +#define atomic_subtract_acq_long atomic_subtract_acq_64 +#define atomic_subtract_rel_long atomic_subtract_rel_64 +#define atomic_cmpset_long atomic_cmpset_64 #define atomic_cmpset_acq_long atomic_cmpset_acq_64 #define atomic_cmpset_rel_long atomic_cmpset_rel_64 +#define atomic_load_acq_long atomic_load_acq_64 +#define atomic_store_rel_long atomic_store_rel_64 +#define atomic_readandclear_long atomic_readandclear_64 -static __inline int -atomic_cmpset_acq_ptr(volatile void *dst, void *exp, void *src) -{ - - return (atomic_cmpset_acq_long((volatile u_long *)dst, (u_long)exp, - (u_long)src)); -} - -static __inline int -atomic_cmpset_rel_ptr(volatile void *dst, void *exp, void *src) -{ - - return (atomic_cmpset_rel_long((volatile u_long *)dst, (u_long)exp, - (u_long)src)); -} - -static __inline void * -atomic_load_acq_ptr(volatile void *p) -{ - return (void *)atomic_load_acq_long((volatile u_long *)p); -} - -static __inline void -atomic_store_rel_ptr(volatile void *p, void *v) -{ - atomic_store_rel_long((volatile u_long *)p, (u_long)v); -} - -#define ATOMIC_PTR(NAME) \ -static __inline void \ -atomic_##NAME##_ptr(volatile void *p, uintptr_t v) \ -{ \ - atomic_##NAME##_long((volatile u_long *)p, v); \ -} \ - \ -static __inline void \ -atomic_##NAME##_acq_ptr(volatile void *p, uintptr_t v) \ -{ \ - atomic_##NAME##_acq_long((volatile u_long *)p, v);\ -} \ - \ -static __inline void \ -atomic_##NAME##_rel_ptr(volatile void *p, uintptr_t v) \ -{ \ - atomic_##NAME##_rel_long((volatile u_long *)p, v);\ -} - -ATOMIC_PTR(set) -ATOMIC_PTR(clear) -ATOMIC_PTR(add) -ATOMIC_PTR(subtract) - -#undef ATOMIC_PTR +/* Operations on pointers. */ +#define atomic_set_ptr atomic_set_64 +#define atomic_set_acq_ptr atomic_set_acq_64 +#define atomic_set_rel_ptr atomic_set_rel_64 +#define atomic_clear_ptr atomic_clear_64 +#define atomic_clear_acq_ptr atomic_clear_acq_64 +#define atomic_clear_rel_ptr atomic_clear_rel_64 +#define atomic_add_ptr atomic_add_64 +#define atomic_add_acq_ptr atomic_add_acq_64 +#define atomic_add_rel_ptr atomic_add_rel_64 +#define atomic_subtract_ptr atomic_subtract_64 +#define atomic_subtract_acq_ptr atomic_subtract_acq_64 +#define atomic_subtract_rel_ptr atomic_subtract_rel_64 +#define atomic_cmpset_ptr atomic_cmpset_64 +#define atomic_cmpset_acq_ptr atomic_cmpset_acq_64 +#define atomic_cmpset_rel_ptr atomic_cmpset_rel_64 +#define atomic_load_acq_ptr atomic_load_acq_64 +#define atomic_store_rel_ptr atomic_store_rel_64 +#define atomic_readandclear_ptr atomic_readandclear_64 #endif /* ! _MACHINE_ATOMIC_H_ */ ==== //depot/projects/netperf_socket/sys/alpha/linux/linux_proto.h#10 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/alpha/linux/linux_proto.h,v 1.22 2005/06/08 20:47:30 sobomax Exp $ - * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.63 2005/06/08 20:41:27 sobomax Exp + * $FreeBSD: src/sys/alpha/linux/linux_proto.h,v 1.23 2005/07/13 20:35:07 jhb Exp $ + * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.64 2005/07/13 20:32:41 jhb Exp */ #ifndef _LINUX_SYSPROTO_H_ ==== //depot/projects/netperf_socket/sys/alpha/linux/linux_syscall.h#10 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/alpha/linux/linux_syscall.h,v 1.20 2005/06/08 20:47:30 sobomax Exp $ - * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.63 2005/06/08 20:41:27 sobomax Exp + * $FreeBSD: src/sys/alpha/linux/linux_syscall.h,v 1.21 2005/07/13 20:35:07 jhb Exp $ + * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.64 2005/07/13 20:32:41 jhb Exp */ #define LINUX_SYS_exit 1 ==== //depot/projects/netperf_socket/sys/alpha/linux/linux_sysent.c#10 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/alpha/linux/linux_sysent.c,v 1.20 2005/06/08 20:47:30 sobomax Exp $ - * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.63 2005/06/08 20:41:27 sobomax Exp + * $FreeBSD: src/sys/alpha/linux/linux_sysent.c,v 1.21 2005/07/13 20:35:07 jhb Exp $ + * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.64 2005/07/13 20:32:41 jhb Exp */ #include @@ -29,18 +29,18 @@ { SYF_MPSAFE | AS(close_args), (sy_call_t *)close, AUE_NULL }, /* 6 = close */ { SYF_MPSAFE | AS(osf1_wait4_args), (sy_call_t *)osf1_wait4, AUE_NULL }, /* 7 = osf1_wait4 */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 8 = */ - { AS(linux_link_args), (sy_call_t *)linux_link, AUE_NULL }, /* 9 = linux_link */ - { AS(linux_unlink_args), (sy_call_t *)linux_unlink, AUE_NULL }, /* 10 = linux_unlink */ + { SYF_MPSAFE | AS(linux_link_args), (sy_call_t *)linux_link, AUE_NULL }, /* 9 = linux_link */ + { SYF_MPSAFE | AS(linux_unlink_args), (sy_call_t *)linux_unlink, AUE_NULL }, /* 10 = linux_unlink */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 11 = */ - { AS(linux_chdir_args), (sy_call_t *)linux_chdir, AUE_NULL }, /* 12 = linux_chdir */ - { AS(fchdir_args), (sy_call_t *)fchdir, AUE_NULL }, /* 13 = fchdir */ - { AS(linux_mknod_args), (sy_call_t *)linux_mknod, AUE_NULL }, /* 14 = linux_mknod */ - { AS(linux_chmod_args), (sy_call_t *)linux_chmod, AUE_NULL }, /* 15 = linux_chmod */ - { AS(linux_chown_args), (sy_call_t *)linux_chown, AUE_NULL }, /* 16 = linux_chown */ + { SYF_MPSAFE | AS(linux_chdir_args), (sy_call_t *)linux_chdir, AUE_NULL }, /* 12 = linux_chdir */ + { SYF_MPSAFE | AS(fchdir_args), (sy_call_t *)fchdir, AUE_NULL }, /* 13 = fchdir */ + { SYF_MPSAFE | AS(linux_mknod_args), (sy_call_t *)linux_mknod, AUE_NULL }, /* 14 = linux_mknod */ + { SYF_MPSAFE | AS(linux_chmod_args), (sy_call_t *)linux_chmod, AUE_NULL }, /* 15 = linux_chmod */ + { SYF_MPSAFE | AS(linux_chown_args), (sy_call_t *)linux_chown, AUE_NULL }, /* 16 = linux_chown */ { AS(linux_brk_args), (sy_call_t *)linux_brk, AUE_NULL }, /* 17 = linux_brk */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 18 = */ - { AS(linux_lseek_args), (sy_call_t *)linux_lseek, AUE_NULL }, /* 19 = linux_lseek */ - { 0, (sy_call_t *)getpid, AUE_NULL }, /* 20 = getpid */ + { SYF_MPSAFE | AS(linux_lseek_args), (sy_call_t *)linux_lseek, AUE_NULL }, /* 19 = linux_lseek */ + { SYF_MPSAFE | 0, (sy_call_t *)getpid, AUE_NULL }, /* 20 = getpid */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 21 = osf1_mount */ { AS(linux_umount_args), (sy_call_t *)linux_umount, AUE_NULL }, /* 22 = linux_umount */ { SYF_MPSAFE | AS(setuid_args), (sy_call_t *)setuid, AUE_NULL }, /* 23 = setuid */ @@ -53,10 +53,10 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 30 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 31 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 32 = */ - { AS(linux_access_args), (sy_call_t *)linux_access, AUE_NULL }, /* 33 = linux_access */ + { SYF_MPSAFE | AS(linux_access_args), (sy_call_t *)linux_access, AUE_NULL }, /* 33 = linux_access */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 34 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 35 = */ - { 0, (sy_call_t *)sync, AUE_NULL }, /* 36 = sync */ + { SYF_MPSAFE | 0, (sy_call_t *)sync, AUE_NULL }, /* 36 = sync */ { SYF_MPSAFE | AS(linux_kill_args), (sy_call_t *)linux_kill, AUE_NULL }, /* 37 = linux_kill */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 38 = */ { SYF_MPSAFE | AS(setpgid_args), (sy_call_t *)setpgid, AUE_NULL }, /* 39 = setpgid */ @@ -65,112 +65,112 @@ { SYF_MPSAFE | 0, (sy_call_t *)pipe, AUE_NULL }, /* 42 = pipe */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 43 = osf_set_program_attributes */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 44 = */ - { AS(linux_open_args), (sy_call_t *)linux_open, AUE_NULL }, /* 45 = linux_open */ + { SYF_MPSAFE | AS(linux_open_args), (sy_call_t *)linux_open, AUE_NULL }, /* 45 = linux_open */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 46 = */ { SYF_MPSAFE | 0, (sy_call_t *)getgid, AUE_NULL }, /* 47 = getgid */ { SYF_MPSAFE | AS(osf1_sigprocmask_args), (sy_call_t *)osf1_sigprocmask, AUE_NULL }, /* 48 = osf1_sigprocmask */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 49 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 50 = */ - { AS(acct_args), (sy_call_t *)acct, AUE_NULL }, /* 51 = acct */ + { SYF_MPSAFE | AS(acct_args), (sy_call_t *)acct, AUE_NULL }, /* 51 = acct */ { SYF_MPSAFE | 0, (sy_call_t *)linux_sigpending, AUE_NULL }, /* 52 = linux_sigpending */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 53 = */ { AS(linux_ioctl_args), (sy_call_t *)linux_ioctl, AUE_NULL }, /* 54 = linux_ioctl */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 55 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 56 = */ - { AS(linux_symlink_args), (sy_call_t *)linux_symlink, AUE_NULL }, /* 57 = linux_symlink */ - { AS(linux_readlink_args), (sy_call_t *)linux_readlink, AUE_NULL }, /* 58 = linux_readlink */ - { AS(linux_execve_args), (sy_call_t *)linux_execve, AUE_NULL }, /* 59 = linux_execve */ + { SYF_MPSAFE | AS(linux_symlink_args), (sy_call_t *)linux_symlink, AUE_NULL }, /* 57 = linux_symlink */ + { SYF_MPSAFE | AS(linux_readlink_args), (sy_call_t *)linux_readlink, AUE_NULL }, /* 58 = linux_readlink */ + { SYF_MPSAFE | AS(linux_execve_args), (sy_call_t *)linux_execve, AUE_NULL }, /* 59 = linux_execve */ { SYF_MPSAFE | AS(umask_args), (sy_call_t *)umask, AUE_NULL }, /* 60 = umask */ - { AS(chroot_args), (sy_call_t *)chroot, AUE_NULL }, /* 61 = chroot */ + { SYF_MPSAFE | AS(chroot_args), (sy_call_t *)chroot, AUE_NULL }, /* 61 = chroot */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 62 = */ { SYF_MPSAFE | 0, (sy_call_t *)getpgrp, AUE_NULL }, /* 63 = getpgrp */ - { 0, (sy_call_t *)linux_getpagesize, AUE_NULL }, /* 64 = linux_getpagesize */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_getpagesize, AUE_NULL }, /* 64 = linux_getpagesize */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 65 = */ { SYF_MPSAFE | 0, (sy_call_t *)linux_vfork, AUE_NULL }, /* 66 = linux_vfork */ - { AS(linux_newstat_args), (sy_call_t *)linux_newstat, AUE_NULL }, /* 67 = linux_newstat */ - { AS(linux_newlstat_args), (sy_call_t *)linux_newlstat, AUE_NULL }, /* 68 = linux_newlstat */ + { SYF_MPSAFE | AS(linux_newstat_args), (sy_call_t *)linux_newstat, AUE_NULL }, /* 67 = linux_newstat */ + { SYF_MPSAFE | AS(linux_newlstat_args), (sy_call_t *)linux_newlstat, AUE_NULL }, /* 68 = linux_newlstat */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 69 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 70 = */ - { AS(linux_mmap_args), (sy_call_t *)linux_mmap, AUE_NULL }, /* 71 = linux_mmap */ + { SYF_MPSAFE | AS(linux_mmap_args), (sy_call_t *)linux_mmap, AUE_NULL }, /* 71 = linux_mmap */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 72 = */ - { AS(linux_munmap_args), (sy_call_t *)linux_munmap, AUE_NULL }, /* 73 = linux_munmap */ - { AS(linux_mprotect_args), (sy_call_t *)linux_mprotect, AUE_NULL }, /* 74 = linux_mprotect */ + { SYF_MPSAFE | AS(linux_munmap_args), (sy_call_t *)linux_munmap, AUE_NULL }, /* 73 = linux_munmap */ + { SYF_MPSAFE | AS(linux_mprotect_args), (sy_call_t *)linux_mprotect, AUE_NULL }, /* 74 = linux_mprotect */ { SYF_MPSAFE | AS(madvise_args), (sy_call_t *)madvise, AUE_NULL }, /* 75 = madvise */ - { 0, (sy_call_t *)linux_vhangup, AUE_NULL }, /* 76 = linux_vhangup */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_vhangup, AUE_NULL }, /* 76 = linux_vhangup */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 77 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 78 = */ { SYF_MPSAFE | AS(linux_setgroups_args), (sy_call_t *)linux_setgroups, AUE_NULL }, /* 79 = linux_setgroups */ { SYF_MPSAFE | AS(linux_getgroups_args), (sy_call_t *)linux_getgroups, AUE_NULL }, /* 80 = linux_getgroups */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 81 = */ { SYF_MPSAFE | AS(setpgid_args), (sy_call_t *)setpgid, AUE_NULL }, /* 82 = setpgid */ - { AS(osf1_setitimer_args), (sy_call_t *)osf1_setitimer, AUE_NULL }, /* 83 = osf1_setitimer */ + { SYF_MPSAFE | AS(osf1_setitimer_args), (sy_call_t *)osf1_setitimer, AUE_NULL }, /* 83 = osf1_setitimer */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 84 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 85 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 86 = osf_getitimer */ - { 0, (sy_call_t *)linux_gethostname, AUE_NULL }, /* 87 = linux_gethostname */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_gethostname, AUE_NULL }, /* 87 = linux_gethostname */ { SYF_MPSAFE | AS(sethostname_args), (sy_call_t *)osethostname, AUE_NULL }, /* 88 = osethostname */ - { 0, (sy_call_t *)linux_getdtablesize, AUE_NULL }, /* 89 = linux_getdtablesize */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_getdtablesize, AUE_NULL }, /* 89 = linux_getdtablesize */ { SYF_MPSAFE | AS(dup2_args), (sy_call_t *)dup2, AUE_NULL }, /* 90 = dup2 */ - { AS(linux_newfstat_args), (sy_call_t *)linux_newfstat, AUE_NULL }, /* 91 = linux_newfstat */ + { SYF_MPSAFE | AS(linux_newfstat_args), (sy_call_t *)linux_newfstat, AUE_NULL }, /* 91 = linux_newfstat */ { SYF_MPSAFE | AS(linux_fcntl_args), (sy_call_t *)linux_fcntl, AUE_NULL }, /* 92 = linux_fcntl */ - { AS(osf1_select_args), (sy_call_t *)osf1_select, AUE_NULL }, /* 93 = osf1_select */ - { AS(poll_args), (sy_call_t *)poll, AUE_NULL }, /* 94 = poll */ - { AS(fsync_args), (sy_call_t *)fsync, AUE_NULL }, /* 95 = fsync */ + { SYF_MPSAFE | AS(osf1_select_args), (sy_call_t *)osf1_select, AUE_NULL }, /* 93 = osf1_select */ + { SYF_MPSAFE | AS(poll_args), (sy_call_t *)poll, AUE_NULL }, /* 94 = poll */ + { SYF_MPSAFE | AS(fsync_args), (sy_call_t *)fsync, AUE_NULL }, /* 95 = fsync */ { SYF_MPSAFE | AS(setpriority_args), (sy_call_t *)setpriority, AUE_NULL }, /* 96 = setpriority */ - { AS(osf1_socket_args), (sy_call_t *)osf1_socket, AUE_NULL }, /* 97 = osf1_socket */ - { AS(linux_connect_args), (sy_call_t *)linux_connect, AUE_NULL }, /* 98 = linux_connect */ - { AS(accept_args), (sy_call_t *)oaccept, AUE_NULL }, /* 99 = accept */ + { SYF_MPSAFE | AS(osf1_socket_args), (sy_call_t *)osf1_socket, AUE_NULL }, /* 97 = osf1_socket */ + { SYF_MPSAFE | AS(linux_connect_args), (sy_call_t *)linux_connect, AUE_NULL }, /* 98 = linux_connect */ + { SYF_MPSAFE | AS(accept_args), (sy_call_t *)oaccept, AUE_NULL }, /* 99 = accept */ { SYF_MPSAFE | AS(linux_getpriority_args), (sy_call_t *)linux_getpriority, AUE_NULL }, /* 100 = linux_getpriority */ - { AS(osend_args), (sy_call_t *)osend, AUE_NULL }, /* 101 = osend */ - { AS(orecv_args), (sy_call_t *)orecv, AUE_NULL }, /* 102 = orecv */ + { SYF_MPSAFE | AS(osend_args), (sy_call_t *)osend, AUE_NULL }, /* 101 = osend */ + { SYF_MPSAFE | AS(orecv_args), (sy_call_t *)orecv, AUE_NULL }, /* 102 = orecv */ { SYF_MPSAFE | AS(osf1_sigreturn_args), (sy_call_t *)osf1_sigreturn, AUE_NULL }, /* 103 = osf1_sigreturn */ - { AS(bind_args), (sy_call_t *)bind, AUE_NULL }, /* 104 = bind */ - { AS(setsockopt_args), (sy_call_t *)setsockopt, AUE_NULL }, /* 105 = setsockopt */ - { AS(listen_args), (sy_call_t *)listen, AUE_NULL }, /* 106 = listen */ + { SYF_MPSAFE | AS(bind_args), (sy_call_t *)bind, AUE_NULL }, /* 104 = bind */ + { SYF_MPSAFE | AS(setsockopt_args), (sy_call_t *)setsockopt, AUE_NULL }, /* 105 = setsockopt */ + { SYF_MPSAFE | AS(listen_args), (sy_call_t *)listen, AUE_NULL }, /* 106 = listen */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 107 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 108 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 109 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 110 = */ { SYF_MPSAFE | AS(osf1_sigsuspend_args), (sy_call_t *)osf1_sigsuspend, AUE_NULL }, /* 111 = osf1_sigsuspend */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 112 = osf_sigstack */ - { 0, (sy_call_t *)linux_recvmsg, AUE_NULL }, /* 113 = linux_recvmsg */ - { 0, (sy_call_t *)linux_sendmsg, AUE_NULL }, /* 114 = linux_sendmsg */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_recvmsg, AUE_NULL }, /* 113 = linux_recvmsg */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_sendmsg, AUE_NULL }, /* 114 = linux_sendmsg */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 115 = */ { SYF_MPSAFE | AS(osf1_gettimeofday_args), (sy_call_t *)osf1_gettimeofday, AUE_NULL }, /* 116 = osf1_gettimeofday */ - { AS(osf1_getrusage_args), (sy_call_t *)osf1_getrusage, AUE_NULL }, /* 117 = osf1_getrusage */ - { AS(getsockopt_args), (sy_call_t *)getsockopt, AUE_NULL }, /* 118 = getsockopt */ + { SYF_MPSAFE | AS(osf1_getrusage_args), (sy_call_t *)osf1_getrusage, AUE_NULL }, /* 117 = osf1_getrusage */ + { SYF_MPSAFE | AS(getsockopt_args), (sy_call_t *)getsockopt, AUE_NULL }, /* 118 = getsockopt */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 119 = */ - { AS(readv_args), (sy_call_t *)readv, AUE_NULL }, /* 120 = readv */ - { AS(writev_args), (sy_call_t *)writev, AUE_NULL }, /* 121 = writev */ + { SYF_MPSAFE | AS(readv_args), (sy_call_t *)readv, AUE_NULL }, /* 120 = readv */ + { SYF_MPSAFE | AS(writev_args), (sy_call_t *)writev, AUE_NULL }, /* 121 = writev */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 122 = osf_settimeofday */ - { AS(fchown_args), (sy_call_t *)fchown, AUE_NULL }, /* 123 = fchown */ - { AS(fchmod_args), (sy_call_t *)fchmod, AUE_NULL }, /* 124 = fchmod */ - { AS(recvfrom_args), (sy_call_t *)orecvfrom, AUE_NULL }, /* 125 = recvfrom */ + { SYF_MPSAFE | AS(fchown_args), (sy_call_t *)fchown, AUE_NULL }, /* 123 = fchown */ + { SYF_MPSAFE | AS(fchmod_args), (sy_call_t *)fchmod, AUE_NULL }, /* 124 = fchmod */ + { SYF_MPSAFE | AS(recvfrom_args), (sy_call_t *)orecvfrom, AUE_NULL }, /* 125 = recvfrom */ { SYF_MPSAFE | AS(setreuid_args), (sy_call_t *)setreuid, AUE_NULL }, /* 126 = setreuid */ { SYF_MPSAFE | AS(setregid_args), (sy_call_t *)setregid, AUE_NULL }, /* 127 = setregid */ - { AS(linux_rename_args), (sy_call_t *)linux_rename, AUE_NULL }, /* 128 = linux_rename */ - { AS(linux_truncate_args), (sy_call_t *)linux_truncate, AUE_NULL }, /* 129 = linux_truncate */ - { AS(oftruncate_args), (sy_call_t *)oftruncate, AUE_NULL }, /* 130 = oftruncate */ - { AS(flock_args), (sy_call_t *)flock, AUE_NULL }, /* 131 = flock */ + { SYF_MPSAFE | AS(linux_rename_args), (sy_call_t *)linux_rename, AUE_NULL }, /* 128 = linux_rename */ + { SYF_MPSAFE | AS(linux_truncate_args), (sy_call_t *)linux_truncate, AUE_NULL }, /* 129 = linux_truncate */ + { SYF_MPSAFE | AS(oftruncate_args), (sy_call_t *)oftruncate, AUE_NULL }, /* 130 = oftruncate */ + { SYF_MPSAFE | AS(flock_args), (sy_call_t *)flock, AUE_NULL }, /* 131 = flock */ { SYF_MPSAFE | AS(setgid_args), (sy_call_t *)setgid, AUE_NULL }, /* 132 = setgid */ - { AS(osf1_sendto_args), (sy_call_t *)osf1_sendto, AUE_NULL }, /* 133 = osf1_sendto */ - { AS(shutdown_args), (sy_call_t *)shutdown, AUE_NULL }, /* 134 = shutdown */ - { 0, (sy_call_t *)linux_socketpair, AUE_NULL }, /* 135 = linux_socketpair */ - { AS(linux_mkdir_args), (sy_call_t *)linux_mkdir, AUE_NULL }, /* 136 = linux_mkdir */ - { AS(linux_rmdir_args), (sy_call_t *)linux_rmdir, AUE_NULL }, /* 137 = linux_rmdir */ - { AS(utimes_args), (sy_call_t *)utimes, AUE_NULL }, /* 138 = utimes */ + { SYF_MPSAFE | AS(osf1_sendto_args), (sy_call_t *)osf1_sendto, AUE_NULL }, /* 133 = osf1_sendto */ + { SYF_MPSAFE | AS(shutdown_args), (sy_call_t *)shutdown, AUE_NULL }, /* 134 = shutdown */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_socketpair, AUE_NULL }, /* 135 = linux_socketpair */ + { SYF_MPSAFE | AS(linux_mkdir_args), (sy_call_t *)linux_mkdir, AUE_NULL }, /* 136 = linux_mkdir */ + { SYF_MPSAFE | AS(linux_rmdir_args), (sy_call_t *)linux_rmdir, AUE_NULL }, /* 137 = linux_rmdir */ + { SYF_MPSAFE | AS(utimes_args), (sy_call_t *)utimes, AUE_NULL }, /* 138 = utimes */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 139 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 140 = */ - { AS(ogetpeername_args), (sy_call_t *)ogetpeername, AUE_NULL }, /* 141 = ogetpeername */ + { SYF_MPSAFE | AS(ogetpeername_args), (sy_call_t *)ogetpeername, AUE_NULL }, /* 141 = ogetpeername */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 142 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 143 = */ { SYF_MPSAFE | AS(linux_getrlimit_args), (sy_call_t *)linux_getrlimit, AUE_NULL }, /* 144 = linux_getrlimit */ { SYF_MPSAFE | AS(linux_setrlimit_args), (sy_call_t *)linux_setrlimit, AUE_NULL }, /* 145 = linux_setrlimit */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 146 = */ { SYF_MPSAFE | 0, (sy_call_t *)setsid, AUE_NULL }, /* 147 = setsid */ - { 0, (sy_call_t *)linux_quotactl, AUE_NULL }, /* 148 = linux_quotactl */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_quotactl, AUE_NULL }, /* 148 = linux_quotactl */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 149 = */ - { AS(getsockname_args), (sy_call_t *)ogetsockname, AUE_NULL }, /* 150 = getsockname */ + { SYF_MPSAFE | AS(getsockname_args), (sy_call_t *)ogetsockname, AUE_NULL }, /* 150 = getsockname */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 151 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 152 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 153 = */ @@ -220,24 +220,24 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 197 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 198 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 199 = osf_swapon */ - { AS(linux_msgctl_args), (sy_call_t *)linux_msgctl, AUE_NULL }, /* 200 = linux_msgctl */ - { AS(linux_msgget_args), (sy_call_t *)linux_msgget, AUE_NULL }, /* 201 = linux_msgget */ - { AS(linux_msgrcv_args), (sy_call_t *)linux_msgrcv, AUE_NULL }, /* 202 = linux_msgrcv */ - { AS(linux_msgsnd_args), (sy_call_t *)linux_msgsnd, AUE_NULL }, /* 203 = linux_msgsnd */ + { SYF_MPSAFE | AS(linux_msgctl_args), (sy_call_t *)linux_msgctl, AUE_NULL }, /* 200 = linux_msgctl */ + { SYF_MPSAFE | AS(linux_msgget_args), (sy_call_t *)linux_msgget, AUE_NULL }, /* 201 = linux_msgget */ + { SYF_MPSAFE | AS(linux_msgrcv_args), (sy_call_t *)linux_msgrcv, AUE_NULL }, /* 202 = linux_msgrcv */ + { SYF_MPSAFE | AS(linux_msgsnd_args), (sy_call_t *)linux_msgsnd, AUE_NULL }, /* 203 = linux_msgsnd */ { AS(linux_semctl_args), (sy_call_t *)linux_semctl, AUE_NULL }, /* 204 = linux_semctl */ - { AS(linux_semget_args), (sy_call_t *)linux_semget, AUE_NULL }, /* 205 = linux_semget */ - { AS(linux_semop_args), (sy_call_t *)linux_semop, AUE_NULL }, /* 206 = linux_semop */ + { SYF_MPSAFE | AS(linux_semget_args), (sy_call_t *)linux_semget, AUE_NULL }, /* 205 = linux_semget */ + { SYF_MPSAFE | AS(linux_semop_args), (sy_call_t *)linux_semop, AUE_NULL }, /* 206 = linux_semop */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 207 = osf_utsname */ - { AS(linux_lchown_args), (sy_call_t *)linux_lchown, AUE_NULL }, /* 208 = linux_lchown */ - { AS(linux_shmat_args), (sy_call_t *)linux_shmat, AUE_NULL }, /* 209 = linux_shmat */ - { AS(linux_shmctl_args), (sy_call_t *)linux_shmctl, AUE_NULL }, /* 210 = linux_shmctl */ - { AS(linux_shmdt_args), (sy_call_t *)linux_shmdt, AUE_NULL }, /* 211 = linux_shmdt */ - { AS(linux_shmget_args), (sy_call_t *)linux_shmget, AUE_NULL }, /* 212 = linux_shmget */ + { SYF_MPSAFE | AS(linux_lchown_args), (sy_call_t *)linux_lchown, AUE_NULL }, /* 208 = linux_lchown */ + { SYF_MPSAFE | AS(linux_shmat_args), (sy_call_t *)linux_shmat, AUE_NULL }, /* 209 = linux_shmat */ + { SYF_MPSAFE | AS(linux_shmctl_args), (sy_call_t *)linux_shmctl, AUE_NULL }, /* 210 = linux_shmctl */ + { SYF_MPSAFE | AS(linux_shmdt_args), (sy_call_t *)linux_shmdt, AUE_NULL }, /* 211 = linux_shmdt */ + { SYF_MPSAFE | AS(linux_shmget_args), (sy_call_t *)linux_shmget, AUE_NULL }, /* 212 = linux_shmget */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 213 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 214 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 215 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 216 = */ - { AS(linux_msync_args), (sy_call_t *)linux_msync, AUE_NULL }, /* 217 = linux_msync */ + { SYF_MPSAFE | AS(linux_msync_args), (sy_call_t *)linux_msync, AUE_NULL }, /* 217 = linux_msync */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 218 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 219 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 220 = */ @@ -255,7 +255,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 232 = */ { SYF_MPSAFE | AS(getpgid_args), (sy_call_t *)getpgid, AUE_NULL }, /* 233 = getpgid */ { SYF_MPSAFE | AS(linux_getsid_args), (sy_call_t *)linux_getsid, AUE_NULL }, /* 234 = linux_getsid */ - { 0, (sy_call_t *)linux_sigaltstack, AUE_NULL }, /* 235 = linux_sigaltstack */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_sigaltstack, AUE_NULL }, /* 235 = linux_sigaltstack */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 236 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 237 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 238 = */ @@ -274,10 +274,10 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 251 = osf_usleep_thread */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 252 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 253 = */ - { AS(linux_sysfs_args), (sy_call_t *)linux_sysfs, AUE_NULL }, /* 254 = linux_sysfs */ + { SYF_MPSAFE | AS(linux_sysfs_args), (sy_call_t *)linux_sysfs, AUE_NULL }, /* 254 = linux_sysfs */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 255 = */ - { AS(osf1_getsysinfo_args), (sy_call_t *)osf1_getsysinfo, AUE_NULL }, /* 256 = osf1_getsysinfo */ - { AS(osf1_setsysinfo_args), (sy_call_t *)osf1_setsysinfo, AUE_NULL }, /* 257 = osf1_setsysinfo */ + { SYF_MPSAFE | AS(osf1_getsysinfo_args), (sy_call_t *)osf1_getsysinfo, AUE_NULL }, /* 256 = osf1_getsysinfo */ + { SYF_MPSAFE | AS(osf1_setsysinfo_args), (sy_call_t *)osf1_setsysinfo, AUE_NULL }, /* 257 = osf1_setsysinfo */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 258 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 259 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 260 = */ @@ -320,36 +320,36 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 297 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 298 = */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 299 = */ - { 0, (sy_call_t *)linux_bdflush, AUE_NULL }, /* 300 = linux_bdflush */ - { 0, (sy_call_t *)linux_sethae, AUE_NULL }, /* 301 = linux_sethae */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_bdflush, AUE_NULL }, /* 300 = linux_bdflush */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_sethae, AUE_NULL }, /* 301 = linux_sethae */ { AS(linux_mount_args), (sy_call_t *)linux_mount, AUE_NULL }, /* 302 = linux_mount */ - { 0, (sy_call_t *)linux_old_adjtimex, AUE_NULL }, /* 303 = linux_old_adjtimex */ - { 0, (sy_call_t *)linux_swapoff, AUE_NULL }, /* 304 = linux_swapoff */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_old_adjtimex, AUE_NULL }, /* 303 = linux_old_adjtimex */ + { SYF_MPSAFE | 0, (sy_call_t *)linux_swapoff, AUE_NULL }, /* 304 = linux_swapoff */ { AS(linux_getdents_args), (sy_call_t *)linux_getdents, AUE_NULL }, /* 305 = linux_getdents */ - { 0, (sy_call_t *)linux_create_module, AUE_NULL }, /* 306 = linux_create_module */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 19 14:59:56 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7866216A421; Tue, 19 Jul 2005 14:59:55 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 4859516A41F for ; Tue, 19 Jul 2005 14:59:55 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 19E0043D45 for ; Tue, 19 Jul 2005 14:59:55 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JExtwZ059608 for ; Tue, 19 Jul 2005 14:59:55 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JExsks059605 for perforce@freebsd.org; Tue, 19 Jul 2005 14:59:54 GMT (envelope-from csjp@freebsd.org) Date: Tue, 19 Jul 2005 14:59:54 GMT Message-Id: <200507191459.j6JExsks059605@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 80527 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 14:59:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=80527 Change 80527 by csjp@csjp_xor on 2005/07/19 14:59:24 Document -r option Affected files ... .. //depot/projects/trustedbsd/mac/usr.sbin/getfhash/setfhash.8#4 edit Differences ... ==== //depot/projects/trustedbsd/mac/usr.sbin/getfhash/setfhash.8#4 (text+ko) ==== @@ -32,6 +32,7 @@ .Nd "set checksum hash on system objects" .Sh SYNOPSIS .Nm +.Op Fl r .Op Fl m .Op dependency .Ar file @@ -57,6 +58,8 @@ colon when entered. It should be noted that dependency pathnames will be looked up relative to the calling process's root. +.It Fl r +Remove any dependencies associated with a filesystem object. .El .Sh EXAMPLES To set the hash on From owner-p4-projects@FreeBSD.ORG Tue Jul 19 15:00:57 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B1D916A421; Tue, 19 Jul 2005 15:00:57 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2377A16A41F for ; Tue, 19 Jul 2005 15:00:57 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D146443D46 for ; Tue, 19 Jul 2005 15:00:56 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JF0u2t059696 for ; Tue, 19 Jul 2005 15:00:56 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JF0uZP059693 for perforce@freebsd.org; Tue, 19 Jul 2005 15:00:56 GMT (envelope-from csjp@freebsd.org) Date: Tue, 19 Jul 2005 15:00:56 GMT Message-Id: <200507191500.j6JF0uZP059693@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 80528 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 15:00:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=80528 Change 80528 by csjp@csjp_xor on 2005/07/19 15:00:00 Return after removing dependencies Affected files ... .. //depot/projects/trustedbsd/mac/usr.sbin/getfhash/getfhash.c#12 edit Differences ... ==== //depot/projects/trustedbsd/mac/usr.sbin/getfhash/getfhash.c#12 (text+ko) ==== @@ -184,6 +184,7 @@ MAC_CHKEXEC_DEP); if (error < 0) warn("extattr_delete_file failed"); + return; } if (syscall(SYS_mac_syscall, "mac_chkexec", 0, pathname) < 0) warn("%s", pathname); From owner-p4-projects@FreeBSD.ORG Tue Jul 19 19:29:30 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78BC316A421; Tue, 19 Jul 2005 19:29:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 534B216A41F for ; Tue, 19 Jul 2005 19:29:30 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E105843D45 for ; Tue, 19 Jul 2005 19:29:29 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JJTTws078716 for ; Tue, 19 Jul 2005 19:29:29 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JJTTAu078713 for perforce@freebsd.org; Tue, 19 Jul 2005 19:29:29 GMT (envelope-from soc-tyler@freebsd.org) Date: Tue, 19 Jul 2005 19:29:29 GMT Message-Id: <200507191929.j6JJTTAu078713@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 80544 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 19:29:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=80544 Change 80544 by soc-tyler@soc-tyler_launchd on 2005/07/19 19:28:37 Merge changes from 10.4.1 -> 10.4.2 Affected files ... .. //depot/projects/soc2005/launchd/includes/launch.h#6 edit .. //depot/projects/soc2005/launchd/launchd.8#2 edit .. //depot/projects/soc2005/launchd/launchd.c#6 edit Differences ... ==== //depot/projects/soc2005/launchd/includes/launch.h#6 (text+ko) ==== @@ -137,8 +137,7 @@ #define LAUNCH_JOBSOCKETKEY_SERVICENAME "SockServiceName" #define LAUNCH_JOBSOCKETKEY_FAMILY "SockFamily" #define LAUNCH_JOBSOCKETKEY_PROTOCOL "SockProtocol" -#define LAUNCH_JOBSOCKETKEY_FD "SockFD" -#define LAUNCH_JOBSOCKETKEY_ADDRINFORESULTS "AddrinfoResults" +#define LAUNCH_JOBSOCKETKEY_MULTICASTGROUP "MulticastGroup" typedef struct _launch_data *launch_data_t; ==== //depot/projects/soc2005/launchd/launchd.8#2 (text+ko) ==== @@ -6,6 +6,7 @@ .Nd System wide and per-user daemon/agent manager .Sh SYNOPSIS .Nm +.Op Fl d .Op Fl v .Op Fl s .Op Fl x @@ -31,6 +32,8 @@ is invoked by the kernel to run as the first process on the system and to further bootstrap the rest of the system. .Sh OPTIONS WHEN RUN AS PID 1 .Bl -tag -width -indent +.It Fl d +Daemonize. Useful when passing a command to launchd on the command line. .It Fl v Verbose boot. .It Fl s @@ -40,6 +43,11 @@ .It Fl x Safe mode boot. Instructs the system to boot conservatively. .El +.Sh ENVIRONMENTAL VARIABLES +.Bl -tag -width -indent +.It Pa LAUNCHD_SOCKET +This variable is exported when invoking a command via the launchd command line. It informs launchctl how to find the correct launchd to talk to. +.El .Sh NOTES In Darwin it is preferable to have your daemon launch via launchd instead of modifying .Nm rc ==== //depot/projects/soc2005/launchd/launchd.c#6 (text+ko) ==== @@ -212,6 +212,7 @@ static size_t total_children = 0; static pid_t readcfg_pid = 0; +static pid_t launchd_proper_pid = 0; static bool launchd_inited = false; static bool shutdown_in_progress = false; @@ -553,9 +554,13 @@ goto out_bad; } } + if (chown(ourdir, getuid(), getgid()) == -1) syslog(LOG_WARNING, "chown(\"%s\"): %m", ourdir); + setegid(getgid()); + seteuid(getuid()); + ourdirfd = _fd(open(ourdir, O_RDONLY)); if (ourdirfd == -1) { syslog(LOG_ERR, "open(\"%s\"): %m", ourdir); @@ -588,8 +593,6 @@ syslog(LOG_ERR, "bind(\"thesocket\"): %m"); goto out_bad; } - if (chown(sun.sun_path, getuid(), getgid()) == -1) - syslog(LOG_WARNING, "chown(\"thesocket\"): %m"); if (listen(fd, SOMAXCONN) == -1) { syslog(LOG_ERR, "listen(\"thesocket\"): %m"); @@ -606,6 +609,7 @@ sockdir = strdup(ourdir); sockpath = strdup(sun.sun_path); + launchd_proper_pid = getpid(); atexit(launchd_clean_up); out_bad: @@ -871,7 +875,7 @@ if (-1 == (dcc_r = dir_has_files(thepath))) { job_log_error(j, LOG_ERR, "dir_has_files(\"%s\", ...)", thepath); - } else if (dcc_r > 0) { + } else if (dcc_r > 0 && !shutdown_in_progress) { job_start(j); break; } @@ -1129,7 +1133,7 @@ launch_data_t tmp, resp; const char *label; struct jobcb *j; - bool startnow; + bool startnow, hasprog = false, hasprogargs = false; if ((label = job_get_string(pload, LAUNCH_JOBKEY_LABEL))) { TAILQ_FOREACH(j, &jobs, tqe) { @@ -1142,7 +1146,13 @@ resp = launch_data_new_errno(EINVAL); goto out; } - if (launch_data_dict_lookup(pload, LAUNCH_JOBKEY_PROGRAMARGUMENTS) == NULL) { + + if (launch_data_dict_lookup(pload, LAUNCH_JOBKEY_PROGRAM)) + hasprog = true; + if (launch_data_dict_lookup(pload, LAUNCH_JOBKEY_PROGRAMARGUMENTS)) + hasprogargs = true; + + if (!hasprog && !hasprogargs) { resp = launch_data_new_errno(EINVAL); goto out; } @@ -1197,6 +1207,11 @@ launch_data_t tmp_k; j->start_cal_interval = calloc(1, sizeof(struct tm)); + j->start_cal_interval->tm_min = -1; + j->start_cal_interval->tm_hour = -1; + j->start_cal_interval->tm_mday = -1; + j->start_cal_interval->tm_wday = -1; + j->start_cal_interval->tm_mon = -1; if (LAUNCH_DATA_DICTIONARY == launch_data_get_type(tmp)) { if ((tmp_k = launch_data_dict_lookup(tmp, LAUNCH_JOBKEY_CAL_MINUTE))) @@ -1205,11 +1220,8 @@ j->start_cal_interval->tm_hour = launch_data_get_integer(tmp_k); if ((tmp_k = launch_data_dict_lookup(tmp, LAUNCH_JOBKEY_CAL_DAY))) j->start_cal_interval->tm_mday = launch_data_get_integer(tmp_k); - if ((tmp_k = launch_data_dict_lookup(tmp, LAUNCH_JOBKEY_CAL_WEEKDAY))) { + if ((tmp_k = launch_data_dict_lookup(tmp, LAUNCH_JOBKEY_CAL_WEEKDAY))) j->start_cal_interval->tm_wday = launch_data_get_integer(tmp_k); - if (j->start_cal_interval->tm_wday == 0) - j->start_cal_interval->tm_wday = 7; - } if ((tmp_k = launch_data_dict_lookup(tmp, LAUNCH_JOBKEY_CAL_MONTH))) j->start_cal_interval->tm_mon = launch_data_get_integer(tmp_k); } @@ -1489,15 +1501,15 @@ job_log(j, LOG_WARNING, "failed to checkin"); job_remove(j); return false; + } else if (j->failed_exits >= LAUNCHD_FAILED_EXITS_THRESHOLD) { + job_log(j, LOG_WARNING, "too many failures in succession"); + job_remove(j); + return false; } else if (od || shutdown_in_progress) { if (!od && shutdown_in_progress) job_log(j, LOG_NOTICE, "exited while shutdown is in progress, will not restart unless demand requires it"); job_watch(j); return false; - } else if (j->failed_exits >= LAUNCHD_FAILED_EXITS_THRESHOLD) { - job_log(j, LOG_WARNING, "too many failures in a row for a job that should be alive all the time"); - job_remove(j); - return false; } return true; @@ -1625,6 +1637,7 @@ socketpair(AF_UNIX, SOCK_STREAM, 0, execspair); time(&j->start_time); + #ifdef _BUILD_DARWIN_ // This function can be found in the vendor source in bootstrap.c switch (c = fork_with_bootstrap_port(launchd_bootstrap_port)) { @@ -1692,14 +1705,25 @@ bool inetcompat = job_get_bool(j->ldj, LAUNCH_JOBKEY_INETDCOMPATIBILITY); size_t i, argv_cnt; const char **argv, *file2exec = "/usr/libexec/launchproxy"; + int r; + bool hasprog = false; job_setup_attributes(j); - argv_cnt = launch_data_array_get_count(ldpa); - argv = alloca((argv_cnt + 2) * sizeof(char *)); - for (i = 0; i < argv_cnt; i++) - argv[i + 1] = launch_data_get_string(launch_data_array_get_index(ldpa, i)); - argv[argv_cnt + 1] = NULL; + if (ldpa) { + argv_cnt = launch_data_array_get_count(ldpa); + argv = alloca((argv_cnt + 2) * sizeof(char *)); + for (i = 0; i < argv_cnt; i++) + argv[i + 1] = launch_data_get_string(launch_data_array_get_index(ldpa, i)); + argv[argv_cnt + 1] = NULL; + } else { + argv = alloca(3 * sizeof(char *)); + argv[1] = job_get_string(j->ldj, LAUNCH_JOBKEY_PROGRAM); + argv[2] = NULL; + } + + if (job_get_string(j->ldj, LAUNCH_JOBKEY_PROGRAM)) + hasprog = true; if (inetcompat) { argv[0] = file2exec; @@ -1708,12 +1732,17 @@ file2exec = job_get_file2exec(j->ldj); } - if (-1 == execvp(file2exec, (char *const*)argv)) { - int e = errno; /* errno is a macro that expands, best not to take the address of it */ - write(execfd, &e, sizeof(e)); - job_log_error(j, LOG_ERR, "execvp(\"%s\", ...)", file2exec); + if (hasprog) { + r = execv(file2exec, (char *const*)argv); + } else { + r = execvp(file2exec, (char *const*)argv); + } + + if (-1 == r) { + write(execfd, &errno, sizeof(errno)); + job_log_error(j, LOG_ERR, "execv%s(\"%s\", ...)", hasprog ? "" : "p", file2exec); } - _exit(EXIT_FAILURE); + exit(EXIT_FAILURE); } static void job_setup_attributes(struct jobcb *j) @@ -2354,20 +2383,20 @@ latertm.tm_isdst = -1; - if (j->start_cal_interval->tm_min) + if (-1 != j->start_cal_interval->tm_min) latertm.tm_min = j->start_cal_interval->tm_min; - if (j->start_cal_interval->tm_hour) + if (-1 != j->start_cal_interval->tm_hour) latertm.tm_hour = j->start_cal_interval->tm_hour; otherlatertm = latertm; - if (j->start_cal_interval->tm_mday) + if (-1 != j->start_cal_interval->tm_mday) latertm.tm_mday = j->start_cal_interval->tm_mday; - if (j->start_cal_interval->tm_mon) + if (-1 != j->start_cal_interval->tm_mon) latertm.tm_mon = j->start_cal_interval->tm_mon; /* cron semantics are fun */ - if (j->start_cal_interval->tm_wday) { + if (-1 != j->start_cal_interval->tm_wday) { int delta, realwday = j->start_cal_interval->tm_wday; if (realwday == 7) @@ -2385,9 +2414,9 @@ otherlatertm.tm_mday += delta; else if (delta < 0) otherlatertm.tm_mday += 7 + delta; - else if (otherlatertm.tm_hour < nowtm->tm_hour) + else if (-1 != j->start_cal_interval->tm_hour && otherlatertm.tm_hour <= nowtm->tm_hour) otherlatertm.tm_mday += 7; - else if (otherlatertm.tm_min < nowtm->tm_min) + else if (-1 != j->start_cal_interval->tm_min && otherlatertm.tm_min <= nowtm->tm_min) otherlatertm.tm_hour++; else otherlatertm.tm_min++; @@ -2395,13 +2424,13 @@ otherlater = mktime(&otherlatertm); } - if (latertm.tm_mon < nowtm->tm_mon) { + if (-1 != j->start_cal_interval->tm_mon && latertm.tm_mon <= nowtm->tm_mon) { latertm.tm_year++; - } else if (latertm.tm_mday < nowtm->tm_mday) { + } else if (-1 != j->start_cal_interval->tm_mday && latertm.tm_mday <= nowtm->tm_mday) { latertm.tm_mon++; - } else if (latertm.tm_hour < nowtm->tm_hour) { + } else if (-1 != j->start_cal_interval->tm_hour && latertm.tm_hour <= nowtm->tm_hour) { latertm.tm_mday++; - } else if (latertm.tm_min < nowtm->tm_min) { + } else if (-1 != j->start_cal_interval->tm_min && latertm.tm_min <= nowtm->tm_min) { latertm.tm_hour++; } else { latertm.tm_min++; @@ -2410,7 +2439,7 @@ later = mktime(&latertm); if (otherlater) { - if (j->start_cal_interval->tm_mday) + if (-1 != j->start_cal_interval->tm_mday) later = later < otherlater ? later : otherlater; else later = otherlater; From owner-p4-projects@FreeBSD.ORG Tue Jul 19 21:00:05 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 21F6916A424; Tue, 19 Jul 2005 21:00:05 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 E36AB16A423 for ; Tue, 19 Jul 2005 21:00:04 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D8CD43D46 for ; Tue, 19 Jul 2005 21:00:04 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JL04Yr089682 for ; Tue, 19 Jul 2005 21:00:04 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JL04rR089678 for perforce@freebsd.org; Tue, 19 Jul 2005 21:00:04 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 19 Jul 2005 21:00:04 GMT Message-Id: <200507192100.j6JL04rR089678@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 Cc: Subject: PERFORCE change 80550 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 21:00:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=80550 Change 80550 by rwatson@rwatson_zoo on 2005/07/19 20:58:58 Integrate netsmp branch to hold on-going network stack locking and SMP optimization. New home for contents of rwatson_netperf. Affected files ... .. //depot/projects/netsmp/src/sys/Makefile#1 branch .. //depot/projects/netsmp/src/sys/alpha/Makefile#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/api_up1000.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/atomic.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/autoconf.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/busdma_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/busspace.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/clock.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/clock_if.m#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/cpuconf.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/db_disasm.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/db_instruction.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/db_interface.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/db_trace.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_1000a.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_2100_a50.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_2100_a500.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_3000_300.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_3000_500.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_axppci_33.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_eb164.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_eb64plus.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_kn20aa.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_kn300.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_kn8ae.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_st550.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dec_st6600.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/divrem.m4#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/dump_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/elf_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/exception.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/fp_emulate.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/gdb_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/genassym.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/ieee_float.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/ieee_float.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/in_cksum.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/interrupt.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/locore.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/mem.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/mp_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/pal.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/pmap.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/prom.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/prom_disp.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/promcons.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/sgmap.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/support.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/swtch.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/sys_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/trap.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/uio_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/uma_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/alpha/vm_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/compile/.cvsignore#1 branch .. //depot/projects/netsmp/src/sys/alpha/conf/.cvsignore#1 branch .. //depot/projects/netsmp/src/sys/alpha/conf/GENERIC#1 branch .. //depot/projects/netsmp/src/sys/alpha/conf/GENERIC.hints#1 branch .. //depot/projects/netsmp/src/sys/alpha/conf/Makefile#1 branch .. //depot/projects/netsmp/src/sys/alpha/conf/NOTES#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/_bus.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/_inttypes.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/_limits.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/_stdint.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/_types.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/alpha_cpu.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/asm.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/atomic.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/bootinfo.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/bus.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/bus_dma.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/bwx.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/chipset.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/clock.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/clockvar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/cpu.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/cpuconf.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/cpufunc.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/db_machdep.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/elf.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/endian.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/exec.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/float.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/floatingpoint.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/fpu.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/frame.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/gdb_machdep.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/ieee.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/ieeefp.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/in_cksum.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/inst.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/intr.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/intrcnt.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/ioctl_bt848.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/ioctl_meteor.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/kdb.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/limits.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/md_var.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/memdev.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/mutex.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pal.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/param.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pc/bios.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pc/display.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pc/vesa.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pcb.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pcpu.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pmap.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pmc_mdep.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/ppireg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/proc.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/profile.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/prom.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/pte.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/ptrace.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/reg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/reloc.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/resource.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/rpb.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/runq.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/setjmp.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/sf_buf.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/sgmap.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/sigframe.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/signal.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/smp.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/stdarg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/swiz.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/sysarch.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/timerreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/ucontext.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/varargs.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/include/vmparam.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/isa/isa.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/isa/isa_dma.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/isa/isavar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/isa/mcclock_isa.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/Makefile#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_dummy.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_genassym.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_ipc64.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_locore.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_proto.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_syscall.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_sysent.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/linux_sysvec.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/syscalls.conf#1 branch .. //depot/projects/netsmp/src/sys/alpha/linux/syscalls.master#1 branch .. //depot/projects/netsmp/src/sys/alpha/mcbus/mcbus.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/mcbus/mcbusreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/mcbus/mcbusvar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/mcbus/mcmem.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/mcbus/mcpcia.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/mcbus/mcpciareg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/mcbus/mcpciavar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/Makefile#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/README.mach-traps#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/exec_ecoff.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/imgact_osf1.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_ioctl.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_misc.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_mount.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_proto.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_signal.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_signal.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_syscall.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_sysent.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_sysvec.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/osf1_util.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/syscalls.conf#1 branch .. //depot/projects/netsmp/src/sys/alpha/osf1/syscalls.master#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/alphapci_if.m#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/apecs.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/apecs_pci.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/apecsreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/apecsvar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/bwx.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/cia.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/cia_pci.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/ciareg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/ciavar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/irongate.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/irongate_pci.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/irongatereg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/irongatevar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/lca.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/lca_pci.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/lcareg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/lcavar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/pci_eb164_intr.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/pci_eb64plus_intr.s#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/pcibus.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/pcibus.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/swiz.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/t2.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/t2_pci.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/t2reg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/t2var.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/tsunami.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/tsunami_pci.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/tsunamireg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/pci/tsunamivar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/dwlpx.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/dwlpxreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/dwlpxvar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/gbus.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/gbusreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/gbusvar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/kftxx.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/kftxxreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/kftxxvar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/mcclock_tlsb.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/tlsb.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/tlsbcpu.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/tlsbmem.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/tlsbreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/tlsbvar.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/zs_tlsb.c#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/zsreg.h#1 branch .. //depot/projects/netsmp/src/sys/alpha/tlsb/zsvar.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/Makefile#1 branch .. //depot/projects/netsmp/src/sys/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/atomic.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/autoconf.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/bios.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/db_interface.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/db_trace.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/exception.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/gdb_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/genassym.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/identcpu.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/initcpu.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/io.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/legacy.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/locore.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/mem.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/mp_watchdog.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/nexus.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/pmap.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/prof_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/support.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/trap.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/tsc.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/compile/.cvsignore#1 branch .. //depot/projects/netsmp/src/sys/amd64/conf/.cvsignore#1 branch .. //depot/projects/netsmp/src/sys/amd64/conf/GENERIC#1 branch .. //depot/projects/netsmp/src/sys/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/netsmp/src/sys/amd64/conf/Makefile#1 branch .. //depot/projects/netsmp/src/sys/amd64/conf/NOTES#1 branch .. //depot/projects/netsmp/src/sys/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/ia32/ia32_reg.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/_bus.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/_inttypes.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/_limits.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/_stdint.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/_types.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/asm.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/asmacros.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/atomic.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/bus.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/bus_dma.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/clock.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/cpu.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/cpufunc.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/cputypes.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/db_machdep.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/elf.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/endian.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/exec.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/float.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/floatingpoint.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/fpu.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/frame.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/gdb_machdep.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/ieeefp.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/in_cksum.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/iodev.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/kdb.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/legacyvar.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/limits.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/md_var.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/memdev.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/metadata.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/mp_watchdog.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/mptable.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/mutex.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/param.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pc/bios.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pc/display.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pcb.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pcb_ext.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pcpu.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pmap.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/pmc_mdep.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/ppireg.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/proc.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/profile.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/psl.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/ptrace.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/reg.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/reloc.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/resource.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/runq.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/segments.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/setjmp.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/sigframe.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/signal.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/smp.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/specialreg.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/stdarg.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/sysarch.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/timerreg.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/trap.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/tss.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/ucontext.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/varargs.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/include/vmparam.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/clock.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/icu.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/isa.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/isa.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/isa_dma.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/Makefile#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_dummy.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_genassym.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_ipc64.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_locore.s#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_proto.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_syscall.h#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_sysent.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_sysvec.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/syscalls.conf#1 branch .. //depot/projects/netsmp/src/sys/amd64/linux32/syscalls.master#1 branch .. //depot/projects/netsmp/src/sys/amd64/pci/pci_bus.c#1 branch .. //depot/projects/netsmp/src/sys/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/blockio.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/copystr.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/disassem.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/exception.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/fiq.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/fusu.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/genassym.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/intr.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/locore.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/mem.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/nexus.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/pmap.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/setstack.s#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/support.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/swtch.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/trap.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/undefined.c#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/vectors.S#1 branch .. //depot/projects/netsmp/src/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/compile/.cvsignore#1 branch .. //depot/projects/netsmp/src/sys/arm/conf/.cvsignore#1 branch .. //depot/projects/netsmp/src/sys/arm/conf/IQ31244#1 branch .. //depot/projects/netsmp/src/sys/arm/conf/SIMICS#1 branch .. //depot/projects/netsmp/src/sys/arm/include/_bus.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/_limits.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/_stdint.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/_types.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/armreg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/asm.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/asmacros.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/atomic.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/blockio.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/bus.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/bus_dma.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/clock.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/cpu.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/disassem.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/elf.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/endian.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/exec.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/fiq.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/float.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/fp.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/frame.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/ieee.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/intr.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/katelib.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/kdb.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/limits.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/machdep.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/md_var.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/memdev.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/metadata.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/mutex.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/param.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/pcb.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/pcpu.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/pmap.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/pmc_mdep.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/proc.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/profile.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/psl.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/pte.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/ptrace.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/reg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/reloc.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/resource.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/runq.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/setjmp.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/sigframe.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/signal.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/smp.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/stdarg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/swi.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/sysarch.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/trap.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/ucontext.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/undefined.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/utrap.h#1 branch .. //depot/projects/netsmp/src/sys/arm/include/vmparam.h#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/netsmp/src/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321_wdog.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/iq31244_7seg.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/std.xscale#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/xscalereg.h#1 branch .. //depot/projects/netsmp/src/sys/arm/xscale/xscalevar.h#1 branch .. //depot/projects/netsmp/src/sys/boot/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/README#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/boot1/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/boot1/boot1.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/cdboot/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/cdboot/version#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/common/Makefile.common#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/common/conf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/common/help.alpha#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/common/ldscript#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/common/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/OSFpal.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/alpha_copy.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/alpha_module.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/bbinfo.h#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/bootinfo.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/common.h#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/delay.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/devicename.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/elf_freebsd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/getsecs.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/libalpha.h#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/pal.S#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/prom.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/prom_disp.S#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/prom_swpal.S#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/reboot.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/srmdisk.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/srmnet.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/start.S#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/libalpha/time.c#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/loader/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/loader/version#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/netboot/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/alpha/netboot/version#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/include/arcfuncs.h#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/include/arctypes.h#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/include/libarc.h#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/abort.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/arcconsole.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/arcdisk.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/arch/alpha/copy.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/arch/alpha/rpb.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/arch/alpha/setjmp.S#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/arch/alpha/start.S#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/bootinfo.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/delay.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/devicename.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/elf_freebsd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/module.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/prom.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/setjmperr.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/lib/time.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/loader/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/loader/conf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/loader/help.alpha#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/loader/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/arc/loader/version#1 branch .. //depot/projects/netsmp/src/sys/boot/common/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/common/bcache.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/boot.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/bootstrap.h#1 branch .. //depot/projects/netsmp/src/sys/boot/common/commands.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/console.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/dev_net.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/dev_net.h#1 branch .. //depot/projects/netsmp/src/sys/boot/common/devopen.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/help.common#1 branch .. //depot/projects/netsmp/src/sys/boot/common/interp.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/interp_backslash.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/interp_forth.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/interp_parse.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/isapnp.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/isapnp.h#1 branch .. //depot/projects/netsmp/src/sys/boot/common/load.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/load_elf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/load_elf32.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/load_elf32_obj.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/load_elf64.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/load_elf64_obj.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/load_elf_obj.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/loader.8#1 branch .. //depot/projects/netsmp/src/sys/boot/common/ls.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/merge_help.awk#1 branch .. //depot/projects/netsmp/src/sys/boot/common/misc.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/module.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/newvers.sh#1 branch .. //depot/projects/netsmp/src/sys/boot/common/panic.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/pnp.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/pnpdata#1 branch .. //depot/projects/netsmp/src/sys/boot/common/reloc_elf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/reloc_elf32.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/reloc_elf64.c#1 branch .. //depot/projects/netsmp/src/sys/boot/common/ufsread.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/README#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efi.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efiapi.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/eficon.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efidebug.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efidef.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efidevp.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efierr.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efifs.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efilib.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efinet.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efipart.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efiprot.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efiser.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/bootinfo.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/copy.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/delay.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/devicename.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/efiboot.h#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/efifpswa.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/elf_freebsd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/module.c#1 branch .. //depot/projects/netsmp/src/sys/boot/efi/libefi/time.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/alpha/sysdep.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/alpha/sysdep.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/dict.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/ficl.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/ficl.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/fileaccess.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/float.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/loader.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/math64.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/math64.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/prefix.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/search.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/stack.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/testmain.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/tools.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/unix.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/vm.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ficl/words.c#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/beastie.4th#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/frames.4th#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/loader.4th#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/loader.4th.8#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/loader.conf#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/loader.conf.5#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/loader.rc#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/pnp.4th#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/screen.4th#1 branch .. //depot/projects/netsmp/src/sys/boot/forth/support.4th#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot0/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot2/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot2/lib.h#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/gatea20.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/pread.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/time.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/loader/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/loader/conf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/loader/help.i386#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/loader/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/loader/version#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/mbr/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/netsmp/src/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/efi/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/efi/conf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/efi/efimd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/efi/ldscript.ia64#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/efi/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/efi/start.S#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/efi/version#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/bootinfo.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/conf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/copy.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/delay.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/devicename.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/elf_freebsd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/exit.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/libski.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/start.S#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/time.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ia64/ski/version#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/common/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/io.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/start.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/boot2/table.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/gatea20.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/loader/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/loader/conf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/netsmp/src/sys/boot/pc98/loader/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/loader/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/loader/conf.c#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/loader/help.ofw#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/loader/ldscript.powerpc#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/loader/metadata.c#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/loader/start.c#1 branch .. //depot/projects/netsmp/src/sys/boot/powerpc/loader/version#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/loader/main.c#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/netsmp/src/sys/boot/sparc64/loader/version#1 branch .. //depot/projects/netsmp/src/sys/bsm/audit.h#1 branch .. //depot/projects/netsmp/src/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam.c#1 branch .. //depot/projects/netsmp/src/sys/cam/cam.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_ccb.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_debug.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_periph.c#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_periph.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_queue.c#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_queue.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_sim.c#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_sim.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_xpt.c#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_xpt.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_xpt_periph.h#1 branch .. //depot/projects/netsmp/src/sys/cam/cam_xpt_sim.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_all.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_all.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_da.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_da.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_low.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_low.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_message.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_target.c#1 branch .. //depot/projects/netsmp/src/sys/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/netsmp/src/sys/coda/00READ#1 branch .. //depot/projects/netsmp/src/sys/coda/README#1 branch .. //depot/projects/netsmp/src/sys/coda/TODO#1 branch .. //depot/projects/netsmp/src/sys/coda/cnode.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_fbsd.c#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_io.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_kernel.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_namecache.c#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_namecache.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_opstats.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_pioctl.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_psdev.c#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_psdev.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_subr.c#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_subr.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_venus.c#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_venus.h#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_vfsops.c#1 branch .. //depot/projects/netsmp/src/sys/coda/coda_vfsops.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 19 21:18:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BE4816A41F; Tue, 19 Jul 2005 21:18:28 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 E669216A41F for ; Tue, 19 Jul 2005 21:18:27 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BC0D43D46 for ; Tue, 19 Jul 2005 21:18:27 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JLIR83090488 for ; Tue, 19 Jul 2005 21:18:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JLIRtB090485 for perforce@freebsd.org; Tue, 19 Jul 2005 21:18:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 19 Jul 2005 21:18:27 GMT Message-Id: <200507192118.j6JLIRtB090485@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 Cc: Subject: PERFORCE change 80552 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 21:18:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=80552 Change 80552 by rwatson@rwatson_zoo on 2005/07/19 21:17:57 Merge 80535 from rwatson_netperf to netsmp: Initial cut at locking multicast address list frobbing at the link layer. Affected files ... .. //depot/projects/netsmp/src/sys/net/if.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_var.h#2 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if.c#2 (text+ko) ==== @@ -417,6 +417,8 @@ { if_free_type(ifp, ifp->if_type); + + IF_ADDR_LOCK_DESTROY(ifp); } void @@ -460,6 +462,7 @@ TASK_INIT(&ifp->if_starttask, 0, if_start_deferred, ifp); TASK_INIT(&ifp->if_linktask, 0, do_link_state_change, ifp); IF_AFDATA_LOCK_INIT(ifp); + IF_ADDR_LOCK_INIT(ifp); ifp->if_afdata_initialized = 0; IFNET_WLOCK(); TAILQ_INSERT_TAIL(&ifnet, ifp, if_link); @@ -1824,99 +1827,219 @@ return (if_setflag(ifp, IFF_ALLMULTI, 0, &ifp->if_amcount, onswitch)); } +struct ifmultiaddr * +ifmaof_ifpforaddr(struct sockaddr *sa, struct ifnet *ifp) +{ + struct ifmultiaddr *ifma; + + IF_ADDR_LOCK_ASSERT(ifp); + + TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) + if (sa_equal(ifma->ifma_addr, sa)) + break; + + return ifma; +} + +/* + * XXXRW: ifmaof_ifpforaddr() is an unsensible name, and appears not to be + * used, so use my more sensibly named version here. + */ +static struct ifmultiaddr * +if_findmulti(struct ifnet *ifp, struct sockaddr *sa) +{ + + IF_ADDR_LOCK_ASSERT(ifp); + + return (ifmaof_ifpforaddr(sa, ifp)); +} + +/* + * Allocate a new ifmultiaddr and initialize based on passed arguments. We + * make copies of passed sockaddrs. The ifmultiaddr will not be added to + * the ifnet multicast address list here, so the caller must do that and + * other setup work (such as notifying the device driver). The reference + * count is initialized to 1. + */ +static struct ifmultiaddr * +if_allocmulti(struct ifnet *ifp, struct sockaddr *sa, struct sockaddr *llsa, + int mflags) +{ + struct ifmultiaddr *ifma; + struct sockaddr *dupsa; + + KASSERT(ifp != NULL, ("if_allocmulti: NULL ifp")); + KASSERT(sa != NULL, ("if_allocmulti: NULL sa")); + + MALLOC(ifma, struct ifmultiaddr *, sizeof *ifma, M_IFMADDR, mflags); + if (ifma == NULL) + return (NULL); + + MALLOC(dupsa, struct sockaddr *, sa->sa_len, M_IFMADDR, mflags); + if (dupsa == NULL) { + FREE(ifma, M_IFMADDR); + return (NULL); + } + bcopy(sa, dupsa, sa->sa_len); + ifma->ifma_addr = dupsa; + + if (llsa != NULL) { + MALLOC(dupsa, struct sockaddr *, llsa->sa_len, M_IFMADDR, + mflags); + if (dupsa == NULL) { + FREE(ifma->ifma_addr, M_IFMADDR); + FREE(ifma, M_IFMADDR); + return (NULL); + } + bcopy(llsa, dupsa, llsa->sa_len); + ifma->ifma_lladdr = llsa; + } else + ifma->ifma_lladdr = NULL; + + ifma->ifma_ifp = ifp; + ifma->ifma_refcount = 1; + ifma->ifma_protospec = NULL; + + return (ifma); +} + +/* + * if_freemulti: free ifmultiaddr structure and possibly attached related + * addresses. The caller is responsible for implementing reference + * counting, notifying the driver, handling routing messages, and releasing + * any dependent link layer state. + */ +static void +if_freemulti(struct ifmultiaddr *ifma) +{ + + KASSERT(ifma->ifma_refcount == 1, ("if_freemulti: refcount %d", + ifma->ifma_refcount)); + KASSERT(ifma->ifma_protospec == NULL, + ("if_freemulti: protospec not NULL")); + + if (ifma->ifma_lladdr != NULL) + FREE(ifma->ifma_lladdr, M_IFMADDR); + FREE(ifma->ifma_addr, M_IFMADDR); + FREE(ifma, M_IFMADDR); +} + /* - * Add a multicast listenership to the interface in question. - * The link layer provides a routine which converts + * Register an additional multicast address with a network interface. + * + * - If the address is already present, bump the reference count on the + * address and return. + * - If the address is not link-layer, look up a link layer address. + * - Allocate address structures for one or both addresses, and attach to the + * multicast address list on the interface. If automatically adding a link + * layer address, the protocol address will own a reference to the link + * layer address, to be freed when it is freed. + * - Notify the network device driver of an addition to the multicast address + * list. + * + * 'sa' points to caller-owned memory with the desired multicast address. + * + * 'retifma' will be used to return a pointer to the resulting multicast + * address reference, if desired. */ int -if_addmulti(struct ifnet *ifp, struct sockaddr *sa, struct ifmultiaddr **retifma) +if_addmulti(struct ifnet *ifp, struct sockaddr *sa, + struct ifmultiaddr **retifma) { - struct sockaddr *llsa, *dupsa; - int error, s; - struct ifmultiaddr *ifma; + struct ifmultiaddr *ifma, *ll_ifma, *new_ifma, *new_ll_ifma; + struct sockaddr *llsa; + int error; /* - * If the matching multicast address already exists - * then don't add a new one, just add a reference + * If the address is already present, return a new reference to it; + * otherwise, allocate storage and set up a new address. Since we + * release the interface lock, we have to check for races in which + * another thread may also have set up the same address. */ - TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { - if (sa_equal(sa, ifma->ifma_addr)) { - ifma->ifma_refcount++; - if (retifma) - *retifma = ifma; - return 0; - } + IF_ADDR_LOCK(ifp); + ifma = if_findmulti(ifp, sa); + if (ifma != NULL) { + ifma->ifma_refcount++; + if (retifma != NULL) + *retifma = ifma; + IF_ADDR_UNLOCK(ifp); + return (0); } + IF_ADDR_UNLOCK(ifp); /* - * Give the link layer a chance to accept/reject it, and also - * find out which AF_LINK address this maps to, if it isn't one - * already. + * The address isn't already present; perform a link layer + * resolution if it's not already a link layer address, and allocate + * and set up the address. As of this point, if llsa is non-NULL, + * we must free the sockaddr if we don't need it. */ if (ifp->if_resolvemulti != NULL) { error = ifp->if_resolvemulti(ifp, &llsa, sa); - if (error) return error; - } else { + if (error) + return error; + } else llsa = NULL; - } - MALLOC(ifma, struct ifmultiaddr *, sizeof *ifma, M_IFMADDR, M_WAITOK); - MALLOC(dupsa, struct sockaddr *, sa->sa_len, M_IFMADDR, M_WAITOK); - bcopy(sa, dupsa, sa->sa_len); - - ifma->ifma_addr = dupsa; - ifma->ifma_lladdr = llsa; - ifma->ifma_ifp = ifp; - ifma->ifma_refcount = 1; - ifma->ifma_protospec = NULL; - rt_newmaddrmsg(RTM_NEWMADDR, ifma); + new_ifma = if_allocmulti(ifp, sa, llsa, M_WAITOK); + if (llsa != NULL) + new_ll_ifma = if_allocmulti(ifp, llsa, NULL, M_WAITOK); + else + new_ll_ifma = NULL; /* gcc */ /* - * Some network interfaces can scan the address list at - * interrupt time; lock them out. + * Now check to see if we lost the race, and continue inserting if + * not. Note that we need to separately consider the link layer + * and protocol layer multicast addresses. */ - s = splimp(); - TAILQ_INSERT_HEAD(&ifp->if_multiaddrs, ifma, ifma_link); - splx(s); - if (retifma != NULL) - *retifma = ifma; + IF_ADDR_LOCK(ifp); + ifma = if_findmulti(ifp, sa); + if (llsa != NULL) + ll_ifma = if_findmulti(ifp, llsa); + else + ll_ifma = NULL; /* gcc */ + + if (ifma != NULL) { + if_freemulti(new_ifma); + ifma->ifma_refcount++; + } else { + ifma = new_ifma; + TAILQ_INSERT_HEAD(&ifp->if_multiaddrs, ifma, ifma_link); + } if (llsa != NULL) { - TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { - if (sa_equal(ifma->ifma_addr, llsa)) - break; - } - if (ifma) { - ifma->ifma_refcount++; + if (ll_ifma != NULL) { + if_freemulti(new_ll_ifma); + ll_ifma->ifma_refcount++; } else { - MALLOC(ifma, struct ifmultiaddr *, sizeof *ifma, - M_IFMADDR, M_WAITOK); - MALLOC(dupsa, struct sockaddr *, llsa->sa_len, - M_IFMADDR, M_WAITOK); - bcopy(llsa, dupsa, llsa->sa_len); - ifma->ifma_addr = dupsa; - ifma->ifma_lladdr = NULL; - ifma->ifma_ifp = ifp; - ifma->ifma_refcount = 1; - ifma->ifma_protospec = NULL; - s = splimp(); - TAILQ_INSERT_HEAD(&ifp->if_multiaddrs, ifma, ifma_link); - splx(s); + ll_ifma = new_ll_ifma; + TAILQ_INSERT_HEAD(&ifp->if_multiaddrs, ll_ifma, + ifma_link); } } + + if (retifma != NULL) + *retifma = ifma; + + /* + * Must generate the message while holding the lock so that 'ifma' + * pointer is still valid. + */ + rt_newmaddrmsg(RTM_NEWMADDR, ifma); + IF_ADDR_UNLOCK(ifp); + /* * We are certain we have added something, so call down to the * interface to let them know about it. */ if (ifp->if_ioctl != NULL) { - s = splimp(); IFF_LOCKGIANT(ifp); (void) (*ifp->if_ioctl)(ifp, SIOCADDMULTI, 0); IFF_UNLOCKGIANT(ifp); - splx(s); } - return 0; + if (llsa != NULL) + FREE(llsa, M_IFMADDR); + return (0); } /* @@ -2070,18 +2193,6 @@ return (0); } -struct ifmultiaddr * -ifmaof_ifpforaddr(struct sockaddr *sa, struct ifnet *ifp) -{ - struct ifmultiaddr *ifma; - - TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) - if (sa_equal(ifma->ifma_addr, sa)) - break; - - return ifma; -} - /* * The name argument must be a pointer to storage which will last as * long as the interface does. For physical devices, the result of ==== //depot/projects/netsmp/src/sys/net/if_var.h#2 (text+ko) ==== @@ -177,6 +177,7 @@ void *if_afdata[AF_MAX]; int if_afdata_initialized; struct mtx if_afdata_mtx; + struct mtx if_addr_mtx; /* mutex to protect address lists */ struct task if_starttask; /* task for IFF_NEEDSGIANT */ struct task if_linktask; /* task for link change events */ }; @@ -217,6 +218,16 @@ #define if_list if_link /* + * Locks for address lists on the network interface. + */ +#define IF_ADDR_LOCK_INIT(if) mtx_init(&(if)->if_addr_mtx, \ + "if_addr_mtx", NULL, MTX_DEF) +#define IF_ADDR_LOCK_DESTROY(if) mtx_destroy(&(if)->if_addr_mtx) +#define IF_ADDR_LOCK(if) mtx_lock(&(if)->if_addr_mtx) +#define IF_ADDR_UNLOCK(if) mtx_unlock(&(if)->if_addr_mtx) +#define IF_ADDR_LOCK_ASSERT(if) mtx_assert(&(if)->if_addr_mtx, MA_OWNED) + +/* * Output queues (ifp->if_snd) and slow device input queues (*ifp->if_slowq) * are queues of messages stored on ifqueue structures * (defined above). Entries are added to and deleted from these structures From owner-p4-projects@FreeBSD.ORG Tue Jul 19 21:23:35 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B410916A421; Tue, 19 Jul 2005 21:23:34 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 77AF216A41F for ; Tue, 19 Jul 2005 21:23:34 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3FAFD43D46 for ; Tue, 19 Jul 2005 21:23:34 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JLNYHf090770 for ; Tue, 19 Jul 2005 21:23:34 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JLNXiL090767 for perforce@freebsd.org; Tue, 19 Jul 2005 21:23:34 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 19 Jul 2005 21:23:34 GMT Message-Id: <200507192123.j6JLNXiL090767@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 Cc: Subject: PERFORCE change 80553 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 21:23:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=80553 Change 80553 by rwatson@rwatson_zoo on 2005/07/19 21:22:39 Merge change 80537 from rwatson_netperf to netsmp: Re-formulate and lock down if_delmulti(). Comment on an inconsistency or two in the implementation. Affected files ... .. //depot/projects/netsmp/src/sys/net/if.c#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if.c#3 (text+ko) ==== @@ -2023,6 +2023,8 @@ /* * Must generate the message while holding the lock so that 'ifma' * pointer is still valid. + * + * XXXRW: How come we don't announce ll_ifma? */ rt_newmaddrmsg(RTM_NEWMADDR, ifma); IF_ADDR_UNLOCK(ifp); @@ -2049,72 +2051,50 @@ int if_delmulti(struct ifnet *ifp, struct sockaddr *sa) { - struct ifmultiaddr *ifma; - int s; + struct ifmultiaddr *ifma, *ll_ifma; - TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) - if (sa_equal(sa, ifma->ifma_addr)) - break; - if (ifma == NULL) + IF_ADDR_LOCK(ifp); + ifma = if_findmulti(ifp, sa); + if (ifma == NULL) { + IF_ADDR_UNLOCK(ifp); return ENOENT; + } if (ifma->ifma_refcount > 1) { ifma->ifma_refcount--; + IF_ADDR_UNLOCK(ifp); return 0; } - rt_newmaddrmsg(RTM_DELMADDR, ifma); sa = ifma->ifma_lladdr; - s = splimp(); - TAILQ_REMOVE(&ifp->if_multiaddrs, ifma, ifma_link); + ll_ifma = if_findmulti(ifp, sa); + /* - * Make sure the interface driver is notified - * in the case of a link layer mcast group being left. + * XXXRW: How come we don't announce ll_ifma? */ - if (ifp->if_ioctl && ifma->ifma_addr->sa_family == AF_LINK && sa == 0) { - IFF_LOCKGIANT(ifp); - (void) (*ifp->if_ioctl)(ifp, SIOCDELMULTI, 0); - IFF_UNLOCKGIANT(ifp); + rt_newmaddrmsg(RTM_DELMADDR, ifma); + + TAILQ_REMOVE(&ifp->if_multiaddrs, ifma, ifma_link); + if_freemulti(ifma); + + if (ll_ifma != NULL) { + if (ll_ifma->ifma_refcount == 1) { + TAILQ_REMOVE(&ifp->if_multiaddrs, ll_ifma, ifma_link); + if_freemulti(ll_ifma); + } else + ll_ifma->ifma_refcount--; } - splx(s); - free(ifma->ifma_addr, M_IFMADDR); - free(ifma, M_IFMADDR); - if (sa == NULL) - return 0; + IF_ADDR_UNLOCK(ifp); /* - * Now look for the link-layer address which corresponds to - * this network address. It had been squirreled away in - * ifma->ifma_lladdr for this purpose (so we don't have - * to call ifp->if_resolvemulti() again), and we saved that - * value in sa above. If some nasty deleted the - * link-layer address out from underneath us, we can deal because - * the address we stored was is not the same as the one which was - * in the record for the link-layer address. (So we don't complain - * in that case.) + * Make sure the interface driver is notified + * in the case of a link layer mcast group being left. */ - TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) - if (sa_equal(sa, ifma->ifma_addr)) - break; - if (ifma == NULL) - return 0; - - if (ifma->ifma_refcount > 1) { - ifma->ifma_refcount--; - return 0; - } - - s = splimp(); - TAILQ_REMOVE(&ifp->if_multiaddrs, ifma, ifma_link); - if (ifp->if_ioctl != NULL) { + if (ifp->if_ioctl) { IFF_LOCKGIANT(ifp); (void) (*ifp->if_ioctl)(ifp, SIOCDELMULTI, 0); IFF_UNLOCKGIANT(ifp); } - splx(s); - free(ifma->ifma_addr, M_IFMADDR); - free(sa, M_IFMADDR); - free(ifma, M_IFMADDR); return 0; } From owner-p4-projects@FreeBSD.ORG Tue Jul 19 21:30:45 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 092EC16A421; Tue, 19 Jul 2005 21:30:45 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 D7D7C16A41F for ; Tue, 19 Jul 2005 21:30:44 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2E3743D4C for ; Tue, 19 Jul 2005 21:30:43 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JLUh4X091167 for ; Tue, 19 Jul 2005 21:30:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JLUhIN091164 for perforce@freebsd.org; Tue, 19 Jul 2005 21:30:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 19 Jul 2005 21:30:43 GMT Message-Id: <200507192130.j6JLUhIN091164@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 Cc: Subject: PERFORCE change 80554 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 21:30:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=80554 Change 80554 by rwatson@rwatson_zoo on 2005/07/19 21:29:46 Merge change 80541 from rwatson_netperf to netsmp: Lock device driver use of multicast address lists on network interfaces. Affected files ... .. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#2 edit .. //depot/projects/netsmp/src/sys/dev/awi/awi.c#2 edit .. //depot/projects/netsmp/src/sys/dev/bfe/if_bfe.c#2 edit .. //depot/projects/netsmp/src/sys/dev/bge/if_bge.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ed/if_ed.c#2 edit .. //depot/projects/netsmp/src/sys/dev/em/if_em.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ex/if_ex.c#2 edit .. //depot/projects/netsmp/src/sys/dev/fe/if_fe.c#2 edit .. //depot/projects/netsmp/src/sys/dev/fxp/if_fxp.c#2 edit .. //depot/projects/netsmp/src/sys/dev/gem/if_gem.c#2 edit .. //depot/projects/netsmp/src/sys/dev/hme/if_hme.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ie/if_ie.c#2 edit .. //depot/projects/netsmp/src/sys/dev/if_ndis/if_ndis.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ixgb/if_ixgb.c#2 edit .. //depot/projects/netsmp/src/sys/dev/lge/if_lge.c#2 edit .. //depot/projects/netsmp/src/sys/dev/lnc/if_lnc.c#2 edit .. //depot/projects/netsmp/src/sys/dev/my/if_my.c#2 edit .. //depot/projects/netsmp/src/sys/dev/nge/if_nge.c#2 edit .. //depot/projects/netsmp/src/sys/dev/nve/if_nve.c#2 edit .. //depot/projects/netsmp/src/sys/dev/owi/if_owi.c#2 edit .. //depot/projects/netsmp/src/sys/dev/pdq/pdq_ifsubr.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ray/if_ray.c#2 edit .. //depot/projects/netsmp/src/sys/dev/re/if_re.c#2 edit .. //depot/projects/netsmp/src/sys/dev/sn/if_sn.c#2 edit .. //depot/projects/netsmp/src/sys/dev/snc/dp83932.c#2 edit .. //depot/projects/netsmp/src/sys/dev/tx/if_tx.c#2 edit .. //depot/projects/netsmp/src/sys/dev/txp/if_txp.c#2 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_aue.c#2 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_axe.c#2 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_cue.c#2 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_kue.c#2 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#2 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_udav.c#2 edit .. //depot/projects/netsmp/src/sys/dev/vge/if_vge.c#2 edit .. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#2 edit .. //depot/projects/netsmp/src/sys/dev/wl/if_wl.c#2 edit .. //depot/projects/netsmp/src/sys/dev/xe/if_xe.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_vlan.c#2 edit .. //depot/projects/netsmp/src/sys/net/rtsock.c#2 edit .. //depot/projects/netsmp/src/sys/netinet/in_var.h#2 edit .. //depot/projects/netsmp/src/sys/netinet6/in6_var.h#2 edit .. //depot/projects/netsmp/src/sys/netinet6/mld6.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_dc.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_de.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_pcn.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_rl.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_sf.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_sis.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_sk.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_ste.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_ti.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_tl.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_vr.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_wb.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_xl.c#2 edit Differences ... ==== //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#2 (text+ko) ==== @@ -1662,6 +1662,7 @@ /* calculate and install multicast filter */ if ((ifp->if_flags & IFF_ALLMULTI) == 0) { mfilt[0] = mfilt[1] = 0; + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { caddr_t dl; @@ -1674,6 +1675,7 @@ pos &= 0x3f; mfilt[pos / 32] |= (1 << (pos % 32)); } + IF_ADDR_UNLOCK(ifp); } else { mfilt[0] = mfilt[1] = ~0; } ==== //depot/projects/netsmp/src/sys/dev/awi/awi.c#2 (text+ko) ==== @@ -1146,15 +1146,19 @@ #ifdef __FreeBSD__ if (ifp->if_flags & IFF_ALLMULTI) goto set_mib; + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - if (n == AWI_GROUP_ADDR_SIZE) + if (n == AWI_GROUP_ADDR_SIZE) { + IF_ADDR_UNLOCK(ifp); goto set_mib; + } IEEE80211_ADDR_COPY(sc->sc_mib_addr.aGroup_Addresses[n], LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); n++; } + IF_ADDR_UNLOCK(ifp); #else ETHER_FIRST_MULTI(step, &sc->sc_ic.ic_ec, enm); while (enm != NULL) { ==== //depot/projects/netsmp/src/sys/dev/bfe/if_bfe.c#2 (text+ko) ==== @@ -883,12 +883,14 @@ val |= BFE_RXCONF_ALLMULTI; else { val &= ~BFE_RXCONF_ALLMULTI; + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; bfe_cam_write(sc, LLADDR((struct sockaddr_dl *)ifma->ifma_addr), i++); } + IF_ADDR_UNLOCK(ifp); } CSR_WRITE_4(sc, BFE_RXCONF, val); ==== //depot/projects/netsmp/src/sys/dev/bge/if_bge.c#2 (text+ko) ==== @@ -1171,6 +1171,7 @@ CSR_WRITE_4(sc, BGE_MAR0 + (i * 4), 0); /* Now program new ones. */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1178,6 +1179,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) & 0x7F; hashes[(h & 0x60) >> 5] |= 1 << (h & 0x1F); } + IF_ADDR_UNLOCK(ifp); for (i = 0; i < 4; i++) CSR_WRITE_4(sc, BGE_MAR0 + (i * 4), hashes[i]); ==== //depot/projects/netsmp/src/sys/dev/ed/if_ed.c#2 (text+ko) ==== @@ -1778,6 +1778,7 @@ mcaf[0] = 0; mcaf[1] = 0; + IF_ADDR_LOCK(sc->ifp); TAILQ_FOREACH(ifma, &sc->ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1785,6 +1786,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; af[index >> 3] |= 1 << (index & 7); } + IF_ADDR_UNLOCK(sc->ifp); } int ==== //depot/projects/netsmp/src/sys/dev/em/if_em.c#2 (text+ko) ==== @@ -1596,7 +1596,8 @@ E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); msec_delay(5); } - + + IF_ADDR_LOCK(ifp); #if __FreeBSD_version < 500000 LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { #else @@ -1611,6 +1612,7 @@ &mta[mcnt*ETH_LENGTH_OF_ADDRESS], ETH_LENGTH_OF_ADDRESS); mcnt++; } + IF_ADDR_UNLOCK(ifp); if (mcnt >= MAX_NUM_MULTICAST_ADDRESSES) { reg_rctl = E1000_READ_REG(&adapter->hw, RCTL); ==== //depot/projects/netsmp/src/sys/dev/ex/if_ex.c#2 (text+ko) ==== @@ -840,11 +840,13 @@ ifp = sc->ifp; count = 0; + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) { if (maddr->ifma_addr->sa_family != AF_LINK) continue; count++; } + IF_ADDR_UNLOCK(ifp); if ((ifp->if_flags & IFF_PROMISC) || (ifp->if_flags & IFF_ALLMULTI) || count > 63) { @@ -871,7 +873,8 @@ CSR_WRITE_2(sc, IO_PORT_REG, 0); CSR_WRITE_2(sc, IO_PORT_REG, 0); CSR_WRITE_2(sc, IO_PORT_REG, (count + 1) * 6); - + + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) { if (maddr->ifma_addr->sa_family != AF_LINK) continue; @@ -882,6 +885,7 @@ CSR_WRITE_2(sc, IO_PORT_REG, *addr++); CSR_WRITE_2(sc, IO_PORT_REG, *addr++); } + IF_ADDR_UNLOCK(ifp); /* Program our MAC address as well */ /* XXX: Is this necessary? The Linux driver does this ==== //depot/projects/netsmp/src/sys/dev/fe/if_fe.c#2 (text+ko) ==== @@ -2060,6 +2060,7 @@ struct ifmultiaddr *ifma; filter = fe_filter_nothing; + IF_ADDR_LOCK(sc->ifp); TAILQ_FOREACH(ifma, &sc->ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -2072,6 +2073,7 @@ filter.data[index >> 3] |= 1 << (index & 7); } + IF_ADDR_UNLOCK(sc->ifp); return ( filter ); } ==== //depot/projects/netsmp/src/sys/dev/fxp/if_fxp.c#2 (text+ko) ==== @@ -2484,6 +2484,7 @@ nmcasts = 0; if ((sc->flags & FXP_FLAG_ALL_MCAST) == 0) { + IF_ADDR_LOCK(ifp); #if __FreeBSD_version < 500000 LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { #else @@ -2500,6 +2501,7 @@ &sc->mcsp->mc_addr[nmcasts][0], ETHER_ADDR_LEN); nmcasts++; } + IF_ADDR_UNLOCK(ifp); } mcsp->mc_cnt = htole16(nmcasts * ETHER_ADDR_LEN); return (nmcasts); ==== //depot/projects/netsmp/src/sys/dev/gem/if_gem.c#2 (text+ko) ==== @@ -1894,6 +1894,7 @@ /* Clear hash table */ memset(hash, 0, sizeof(hash)); + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(inm, &ifp->if_multiaddrs, ifma_link) { if (inm->ifma_addr->sa_family != AF_LINK) continue; @@ -1906,6 +1907,7 @@ /* Set the corresponding bit in the filter. */ hash[crc >> 4] |= 1 << (15 - (crc & 15)); } + IF_ADDR_UNLOCK(ifp); v |= GEM_MAC_RX_HASH_FILTER; ifp->if_flags &= ~IFF_ALLMULTI; ==== //depot/projects/netsmp/src/sys/dev/hme/if_hme.c#2 (text+ko) ==== @@ -1679,6 +1679,7 @@ * the word. */ + IF_ADDR_LOCK(sc->sc_ifp); TAILQ_FOREACH(inm, &sc->sc_ifp->if_multiaddrs, ifma_link) { if (inm->ifma_addr->sa_family != AF_LINK) continue; @@ -1691,6 +1692,7 @@ /* Set the corresponding bit in the filter. */ hash[crc >> 4] |= 1 << (crc & 0xf); } + IF_ADDR_UNLOCK(sc->sc_ifp); ifp->if_flags &= ~IFF_ALLMULTI; ==== //depot/projects/netsmp/src/sys/dev/ie/if_ie.c#2 (text+ko) ==== @@ -1676,6 +1676,7 @@ * Step through the list of addresses. */ sc->mcast_count = 0; + IF_ADDR_LOCK(sc->ifp); TAILQ_FOREACH(ifma, &sc->ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1690,6 +1691,7 @@ &(sc->mcast_addrs[sc->mcast_count]), 6); sc->mcast_count++; } + IF_ADDR_UNLOCK(sc->ifp); setflag: sc->want_mcsetup = 1; ==== //depot/projects/netsmp/src/sys/dev/if_ndis/if_ndis.c#2 (text+ko) ==== @@ -265,6 +265,7 @@ sc->ndis_filter |= NDIS_PACKET_TYPE_MULTICAST; len = 0; + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -272,11 +273,13 @@ mclist + (ETHER_ADDR_LEN * len), ETHER_ADDR_LEN); len++; if (len > mclistsz) { + IF_ADDR_UNLOCK(ifp); sc->ndis_filter |= NDIS_PACKET_TYPE_ALL_MULTICAST; sc->ndis_filter &= ~NDIS_PACKET_TYPE_MULTICAST; goto out; } } + IF_ADDR_UNLOCK(ifp); len = len * ETHER_ADDR_LEN; error = ndis_set_info(sc, OID_802_3_MULTICAST_LIST, mclist, &len); ==== //depot/projects/netsmp/src/sys/dev/ixgb/if_ixgb.c#2 (text+ko) ==== @@ -1065,6 +1065,7 @@ IOCTL_DEBUGOUT("ixgb_set_multi: begin"); + IF_ADDR_LOCK(ifp); #if __FreeBSD_version < 500000 LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { #else @@ -1077,6 +1078,7 @@ &mta[mcnt * IXGB_ETH_LENGTH_OF_ADDRESS], IXGB_ETH_LENGTH_OF_ADDRESS); mcnt++; } + IF_ADDR_UNLOCK(ifp); if (mcnt > MAX_NUM_MULTICAST_ADDRESSES) { reg_rctl = IXGB_READ_REG(&adapter->hw, RCTL); ==== //depot/projects/netsmp/src/sys/dev/lge/if_lge.c#2 (text+ko) ==== @@ -390,6 +390,7 @@ CSR_WRITE_4(sc, LGE_MAR1, 0); /* now program new ones */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -400,6 +401,7 @@ else hashes[1] |= (1 << (h - 32)); } + IF_ADDR_UNLOCK(ifp); CSR_WRITE_4(sc, LGE_MAR0, hashes[0]); CSR_WRITE_4(sc, LGE_MAR1, hashes[1]); ==== //depot/projects/netsmp/src/sys/dev/lnc/if_lnc.c#2 (text+ko) ==== @@ -239,6 +239,7 @@ */ bzero(sc->init_block->ladrf, MULTICAST_FILTER_LEN); + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -247,6 +248,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; sc->init_block->ladrf[index >> 3] |= 1 << (index & 7); } + IF_ADDR_UNLOCK(ifp); } void ==== //depot/projects/netsmp/src/sys/dev/my/if_my.c#2 (text+ko) ==== @@ -346,6 +346,7 @@ CSR_WRITE_4(sc, MY_MAR1, 0); /* now program new ones */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -357,6 +358,7 @@ hashes[1] |= (1 << (h - 32)); mcnt++; } + IF_ADDR_UNLOCK(ifp); if (mcnt) rxfilt |= MY_AM; ==== //depot/projects/netsmp/src/sys/dev/nge/if_nge.c#2 (text+ko) ==== @@ -705,6 +705,7 @@ * that needs to be updated, and the lower 4 bits represent * which bit within that byte needs to be set. */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -716,6 +717,7 @@ NGE_FILTADDR_MCAST_LO + (index * 2)); NGE_SETBIT(sc, NGE_RXFILT_DATA, (1 << bit)); } + IF_ADDR_UNLOCK(ifp); CSR_WRITE_4(sc, NGE_RXFILT_CTL, filtsave); ==== //depot/projects/netsmp/src/sys/dev/nve/if_nve.c#2 (text+ko) ==== @@ -1074,6 +1074,7 @@ return; } /* Setup multicast filter */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { u_char *addrp; @@ -1087,6 +1088,7 @@ oraddr[i] |= mcaddr; } } + IF_ADDR_UNLOCK(ifp); for (i = 0; i < 6; i++) { hwfilter.acMulticastAddress[i] = andaddr[i] & oraddr[i]; hwfilter.acMulticastMask[i] = andaddr[i] | (~oraddr[i]); ==== //depot/projects/netsmp/src/sys/dev/owi/if_owi.c#2 (text+ko) ==== @@ -1213,6 +1213,7 @@ return; } + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1225,6 +1226,7 @@ break; } } + IF_ADDR_UNLOCK(ifp); mcast.wi_len = (i * 3) + 1; wi_write_record(sc, (struct wi_ltv_gen *)&mcast); ==== //depot/projects/netsmp/src/sys/dev/pdq/pdq_ifsubr.c#2 (text+ko) ==== @@ -273,6 +273,7 @@ PDQ_IFNET(sc)->if_flags &= ~IFF_ALLMULTI; #endif + IF_ADDR_LOCK(PDQ_IFNET(sc)); for (ifma = TAILQ_FIRST(&PDQ_IFNET(sc)->if_multiaddrs); ifma && num_addrs > 0; ifma = TAILQ_NEXT(ifma, ifma_link)) { char *mcaddr; @@ -285,6 +286,7 @@ addr++; num_addrs--; } + IF_ADDR_UNLOCK(PDQ_IFNET(sc)); /* * If not all the address fit into the CAM, turn on all-multicast mode. */ ==== //depot/projects/netsmp/src/sys/dev/ray/if_ray.c#2 (text+ko) ==== @@ -2704,6 +2704,7 @@ * The multicast list is only 16 items long so use promiscuous * mode and don't bother updating the multicast list. */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) count++; if (count == 0) { @@ -2711,6 +2712,7 @@ return; } else if (count > 16) { ifp->if_flags |= IFF_ALLMULTI; + IF_ADDR_UNLOCK(ifp); ray_com_runq_done(sc); return; } else if (ifp->if_flags & IFF_ALLMULTI) @@ -2732,6 +2734,7 @@ ); bufp += ETHER_ADDR_LEN; } + IF_ADDR_UNLOCK(ifp); ray_com_ecf(sc, com); } ==== //depot/projects/netsmp/src/sys/dev/re/if_re.c#2 (text+ko) ==== @@ -601,6 +601,7 @@ CSR_WRITE_4(sc, RL_MAR4, 0); /* now program new ones */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -612,6 +613,7 @@ hashes[1] |= (1 << (h - 32)); mcnt++; } + IF_ADDR_UNLOCK(ifp); if (mcnt) rxfilt |= RL_RXCFG_RX_MULTI; ==== //depot/projects/netsmp/src/sys/dev/sn/if_sn.c#2 (text+ko) ==== @@ -1410,6 +1410,7 @@ bzero(mcf, MCFSZ); + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) return 0; @@ -1423,5 +1424,6 @@ } af[index2 >> 3] |= 1 << (index2 & 7); } + IF_ADDR_UNLOCK(ifp); return 1; /* use multicast filter */ } ==== //depot/projects/netsmp/src/sys/dev/snc/dp83932.c#2 (text+ko) ==== @@ -675,6 +675,7 @@ ifp->if_flags &= ~IFF_ALLMULTI; /* Loop through multicast addresses */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -688,6 +689,7 @@ LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); mcount++; } + IF_ADDR_UNLOCK(ifp); NIC_PUT(sc, SNCR_CDP, LOWER(sc->v_cda)); NIC_PUT(sc, SNCR_CDC, MAXCAM); ==== //depot/projects/netsmp/src/sys/dev/tx/if_tx.c#2 (text+ko) ==== @@ -1409,6 +1409,7 @@ filter[2] = 0; filter[3] = 0; + IF_ADDR_LOCK(ifp); #if __FreeBSD_version < 500000 LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { #else @@ -1420,6 +1421,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; filter[h >> 4] |= 1 << (h & 0xF); } + IF_ADDR_UNLOCK(ifp); CSR_WRITE_4(sc, MC0, filter[0]); CSR_WRITE_4(sc, MC1, filter[1]); ==== //depot/projects/netsmp/src/sys/dev/txp/if_txp.c#2 (text+ko) ==== @@ -1774,6 +1774,7 @@ else { hash[0] = hash[1] = 0; + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1797,6 +1798,7 @@ hashbit = (u_int16_t)(crc & (64 - 1)); hash[hashbit / 32] |= (1 << hashbit % 32); } + IF_ADDR_UNLOCK(ifp); if (mcnt > 0) { filter |= TXP_RXFILT_HASHMULTI; ==== //depot/projects/netsmp/src/sys/dev/usb/if_aue.c#2 (text+ko) ==== @@ -539,6 +539,7 @@ aue_csr_write_1(sc, AUE_MAR0 + i, 0); /* now program new ones */ + IF_ADDR_LOCK(ifp); #if __FreeBSD_version >= 500000 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) #else @@ -551,6 +552,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) & ((1 << AUE_BITS) - 1); AUE_SETBIT(sc, AUE_MAR + (h >> 3), 1 << (h & 0x7)); } + IF_ADDR_UNLOCK(ifp); return; } ==== //depot/projects/netsmp/src/sys/dev/usb/if_axe.c#2 (text+ko) ==== @@ -338,6 +338,7 @@ } else rxmode &= ~AXE_RXCMD_ALLMULTI; + IF_ADDR_LOCK(ifp); #if __FreeBSD_version >= 500000 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) #else @@ -350,6 +351,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; hashtbl[h / 8] |= 1 << (h % 8); } + IF_ADDR_UNLOCK(ifp); axe_cmd(sc, AXE_CMD_WRITE_MCAST, 0, 0, (void *)&hashtbl); axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, rxmode, NULL); ==== //depot/projects/netsmp/src/sys/dev/usb/if_cue.c#2 (text+ko) ==== @@ -356,6 +356,7 @@ sc->cue_mctab[i] = 0; /* now program new ones */ + IF_ADDR_LOCK(ifp); #if __FreeBSD_version >= 500000 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) #else @@ -367,6 +368,7 @@ h = cue_mchash(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); sc->cue_mctab[h >> 3] |= 1 << (h & 0x7); } + IF_ADDR_UNLOCK(ifp); /* * Also include the broadcast address in the filter ==== //depot/projects/netsmp/src/sys/dev/usb/if_kue.c#2 (text+ko) ==== @@ -327,6 +327,7 @@ sc->kue_rxfilt &= ~KUE_RXFILT_ALLMULTI; + IF_ADDR_LOCK(ifp); #if __FreeBSD_version >= 500000 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) #else @@ -345,6 +346,7 @@ KUE_MCFILT(sc, i), ETHER_ADDR_LEN); i++; } + IF_ADDR_UNLOCK(ifp); if (i == KUE_MCFILTCNT(sc)) sc->kue_rxfilt |= KUE_RXFILT_ALLMULTI; ==== //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#2 (text+ko) ==== @@ -500,6 +500,7 @@ rue_csr_write_4(sc, RUE_MAR4, 0); /* now program new ones */ + IF_ADDR_LLOCK(ifp); #if __FreeBSD_version >= 500000 TAILQ_FOREACH (ifma, &ifp->if_multiaddrs, ifma_link) #else @@ -516,6 +517,7 @@ hashes[1] |= (1 << (h - 32)); mcnt++; } + IF_ADDR_UNLOCK(ifp); if (mcnt) rxcfg |= RUE_RCR_AM; ==== //depot/projects/netsmp/src/sys/dev/usb/if_udav.c#2 (text+ko) ==== @@ -1044,6 +1044,7 @@ ETHER_NEXT_MULTI(step, enm); } #elif defined(__FreeBSD__) + IF_ADDR_LOCK(ifp); #if __FreeBSD_version >= 500000 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) #else @@ -1056,6 +1057,7 @@ ifma->ifma_addr)); hashes[h>>3] |= 1 << (h & 0x7); } + IF_ADDR_UNLOCK(ifp); #endif /* disable all multicast */ ==== //depot/projects/netsmp/src/sys/dev/vge/if_vge.c#2 (text+ko) ==== @@ -594,6 +594,7 @@ } /* Now program new ones */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -626,6 +627,7 @@ CSR_WRITE_4(sc, VGE_MAR0, hashes[0]); CSR_WRITE_4(sc, VGE_MAR1, hashes[1]); } + IF_ADDR_UNLOCK(ifp); return; } ==== //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#2 (text+ko) ==== @@ -1739,6 +1739,7 @@ } n = 0; + IF_ADDR_LOCK(ifp); #if __FreeBSD_version < 500000 LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { #else @@ -1752,6 +1753,7 @@ (LLADDR((struct sockaddr_dl *)ifma->ifma_addr))); n++; } + IF_ADDR_UNLOCK(ifp); return wi_write_rid(sc, WI_RID_MCAST_LIST, &mlist, IEEE80211_ADDR_LEN * n); } ==== //depot/projects/netsmp/src/sys/dev/wl/if_wl.c#2 (text+ko) ==== @@ -2121,6 +2121,7 @@ outw(PIOP1(base), 0); /* ac_status */ outw(PIOP1(base), AC_MCSETUP|AC_CW_EL); /* ac_command */ outw(PIOR1(base), OFFSET_CU + 8); + IF_ADDR_LOCK(sc->ifp); TAILQ_FOREACH(ifma, &sc->ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -2131,6 +2132,7 @@ outw(PIOP1(base), addrp[4] + (addrp[5] << 8)); ++cnt; } + IF_ADDR_UNLOCK(sc->ifp); outw(PIOR1(base), OFFSET_CU + 6); /* mc-cnt */ outw(PIOP1(base), cnt * WAVELAN_ADDR_SIZE); if (wlcmd(sc, "config()-mcaddress") == 0) ==== //depot/projects/netsmp/src/sys/dev/xe/if_xe.c#2 (text+ko) ==== @@ -1274,6 +1274,7 @@ /* Iterate over multicast address list */ count = 0; + IF_ADDR_LOCK(ifp); #if __FreeBSD_version < 500000 LIST_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) { #else @@ -1295,6 +1296,7 @@ /* Nowhere else to put them on CE2 */ break; } + IF_ADDR_UNLOCK(ifp); DEVPRINTF(2, (scp->dev, "set_multicast: count = %u\n", count)); ==== //depot/projects/netsmp/src/sys/net/if_vlan.c#2 (text+ko) ==== @@ -188,21 +188,27 @@ } /* Now program new ones. */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; mc = malloc(sizeof(struct vlan_mc_entry), M_VLAN, M_NOWAIT); - if (mc == NULL) + if (mc == NULL) { + IF_ADDR_UNLOCK(ifp); return (ENOMEM); + } bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr), (char *)&mc->mc_addr, ETHER_ADDR_LEN); SLIST_INSERT_HEAD(&sc->vlan_mc_listhead, mc, mc_entries); bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr), LLADDR(&sdl), ETHER_ADDR_LEN); error = if_addmulti(ifp_p, (struct sockaddr *)&sdl, &rifma); - if (error) + if (error) { + IF_ADDR_UNLOCK(ifp); return (error); + } } + IF_ADDR_UNLOCK(ifp); return (0); } ==== //depot/projects/netsmp/src/sys/net/rtsock.c#2 (text+ko) ==== @@ -1178,6 +1178,11 @@ continue; ifa = ifaddr_byindex(ifp->if_index); info.rti_info[RTAX_IFP] = ifa ? ifa->ifa_addr : NULL; + + /* + * XXXRW: Can't acquire IF_ADDR_LOCK() due to call + * to SYSCTL_OUT(). + */ TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (af && af != ifma->ifma_addr->sa_family) continue; ==== //depot/projects/netsmp/src/sys/netinet/in_var.h#2 (text+ko) ==== @@ -177,6 +177,8 @@ /* * Macro for looking up the in_multi record for a given IP multicast address * on a given interface. If no matching record is found, "inm" is set null. + * + * Caller must hold IF_ADDR_LOCK(). */ #define IN_LOOKUP_MULTI(addr, ifp, inm) \ /* struct in_addr addr; */ \ @@ -185,6 +187,7 @@ do { \ struct ifmultiaddr *ifma; \ \ + IF_ADDR_LOCK_ASSERT(ifp); TAILQ_FOREACH(ifma, &((ifp)->if_multiaddrs), ifma_link) { \ if (ifma->ifma_addr->sa_family == AF_INET \ && ((struct sockaddr_in *)ifma->ifma_addr)->sin_addr.s_addr == \ ==== //depot/projects/netsmp/src/sys/netinet6/in6_var.h#2 (text+ko) ==== @@ -535,6 +535,8 @@ * Macros for looking up the in6_multi record for a given IP6 multicast * address on a given interface. If no matching record is found, "in6m" * returns NLL. + * + * Caller must hold IF_ADDR_LOCK(ifp). */ #define IN6_LOOKUP_MULTI(addr, ifp, in6m) \ @@ -543,6 +545,7 @@ /* struct in6_multi *in6m; */ \ do { \ struct ifmultiaddr *ifma; \ + IF_ADDR_LOCK_ASSERT(ifp); \ TAILQ_FOREACH(ifma, &(ifp)->if_multiaddrs, ifma_link) { \ if (ifma->ifma_addr->sa_family == AF_INET6 \ && IN6_ARE_ADDR_EQUAL(&((struct sockaddr_in6 *)ifma->ifma_addr)->sin6_addr, \ ==== //depot/projects/netsmp/src/sys/netinet6/mld6.c#2 (text+ko) ==== @@ -266,6 +266,7 @@ mld6_all_nodes_linklocal.s6_addr16[1] = htons(ifp->if_index); /* XXX */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_INET6) continue; @@ -296,6 +297,7 @@ } } } + IF_ADDR_UNLOCK(ifp); if (IN6_IS_ADDR_MC_LINKLOCAL(&mldh->mld_addr)) mldh->mld_addr.s6_addr16[1] = 0; /* XXX */ ==== //depot/projects/netsmp/src/sys/pci/if_dc.c#2 (text+ko) ==== @@ -1110,6 +1110,7 @@ else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1117,6 +1118,7 @@ LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); sp[h >> 4] |= htole32(1 << (h & 0xF)); } + IF_ADDR_UNLOCK(ifp); if (ifp->if_flags & IFF_BROADCAST) { h = dc_mchash_le(sc, ifp->if_broadcastaddr); @@ -1179,6 +1181,7 @@ return; /* Now program new ones. */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1193,6 +1196,7 @@ else hashes[1] |= (1 << (h - 32)); } + IF_ADDR_UNLOCK(ifp); CSR_WRITE_4(sc, DC_AL_MAR0, hashes[0]); CSR_WRITE_4(sc, DC_AL_MAR1, hashes[1]); @@ -1250,6 +1254,7 @@ return; /* now program new ones */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1259,6 +1264,7 @@ else hashes[1] |= (1 << (h - 32)); } + IF_ADDR_UNLOCK(ifp); CSR_WRITE_4(sc, DC_AX_FILTIDX, DC_AX_FILTIDX_MAR0); CSR_WRITE_4(sc, DC_AX_FILTDATA, hashes[0]); @@ -1302,6 +1308,7 @@ else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1309,6 +1316,7 @@ LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); sp[h >> 4] |= htole32(1 << (h & 0xF)); } + IF_ADDR_UNLOCK(ifp); if (ifp->if_flags & IFF_BROADCAST) { h = dc_mchash_le(sc, ifp->if_broadcastaddr); ==== //depot/projects/netsmp/src/sys/pci/if_de.c#2 (text+ko) ==== @@ -3003,6 +3003,7 @@ #endif multicnt = 0; + IF_ADDR_LOCK(sc->tulip_ifp); TAILQ_FOREACH(ifma, &sc->tulip_ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family == AF_LINK) @@ -3125,6 +3126,7 @@ #endif } } + IF_ADDR_UNLOCK(sc->tulip_ifp); #if defined(IFF_ALLMULTI) if (sc->tulip_flags & TULIP_ALLMULTI) sc->tulip_ifp->if_flags |= IFF_ALLMULTI; ==== //depot/projects/netsmp/src/sys/pci/if_pcn.c#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 19 22:02:23 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13A4416A421; Tue, 19 Jul 2005 22:02:23 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 BECBA16A41F for ; Tue, 19 Jul 2005 22:02:22 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7512F43D45 for ; Tue, 19 Jul 2005 22:02:22 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JM2M1K092964 for ; Tue, 19 Jul 2005 22:02:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JM2Mll092960 for perforce@freebsd.org; Tue, 19 Jul 2005 22:02:22 GMT (envelope-from sam@freebsd.org) Date: Tue, 19 Jul 2005 22:02:22 GMT Message-Id: <200507192202.j6JM2Mll092960@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 Cc: Subject: PERFORCE change 80556 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 22:02:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=80556 Change 80556 by sam@sam_ebb on 2005/07/19 22:02:01 o add tx fragmentation o move rts+txfrag default settings from ieee80211.h to ieee80211_var.h since they are implementation-dependent and not defined by the protocol (well maybe) o correct max rts o fix some bounds checking of ioctl parameters to allow the min/max settings o allow rts/frag thresholds to be reset with "-"; e.g. ifconfig ath0 fragthreshold - Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#43 edit .. //depot/projects/wifi/sys/dev/ath/if_ath.c#89 edit .. //depot/projects/wifi/sys/net80211/ieee80211.h#10 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#43 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#27 edit .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#45 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#30 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#30 edit Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#43 (text+ko) ==== @@ -344,7 +344,8 @@ static void set80211rtsthreshold(const char *val, int d, int s, const struct afswtch *rafp) { - set80211(s, IEEE80211_IOC_RTSTHRESHOLD, atoi(val), 0, NULL); + set80211(s, IEEE80211_IOC_RTSTHRESHOLD, + isundefarg(val) ? IEEE80211_RTS_MAX : atoi(val), 0, NULL); } static void @@ -702,6 +703,13 @@ set80211(s, IEEE80211_IOC_MCAST_RATE, 2*atoi(val), 0, NULL); } +static +DECL_CMD_FUNC(set80211fragthreshold, val, d) +{ + set80211(s, IEEE80211_IOC_FRAGTHRESHOLD, + isundefarg(val) ? IEEE80211_FRAG_MAX : atoi(val), 0, NULL); +} + static int getmaxrate(uint8_t rates[15], uint8_t nrates) { @@ -1093,7 +1101,7 @@ #define IEEE80211_C_BITS \ "\020\1WEP\2TKIP\3AES\4AES_CCM\6CKIP\11IBSS\12PMGT\13HOSTAP\14AHDEMO" \ "\15SWRETRY\16TXPMGT\17SHSLOT\20SHPREAMBLE\21MONITOR\22TKIPMIC\30WPA1" \ -"\31WPA2\32BURST\33WME\34WDS\36BGSCAN" +"\31WPA2\32BURST\33WME\34WDS\36BGSCAN\37TXFRAG" static void list_capabilities(int s) @@ -1587,6 +1595,12 @@ LINE_CHECK("%crtsthreshold %d", spacer, ireq.i_val); } + ireq.i_type = IEEE80211_IOC_FRAGTHRESHOLD; + if (ioctl(s, SIOCG80211, &ireq) != -1) { + if (ireq.i_val != IEEE80211_FRAG_MAX || verbose) + LINE_CHECK("%cfragthreshold %d", spacer, ireq.i_val); + } + ireq.i_type = IEEE80211_IOC_MCAST_RATE; if (ioctl(s, SIOCG80211, &ireq) != -1) { if (ireq.i_val != 2*1 || verbose) @@ -1967,6 +1981,7 @@ DEF_CMD_ARG("roam:rate11b", set80211roamrate11b), DEF_CMD_ARG("roam:rate11g", set80211roamrate11g), DEF_CMD_ARG("mcastrate", set80211mcastrate), + DEF_CMD_ARG("fragthreshold", set80211fragthreshold), }; static struct afswtch af_ieee80211 = { .af_name = "af_ieee80211", ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#89 (text+ko) ==== @@ -503,6 +503,7 @@ | IEEE80211_C_SHSLOT /* short slot time supported */ | IEEE80211_C_WPA /* capable of WPA1+WPA2 */ | IEEE80211_C_BGSCAN /* capable of bg scanning */ + | IEEE80211_C_TXFRAG /* handle tx frags */ ; /* * Query the hal to figure out h/w crypto support. @@ -1376,7 +1377,55 @@ return m; } +/* + * Cleanup driver resources when we run out of buffers + * while processing fragments; return the tx buffers + * allocated and drop node references. + */ static void +ath_txfrag_cleanup(struct ath_softc *sc, + ath_bufhead *frags, struct ieee80211_node *ni) +{ + struct ath_buf *bf, *next; + + ATH_TXBUF_LOCK_ASSERT(sc); + + STAILQ_FOREACH_SAFE(bf, frags, bf_list, next) { + STAILQ_REMOVE_HEAD(frags, bf_list); + STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); + ieee80211_node_decref(ni); + } +} + +/* + * Setup xmit of a fragmented frame. Allocate a buffer + * for each frag and bump the node reference count to + * reflect the held reference to be setup by ath_tx_start. + */ +static int +ath_txfrag_setup(struct ath_softc *sc, ath_bufhead *frags, + struct mbuf *m0, struct ieee80211_node *ni) +{ + struct mbuf *m; + struct ath_buf *bf; + + ATH_TXBUF_LOCK(sc); + for (m = m0->m_nextpkt; m != NULL; m = m->m_nextpkt) { + bf = STAILQ_FIRST(&sc->sc_txbuf); + if (bf == NULL) { /* out of buffers, cleanup */ + ath_txfrag_cleanup(sc, frags, ni); + break; + } + STAILQ_REMOVE_HEAD(&sc->sc_txbuf, bf_list); + ieee80211_node_incref(ni); + STAILQ_INSERT_TAIL(frags, bf, bf_list); + } + ATH_TXBUF_UNLOCK(sc); + + return !STAILQ_EMPTY(frags); +} + +static void ath_start(struct ifnet *ifp) { struct ath_softc *sc = ifp->if_softc; @@ -1384,10 +1433,11 @@ struct ieee80211com *ic = &sc->sc_ic; struct ieee80211_node *ni; struct ath_buf *bf; - struct mbuf *m; + struct mbuf *m, *next; struct ieee80211_frame *wh; struct ether_header *eh; struct ath_txq *txq; + ath_bufhead frags; int pri; if ((ifp->if_flags & IFF_RUNNING) == 0 || sc->sc_invalid) @@ -1434,6 +1484,7 @@ ATH_TXBUF_UNLOCK(sc); break; } + STAILQ_INIT(&frags); /* * Find the node for the destination so we can do * things like power save and fast frames aggregation. @@ -1504,6 +1555,19 @@ sc->sc_stats.ast_tx_encap++; goto bad; } + /* + * Check for fragmentation. If this has frame + * has been broken up verify we have enough + * buffers to send all the fragments so all + * go out or none... + */ + if ((m->m_flags & M_FRAG) && + !ath_txfrag_setup(sc, &frags, m, ni)) { + DPRINTF(sc, ATH_DEBUG_ANY, + "%s: out of txfrag buffers\n", __func__); + ic->ic_stats.is_tx_nobuf++; /* XXX */ + goto bad; + } } else { /* * Hack! The referenced node pointer is in the @@ -1534,17 +1598,27 @@ sc->sc_stats.ast_tx_mgmt++; } + nextfrag: + next = m->m_nextpkt; if (ath_tx_start(sc, ni, bf, m)) { bad: ifp->if_oerrors++; reclaim: ATH_TXBUF_LOCK(sc); STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); + ath_txfrag_cleanup(sc, &frags, ni); ATH_TXBUF_UNLOCK(sc); if (ni != NULL) ieee80211_free_node(ni); continue; } + if (next != NULL) { + m = next; + bf = STAILQ_FIRST(&frags); + KASSERT(bf != NULL, ("no buf for txfrag")); + STAILQ_REMOVE_HEAD(&frags, bf_list); + goto nextfrag; + } sc->sc_tx_timer = 5; ifp->if_timer = 1; @@ -3563,6 +3637,18 @@ return 0; /* NB: lowest rate */ } +static void +ath_freetx(struct mbuf *m) +{ + struct mbuf *next; + + do { + next = m->m_nextpkt; + m->m_nextpkt = NULL; + m_freem(m); + } while ((m = next) != NULL); +} + static int ath_tx_start(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf, struct mbuf *m0) @@ -3578,7 +3664,7 @@ struct ath_hal *ah = sc->sc_ah; struct ifnet *ifp = sc->sc_ifp; const struct chanAccParams *cap = &ic->ic_wme.wme_chanParams; - int i, error, iswep, ismcast, keyix, hdrlen, pktlen, try0; + int i, error, iswep, ismcast, isfrag, keyix, hdrlen, pktlen, try0; u_int8_t rix, txrate, ctsrate; u_int8_t cix = 0xff; /* NB: silence compiler */ struct ath_desc *ds, *ds0; @@ -3595,6 +3681,7 @@ wh = mtod(m0, struct ieee80211_frame *); iswep = wh->i_fc[1] & IEEE80211_FC1_WEP; ismcast = IEEE80211_IS_MULTICAST(wh->i_addr1); + isfrag = m0->m_flags & M_FRAG; hdrlen = ieee80211_anyhdrsize(wh); /* * Packet length must not include any @@ -3619,21 +3706,22 @@ * 802.11 layer counts failures and provides * debugging/diagnostics. */ - m_freem(m0); + ath_freetx(m0); return EIO; } /* * Adjust the packet + header lengths for the crypto * additions and calculate the h/w key index. When * a s/w mic is done the frame will have had any mic - * added to it prior to entry so skb->len above will + * added to it prior to entry so m0->m_pkthdr.len will * account for it. Otherwise we need to add it to the * packet length. */ cip = k->wk_cipher; hdrlen += cip->ic_header; pktlen += cip->ic_header + cip->ic_trailer; - if ((k->wk_flags & IEEE80211_KEY_SWMIC) == 0) + /* NB: frags always have any TKIP MIC done in s/w */ + if ((k->wk_flags & IEEE80211_KEY_SWMIC) == 0 && !isfrag) pktlen += cip->ic_miclen; keyix = k->wk_keyix; @@ -3663,7 +3751,7 @@ bf->bf_nseg = ATH_TXDESC+1; } else if (error != 0) { sc->sc_stats.ast_tx_busdma++; - m_freem(m0); + ath_freetx(m0); return error; } /* @@ -3675,7 +3763,7 @@ sc->sc_stats.ast_tx_linear++; m = ath_defrag(m0, M_DONTWAIT, ATH_TXDESC); if (m == NULL) { - m_freem(m0); + ath_freetx(m0); sc->sc_stats.ast_tx_nombuf++; return ENOMEM; } @@ -3685,14 +3773,14 @@ BUS_DMA_NOWAIT); if (error != 0) { sc->sc_stats.ast_tx_busdma++; - m_freem(m0); + ath_freetx(m0); return error; } KASSERT(bf->bf_nseg <= ATH_TXDESC, ("too many segments after defrag; nseg %u", bf->bf_nseg)); } else if (bf->bf_nseg == 0) { /* null packet, discard */ sc->sc_stats.ast_tx_nodata++; - m_freem(m0); + ath_freetx(m0); return EIO; } DPRINTF(sc, ATH_DEBUG_XMIT, "%s: m %p len %u\n", __func__, m0, pktlen); @@ -3805,7 +3893,7 @@ if_printf(ifp, "bogus frame type 0x%x (%s)\n", wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK, __func__); /* XXX statistic */ - m_freem(m0); + ath_freetx(m0); return EIO; } txq = sc->sc_ac2q[pri]; @@ -3846,7 +3934,17 @@ flags |= HAL_TXDESC_RTSENA; else if (ic->ic_protmode == IEEE80211_PROT_CTSONLY) flags |= HAL_TXDESC_CTSENA; - cix = rt->info[sc->sc_protrix].controlRate; + if (isfrag) { + /* + * For frags it would be desirable to use the + * highest CCK rate for RTS/CTS. But stations + * farther away may detect it at a lower CCK rate + * so use the configured protection rate instead + * (for now). + */ + cix = rt->info[sc->sc_protrix].controlRate; + } else + cix = rt->info[sc->sc_protrix].controlRate; sc->sc_stats.ast_tx_protect++; } @@ -3857,13 +3955,30 @@ if ((flags & HAL_TXDESC_NOACK) == 0 && (wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) != IEEE80211_FC0_TYPE_CTL) { u_int16_t dur; - /* - * XXX not right with fragmentation. - */ if (shortPreamble) dur = rt->info[rix].spAckDuration; else dur = rt->info[rix].lpAckDuration; + if (wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG) { + dur += dur; /* additional SIFS+ACK */ + KASSERT(m0->m_nextpkt != NULL, ("no fragment")); + /* + * Include the size of next fragment so NAV is + * updated properly. The last fragment uses only + * the ACK duration + */ + dur += ath_hal_computetxtime(ah, rt, + m0->m_nextpkt->m_pkthdr.len, + rix, shortPreamble); + } + if (isfrag) { + /* + * Force hardware to use computed duration for next + * fragment by disabling multi-rate retry which updates + * duration based on the multi-rate duration table. + */ + try0 = ATH_TXMAXTRY; + } *(u_int16_t *)wh->i_dur = htole16(dur); } @@ -3922,6 +4037,8 @@ sc->sc_tx_th.wt_flags = sc->sc_hwmap[txrate].txflags; if (iswep) sc->sc_tx_th.wt_flags |= IEEE80211_RADIOTAP_F_WEP; + if (isfrag) + sc->sc_tx_th.wt_flags |= IEEE80211_RADIOTAP_F_FRAG; sc->sc_tx_th.wt_rate = sc->sc_hwmap[txrate].ieeerate; sc->sc_tx_th.wt_txpower = ni->ni_txpower; sc->sc_tx_th.wt_antenna = sc->sc_txantenna; ==== //depot/projects/wifi/sys/net80211/ieee80211.h#10 (text+ko) ==== @@ -635,11 +635,19 @@ /* * RTS frame length parameters. The default is specified in - * the 802.11 spec. The max may be wrong for jumbo frames. + * the 802.11 spec as 5212; we treat it as implementation-dependent + * so it's defined in ieee80211_var.h. The max may be wrong + * for jumbo frames. */ -#define IEEE80211_RTS_DEFAULT 512 #define IEEE80211_RTS_MIN 1 -#define IEEE80211_RTS_MAX IEEE80211_MAX_LEN +#define IEEE80211_RTS_MAX 2346 + +/* + * TX fragmentation parameters. As above for RTS, we treat + * default as implementation-dependent so define it elsewhere. + */ +#define IEEE80211_FRAG_MIN 256 +#define IEEE80211_FRAG_MAX 2346 /* * Atheros fast-frame encapsulation format. ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#43 (text+ko) ==== @@ -846,6 +846,9 @@ case IEEE80211_IOC_MCAST_RATE: ireq->i_val = ic->ic_mcast_rate; break; + case IEEE80211_IOC_FRAGTHRESHOLD: + ireq->i_val = ic->ic_fragthreshold; + break; default: error = EINVAL; break; @@ -1608,8 +1611,8 @@ error = IS_UP(ic) ? ic->ic_reset(ic->ic_ifp) : 0; break; case IEEE80211_IOC_RTSTHRESHOLD: - if (!(IEEE80211_RTS_MIN < ireq->i_val && - ireq->i_val < IEEE80211_RTS_MAX)) + if (!(IEEE80211_RTS_MIN <= ireq->i_val && + ireq->i_val <= IEEE80211_RTS_MAX)) return EINVAL; ic->ic_rtsthreshold = ireq->i_val; error = IS_UP(ic) ? ic->ic_reset(ic->ic_ifp) : 0; @@ -1626,8 +1629,8 @@ case IEEE80211_IOC_TXPOWER: if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0) return EINVAL; - if (!(IEEE80211_TXPOWER_MIN < ireq->i_val && - ireq->i_val < IEEE80211_TXPOWER_MAX)) + if (!(IEEE80211_TXPOWER_MIN <= ireq->i_val && + ireq->i_val <= IEEE80211_TXPOWER_MAX)) return EINVAL; ic->ic_txpowlimit = ireq->i_val; error = IS_UP(ic) ? ic->ic_reset(ic->ic_ifp) : 0; @@ -1911,6 +1914,16 @@ case IEEE80211_IOC_MCAST_RATE: ic->ic_mcast_rate = ireq->i_val & IEEE80211_RATE_VAL; break; + case IEEE80211_IOC_FRAGTHRESHOLD: + if ((ic->ic_caps & IEEE80211_C_TXFRAG) == 0 && + ireq->i_val != IEEE80211_FRAG_MAX) + return EINVAL; + if (!(IEEE80211_FRAG_MIN <= ireq->i_val && + ireq->i_val <= IEEE80211_FRAG_MAX)) + return EINVAL; + ic->ic_fragthreshold = ireq->i_val; + error = IS_UP(ic) ? ic->ic_reset(ic->ic_ifp) : 0; + break; default: error = EINVAL; break; ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#27 (text+ko) ==== @@ -149,6 +149,8 @@ u_int32_t is_tx_badcipher; /* tx failed 'cuz key type */ u_int32_t is_tx_nodefkey; /* tx failed 'cuz no defkey */ u_int32_t is_tx_noheadroom; /* tx failed 'cuz no space */ + u_int32_t is_tx_fragframes; /* tx frames fragmented */ + u_int32_t is_tx_frags; /* tx fragments created */ u_int32_t is_scan_active; /* active scans started */ u_int32_t is_scan_passive; /* passive scans started */ u_int32_t is_node_timeout; /* nodes timed out inactivity */ @@ -446,6 +448,7 @@ #define IEEE80211_IOC_ROAM_RATE_11B 70 /* tx rate threshold in 11b */ #define IEEE80211_IOC_ROAM_RATE_11G 71 /* tx rate threshold in 11g */ #define IEEE80211_IOC_MCAST_RATE 72 /* tx rate for mcast frames */ +#define IEEE80211_IOC_FRAGTHRESHOLD 73 /* tx fragmentation threshold */ /* * Scan result data returned for IEEE80211_IOC_SCAN_RESULTS. ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#45 (text+ko) ==== @@ -62,6 +62,8 @@ static struct mbuf *ieee80211_encap_fastframe(struct ieee80211com *ic, struct mbuf *m1, const struct ether_header *eh1, struct mbuf *m2, const struct ether_header *eh2); +static int ieee80211_fragment(struct ieee80211com *, struct mbuf *, + u_int hdrsize, u_int ciphdrsize, u_int mtu); #ifdef IEEE80211_DEBUG /* @@ -484,7 +486,7 @@ struct ieee80211_frame *wh; struct ieee80211_key *key; struct llc *llc; - int hdrsize, datalen, addqos; + int hdrsize, datalen, addqos, txfrag; /* * Copy existing Ethernet header to a safe place. The @@ -666,6 +668,10 @@ htole16(ni->ni_txseqs[0] << IEEE80211_SEQ_SEQ_SHIFT); ni->ni_txseqs[0]++; } + /* check if xmit fragmentation is required */ + txfrag = (m->m_pkthdr.len > ic->ic_fragthreshold && + !IEEE80211_IS_MULTICAST(wh->i_addr1) && + (m->m_flags & M_FF) == 0); /* NB: don't fragment ff's */ if (key != NULL) { /* * IEEE 802.1X: send EAPOL frames always in the clear. @@ -676,8 +682,7 @@ (ic->ic_opmode == IEEE80211_M_STA ? !KEY_UNDEFINED(*key) : !KEY_UNDEFINED(ni->ni_ucastkey)))) { wh->i_fc[1] |= IEEE80211_FC1_WEP; - /* XXX do fragmentation */ - if (!ieee80211_crypto_enmic(ic, key, m, 0)) { + if (!ieee80211_crypto_enmic(ic, key, m, txfrag)) { IEEE80211_DPRINTF(ic, IEEE80211_MSG_OUTPUT, "[%s] enmic failed, discard frame\n", ether_sprintf(eh.ether_dhost)); @@ -686,6 +691,9 @@ } } } + if (txfrag && !ieee80211_fragment(ic, m, hdrsize, + key != NULL ? key->wk_cipher->ic_header : 0, ic->ic_fragthreshold)) + goto bad; IEEE80211_NODE_STAT(ni, tx_data); IEEE80211_NODE_STAT_ADD(ni, tx_bytes, datalen); @@ -827,6 +835,98 @@ } /* + * Fragment the frame according to the specified mtu. + * The size of the 802.11 header (w/o padding) is provided + * so we don't need to recalculate it. We create a new + * mbuf for each fragment and chain it through m_nextpkt; + * we might be able to optimize this by reusing the original + * packet's mbufs but that is significantly more complicated. + */ +static int +ieee80211_fragment(struct ieee80211com *ic, struct mbuf *m0, + u_int hdrsize, u_int ciphdrsize, u_int mtu) +{ + struct ieee80211_frame *wh, *whf; + struct mbuf *m, *prev, *next; + u_int totalhdrsize, fragno, fragsize, off, remainder, payload; + + KASSERT(m0->m_nextpkt == NULL, ("mbuf already chained?")); + KASSERT(m0->m_pkthdr.len > mtu, + ("pktlen %u mtu %u", m0->m_pkthdr.len, mtu)); + + wh = mtod(m0, struct ieee80211_frame *); + /* NB: mark the first frag; it will be propagated below */ + wh->i_fc[1] |= IEEE80211_FC1_MORE_FRAG; + totalhdrsize = hdrsize + ciphdrsize; + fragno = 1; + off = mtu - ciphdrsize; + remainder = m0->m_pkthdr.len - off; + prev = m0; + do { + fragsize = totalhdrsize + remainder; + if (fragsize > mtu) + fragsize = mtu; + KASSERT(fragsize < MCLBYTES, + ("fragment size %u too big!", fragsize)); + if (fragsize > MHLEN) + m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); + else + m = m_gethdr(M_DONTWAIT, MT_DATA); + if (m == NULL) + goto bad; + /* leave room to prepend any cipher header */ + m_align(m, fragsize - ciphdrsize); + + /* + * Form the header in the fragment. Note that since + * we mark the first fragment with the MORE_FRAG bit + * it automatically is propagated to each fragment; we + * need only clear it on the last fragment (done below). + */ + whf = mtod(m, struct ieee80211_frame *); + memcpy(whf, wh, hdrsize); + *(u_int16_t *)&whf->i_seq[0] |= htole16( + (fragno & IEEE80211_SEQ_FRAG_MASK) << + IEEE80211_SEQ_FRAG_SHIFT); + fragno++; + + payload = fragsize - totalhdrsize; + /* NB: destination is known to be contiguous */ + m_copydata(m0, off, payload, mtod(m, u_int8_t *) + hdrsize); + m->m_len = hdrsize + payload; + m->m_pkthdr.len = hdrsize + payload; + m->m_flags |= M_FRAG; + + /* chain up the fragment */ + prev->m_nextpkt = m; + prev = m; + + /* deduct fragment just formed */ + remainder -= payload; + off += payload; + } while (remainder != 0); + whf->i_fc[1] &= ~IEEE80211_FC1_MORE_FRAG; + + /* strip first mbuf now that everything has been copied */ + m_adj(m0, -(m0->m_pkthdr.len - (mtu - ciphdrsize))); + m0->m_flags |= M_FIRSTFRAG | M_FRAG; + + ic->ic_stats.is_tx_fragframes++; + ic->ic_stats.is_tx_frags += fragno-1; + + return 1; +bad: + /* reclaim fragments but leave original frame for caller to free */ + for (m = m0->m_nextpkt; m != NULL; m = next) { + next = m->m_nextpkt; + m->m_nextpkt = NULL; /* XXX paranoid */ + m_freem(m); + } + m0->m_nextpkt = NULL; + return 0; +} + +/* * Add a supported rates element id to a frame. */ static u_int8_t * ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#30 (text+ko) ==== @@ -94,12 +94,8 @@ /* XXX room for crypto */ ifp->if_hdrlen = sizeof(struct ieee80211_qosframe_addr4); -#ifdef notdef ic->ic_rtsthreshold = IEEE80211_RTS_DEFAULT; -#else - ic->ic_rtsthreshold = IEEE80211_RTS_MAX; -#endif - ic->ic_fragthreshold = 2346; /* XXX not used yet */ + ic->ic_fragthreshold = IEEE80211_FRAG_DEFAULT; ic->ic_fixed_rate = IEEE80211_FIXED_RATE_NONE; ic->ic_mcast_rate = IEEE80211_MCAST_RATE_DEFAULT; ic->ic_protmode = IEEE80211_PROT_CTSONLY; ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#30 (text+ko) ==== @@ -83,6 +83,9 @@ #define IEEE80211_FIXED_RATE_NONE -1 #define IEEE80211_MCAST_RATE_DEFAULT (2*1) /* default mcast rate (1M) */ +#define IEEE80211_RTS_DEFAULT IEEE80211_RTS_MAX +#define IEEE80211_FRAG_DEFAULT IEEE80211_FRAG_MAX + #define IEEE80211_MS_TO_TU(x) (((x) * 1000) / 1024) #define IEEE80211_TU_TO_MS(x) (((x) * 1024) / 1000) @@ -306,7 +309,9 @@ #define IEEE80211_C_BURST 0x02000000 /* CAPABILITY: frame bursting */ #define IEEE80211_C_WME 0x04000000 /* CAPABILITY: WME avail */ #define IEEE80211_C_WDS 0x08000000 /* CAPABILITY: 4-addr support */ +/* 0x10000000 reserved */ #define IEEE80211_C_BGSCAN 0x20000000 /* CAPABILITY: bg scanning */ +#define IEEE80211_C_TXFRAG 0x40000000 /* CAPABILITY: tx fragments */ /* XXX protection/barker? */ #define IEEE80211_C_CRYPTO 0x0000002f /* CAPABILITY: crypto alg's */ From owner-p4-projects@FreeBSD.ORG Tue Jul 19 22:03:24 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83DA516A421; Tue, 19 Jul 2005 22:03:24 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6028916A41F for ; Tue, 19 Jul 2005 22:03:24 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32AF043D46 for ; Tue, 19 Jul 2005 22:03:24 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JM3Oi0093027 for ; Tue, 19 Jul 2005 22:03:24 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JM3NaI093024 for perforce@freebsd.org; Tue, 19 Jul 2005 22:03:23 GMT (envelope-from sam@freebsd.org) Date: Tue, 19 Jul 2005 22:03:23 GMT Message-Id: <200507192203.j6JM3NaI093024@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 Cc: Subject: PERFORCE change 80557 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 22:03:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=80557 Change 80557 by sam@sam_ebb on 2005/07/19 22:03:05 add m_align; a function that aligns an arbitrary mbuf Affected files ... .. //depot/projects/wifi/sys/kern/uipc_mbuf.c#11 edit .. //depot/projects/wifi/sys/sys/mbuf.h#11 edit Differences ... ==== //depot/projects/wifi/sys/kern/uipc_mbuf.c#11 (text+ko) ==== @@ -1382,3 +1382,22 @@ m_freem(m_final); return (NULL); } + +/* + * Set the m_data pointer of a newly-allocated mbuf + * to place an object of the specified size at the + * end of the mbuf, longword aligned. + */ +void +m_align(struct mbuf *m, int len) +{ + int adjust; + + if (m->m_flags & M_EXT) + adjust = m->m_ext.ext_size - len; + else if (m->m_flags & M_PKTHDR) + adjust = MHLEN - len; + else + adjust = MLEN - len; + m->m_data += adjust &~ (sizeof(long)-1); +} ==== //depot/projects/wifi/sys/sys/mbuf.h#11 (text+ko) ==== @@ -562,6 +562,7 @@ struct uio; +void m_align(struct mbuf *, int); void m_adj(struct mbuf *, int); int m_apply(struct mbuf *, int, int, int (*)(void *, void *, u_int), void *); From owner-p4-projects@FreeBSD.ORG Tue Jul 19 22:04:26 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 666E916A421; Tue, 19 Jul 2005 22:04:26 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 41E1616A41F for ; Tue, 19 Jul 2005 22:04:26 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F287443D48 for ; Tue, 19 Jul 2005 22:04:25 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JM4POk093051 for ; Tue, 19 Jul 2005 22:04:25 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JM4PeG093048 for perforce@freebsd.org; Tue, 19 Jul 2005 22:04:25 GMT (envelope-from sam@freebsd.org) Date: Tue, 19 Jul 2005 22:04:25 GMT Message-Id: <200507192204.j6JM4PeG093048@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 Cc: Subject: PERFORCE change 80558 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 22:04:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=80558 Change 80558 by sam@sam_ebb on 2005/07/19 22:03:30 treat REASSOC like ASSOC Affected files ... .. //depot/projects/wifi/sbin/dhclient/dhclient.c#8 edit Differences ... ==== //depot/projects/wifi/sbin/dhclient/dhclient.c#8 (text+ko) ==== @@ -249,6 +249,7 @@ break; switch (ifan->ifan_what) { case RTM_IEEE80211_ASSOC: + case RTM_IEEE80211_REASSOC: state_reboot(ifi); break; case RTM_IEEE80211_DISASSOC: From owner-p4-projects@FreeBSD.ORG Tue Jul 19 22:53:29 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A937116A421; Tue, 19 Jul 2005 22:53:28 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 837B916A41F for ; Tue, 19 Jul 2005 22:53:28 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5359243D46 for ; Tue, 19 Jul 2005 22:53:28 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6JMrSxm095102 for ; Tue, 19 Jul 2005 22:53:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6JMrSKC095099 for perforce@freebsd.org; Tue, 19 Jul 2005 22:53:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 19 Jul 2005 22:53:28 GMT Message-Id: <200507192253.j6JMrSKC095099@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 Cc: Subject: PERFORCE change 80566 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 22:53:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=80566 Change 80566 by rwatson@rwatson_zoo on 2005/07/19 22:53:09 Correct two typos. Affected files ... .. //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#3 edit .. //depot/projects/netsmp/src/sys/netinet/in_var.h#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#3 (text+ko) ==== @@ -500,7 +500,7 @@ rue_csr_write_4(sc, RUE_MAR4, 0); /* now program new ones */ - IF_ADDR_LLOCK(ifp); + IF_ADDR_LOCK(ifp); #if __FreeBSD_version >= 500000 TAILQ_FOREACH (ifma, &ifp->if_multiaddrs, ifma_link) #else ==== //depot/projects/netsmp/src/sys/netinet/in_var.h#3 (text+ko) ==== @@ -187,7 +187,7 @@ do { \ struct ifmultiaddr *ifma; \ \ - IF_ADDR_LOCK_ASSERT(ifp); + IF_ADDR_LOCK_ASSERT(ifp); \ TAILQ_FOREACH(ifma, &((ifp)->if_multiaddrs), ifma_link) { \ if (ifma->ifma_addr->sa_family == AF_INET \ && ((struct sockaddr_in *)ifma->ifma_addr)->sin_addr.s_addr == \ From owner-p4-projects@FreeBSD.ORG Wed Jul 20 00:52:54 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE0E816A421; Wed, 20 Jul 2005 00:52:53 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9E16C16A41F for ; Wed, 20 Jul 2005 00:52:53 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30EB643D45 for ; Wed, 20 Jul 2005 00:52:53 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6K0qrUf008583 for ; Wed, 20 Jul 2005 00:52:53 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6K0qqP7008580 for perforce@freebsd.org; Wed, 20 Jul 2005 00:52:52 GMT (envelope-from sam@freebsd.org) Date: Wed, 20 Jul 2005 00:52:52 GMT Message-Id: <200507200052.j6K0qqP7008580@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 Cc: Subject: PERFORCE change 80569 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 00:52:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=80569 Change 80569 by sam@sam_ebb on 2005/07/20 00:52:16 IFC @ 80560 Affected files ... .. //depot/projects/wifi/Makefile#9 integrate .. //depot/projects/wifi/Makefile.inc1#21 integrate .. //depot/projects/wifi/contrib/ncurses/ncurses/tinfo/lib_baudrate.c#2 integrate .. //depot/projects/wifi/etc/Makefile#6 integrate .. //depot/projects/wifi/gnu/usr.bin/groff/tmac/mdoc.local#6 integrate .. //depot/projects/wifi/gnu/usr.bin/man/apropos/Makefile#2 integrate .. //depot/projects/wifi/lib/libc/locale/isalnum.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isalpha.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isblank.3#3 integrate .. //depot/projects/wifi/lib/libc/locale/iscntrl.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isdigit.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isgraph.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/islower.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isprint.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/ispunct.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isspace.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isupper.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/isxdigit.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/tolower.3#2 integrate .. //depot/projects/wifi/lib/libc/locale/toupper.3#2 integrate .. //depot/projects/wifi/lib/libc/net/ip6opt.c#2 integrate .. //depot/projects/wifi/lib/libc/net/rcmd.3#3 integrate .. //depot/projects/wifi/lib/libc/net/rthdr.c#2 integrate .. //depot/projects/wifi/lib/libc/nls/ko_KR.UTF-8.msg#2 integrate .. //depot/projects/wifi/lib/libc/nls/ko_KR.eucKR.msg#2 integrate .. //depot/projects/wifi/lib/libc/sys/intro.2#4 integrate .. //depot/projects/wifi/lib/libc/sys/mmap.2#2 integrate .. //depot/projects/wifi/lib/libdevstat/devstat.3#3 integrate .. //depot/projects/wifi/lib/libmemstat/libmemstat.3#2 integrate .. //depot/projects/wifi/lib/libmemstat/memstat.h#2 integrate .. //depot/projects/wifi/lib/libmemstat/memstat_internal.h#2 integrate .. //depot/projects/wifi/lib/libmemstat/memstat_malloc.c#2 integrate .. //depot/projects/wifi/lib/libmemstat/memstat_uma.c#2 integrate .. //depot/projects/wifi/lib/libstand/Makefile#6 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#16 integrate .. //depot/projects/wifi/release/doc/share/sgml/release.ent#5 integrate .. //depot/projects/wifi/sbin/fdisk/Makefile#2 integrate .. //depot/projects/wifi/sbin/fdisk/fdisk.c#5 integrate .. //depot/projects/wifi/sbin/fdisk_pc98/Makefile#3 integrate .. //depot/projects/wifi/sbin/fdisk_pc98/fdisk.c#4 integrate .. //depot/projects/wifi/share/man/man3/fpgetround.3#2 integrate .. //depot/projects/wifi/share/man/man4/acpi.4#9 integrate .. //depot/projects/wifi/share/man/man4/acpi_thermal.4#2 integrate .. //depot/projects/wifi/share/man/man4/acpi_video.4#3 integrate .. //depot/projects/wifi/share/man/man4/an.4#2 integrate .. //depot/projects/wifi/share/man/man4/ath.4#10 integrate .. //depot/projects/wifi/share/man/man4/aue.4#3 integrate .. //depot/projects/wifi/share/man/man4/awi.4#4 integrate .. //depot/projects/wifi/share/man/man4/axe.4#3 integrate .. //depot/projects/wifi/share/man/man4/bfe.4#2 integrate .. //depot/projects/wifi/share/man/man4/bge.4#4 integrate .. //depot/projects/wifi/share/man/man4/cdce.4#4 integrate .. //depot/projects/wifi/share/man/man4/cm.4#3 integrate .. //depot/projects/wifi/share/man/man4/cpufreq.4#8 integrate .. //depot/projects/wifi/share/man/man4/cue.4#2 integrate .. //depot/projects/wifi/share/man/man4/dc.4#5 integrate .. //depot/projects/wifi/share/man/man4/de.4#3 integrate .. //depot/projects/wifi/share/man/man4/ed.4#7 integrate .. //depot/projects/wifi/share/man/man4/em.4#8 integrate .. //depot/projects/wifi/share/man/man4/en.4#2 integrate .. //depot/projects/wifi/share/man/man4/fwe.4#4 integrate .. //depot/projects/wifi/share/man/man4/fwip.4#4 integrate .. //depot/projects/wifi/share/man/man4/fxp.4#4 integrate .. //depot/projects/wifi/share/man/man4/hme.4#2 integrate .. //depot/projects/wifi/share/man/man4/hwpmc.4#4 integrate .. //depot/projects/wifi/share/man/man4/inet.4#5 integrate .. //depot/projects/wifi/share/man/man4/ipw.4#3 integrate .. //depot/projects/wifi/share/man/man4/iwi.4#5 integrate .. //depot/projects/wifi/share/man/man4/kue.4#2 integrate .. //depot/projects/wifi/share/man/man4/lge.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/acpi_asus.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/acpi_fujitsu.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/acpi_ibm.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/acpi_panasonic.4#5 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/acpi_toshiba.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/arl.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/cp.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/cs.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/cx.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/el.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ep.4#7 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ex.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/fe.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ie.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/lnc.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/mse.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/pnp.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/pnpbios.4#2 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ray.4#5 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/vx.4#3 integrate .. //depot/projects/wifi/share/man/man4/my.4#2 integrate .. //depot/projects/wifi/share/man/man4/natm.4#3 integrate .. //depot/projects/wifi/share/man/man4/ng_ccatm.4#3 integrate .. //depot/projects/wifi/share/man/man4/nge.4#3 integrate .. //depot/projects/wifi/share/man/man4/nve.4#3 integrate .. //depot/projects/wifi/share/man/man4/oldcard.4#3 integrate .. //depot/projects/wifi/share/man/man4/pcn.4#3 integrate .. //depot/projects/wifi/share/man/man4/psm.4#5 integrate .. //depot/projects/wifi/share/man/man4/ral.4#3 integrate .. //depot/projects/wifi/share/man/man4/re.4#4 integrate .. //depot/projects/wifi/share/man/man4/rl.4#5 integrate .. //depot/projects/wifi/share/man/man4/rue.4#2 integrate .. //depot/projects/wifi/share/man/man4/sf.4#3 integrate .. //depot/projects/wifi/share/man/man4/sis.4#3 integrate .. //depot/projects/wifi/share/man/man4/sk.4#5 integrate .. //depot/projects/wifi/share/man/man4/sn.4#4 integrate .. //depot/projects/wifi/share/man/man4/snd_ess.4#4 integrate .. //depot/projects/wifi/share/man/man4/ste.4#5 integrate .. //depot/projects/wifi/share/man/man4/ti.4#3 integrate .. //depot/projects/wifi/share/man/man4/tl.4#2 integrate .. //depot/projects/wifi/share/man/man4/tx.4#3 integrate .. //depot/projects/wifi/share/man/man4/txp.4#4 integrate .. //depot/projects/wifi/share/man/man4/udav.4#3 integrate .. //depot/projects/wifi/share/man/man4/uplcom.4#4 integrate .. //depot/projects/wifi/share/man/man4/ural.4#3 integrate .. //depot/projects/wifi/share/man/man4/vge.4#4 integrate .. //depot/projects/wifi/share/man/man4/vkbd.4#3 integrate .. //depot/projects/wifi/share/man/man4/vlan.4#6 integrate .. //depot/projects/wifi/share/man/man4/vr.4#4 integrate .. //depot/projects/wifi/share/man/man4/wb.4#3 integrate .. //depot/projects/wifi/share/man/man4/wi.4#5 integrate .. //depot/projects/wifi/share/man/man4/xe.4#4 integrate .. //depot/projects/wifi/share/man/man4/xl.4#7 integrate .. //depot/projects/wifi/share/man/man7/security.7#5 integrate .. //depot/projects/wifi/share/misc/pci_vendors#3 integrate .. //depot/projects/wifi/share/mk/bsd.libnames.mk#6 integrate .. //depot/projects/wifi/sys/alpha/include/atomic.h#4 integrate .. //depot/projects/wifi/sys/amd64/include/atomic.h#4 integrate .. //depot/projects/wifi/sys/arm/include/atomic.h#8 integrate .. //depot/projects/wifi/sys/boot/ficl/Makefile#4 integrate .. //depot/projects/wifi/sys/boot/i386/Makefile.inc#3 integrate .. //depot/projects/wifi/sys/boot/i386/boot2/Makefile#3 integrate .. //depot/projects/wifi/sys/conf/files#28 integrate .. //depot/projects/wifi/sys/conf/files.amd64#14 integrate .. //depot/projects/wifi/sys/conf/kern.mk#4 integrate .. //depot/projects/wifi/sys/conf/options#20 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/wifi/sys/dev/cnw/if_cnw.c#3 integrate .. //depot/projects/wifi/sys/dev/ed/if_ed_pccard.c#8 integrate .. //depot/projects/wifi/sys/dev/ex/if_ex_pccard.c#4 integrate .. //depot/projects/wifi/sys/dev/firewire/fwohci_pci.c#5 integrate .. //depot/projects/wifi/sys/dev/hatm/if_hatm_intr.c#4 integrate .. //depot/projects/wifi/sys/dev/hwpmc/hwpmc_mod.c#4 integrate .. //depot/projects/wifi/sys/dev/pccard/pccard_cis.c#7 integrate .. //depot/projects/wifi/sys/dev/pccard/pccarddevs#9 integrate .. //depot/projects/wifi/sys/dev/pccbb/pccbb.c#5 integrate .. //depot/projects/wifi/sys/dev/pccbb/pccbb_pci.c#8 integrate .. //depot/projects/wifi/sys/dev/pccbb/pccbbreg.h#4 integrate .. //depot/projects/wifi/sys/dev/sbsh/if_sbsh.c#4 integrate .. //depot/projects/wifi/sys/dev/sn/if_sn.c#4 integrate .. //depot/projects/wifi/sys/dev/usb/ulpt.c#3 integrate .. //depot/projects/wifi/sys/dev/usb/umass.c#7 integrate .. //depot/projects/wifi/sys/dev/xe/if_xe.c#4 integrate .. //depot/projects/wifi/sys/dev/xe/if_xe_pccard.c#5 integrate .. //depot/projects/wifi/sys/fs/msdosfs/msdosfs_conv.c#6 integrate .. //depot/projects/wifi/sys/geom/concat/g_concat.c#4 integrate .. //depot/projects/wifi/sys/geom/geom_mbr.c#7 integrate .. //depot/projects/wifi/sys/geom/geom_pc98.c#5 integrate .. //depot/projects/wifi/sys/geom/stripe/g_stripe.c#6 integrate .. //depot/projects/wifi/sys/geom/vinum/geom_vinum_var.h#6 integrate .. //depot/projects/wifi/sys/geom/vinum/geom_vinum_volume.c#4 integrate .. //depot/projects/wifi/sys/i386/include/atomic.h#5 integrate .. //depot/projects/wifi/sys/ia64/include/atomic.h#2 integrate .. //depot/projects/wifi/sys/kern/kern_exit.c#11 integrate .. //depot/projects/wifi/sys/kern/kern_mbuf.c#6 integrate .. //depot/projects/wifi/sys/kern/kern_mutex.c#4 integrate .. //depot/projects/wifi/sys/kern/uipc_mbuf2.c#4 integrate .. //depot/projects/wifi/sys/modules/ukbd/Makefile#4 integrate .. //depot/projects/wifi/sys/net/if.c#16 integrate .. //depot/projects/wifi/sys/net/if_atmsubr.c#4 integrate .. //depot/projects/wifi/sys/net/rtsock.c#7 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#5 integrate .. //depot/projects/wifi/sys/netgraph/netflow/ng_netflow.c#6 integrate .. //depot/projects/wifi/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/wifi/sys/netinet/ip_input.c#8 integrate .. //depot/projects/wifi/sys/netinet/tcp_subr.c#15 integrate .. //depot/projects/wifi/sys/netinet/tcp_syncache.c#6 integrate .. //depot/projects/wifi/sys/netinet/tcp_timer.c#8 integrate .. //depot/projects/wifi/sys/netnatm/natm.c#4 integrate .. //depot/projects/wifi/sys/netnatm/natm.h#3 integrate .. //depot/projects/wifi/sys/netnatm/natm_pcb.c#3 integrate .. //depot/projects/wifi/sys/netnatm/natm_proto.c#4 integrate .. //depot/projects/wifi/sys/nfsclient/nfs.h#6 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_socket.c#11 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_subs.c#6 integrate .. //depot/projects/wifi/sys/powerpc/include/atomic.h#4 integrate .. //depot/projects/wifi/sys/sparc64/include/atomic.h#2 integrate .. //depot/projects/wifi/sys/sys/mbuf.h#12 integrate .. //depot/projects/wifi/sys/sys/mutex.h#7 integrate .. //depot/projects/wifi/sys/vm/uma.h#6 integrate .. //depot/projects/wifi/sys/vm/uma_core.c#11 integrate .. //depot/projects/wifi/sys/vm/uma_dbg.c#6 integrate .. //depot/projects/wifi/sys/vm/uma_dbg.h#5 integrate .. //depot/projects/wifi/sys/vm/uma_int.h#8 integrate .. //depot/projects/wifi/tools/regression/msdosfs/msdosfstest-4.sh#1 branch .. //depot/projects/wifi/tools/regression/msdosfs/msdosfstest-5.sh#1 branch .. //depot/projects/wifi/tools/regression/usr.bin/env/regress-env.rgdata#2 integrate .. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.freebsd#15 integrate .. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.history#2 integrate .. //depot/projects/wifi/usr.bin/env/envopts.c#2 integrate .. //depot/projects/wifi/usr.bin/locate/Makefile#2 integrate .. //depot/projects/wifi/usr.bin/lorder/lorder.sh#2 integrate .. //depot/projects/wifi/usr.bin/make/job.c#18 integrate .. //depot/projects/wifi/usr.bin/netstat/Makefile#4 integrate .. //depot/projects/wifi/usr.bin/netstat/mbuf.c#2 integrate .. //depot/projects/wifi/usr.sbin/boot0cfg/Makefile#2 integrate .. //depot/projects/wifi/usr.sbin/boot0cfg/boot0cfg.c#3 integrate .. //depot/projects/wifi/usr.sbin/boot98cfg/Makefile#2 integrate .. //depot/projects/wifi/usr.sbin/boot98cfg/boot98cfg.c#2 integrate .. //depot/projects/wifi/usr.sbin/moused/moused.8#6 integrate .. //depot/projects/wifi/usr.sbin/moused/moused.c#4 integrate .. //depot/projects/wifi/usr.sbin/pcvt/Makefile#2 integrate .. //depot/projects/wifi/usr.sbin/powerd/powerd.c#3 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/sysinstall.8#6 integrate Differences ... ==== //depot/projects/wifi/Makefile#9 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.319 2005/06/16 18:16:12 ru Exp $ +# $FreeBSD: src/Makefile,v 1.321 2005/07/19 11:21:14 ru Exp $ # # The user-driven targets are: # @@ -64,7 +64,7 @@ # TGTS= all all-man buildenv buildkernel buildworld checkdpadd clean \ cleandepend cleandir depend distribute distributeworld \ - distribution everything \ + distrib-dirs distribution everything \ hierarchy install installcheck installkernel installkernel.debug\ reinstallkernel reinstallkernel.debug installworld \ kernel-toolchain libraries lint maninstall \ @@ -254,6 +254,7 @@ # with a reasonable chance of success, regardless of how old your # existing system is. # +.if make(universe) universe: universe_prologue universe_prologue: @echo "--------------------------------------------------------------" @@ -262,6 +263,9 @@ .for target in i386 i386:pc98 sparc64 alpha ia64 amd64 .for arch in ${target:C/:.*$//} .for mach in ${target:C/^.*://} +KERNCONFS!= cd ${.CURDIR}/sys/${mach}/conf && \ + find [A-Z]*[A-Z] -type f -maxdepth 0 +KERNCONFS:= ${KERNCONFS:S/^NOTES$/LINT/} universe: universe_${mach} .ORDER: universe_prologue universe_${mach} universe_epilogue universe_${mach}: @@ -275,7 +279,13 @@ -cd ${.CURDIR}/sys/${mach}/conf && ${MAKE} LINT \ > ${.CURDIR}/_.${mach}.makeLINT 2>&1 .endif - cd ${.CURDIR} && ${MAKE} buildkernels TARGET_ARCH=${arch} TARGET=${mach} +.for kernel in ${KERNCONFS} + -cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \ + TARGET_ARCH=${arch} TARGET=${mach} \ + KERNCONF=${kernel} \ + __MAKE_CONF=/dev/null \ + > _.${mach}.${kernel} 2>&1 +.endfor @echo ">> ${mach} completed on `LC_ALL=C date`" .endfor .endfor @@ -286,15 +296,4 @@ @echo ">>> make universe completed on `LC_ALL=C date`" @echo " (started ${STARTTIME})" @echo "--------------------------------------------------------------" - -.if make(buildkernels) -KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/conf && \ - find [A-Z]*[A-Z] -type f -maxdepth 0 ! -name NOTES -buildkernels: -.for kernel in ${KERNCONFS} - -cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \ - KERNCONF=${kernel} \ - __MAKE_CONF=/dev/null \ - > _.${TARGET}.${kernel} 2>&1 -.endfor .endif ==== //depot/projects/wifi/Makefile.inc1#21 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.499 2005/07/07 00:58:41 kan Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.500 2005/07/15 14:38:54 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -558,8 +558,8 @@ ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 DISTRIBUTION=lib32 .endif -distribution: - cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} distribution +distrib-dirs distribution: + cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} ${.TARGET} # # buildkernel and installkernel ==== //depot/projects/wifi/contrib/ncurses/ncurses/tinfo/lib_baudrate.c#2 (text+ko) ==== @@ -31,6 +31,8 @@ * and: Eric S. Raymond * ****************************************************************************/ +/* $FreeBSD: src/contrib/ncurses/ncurses/tinfo/lib_baudrate.c,v 1.2 2005/07/15 07:41:26 phk Exp $ */ + /* * lib_baudrate.c * @@ -46,7 +48,7 @@ * of the indices up to B115200 fit nicely in a 'short', allowing us to retain * ospeed's type for compatibility. */ -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#if defined(__NetBSD__) || defined(__OpenBSD__) #undef B0 #undef B50 #undef B75 ==== //depot/projects/wifi/etc/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 -# $FreeBSD: src/etc/Makefile,v 1.343 2005/04/29 23:02:56 brooks Exp $ +# $FreeBSD: src/etc/Makefile,v 1.344 2005/07/15 14:52:29 ru Exp $ .if !defined(NO_SENDMAIL) SUBDIR= sendmail @@ -94,7 +94,7 @@ ${BIN2} ${DESTDIR}/etc; \ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ master.passwd nsmb.conf opieaccess ${DESTDIR}/etc; \ - pwd_mkdb ${PWD_MKDB_ENDIAN} -p -d ${DESTDIR}/etc \ + pwd_mkdb ${PWD_MKDB_ENDIAN} -i -p -d ${DESTDIR}/etc \ ${DESTDIR}/etc/master.passwd cd ${.CURDIR}/bluetooth; ${MAKE} install cd ${.CURDIR}/defaults; ${MAKE} install ==== //depot/projects/wifi/gnu/usr.bin/groff/tmac/mdoc.local#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/gnu/usr.bin/groff/tmac/mdoc.local,v 1.49 2005/07/11 15:48:48 kensmith Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.50 2005/07/15 10:27:35 rwatson Exp $ .\" .\" %beginstrip% . @@ -47,6 +47,7 @@ .ds doc-str-Lb-libipx IPX Address Conversion Support Library (libipx, \-lipx) .ds doc-str-Lb-libkiconv Kernel side iconv library (libkiconv, \-lkiconv) .ds doc-str-Lb-libmd Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd) +.ds doc-str-Lb-libmemstat Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat) .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph) .ds doc-str-Lb-libpmc Performance Monitoring Counters API (libpmc, \-lpmc) .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) ==== //depot/projects/wifi/gnu/usr.bin/man/apropos/Makefile#2 (text+ko) ==== @@ -1,5 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/man/apropos/Makefile,v 1.16 2001/04/07 11:21:18 ru Exp $ -MAINTAINER= wosch +# $FreeBSD: src/gnu/usr.bin/man/apropos/Makefile,v 1.17 2005/07/17 21:18:09 wosch Exp $ SCRIPTS=apropos MAN= apropos.1 ==== //depot/projects/wifi/lib/libc/locale/isalnum.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isalnum.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isalnum.3,v 1.19 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isalnum.3,v 1.20 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISALNUM 3 .Os .Sh NAME @@ -56,15 +56,11 @@ or .Xr isdigit 3 is true. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -103,7 +99,6 @@ .Xr isalpha 3 , .Xr isdigit 3 , .Xr iswalnum 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/isalpha.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isalpha.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isalpha.3,v 1.18 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isalpha.3,v 1.19 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISALPHA 3 .Os .Sh NAME @@ -56,15 +56,11 @@ or .Xr islower 3 is true. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -101,7 +97,6 @@ .Xr islower 3 , .Xr isupper 3 , .Xr iswalpha 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/isblank.3#3 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isblank.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isblank.3,v 1.20 2005/01/20 09:17:03 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/isblank.3,v 1.21 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISBLANK 3 .Os .Sh NAME @@ -57,13 +57,8 @@ In the "C" locale .Fn isblank successful test is limited to this characters only. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES @@ -84,7 +79,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswblank 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/iscntrl.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)iscntrl.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/iscntrl.3,v 1.17 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/iscntrl.3,v 1.18 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISCNTRL 3 .Os .Sh NAME @@ -52,15 +52,11 @@ The .Fn iscntrl function tests for any control character. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -91,7 +87,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswcntrl 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/isdigit.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isdigit.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isdigit.3,v 1.19 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isdigit.3,v 1.20 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISDIGIT 3 .Os .Sh NAME @@ -68,13 +68,8 @@ but may recognize additional characters, depending on the current locale setting. .Pp -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES ==== //depot/projects/wifi/lib/libc/locale/isgraph.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isgraph.3 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/locale/isgraph.3,v 1.19 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isgraph.3,v 1.20 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISGRAPH 3 .Os .Sh NAME @@ -55,15 +55,11 @@ .Pq Ql "\ " and other locale specific space-like characters. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -106,7 +102,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswgraph 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/islower.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)islower.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/islower.3,v 1.17 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/islower.3,v 1.18 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISLOWER 3 .Os .Sh NAME @@ -52,15 +52,11 @@ The .Fn islower function tests for any lower-case letters. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -90,7 +86,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswlower 3 , -.Xr multibyte 3 , .Xr tolower 3 , .Xr ascii 7 .Sh STANDARDS ==== //depot/projects/wifi/lib/libc/locale/isprint.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isprint.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isprint.3,v 1.20 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isprint.3,v 1.21 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISPRINT 3 .Os .Sh NAME @@ -53,15 +53,11 @@ .Fn isprint function tests for any printing character including space .Pq Ql "\ " . -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -104,7 +100,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswprint 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/ispunct.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ispunct.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/ispunct.3,v 1.18 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/ispunct.3,v 1.19 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISPUNCT 3 .Os .Sh NAME @@ -57,15 +57,11 @@ character for which .Xr isalnum 3 is true. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -96,7 +92,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswpunct 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/isspace.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isspace.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isspace.3,v 1.17 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isspace.3,v 1.18 2005/07/17 04:11:06 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISSPACE 3 .Os .Sh NAME @@ -61,13 +61,8 @@ In the "C" locale .Fn isspace successful test is limited to this characters only. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES ==== //depot/projects/wifi/lib/libc/locale/isupper.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isupper.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isupper.3,v 1.18 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isupper.3,v 1.19 2005/07/17 04:11:06 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISUPPER 3 .Os .Sh NAME @@ -52,15 +52,11 @@ The .Fn isupper function tests for any upper-case letter. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -90,7 +86,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswupper 3 , -.Xr multibyte 3 , .Xr toupper 3 , .Xr ascii 7 .Sh STANDARDS ==== //depot/projects/wifi/lib/libc/locale/isxdigit.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isxdigit.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isxdigit.3,v 1.20 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isxdigit.3,v 1.21 2005/07/17 04:11:06 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISXDIGIT 3 .Os .Sh NAME @@ -71,13 +71,8 @@ but may recognize additional characters, depending on the current locale setting. .Pp -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES @@ -98,7 +93,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswxdigit 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/tolower.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)tolower.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/tolower.3,v 1.16 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/tolower.3,v 1.17 2005/07/17 03:37:00 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt TOLOWER 3 .Os .Sh NAME @@ -53,13 +53,8 @@ .Fn tolower function converts an upper-case letter to the corresponding lower-case letter. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES @@ -80,7 +75,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr islower 3 , -.Xr multibyte 3 , .Xr towlower 3 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/locale/toupper.3#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)toupper.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/toupper.3,v 1.16 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/toupper.3,v 1.17 2005/07/17 03:37:00 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt TOUPPER 3 .Os .Sh NAME @@ -53,13 +53,8 @@ .Fn toupper function converts a lower-case letter to the corresponding upper-case letter. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES @@ -80,7 +75,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr isupper 3 , -.Xr multibyte 3 , .Xr towupper 3 .Sh STANDARDS The ==== //depot/projects/wifi/lib/libc/net/ip6opt.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/ip6opt.c,v 1.7 2003/11/14 18:07:50 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/ip6opt.c,v 1.8 2005/07/19 18:13:58 ume Exp $"); #include #include @@ -389,8 +389,8 @@ } /* - * The following functions are defined in a successor of RFC2292, aka - * rfc2292bis. + * The following functions are defined in RFC3542, which is a successor + * of RFC2292. */ int ==== //depot/projects/wifi/lib/libc/net/rcmd.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)rcmd.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/rcmd.3,v 1.24 2005/06/10 20:52:35 nectar Exp $ +.\" $FreeBSD: src/lib/libc/net/rcmd.3,v 1.25 2005/07/19 18:13:58 ume Exp $ .\" .Dd March 3, 2000 .Dt RCMD 3 @@ -278,7 +278,7 @@ .%A M. Thomas .%A E. Nordmark .%T "Advanced Socket API for IPv6" -.%O draft-ietf-ipngwg-rfc2292bis-01.txt +.%O RFC3542 .Re .Sh HISTORY Most of these ==== //depot/projects/wifi/lib/libc/net/rthdr.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/rthdr.c,v 1.6 2003/10/24 18:26:28 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/rthdr.c,v 1.8 2005/07/19 18:13:58 ume Exp $"); #include #include @@ -284,7 +284,7 @@ } /* - * RFC3542 (2292bis) API + * RFC3542 API */ socklen_t >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 20 01:02:05 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0999016A421; Wed, 20 Jul 2005 01:02:05 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 D90D116A41F for ; Wed, 20 Jul 2005 01:02:04 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AAEDF43D49 for ; Wed, 20 Jul 2005 01:02:04 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6K124ek008936 for ; Wed, 20 Jul 2005 01:02:04 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6K124Jw008933 for perforce@freebsd.org; Wed, 20 Jul 2005 01:02:04 GMT (envelope-from sam@freebsd.org) Date: Wed, 20 Jul 2005 01:02:04 GMT Message-Id: <200507200102.j6K124Jw008933@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 Cc: Subject: PERFORCE change 80570 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 01:02:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=80570 Change 80570 by sam@sam_ebb on 2005/07/20 01:01:06 fix short preamble handling for mcast frames Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#90 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#90 (text+ko) ==== @@ -3860,7 +3860,7 @@ */ if (ismcast) { /* - * Check mcast rate setting in case it changed. + * Check mcast rate setting in case it's changed. * XXX move out of fastpath */ if (ic->ic_mcast_rate != sc->sc_mcastrate) { @@ -3870,6 +3870,8 @@ } rix = sc->sc_mcastrix; txrate = rt->info[rix].rateCode; + if (shortPreamble) + txrate |= rt->info[rix].shortPreamble; try0 = ATH_TXMAXTRY; } else { ath_rate_findrate(sc, an, shortPreamble, pktlen, From owner-p4-projects@FreeBSD.ORG Wed Jul 20 01:32:44 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3D3B16A421; Wed, 20 Jul 2005 01:32:43 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2EE8816A41F for ; Wed, 20 Jul 2005 01:32:42 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D605A43D46 for ; Wed, 20 Jul 2005 01:32:41 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6K1WfPK010054 for ; Wed, 20 Jul 2005 01:32:41 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6K1WfaQ010051 for perforce@freebsd.org; Wed, 20 Jul 2005 01:32:41 GMT (envelope-from sam@freebsd.org) Date: Wed, 20 Jul 2005 01:32:41 GMT Message-Id: <200507200132.j6K1WfaQ010051@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 Cc: Subject: PERFORCE change 80571 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 01:32:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=80571 Change 80571 by sam@sam_ebb on 2005/07/20 01:31:56 tx frag stats Affected files ... .. //depot/projects/wifi/tools/tools/ath/80211stats.c#10 edit Differences ... ==== //depot/projects/wifi/tools/tools/ath/80211stats.c#10 (text+ko) ==== @@ -122,6 +122,8 @@ STAT(tx_badcipher, "tx failed 'cuz bad ciper/key type"); STAT(tx_nodefkey, "tx failed 'cuz no defkey"); STAT(tx_noheadroom, "tx failed 'cuz no space for crypto hdrs"); + STAT(tx_fragframes, "tx frames fragmented"); + STAT(tx_frags, "tx frags generated"); STAT(scan_active, "active scans started"); STAT(scan_passive, "passive scans started"); STAT(node_timeout, "nodes timed out inactivity"); From owner-p4-projects@FreeBSD.ORG Wed Jul 20 02:52:19 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A216716A421; Wed, 20 Jul 2005 02:52:18 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 698BE16A41F for ; Wed, 20 Jul 2005 02:52:18 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2360543D46 for ; Wed, 20 Jul 2005 02:52:18 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6K2qIuA012945 for ; Wed, 20 Jul 2005 02:52:18 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6K2qHU5012942 for perforce@freebsd.org; Wed, 20 Jul 2005 02:52:17 GMT (envelope-from csjp@freebsd.org) Date: Wed, 20 Jul 2005 02:52:17 GMT Message-Id: <200507200252.j6K2qHU5012942@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 80573 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 02:52:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=80573 Change 80573 by csjp@csjp_xor on 2005/07/20 02:51:45 s/filesystem/file system/ Affected files ... .. //depot/projects/trustedbsd/mac/usr.sbin/getfhash/setfhash.8#5 edit Differences ... ==== //depot/projects/trustedbsd/mac/usr.sbin/getfhash/setfhash.8#5 (text+ko) ==== @@ -59,7 +59,7 @@ It should be noted that dependency pathnames will be looked up relative to the calling process's root. .It Fl r -Remove any dependencies associated with a filesystem object. +Remove any dependencies associated with a file system object. .El .Sh EXAMPLES To set the hash on From owner-p4-projects@FreeBSD.ORG Wed Jul 20 04:24:10 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E90F16A421; Wed, 20 Jul 2005 04:24:10 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 C7BC616A41F for ; Wed, 20 Jul 2005 04:24:09 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 957B943D48 for ; Wed, 20 Jul 2005 04:24:09 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6K4O9f7023273 for ; Wed, 20 Jul 2005 04:24:09 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6K4O9rH023270 for perforce@freebsd.org; Wed, 20 Jul 2005 04:24:09 GMT (envelope-from sam@freebsd.org) Date: Wed, 20 Jul 2005 04:24:09 GMT Message-Id: <200507200424.j6K4O9rH023270@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 Cc: Subject: PERFORCE change 80576 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 04:24:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=80576 Change 80576 by sam@sam_ebb on 2005/07/20 04:23:15 correct !ff check for tx fragmentation; can't depend on M_FF being set after ff encapsulation is done Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#46 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#46 (text+ko) ==== @@ -486,7 +486,7 @@ struct ieee80211_frame *wh; struct ieee80211_key *key; struct llc *llc; - int hdrsize, datalen, addqos, txfrag; + int hdrsize, datalen, addqos, txfrag, isff; /* * Copy existing Ethernet header to a safe place. The @@ -540,7 +540,7 @@ if (ic->ic_flags & IEEE80211_F_DATAPAD) hdrsize = roundup(hdrsize, sizeof(u_int32_t)); - if (m->m_flags & M_FF) { + if ((isff = m->m_flags & M_FF) != 0) { struct mbuf *m2; struct ether_header eh2; @@ -671,7 +671,7 @@ /* check if xmit fragmentation is required */ txfrag = (m->m_pkthdr.len > ic->ic_fragthreshold && !IEEE80211_IS_MULTICAST(wh->i_addr1) && - (m->m_flags & M_FF) == 0); /* NB: don't fragment ff's */ + !isff); /* NB: don't fragment ff's */ if (key != NULL) { /* * IEEE 802.1X: send EAPOL frames always in the clear. From owner-p4-projects@FreeBSD.ORG Wed Jul 20 16:16:13 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0010716A41F; Wed, 20 Jul 2005 16:16:12 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9B7DB16A41F for ; Wed, 20 Jul 2005 16:16:12 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 520B743D46 for ; Wed, 20 Jul 2005 16:16:12 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6KGGC7v083122 for ; Wed, 20 Jul 2005 16:16:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6KGGCmK083119 for perforce@freebsd.org; Wed, 20 Jul 2005 16:16:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 20 Jul 2005 16:16:12 GMT Message-Id: <200507201616.j6KGGCmK083119@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 Cc: Subject: PERFORCE change 80606 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 16:16:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=80606 Change 80606 by rwatson@rwatson_paprika on 2005/07/20 16:15:51 Start putting together an outline of a document discussion the API and ABI implications of the MAC Framework and SEDarwin on the Darwin operating system. Sponsored by: SPAWAR, SPARTA Affected files ... .. //depot/projects/trustedbsd/sedarwin7/docs/apiabi.txt#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jul 20 16:25:24 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5434916A421; Wed, 20 Jul 2005 16:25:24 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2E62416A41F for ; Wed, 20 Jul 2005 16:25:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E118543D46 for ; Wed, 20 Jul 2005 16:25:23 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6KGPNcB083450 for ; Wed, 20 Jul 2005 16:25:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6KGPNiQ083447 for perforce@freebsd.org; Wed, 20 Jul 2005 16:25:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 20 Jul 2005 16:25:23 GMT Message-Id: <200507201625.j6KGPNiQ083447@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 Cc: Subject: PERFORCE change 80607 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 16:25:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=80607 Change 80607 by rwatson@rwatson_paprika on 2005/07/20 16:25:20 Add brief descriptions of a number of library calls and command line utilities. Affected files ... .. //depot/projects/trustedbsd/sedarwin7/docs/apiabi.txt#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin7/docs/apiabi.txt#2 (text+ko) ==== @@ -155,47 +155,168 @@ New System Library Interfaces - libextattr int extattr_namespace_to_string(); + +Convert an extended attribute name space identifier to a text string. + int extattr_string_to_namespace(); + +Convert an extended attribute name space string to a number identifier. + int extattrctl(); + +Manage extended attributes on a file system. + int extattr_delete_fd(); + +Delete an extended attribute on a file by file descriptor. + int extattr_delete_file(); + +Delete an extended attribute on a file by path. + int extattr_delete_link(); + +Delete an extended attribute on a file by path; do not follow symbolic links. + ssize_t extattr_get_fd(); + +Retrieve an extended attribute on a file by file descriptor. + ssize_t extattr_get_file(); + +Retrieve an extended attribute on a file by path. + ssize_t extattr_get_link(); + +Retrieve an extended attribute on a file by path; do not follow symbolic +links. + int extattr_set_fd(); + +Set an extended attribute on a file by file descriptor. + int extattr_set_file(); + +Set an extended attribute on a file by path. + int extattr_set_link(); + +Set an extended attribute on a file by path; do not follow symbolic links. + ssize_t extattr_list_file(); + +List extended attributes on a file by path. + ssize_t extattr_list_link(); + +List extended attributes on a file by path; do not follow symbolic links. + ssize_t extattr_list_fd(); +List extended attributes on a file by file descriptor. + New System Library Interfaces - libmac int mac_reload() + +Cause the user space MAC Framework to reload its label configuration from +mac.conf. + int mac_free() + +Free a user space MAC label. + int mac_from_text() + +Convert a text representation label to a user space MAC label. + int mac_to_text() + +Convert a user space MAC label to a text representation. + int mac_prepare() + +Prepare storage for a user space MAC label. + int mac_prepare_type() + +Prepare storage for a user space MAC label intended for use with a particular +object type. + int mac_prepare_ifnet_label() + +Deprecated: prepare storage for a user space MAC label intended for use with +network interface. + int mac_prepare_file_label() + +Deprecated: prepare storage for a user space MAC label intended for use with +a file. + int mac_prepare_packet_label() + +Deprecated: prepare storage for a user space MAC label intended for use with +a network packet. + int mac_prepare_process_label() + +Deprecated: prepare storage for a user space MAC label intenedd for use with +a process. + int mac_is_present() + +Check with MAC support is loaded, and if so, whether a specified policy is +present. + int mac_syscall() + +Multiplexor MAC policy system call. + int mac_execve() + +Execute a file and request a specific MAC label transition as part of +execution. + int mac_get_fd() + +Retrieve the MAC label on a file by file descriptor. + int mac_get_file() + +Retrieve the MAC label on a file by file path. + int mac_get_link() + +Retrieve the MAC label on a file by file path; do not follow symbolic links. + int mac_get_pid() + +Retrieve the MAC label on the current process. + int mac_get_proc() + +Retrieve the MAC label on another process. + int mac_get_peer() + +Retrieve the MAC label of the remote endpoint of a communications socket. + int mac_set_fd() + +Set the MAC label on a file by file descriptor. + int mac_set_file() + +Set the MAC label on a file by file path. + int mac_set_link() + +Set the MAC label on a file by file path; do not follow symbolic links. + int mac_set_proc() +Set the MAC label on the current process. + New System Library Interfaces - SEDarwin XXX @@ -203,18 +324,44 @@ New Command Line Utilities - extattr_cmds getextattr(8) + +Retrieve extended attributes on a file. + lsextattr(8) + +List extended attributes on a file. + rmextattr(8) + +Remove extended attributes from a file. + setextattr(8) +Set extended attributes on a file. + New Command Line Utilities - mac_cmds getfmac(8) + +Retrieve the MAC label of a file. + getpmac(8) + +Retrieve the MAC label of the current process. + mexec(8) + +Run a program and transition to the requested MAC label. + setfsmac(8) + +Set the MAC label of a file, optionally with using a label specification +database. + setpmac(8) +Set the MAC label of the current process, then execute a command. + New Command Line Utilities - SEDarwin checkpolicy(8) @@ -230,8 +377,13 @@ Modifications to Existing Command Line Utilities ls(1) + +File list utility; modified to query MAC labels when -Z is used. + ps(1) +Process list utility; modified to query MAC labels when -Z is used. + MAC Framework Policy Entry Points XXX From owner-p4-projects@FreeBSD.ORG Wed Jul 20 19:21:05 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D360B16A421; Wed, 20 Jul 2005 19:21:04 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 ABC8916A41F for ; Wed, 20 Jul 2005 19:21:04 +0000 (GMT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB11343D4C for ; Wed, 20 Jul 2005 19:21:03 +0000 (GMT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6KJL3Sj098931 for ; Wed, 20 Jul 2005 19:21:03 GMT (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6KJL3mI098928 for perforce@freebsd.org; Wed, 20 Jul 2005 19:21:03 GMT (envelope-from areisse@nailabs.com) Date: Wed, 20 Jul 2005 19:21:03 GMT Message-Id: <200507201921.j6KJL3mI098928@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 Cc: Subject: PERFORCE change 80620 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 19:21:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=80620 Change 80620 by areisse@areisse_ibook on 2005/07/20 19:20:45 Updates to mach security report. Note that this is still very much a work in progress. Affected files ... .. //depot/projects/trustedbsd/sedarwin7/docs/mach-security.txt#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin7/docs/mach-security.txt#3 (text+ko) ==== @@ -1,57 +1,75 @@ This report summarizes the work on our Mach security extensions. -In securing the Mach operating system, there are two major areas to be -covered: system primitives and servers. Basically, the only primitive provided is -message passing: A task sends a message to a port, which may be received -by another task (including the kernel). -The Mach operating system provides other services, such as device abstraction, -virtual memory, scheduling, etc., but those services -are accessed via messages sent to kernel ports. So, the other services -provided by the Mach kernel can be treated as userspace servers (for -security purposes). +**** Background + +*** Mach + +Mach is a message-passing microkernel system. A running Mach system consists of a +number of tasks, each with their own address space, which can communicate with one +another via messages. Tasks also communicate with the kernel with messages. The kernel +abstraction for messaging is the port right: a handle to a message queue and a set of +operations (sending or receiving) that the task can perform on that port. A port is only +a destination for a message; messages have no "sending" port. As ports +are relatively lightweight, applications often use a port to represent a single higher-level +object, such as a window or hardware device. Unlike Unix IPC mechanisms, only one +task at a time (possibly the kernel) may hold a "receive right" for a particular port. Mach messages contain a variable number of elements, each of which may be -raw data, port names, or memory ranges. The kernel processes the port name and -memory range sections specially, allowing the port names to be used by the -receiving task. Since multiple kernel objects may be transferred via messages, -a single (subject,object) form of access control check is insufficient. +raw data, port rights, or memory ranges. The kernel processes the port right and +memory range sections specially; the raw data is passed to the recipient unmodified. +Receiving port rights in messages is the only way for tasks to receive new port rights +above those that it was given by the parent. + +Mach uses a capability model: holding appropriate port right entitles the task to use the +services of the kernel and other applications. In a pure Mach system, there is no information +about the sender provided when a message is received; the port rights themselves control +access to the services, much as file descriptors (once opened) entirely control access to +the referenced file. Security in a tranditional Mach system is achieved by limited the port +rights a task has access to, rather than by enforcing access controls on ports once they +are held. -A security policy may want to attach a security label to -tasks, messages, and ports. DTOS stores a security identifier in tasks, -ports, and augments the mach_msg calls to return or provide a security -identifier. We are following that model, except we use a policy-agnostic -label structure instead of a security identifier. -Because the Darwin kernel includes a BSD system as well, the security -additions (to both Mach and BSD systems) will need to remain correlated: -for example, a BSD process and its underlying Mach task should have the -same subject label(s). This is accomplished by changing the routines in the -BSD subsystem to update the task labels whenever a process label is changed, -and provide no user callable interface to directly change a task label, forcing -them to use the BSD system calls that will change both subject labels (For locking -reasons, Mach system calls or message handlers cannot acquire BSD-side locks, and -so are unable to change the BSD process label). +** Mach and Applications -Because the MAC framework -originiated with FreeBSD, there is a desire for the Darwin BSD side of -the MAC framework to remain compatible with the FreeBSD version. +A Mach system provides userspace facililities to assist in the development of +message-based applications. One such tool that is the Mach Interface Generator (MiG), +providing a remote procedure call interface over Mach messages. -MiG +* MiG MiG (Mach Interface Generator) is similar to rpcgen on unix systems; MiG reads a specification of data types and method prototypes, and generates client and server stubs which copy the arguments and method ID into a buffer and send it as a Mach message (one of the arguments is a port that will receive the message). The return value and any reference parameters are sent to the client as another Mach -message. Because messages can contain port rights, a MiG method call can be used -to obtain a port right for another service. MiG also supports messages containing -large memory areas, and arranges for those to be transferred via VM operations rather -than multiple copies. +message. In general, the client is not concerned with the semantics of message +passing and port rights and simply uses the stubs. + +Special kinds of message contents are supported by MiG; port rights and shared +memory can be passed in both directions, large arrays are automatically passed as +copy-on-write shared memory, etc. Namespace services (mach_init in Darwin) are +accessed and implemented using MiG. + +The model of "one object, one port" works well with MiG, where the first argument +is used as the destination for the message that the function call produces, +representing the object on which the function operates. +For example, a window server may contain a method to resize a window: + + routine window_resize (window : mach_port_t; + width : int; + height : int); + +where the message is sent to the port passed as the first argument. When the window server +receives the message, the MiG stub can convert the port into an implementation-specific +pointer through a translation type. This removes the need for application developers +to implement wire protocols in many cases. + A set of routines that will all be sent to the same type of port (e.g. namespace server) are called a subsystem. MiG allows a subsystem to contain up to 100 methods; new methods can be added to an existing subsystem without affecting existing clients as long as the new total number of methods is less than 100. + User programs linked with client stubs can call those methods "as if" they existed in the task's address space. A server task (or part of the kernel) implementing a subsystem uses @@ -63,7 +81,55 @@ messaging protocols, especially for kernel servers where the message validity checking and cross-address space copying is handled centrally. -Subsystem Access Control +*** Darwin + +Darwin, the open-source base of the Apple MacOS X operating system, is a combination of +a number of technologies. Here, we are mostly concerned with the kernel and its two primary +components: Mach and BSD (The iokit device driver framework is not included in this study). +Unlike other Mach systems, the BSD kernel in Darwin runs in the kernel address space, +not as a (userspace) task. This is significantly different from Lites-based systems such +as DTOS: the Unix-oriented objects cannot be protected with Mach messaging controls and +therefore need their own controls in the kernel. Controls on Unix objects are provided +by the "original" FreeBSD MAC framework as it was ported to Darwin. + + +**** Security Needs + +*** Overview + +In securing a Mach operating system, there are two major areas to be +covered: system primitives and servers. Basically, the only primitive provided is +message passing. The Mach system provides other services, such as device abstraction, +virtual memory, scheduling, etc., but those services are accessed via messages. +As Darwin contains a BSD kernel, BSD primitives such as sockets, files, and processes +are accessed with BSD system calls and not messages. BSD primitives are mostly outside +this discussion as there is extensive support and documentation available elsewhere. + +*** Kernel + +The entry point for kernel services from userspace is the trap, or system call. Mach +provides very few traps, because services are primarily implemented over messages. +Darwin contains a small number of traps for performance-sensitive operations, such +as operating on semaphores or reading timers. However, those services are unlikely to +need mediation by a policy, and are ignored in our current implementation. The +remaining services are accessed via messaging, and as such can be treated the same +as userspace services for security purposes. + +//Since multiple kernel objects (port rights or memory) may be transferred via messages, +//a single (subject,object) form of access control check is insufficient. + +** Labelling + +A security policy may want to attach a security label to +tasks, messages, and ports. DTOS stores a security identifier in tasks, +ports, and augments the mach_msg calls to return or provide a security +identifier. We are following that model, except we use a policy-agnostic +label structure instead of a security identifier. A label structure is added +to each port (ipc_port_t) and to each task (task). +The convention of using a port to represent a single object means that labels on +ports translate well into labels on objects for policy purposes. + +** Subsystem Access Control There are two approaches to protecting servers: Permission checks in the handlers, or using proxy servers. A permission check embedded in a handler @@ -80,8 +146,34 @@ bootstrap namespace manager will get the proxy server instead of the "real" service port. +** FreeBSD Compatibility + +Because the Darwin kernel includes a BSD system as well, the security +additions (to both Mach and BSD systems) will need to remain correlated: +for example, a BSD process and its underlying Mach task should have the +same subject label(s). This is accomplished by changing the routines in the +BSD subsystem to update the task labels whenever a process label is changed, +and provide no user callable interface to directly change a task label, forcing +them to use the BSD system calls that will change both subject labels (For locking +reasons, Mach system calls or message handlers cannot acquire BSD-side locks, and +so are unable to change the BSD process label). + +Because the security framework originiated with FreeBSD, there is a desire for the +Darwin BSD side of the security framework to remain compatible with the FreeBSD version. +The Mach features of the security framework will not be present on a FreeBSD system, +but the two systems differ in other ways so policies never would have been fully +compatible, although they may share much. + + ****** +Summary of security events + +Object creation is straightforward: when a task or port is created, the kernel requests a new label +from the policies, based on the caller and target task labels. + + + Extensions to MiG We have extended MiG in a number of ways to take advantage of a central implementation @@ -101,14 +193,56 @@ For example, the server can use of the sender's label to label new objects, or perform access control based on the routine's arguments. ++ MiG Example + +The routine specification + + routine print_int (dest : mach_port_t; + value : int); + +produces stubs with the prototype (client and server are the same) + + kern_return_t print_int (mach_port_t dest, int value); +To provide the caller's task label to the server implementation, an additional +argument is added (in a similar way to how security tokens and audit info trailers +are requested in Darwin): + + routine print_int (dest : mach_port_t; + value : int; + servermsglabels labels : msg_labels_t); + +As with other MiG argument flags starting with "server", the labels argument is +included in server stubs but not client stubs (as it is supplied by the kernel and +not the client). The server prototype becomes: + + kern_return_t print_int (mach_port_t dest, int value, msg_labels_t labels); + +and the server can access the caller's task label (as a label handle) with +labels.sender. We do not currently provide the option for the client to receive +remote labels in this way, but it would not be a difficult change. + +When the checkaccess flag is specified to enable automated permission checking, +the prototypes are unchanged for both sides, but the server stub implementation changes +to request the access decision trailer, and then to return failure (without invoking +the server implementation) if access was denied. All MiG calls return +kern_return_t, and a permission denial is one of the standard values (although it rarely +occurs in an ordinary Mach system). + + Extensions to FreeBSD MAC Framework +** Framework overview + The FreeBSD MAC framework consists of a kernel interface, a user interface, a set of policies, and a kernel-to-policy interface. The kernel interface is used by other parts of the kernel (e.g. filesystems) to label objects and request access control decisions. The user interface allows a user program to -change labels, run programs in other domains, or administer the policy. +change labels, run programs in other domains, request policy decisions, +or administer the policy. Complex policies may export arbitrary additional +interfaces to userspace, such as assistance for labelling userspace objects +or handling login sessions. + The kernel interface (called by filesystems and other kernel subsystems) uses the kernel-to-policy interface to request labels and access control decisions from each configured policy. All policies use the same interface, but many @@ -129,7 +263,7 @@ Note that the label represented by the handle is distinct from the label on its port that is used for messaging access control. Currently, the system provides no mechanism for obtaining the access control label of a label handle port, but it can be changed. -Initally, label handles were not backed by actual ports, but just used the port +Initally, label handles were not backed by actual ports, but merely used the port namespace (and ipc_right, ipc_entry structures). This was changed when maintaining the support for an extra type of ipc_object became unwieldly. It also allows label handle ports to be direct recievers of messages. @@ -145,7 +279,11 @@ Labelling events for tasks and ports are defined. Access control checks for message sending and port right transfers (both sending -and receiving) are defined. +and receiving) are defined. All of these checks are based on the model of a +subject performing an operation on one or more objects. The subject is always +a task; objects are either tasks, ports, or higher-level services built on ports. +Note that in userspace all mach kernel objects are accessed via ports. + If requested, the kernel will supply the message sender's task label in a mach message trailer (as a label handle). The message recipient can use the sender's label in making its own access decisions. For example, the @@ -169,13 +307,13 @@ Currently, the only policy that implements the generic access checks is Flask. However, portions -of the bsd kernel may use these MAC entry points as well, because of the +of the kernel may use these entry points as well, because of the greater amount of information available to the policies over POSIX capabilities. Changes to Mach Kernel -Kernel changes made to support the MAC framework were fairly noninvasive, +Kernel changes made to support the security framework were fairly noninvasive, only affecting a few of the data structures and a small number of functions. Tasks and ports received label storage; creation and deallocation routines call labelling event operations. Tasks use label handles, because the built @@ -185,7 +323,17 @@ Changes to the BSD kernel are also necessary, for instance the task and process label storage needs to be kept synchronized, as there really is only one subject and the label needs to be associated with both structures -for synchronization purposes. +for synchronization purposes. Another advantage of using a label handle +reference to store a task label is that the reference can be placed directly +into the message trailer field for the sender's task label, requiring only +an ipc right copyout, rather than a full label allocation & copy, plus the +copyout. + +A task always has an associated task port, which has a port label as well. Our +system changes the task port label whenever the task label is changed, but allows +the task port label to diverge if desired (and permitted by the policies). + + Mach "security" services @@ -195,6 +343,37 @@ The security server will also respond to requests for access control decisions, and allow the creation of label handles. +Security events for messaging + +As all interaction with the +kernel (and userspace mach services) is done through messaging, the messaging security must +be general enough to handle the variety of uses. Security checks on messaging are performed +at both sending and receiving. At sending, the kernel first calls the "check_port_send" +security framework entry point to permit or deny sending the entire message. Next, the +security policies are queried for permission to transfer each port right contained in the +message. If any port right transfers are denied, the message is not sent. Currently, no +special check is performed for transferring out-of-line memory. Information flow policies +need to control this as the memory can be shared between the sender and (eventual) message +recipient. None of the sending checks refer to the receiving task, as it is not known at +time of sending (The receive right for the destination port could be in the process of +moving to a different task at the same time the message is sent). + +Because checks were made on both transferring the port rights out of the sending task, +and into the receiving task, security policies have control over later information flows +resulting from port rights in a message. + + +1. Message sent +2. Check for action of sending (check_port_send) +3. Checks for port rights (check_port_copy_send, etc) +4. Port rights and memory copied from sender +5. Kernel message stored +.... +6. Remove from queue +7. Checks for storing port rights (check_port_hold_send, etc) +8. Port rights and memory copied out to recipient +9. Message received + Mach message trailers When a Mach message is sent, the kernel may append information about the @@ -237,7 +416,7 @@ automated, still requires rebuilding the affected server from source (Clients do not need to be rebuilt or otherwise modified). -Userspace modifications +*** Userspace modifications We have selected mach_init as one system service to augment with the extended security checks, because mach_init is open source, provides a service that @@ -258,77 +437,39 @@ namespace port. Some policies may use different namespace labels for login sessions and system processes for additional protection. -Extensions to Flask policy +*** Extensions to SEDarwin (Flask TE policy) + +** Generic access checks + +We have extended the Flask subsystem with name-based permission checks, where +security classes and permissions are referenced by name rather than by an assigned +number. Name-based checks are useful when there is no kernel knowledge of the object +or service being protected, as is often the case with userspace services. With this +support, developing a policy for a new application does not require rebuilding the +kernel (or policy tools) even if new security classes or permissions are introduced. +This does not change the binary policy file format, nor does it change how other +Flask access control checks are implemented. As long as the new classes and permissions +are added to the Flask definitions correctly (i.e., without re-ordering the built-in +security classes or permissions), the new policy is compatible with existing systems. +Named permission checks are used by check_service_access and check_ipc_methods. +For consistency with other Flask implementations, the numeric permission checks are +used for all other permission checks. + +** Mach access control checks -The Flask subsystem from SELinux has a limitation in that permissions and -object classes are referenced by numbers, which is not extensible in a -convenient and manageable way. We developed an addition to the Flask security -server to allow permission -lookups by name, for use with the generic access check introduced to the -MAC framework. -The policy compiler will then store the permission names -in the policy file; the kernel will use the names when the generic access -check is attempted. For performance reasons, the numeric permission checks -are still used for all other permission checks. +The SEDarwin policy implements the messaging controls in the usual way: security +classes and permissions are defined for ports; each messaging entry point checks +the appropriate permissions. The port permissions are relabelfrom, relabelto, send, +make_send, copy_send, and move_recv. We have extended MiG to automatically generate security classes and permissions from the specifications. These security classes and permissions can then be used in the TE policy to control access to MiG-based services. The policy also builds a translation table mapping message ids to security classes -(from subsystems) and permissions (from individual routines). This table is -loaded separately from the TE policy, so that the TE policy file format is -preserved across systems. - - -Documentation for new Framework entry points - -/** - @brief Request label for new (userspace) object - @param subj Subject label - @param obj Parent or existing object label - @param serv Name of service - @param out Computed label - - Ask the loaded policies to compute a label based on the two input labels - and the service name. There is currently no standard for the service name, - or even what the input labels represent (Subject and parent object are only - a suggestion). If successful, the computed label is stored in out. All labels - must be port (or task) labels. The userspace interfaces to this entry point - allow label handles (ports) to be provided. - - @return 0 on success, or an errno value for failure. -*/ - -typedef int mpo_request_object_label_t( - struct label *subj, - struct label *obj, - const char *serv, - struct label *out -); - -/** - @brief Compute access control check for a Mach message-based service - @param task Sender's task label - @param port Destination port label - @param msgid Message id - - Access control computation for message-based services. This entry point - computes permission to the service requested by the specified port and message - id, for example a single MiG server routine, and is unrelated to the access - check for sending messages to ports (but that check must succeed for the - message to be sent to the destination). The result of this access computation - is stored in the message trailer field msgh_ad (only if requested by the - recipient); it does not actually inhibit the message from being sent or - received. - - @return 0 for access granted, nonzero for access denied. -*/ - -typedef int mpo_check_ipc_method_t( - struct label *task, - struct label *port, - int msgid -); - +(from subsystems) and permissions (from individual routines). The SEDarwin +implementation of check_ipc_methods uses the message id to look up a security +class and permission for that message, then it requests that permission from the AVC. +The translation table is loaded separately from the TE policy, so that the TE policy +file format is preserved across systems. From owner-p4-projects@FreeBSD.ORG Wed Jul 20 20:12:09 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0C8816A421; Wed, 20 Jul 2005 20:12:08 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 A7E3D16A41F for ; Wed, 20 Jul 2005 20:12:08 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F35843D48 for ; Wed, 20 Jul 2005 20:12:08 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6KKC8he001474 for ; Wed, 20 Jul 2005 20:12:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6KKC7WE001471 for perforce@freebsd.org; Wed, 20 Jul 2005 20:12:07 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 20 Jul 2005 20:12:07 GMT Message-Id: <200507202012.j6KKC7WE001471@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 Cc: Subject: PERFORCE change 80626 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 20:12:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=80626 Change 80626 by rwatson@rwatson_zoo on 2005/07/20 20:11:23 NFS client lockage. UMA stats fixage. Affected files ... .. //depot/projects/netsmp/src/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/netsmp/src/sys/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/netsmp/src/sys/contrib/pf/net/pfvar.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ep/if_ep.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ep/if_epvar.h#2 integrate .. //depot/projects/netsmp/src/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/netsmp/src/sys/geom/bde/g_bde_crypt.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/conf/NOTES#2 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/netsmp/src/sys/net/if_bridge.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet/icmp6.h#2 integrate .. //depot/projects/netsmp/src/sys/netinet/ip6.h#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6.h#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_input.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_output.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/nd6.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs.h#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/netsmp/src/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/netsmp/src/sys/vm/swap_pager.c#2 integrate .. //depot/projects/netsmp/src/sys/vm/uma_core.c#2 integrate .. //depot/projects/netsmp/src/sys/vm/vm_map.c#2 integrate Differences ... ==== //depot/projects/netsmp/src/sys/contrib/pf/net/pf.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.34 2005/05/04 19:51:06 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.35 2005/07/20 18:58:27 mlaier Exp $ */ /* $OpenBSD: pf.c,v 1.483 2005/03/15 17:38:43 dhartmei Exp $ */ /* @@ -1085,6 +1085,11 @@ void pf_purge_expired_state(struct pf_state *cur) { +#ifdef __FreeBSD__ + if (cur->sync_flags & PFSTATE_EXPIRING) + return; + cur->sync_flags |= PFSTATE_EXPIRING; +#endif if (cur->src.state == PF_TCPS_PROXY_DST) pf_send_tcp(cur->rule.ptr, cur->af, &cur->ext.addr, &cur->lan.addr, ==== //depot/projects/netsmp/src/sys/contrib/pf/net/pf_norm.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf_norm.c,v 1.11 2005/05/03 16:43:32 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf_norm.c,v 1.12 2005/07/20 10:30:52 ume Exp $ */ /* $OpenBSD: pf_norm.c,v 1.97 2004/09/21 16:59:12 aaron Exp $ */ /* @@ -70,48 +70,6 @@ #include -#if defined(__FreeBSD__) && defined(INET6) -/* - * XXX: This should go to netinet/ip6.h (KAME) - */ -/* IPv6 options: common part */ -struct ip6_opt { - u_int8_t ip6o_type; - u_int8_t ip6o_len; -} __packed; - -/* Jumbo Payload Option */ -struct ip6_opt_jumbo { - u_int8_t ip6oj_type; - u_int8_t ip6oj_len; - u_int8_t ip6oj_jumbo_len[4]; -} __packed; - -/* NSAP Address Option */ -struct ip6_opt_nsap { - u_int8_t ip6on_type; - u_int8_t ip6on_len; - u_int8_t ip6on_src_nsap_len; - u_int8_t ip6on_dst_nsap_len; - /* followed by source NSAP */ - /* followed by destination NSAP */ -} __packed; - -/* Tunnel Limit Option */ -struct ip6_opt_tunnel { - u_int8_t ip6ot_type; - u_int8_t ip6ot_len; - u_int8_t ip6ot_encap_limit; -} __packed; - -/* Router Alert Option */ -struct ip6_opt_router { - u_int8_t ip6or_type; - u_int8_t ip6or_len; - u_int8_t ip6or_value[2]; -} __packed; -#endif /* __FreeBSD__ && INET6 */ - #ifndef __FreeBSD__ struct pf_frent { LIST_ENTRY(pf_frent) fr_next; ==== //depot/projects/netsmp/src/sys/contrib/pf/net/pfvar.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pfvar.h,v 1.11 2005/05/03 16:43:32 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pfvar.h,v 1.12 2005/07/20 18:58:27 mlaier Exp $ */ /* $OpenBSD: pfvar.h,v 1.213 2005/03/03 07:13:39 dhartmei Exp $ */ /* @@ -790,6 +790,9 @@ #define PFSTATE_NOSYNC 0x01 #define PFSTATE_FROMSYNC 0x02 #define PFSTATE_STALE 0x04 +#ifdef __FreeBSD__ +#define PFSTATE_EXPIRING 0x10 +#endif u_int8_t pad; }; ==== //depot/projects/netsmp/src/sys/dev/ep/if_ep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ep/if_ep.c,v 1.140 2005/07/01 05:31:23 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ep/if_ep.c,v 1.141 2005/07/19 22:26:44 imp Exp $"); /* * Modified from the FreeBSD 1.1.5.1 version by: @@ -281,7 +281,7 @@ error = ep_get_macaddr(sc, sc->eaddr); if (error) { device_printf(sc->dev, "Unable to get MAC address!\n"); - EP_LOCK_DESTORY(sc); + EP_LOCK_DESTROY(sc); return (ENXIO); } } @@ -289,7 +289,7 @@ ifp = sc->ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { device_printf(sc->dev, "if_alloc() failed\n"); - EP_LOCK_DESTORY(sc); + EP_LOCK_DESTROY(sc); return (ENOSPC); } @@ -361,7 +361,7 @@ sc->gone = 1; ep_free(dev); - EP_LOCK_DESTORY(sc); + EP_LOCK_DESTROY(sc); return (0); } ==== //depot/projects/netsmp/src/sys/dev/ep/if_epvar.h#2 (text+ko) ==== @@ -19,7 +19,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/sys/dev/ep/if_epvar.h,v 1.19 2005/07/13 14:54:40 imp Exp $ + * $FreeBSD: src/sys/dev/ep/if_epvar.h,v 1.20 2005/07/19 22:26:44 imp Exp $ */ struct ep_board { @@ -103,6 +103,6 @@ #define EP_LOCK_INIT(_sc) \ mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ MTX_NETWORK_LOCK, MTX_DEF) -#define EP_LOCK_DESTORY(_sc) mtx_destroy(&_sc->sc_mtx); +#define EP_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); #define EP_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); #define EP_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); ==== //depot/projects/netsmp/src/sys/fs/devfs/devfs_vnops.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ * @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vnops.c 1.43 * - * $FreeBSD: src/sys/fs/devfs/devfs_vnops.c,v 1.115 2005/07/14 10:22:09 rwatson Exp $ + * $FreeBSD: src/sys/fs/devfs/devfs_vnops.c,v 1.116 2005/07/20 13:34:16 simon Exp $ */ /* @@ -788,6 +788,12 @@ struct devfs_mount *dmp; int error; + /* + * The only type of node we should be creating here is a + * character device, for anything else return EOPNOTSUPP. + */ + if (ap->a_vap->va_type != VCHR) + return (EOPNOTSUPP); dvp = ap->a_dvp; dmp = VFSTODEVFS(dvp->v_mount); lockmgr(&dmp->dm_lock, LK_EXCLUSIVE, 0, curthread); ==== //depot/projects/netsmp/src/sys/geom/bde/g_bde_crypt.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/geom/bde/g_bde_crypt.c,v 1.22 2005/03/11 15:42:51 ume Exp $ + * $FreeBSD: src/sys/geom/bde/g_bde_crypt.c,v 1.23 2005/07/20 18:08:16 phk Exp $ */ /* This source file contains the functions responsible for the crypto, keying * and mapping operations on the I/O requests. @@ -64,7 +64,7 @@ * from the comparatively small key material in our mkey, in such a way that * if one, more or even many of the kkeys are compromised, this does not * significantly help an attack on other kkeys and in particular does not - * weaken or compromised the mkey. + * weaken or compromise the mkey. * * First we MD5 hash the sectornumber with the salt from the lock sector. * The salt prevents the precalculation and statistical analysis of the MD5 ==== //depot/projects/netsmp/src/sys/i386/conf/NOTES#2 (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.1202 2005/07/02 20:06:42 delphij Exp $ +# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1203 2005/07/20 16:57:53 mdodd Exp $ # # @@ -637,6 +637,9 @@ # # apm: Laptop Advanced Power Management (experimental) # pmtimer: Timer device driver for power management events (APM or ACPI) +# smapi: System Management Application Program Interface driver +# smbios: DMI/SMBIOS entry point +# vpd: Vital Product Data kernel interface # cy: Cyclades serial driver # digi: Digiboard driver # spic: Sony Programmable I/O controller (VAIO notebooks) @@ -665,6 +668,9 @@ device apm hint.apm.0.flags="0x20" +device smapi +device smbios +device vpd device pmtimer # Adjust system timer at wakeup time device cy options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared ==== //depot/projects/netsmp/src/sys/kern/vfs_aio.c#2 (text+ko) ==== @@ -19,7 +19,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.195 2005/07/01 16:28:30 ssouhlal Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.196 2005/07/20 19:06:06 alc Exp $"); #include #include @@ -2107,6 +2107,7 @@ struct aio_liojob *lj; mtx_lock(&Giant); + bp->b_flags |= B_DONE; wakeup(bp); aiocbe = (struct aiocblist *)bp->b_caller1; ==== //depot/projects/netsmp/src/sys/kern/vfs_bio.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.491 2005/06/14 20:32:27 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.492 2005/07/20 19:06:06 alc Exp $"); #include #include @@ -3046,7 +3046,6 @@ if (bp->b_iodone != NULL) { biodone = bp->b_iodone; bp->b_iodone = NULL; - bp->b_flags |= B_DONE; (*biodone) (bp); if (dropobj) bufobj_wdrop(dropobj); ==== //depot/projects/netsmp/src/sys/kern/vfs_subr.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.635 2005/07/05 15:57:55 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.636 2005/07/20 01:43:27 jeff Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -582,7 +582,7 @@ } MNT_IUNLOCK(mp); vholdl(vp); - if (VOP_LOCK(vp, LK_INTERLOCK|LK_EXCLUSIVE|LK_NOWAIT, td)) { + if (VOP_LOCK(vp, LK_INTERLOCK|LK_EXCLUSIVE, td)) { vdrop(vp); MNT_ILOCK(mp); continue; @@ -680,11 +680,19 @@ done = 0; mtx_lock(&mountlist_mtx); for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) { + int vfsunlocked; if (vfs_busy(mp, LK_NOWAIT, &mountlist_mtx, td)) { nmp = TAILQ_NEXT(mp, mnt_list); continue; } + if (!VFS_NEEDSGIANT(mp)) { + mtx_unlock(&Giant); + vfsunlocked = 1; + } else + vfsunlocked = 0; done += vlrureclaim(mp); + if (vfsunlocked) + mtx_lock(&Giant); mtx_lock(&mountlist_mtx); nmp = TAILQ_NEXT(mp, mnt_list); vfs_unbusy(mp, td); @@ -700,7 +708,8 @@ #endif vnlru_nowhere++; tsleep(vnlruproc, PPAUSE, "vlrup", hz * 3); - } + } else + uio_yield(); } } ==== //depot/projects/netsmp/src/sys/net/if_bridge.c#2 (text+ko) ==== @@ -80,7 +80,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/if_bridge.c,v 1.12 2005/07/13 20:40:18 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/net/if_bridge.c,v 1.13 2005/07/20 19:42:51 thompsa Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -676,6 +676,7 @@ switch (ifs->if_type) { case IFT_ETHER: + case IFT_L2VLAN: /* * Take the interface out of promiscuous mode. */ ==== //depot/projects/netsmp/src/sys/netinet/icmp6.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet/icmp6.h,v 1.16 2005/01/07 01:45:44 imp Exp $ */ +/* $FreeBSD: src/sys/netinet/icmp6.h,v 1.18 2005/07/20 09:17:41 ume Exp $ */ /* $KAME: icmp6.h,v 1.46 2001/04/27 15:09:48 itojun Exp $ */ /*- @@ -97,6 +97,7 @@ #define MLD_LISTENER_QUERY 130 /* multicast listener query */ #define MLD_LISTENER_REPORT 131 /* multicast listener report */ #define MLD_LISTENER_DONE 132 /* multicast listener done */ +#define MLD_LISTENER_REDUCTION MLD_LISTENER_DONE /* RFC3542 definition */ /* RFC2292 decls */ #define ICMP6_MEMBERSHIP_QUERY 130 /* group membership query */ @@ -111,9 +112,9 @@ #endif #define ND_ROUTER_SOLICIT 133 /* router solicitation */ -#define ND_ROUTER_ADVERT 134 /* router advertisment */ +#define ND_ROUTER_ADVERT 134 /* router advertisement */ #define ND_NEIGHBOR_SOLICIT 135 /* neighbor solicitation */ -#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisment */ +#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisement */ #define ND_REDIRECT 137 /* redirect */ #define ICMP6_ROUTER_RENUMBERING 138 /* router renumbering */ ==== //depot/projects/netsmp/src/sys/netinet/ip6.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet/ip6.h,v 1.13 2005/01/07 01:45:44 imp Exp $ */ +/* $FreeBSD: src/sys/netinet/ip6.h,v 1.15 2005/07/20 10:30:52 ume Exp $ */ /* $KAME: ip6.h,v 1.18 2001/03/29 05:34:30 itojun Exp $ */ /*- @@ -142,7 +142,7 @@ #ifndef _KERNEL #define IP6OPT_RTALERT 0x05 /* 00 0 00101 (KAME definition) */ #endif -#define IP6OPT_ROUTER_ALERT 0x05 /* 00 0 00101 (2292bis, recommended) */ +#define IP6OPT_ROUTER_ALERT 0x05 /* 00 0 00101 (RFC3542, recommended) */ #define IP6OPT_RTALERT_LEN 4 #define IP6OPT_RTALERT_MLD 0 /* Datagram contains an MLD message */ @@ -160,8 +160,56 @@ #define IP6OPT_MUTABLE 0x20 +/* IPv6 options: common part */ +struct ip6_opt { + u_int8_t ip6o_type; + u_int8_t ip6o_len; +} __packed; + +/* Jumbo Payload Option */ +struct ip6_opt_jumbo { + u_int8_t ip6oj_type; + u_int8_t ip6oj_len; + u_int8_t ip6oj_jumbo_len[4]; +} __packed; #define IP6OPT_JUMBO_LEN 6 +/* NSAP Address Option */ +struct ip6_opt_nsap { + u_int8_t ip6on_type; + u_int8_t ip6on_len; + u_int8_t ip6on_src_nsap_len; + u_int8_t ip6on_dst_nsap_len; + /* followed by source NSAP */ + /* followed by destination NSAP */ +} __packed; + +/* Tunnel Limit Option */ +struct ip6_opt_tunnel { + u_int8_t ip6ot_type; + u_int8_t ip6ot_len; + u_int8_t ip6ot_encap_limit; +} __packed; + +/* Router Alert Option */ +struct ip6_opt_router { + u_int8_t ip6or_type; + u_int8_t ip6or_len; + u_int8_t ip6or_value[2]; +} __packed; +/* Router alert values (in network byte order) */ +#if BYTE_ORDER == BIG_ENDIAN +#define IP6_ALERT_MLD 0x0000 +#define IP6_ALERT_RSVP 0x0001 +#define IP6_ALERT_AN 0x0002 +#else +#if BYTE_ORDER == LITTLE_ENDIAN +#define IP6_ALERT_MLD 0x0000 +#define IP6_ALERT_RSVP 0x0100 +#define IP6_ALERT_AN 0x0200 +#endif /* LITTLE_ENDIAN */ +#endif + /* Routing header */ struct ip6_rthdr { u_int8_t ip6r_nxt; /* next header */ @@ -202,10 +250,10 @@ /* * Internet implementation parameters. */ -#define IPV6_MAXHLIM 255 /* maximun hoplimit */ +#define IPV6_MAXHLIM 255 /* maximum hoplimit */ #define IPV6_DEFHLIM 64 /* default hlim */ #define IPV6_FRAGTTL 120 /* ttl for fragment packets, in slowtimo tick */ -#define IPV6_HLIMDEC 1 /* subtracted when forwaeding */ +#define IPV6_HLIMDEC 1 /* subtracted when forwarding */ #define IPV6_MMTU 1280 /* minimal MTU and reassembly. 1024 + 256 */ #define IPV6_MAXPACKET 65535 /* ip6 max packet size without Jumbo payload*/ ==== //depot/projects/netsmp/src/sys/netinet6/in6.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/in6.h,v 1.36 2005/01/07 02:30:34 imp Exp $ */ +/* $FreeBSD: src/sys/netinet6/in6.h,v 1.37 2005/07/20 08:59:44 ume Exp $ */ /* $KAME: in6.h,v 1.89 2001/05/27 13:28:35 itojun Exp $ */ /*- @@ -450,7 +450,7 @@ #define IPV6_FW_GET 34 /* get entire firewall rule chain */ #endif -/* new socket options introduced in RFC2292bis */ +/* new socket options introduced in RFC3542 */ #define IPV6_RTHDRDSTOPTS 35 /* ip6_dest; send dst option before rthdr */ #define IPV6_RECVPKTINFO 36 /* bool; recv if, dst addr */ @@ -472,7 +472,7 @@ (cmsg only/not in of RFC3542) */ #endif -/* more new socket options introduced in RFC2292bis */ +/* more new socket options introduced in RFC3542 */ #define IPV6_PKTINFO 46 /* in6_pktinfo; send if, src addr */ #define IPV6_HOPLIMIT 47 /* int; send hop limit */ #define IPV6_NEXTHOP 48 /* sockaddr; next hop addr */ @@ -481,7 +481,7 @@ #define IPV6_RTHDR 51 /* ip6_rthdr; send routing header */ #if 0 #define IPV6_PKTOPTIONS 52 /* buf/cmsghdr; set/get IPv6 options */ - /* obsoleted by 2292bis */ + /* obsoleted by RFC3542 */ #endif #define IPV6_RECVTCLASS 57 /* bool; recv traffic class values */ ==== //depot/projects/netsmp/src/sys/netinet6/ip6_input.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/ip6_input.c,v 1.81 2005/03/16 05:11:11 sam Exp $ */ +/* $FreeBSD: src/sys/netinet6/ip6_input.c,v 1.82 2005/07/20 08:59:44 ume Exp $ */ /* $KAME: ip6_input.c,v 1.259 2002/01/21 04:58:09 jinmei Exp $ */ /*- @@ -1213,7 +1213,7 @@ * jumbo payload option is included, the option which * is to be removed before returning according to * RFC2292. - * Note: this constraint is removed in 2292bis. + * Note: this constraint is removed in RFC3542 */ *mp = sbcreatecontrol((caddr_t)hbh, hbhlen, IS2292(IPV6_2292HOPOPTS, IPV6_HOPOPTS), ==== //depot/projects/netsmp/src/sys/netinet6/ip6_mroute.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/ip6_mroute.h,v 1.6 2005/01/07 02:30:34 imp Exp $ */ +/* $FreeBSD: src/sys/netinet6/ip6_mroute.h,v 1.7 2005/07/20 08:59:45 ume Exp $ */ /* $KAME: ip6_mroute.h,v 1.19 2001/06/14 06:12:55 suz Exp $ */ /*- @@ -166,7 +166,7 @@ * like igmpmsg{} used for IPv4 implementation). This is because this * structure will be passed via an IPv6 raw socket, on which an application * will only receive the payload i.e. the data after the IPv6 header and all - * the extension headers. (see Section 3 of draft-ietf-ipngwg-2292bis-01) + * the extension headers. (see Section 3 of RFC3542) */ struct mrt6msg { #define MRT6MSG_NOCACHE 1 ==== //depot/projects/netsmp/src/sys/netinet6/ip6_output.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.90 2005/06/10 16:49:22 brooks Exp $ */ +/* $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.91 2005/07/20 08:59:45 ume Exp $ */ /* $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $ */ /*- @@ -1701,7 +1701,7 @@ /* * We ignore this option for TCP * sockets. - * (rfc2292bis leaves this case + * (RFC3542 leaves this case * unspecified.) */ if (uproto != IPPROTO_TCP) @@ -1810,7 +1810,7 @@ case IPV6_RTHDRDSTOPTS: case IPV6_NEXTHOP: { - /* new advanced API (2292bis) */ + /* new advanced API (RFC3542) */ u_char *optbuf; int optlen; struct ip6_pktopts **optp; @@ -2269,9 +2269,9 @@ * For ICMPv6 sockets, no modification allowed for checksum * offset, permit "no change" values to help existing apps. * - * XXX 2292bis says: "An attempt to set IPV6_CHECKSUM + * RFC3542 says: "An attempt to set IPV6_CHECKSUM * for an ICMPv6 socket will fail." - * The current behavior does not meet 2292bis. + * The current behavior does not meet RFC3542. */ switch (op) { case SOPT_SET: @@ -3060,8 +3060,8 @@ * item. "len" can be 0 only when it's a sticky option. * We have 4 cases of combination of "sticky" and "cmsg": * "sticky=0, cmsg=0": impossible - * "sticky=0, cmsg=1": RFC2292 or rfc2292bis ancillary data - * "sticky=1, cmsg=0": rfc2292bis socket option + * "sticky=0, cmsg=1": RFC2292 or RFC3542 ancillary data + * "sticky=1, cmsg=0": RFC3542 socket option * "sticky=1, cmsg=1": RFC2292 socket option */ static int @@ -3081,8 +3081,8 @@ /* * IPV6_2292xxx is for backward compatibility to RFC2292, and should - * not be specified in the context of rfc2292bis. Conversely, - * rfc2292bis types should not be specified in the context of RFC2292. + * not be specified in the context of RFC3542. Conversely, + * RFC3542 types should not be specified in the context of RFC2292. */ if (!cmsg) { switch (optname) { @@ -3108,7 +3108,7 @@ case IPV6_USE_MIN_MTU: case IPV6_DONTFRAG: case IPV6_TCLASS: - case IPV6_PREFER_TEMPADDR: /* XXX: not an rfc2292bis option */ + case IPV6_PREFER_TEMPADDR: /* XXX: not an RFC3542 option */ return (ENOPROTOOPT); } } @@ -3339,7 +3339,7 @@ * part of the destination options header must appear * before the routing header in the ancillary data, * too. - * RFC2292bis solved the ambiguity by introducing + * RFC3542 solved the ambiguity by introducing * separate ancillary data or option types. */ if (opt->ip6po_rthdr == NULL) @@ -3428,7 +3428,7 @@ if (uproto == IPPROTO_TCP || *(int *)buf == 0) { /* * we ignore this option for TCP sockets. - * (rfc2292bis leaves this case unspecified.) + * (RFC3542 leaves this case unspecified.) */ opt->ip6po_flags &= ~IP6PO_DONTFRAG; } else ==== //depot/projects/netsmp/src/sys/netinet6/nd6.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/nd6.c,v 1.48 2005/02/22 13:04:04 glebius Exp $ */ +/* $FreeBSD: src/sys/netinet6/nd6.c,v 1.49 2005/07/20 20:02:28 ume Exp $ */ /* $KAME: nd6.c,v 1.144 2001/05/24 07:44:00 itojun Exp $ */ /*- @@ -54,7 +54,6 @@ #include #include #include -#include #include #include #include @@ -203,23 +202,9 @@ case IFT_ARCNET: ndi->maxmtu = MIN(ARC_PHDS_MAXMTU, ifp->if_mtu); /* RFC2497 */ break; - case IFT_ETHER: - ndi->maxmtu = MIN(ETHERMTU, ifp->if_mtu); - break; case IFT_FDDI: ndi->maxmtu = MIN(FDDIIPMTU, ifp->if_mtu); /* RFC2467 */ break; - case IFT_ATM: - ndi->maxmtu = MIN(ATMMTU, ifp->if_mtu); - break; - case IFT_IEEE1394: /* XXX should be IEEE1394MTU(1500) */ - ndi->maxmtu = MIN(ETHERMTU, ifp->if_mtu); - break; -#ifdef IFT_IEEE80211 - case IFT_IEEE80211: /* XXX should be IEEE80211MTU(1500) */ - ndi->maxmtu = MIN(ETHERMTU, ifp->if_mtu); - break; -#endif case IFT_ISO88025: ndi->maxmtu = MIN(ISO88025_MAX_MTU, ifp->if_mtu); break; ==== //depot/projects/netsmp/src/sys/nfsclient/nfs.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * @(#)nfs.h 8.4 (Berkeley) 5/1/95 - * $FreeBSD: src/sys/nfsclient/nfs.h,v 1.90 2005/01/24 12:31:06 phk Exp $ + * $FreeBSD: src/sys/nfsclient/nfs.h,v 1.91 2005/07/19 21:27:25 ps Exp $ */ #ifndef _NFSCLIENT_NFS_H_ @@ -194,6 +194,7 @@ #define R_TPRINTFMSG 0x20 /* Did a tprintf msg. */ #define R_MUSTRESEND 0x40 /* Must resend request */ #define R_GETONEREP 0x80 /* Probe for one reply only */ +#define R_REXMIT_INPROG 0x100 /* Re-transmit in progress */ /* * Pointers to ops that differ from v3 to v4 ==== //depot/projects/netsmp/src/sys/nfsclient/nfs_socket.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.127 2005/07/18 02:12:17 ps Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.128 2005/07/19 21:27:25 ps Exp $"); /* * Socket operations for use by nfs @@ -1032,6 +1032,17 @@ */ s = splsoftclock(); mtx_lock(&nfs_reqq_mtx); + /* + * nfs_timer() may be in the process of re-transmitting this request. + * nfs_timer() drops the nfs_reqq_mtx before the pru_send() (to avoid LORs). + * Wait till nfs_timer() completes the re-transmission. When the reply + * comes back, it will be discarded (since the req struct for it no longer + * exists). + */ + while (rep->r_flags & R_REXMIT_INPROG) { + msleep((caddr_t)&rep->r_flags, &nfs_reqq_mtx, + (PZERO - 1), "nfsrxmt", 0); + } TAILQ_REMOVE(&nfs_reqq, rep, r_chain); if (TAILQ_EMPTY(&nfs_reqq)) callout_stop(&nfs_callout); @@ -1152,19 +1163,11 @@ * To avoid retransmission attempts on STREAM sockets (in the future) make * sure to set the r_retry field to 0 (implies nm_retry == 0). * - * XXX - - * For now, since we don't register MPSAFE callouts for the NFS client - - * softclock() acquires Giant before calling us. That prevents req entries - * from being removed from the list (from nfs_request()). But we still - * acquire the nfs reqq mutex to make sure the state of individual req - * entries is not modified from RPC reply handling (from socket callback) - * while nfs_timer is walking the list of reqs. * The nfs reqq lock cannot be held while we do the pru_send() because of a * lock ordering violation. The NFS client socket callback acquires * inp_lock->nfsreq mutex and pru_send acquires inp_lock. So we drop the - * reqq mutex (and reacquire it after the pru_send()). This won't work - * when we move to fine grained locking for NFS. When we get to that point, - * a rewrite of nfs_timer() will be needed. + * reqq mutex (and reacquire it after the pru_send()). The req structure + * (for the rexmit) is prevented from being removed by the R_REXMIT_INPROG flag. */ void nfs_timer(void *arg) @@ -1245,7 +1248,12 @@ ((nmp->nm_flag & NFSMNT_DUMBTIMR) || (rep->r_flags & R_SENT) || nmp->nm_sent < nmp->nm_cwnd) && - (m = m_copym(rep->r_mreq, 0, M_COPYALL, M_DONTWAIT))){ + (m = m_copym(rep->r_mreq, 0, M_COPYALL, M_DONTWAIT))) { + /* + * Mark the request to indicate that a XMIT is in progress + * to prevent the req structure being removed in nfs_request(). + */ + rep->r_flags |= R_REXMIT_INPROG; mtx_unlock(&nfs_reqq_mtx); if ((nmp->nm_flag & NFSMNT_NOCONN) == 0) error = (*so->so_proto->pr_usrreqs->pru_send) @@ -1254,6 +1262,8 @@ error = (*so->so_proto->pr_usrreqs->pru_send) (so, 0, m, nmp->nm_nam, NULL, curthread); mtx_lock(&nfs_reqq_mtx); + rep->r_flags &= ~R_REXMIT_INPROG; + wakeup((caddr_t)&rep->r_flags); if (error) { if (NFSIGNORE_SOERROR(nmp->nm_soflags, error)) so->so_error = 0; ==== //depot/projects/netsmp/src/sys/nfsclient/nfs_subs.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_subs.c,v 1.140 2005/03/13 12:14:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_subs.c,v 1.141 2005/07/19 21:27:25 ps Exp $"); /* * These functions support the macros and help fiddle mbuf chains for @@ -413,7 +413,7 @@ * Initialize reply list and start timer */ TAILQ_INIT(&nfs_reqq); - callout_init(&nfs_callout, 0); + callout_init(&nfs_callout, CALLOUT_MPSAFE); mtx_init(&nfs_reqq_mtx, "NFS reqq lock", NULL, MTX_DEF); mtx_init(&nfs_reply_mtx, "Synch NFS reply posting", NULL, MTX_DEF); ==== //depot/projects/netsmp/src/sys/ufs/ffs/ffs_vfsops.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.290 2005/05/30 07:04:15 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.291 2005/07/20 19:06:06 alc Exp $"); #include "opt_mac.h" #include "opt_quota.h" @@ -1534,7 +1534,7 @@ * by biodone it will be tossed. */ bp->b_flags |= B_NOCACHE; - bp->b_flags &= ~(B_CACHE | B_DONE); + bp->b_flags &= ~B_CACHE; bufdone(bp); BO_LOCK(bufobj); /* ==== //depot/projects/netsmp/src/sys/vm/swap_pager.c#2 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/swap_pager.c,v 1.273 2005/05/20 21:26:05 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/swap_pager.c,v 1.274 2005/07/20 19:06:06 alc Exp $"); #include "opt_mac.h" #include "opt_swap.h" @@ -1363,8 +1363,6 @@ int i; vm_object_t object = NULL; - bp->b_flags |= B_DONE; - /* * report error */ ==== //depot/projects/netsmp/src/sys/vm/uma_core.c#2 (text+ko) ==== @@ -48,7 +48,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.127 2005/07/16 11:03:06 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.128 2005/07/20 18:47:42 rwatson Exp $"); /* I should really use ktr.. */ /* @@ -197,6 +197,7 @@ enum zfreeskip { SKIP_NONE, SKIP_DTOR, SKIP_FINI }; #define ZFREE_STATFAIL 0x00000001 /* Update zone failure statistic. */ +#define ZFREE_STATFREE 0x00000002 /* Update zone free statistic. */ /* Prototypes.. */ @@ -349,7 +350,8 @@ struct uma_bucket_zone *ubz; ubz = bucket_zone_lookup(bucket->ub_entries); - uma_zfree_internal(ubz->ubz_zone, bucket, NULL, SKIP_NONE, 0); + uma_zfree_internal(ubz->ubz_zone, bucket, NULL, SKIP_NONE, + ZFREE_STATFREE); } static void @@ -540,7 +542,7 @@ return; if (hash->uh_hashsize == UMA_HASH_SIZE_INIT) uma_zfree_internal(hashzone, - hash->uh_slab_hash, NULL, SKIP_NONE, 0); + hash->uh_slab_hash, NULL, SKIP_NONE, ZFREE_STATFREE); else free(hash->uh_slab_hash, M_UMAHASH); } @@ -756,7 +758,7 @@ } if (keg->uk_flags & UMA_ZONE_OFFPAGE) uma_zfree_internal(keg->uk_slabzone, slab, NULL, - SKIP_NONE, 0); + SKIP_NONE, ZFREE_STATFREE); #ifdef UMA_DEBUG printf("%s: Returning %d bytes.\n", zone->uz_name, UMA_SLAB_SIZE * keg->uk_ppera); @@ -819,7 +821,7 @@ if (mem == NULL) { if (keg->uk_flags & UMA_ZONE_OFFPAGE) uma_zfree_internal(keg->uk_slabzone, slab, NULL, - SKIP_NONE, 0); + SKIP_NONE, ZFREE_STATFREE); ZONE_LOCK(zone); return (NULL); } @@ -876,7 +878,7 @@ } if (keg->uk_flags & UMA_ZONE_OFFPAGE) uma_zfree_internal(keg->uk_slabzone, slab, - NULL, SKIP_NONE, 0); + NULL, SKIP_NONE, ZFREE_STATFREE); keg->uk_freef(mem, UMA_SLAB_SIZE * keg->uk_ppera, flags); ZONE_LOCK(zone); @@ -1467,7 +1469,8 @@ LIST_REMOVE(keg, uk_link); LIST_REMOVE(zone, uz_link); mtx_unlock(&uma_mtx); - uma_zfree_internal(kegs, keg, NULL, SKIP_NONE, 0); + uma_zfree_internal(kegs, keg, NULL, SKIP_NONE, + ZFREE_STATFREE); } zone->uz_keg = NULL; } @@ -1771,7 +1774,8 @@ void uma_zdestroy(uma_zone_t zone) { - uma_zfree_internal(zones, zone, NULL, SKIP_NONE, 0); + + uma_zfree_internal(zones, zone, NULL, SKIP_NONE, ZFREE_STATFREE); } /* See uma.h */ @@ -1855,7 +1859,8 @@ if (zone->uz_ctor(item, zone->uz_keg->uk_size, udata, flags) != 0) { uma_zfree_internal(zone, item, udata, - SKIP_DTOR, ZFREE_STATFAIL); + SKIP_DTOR, ZFREE_STATFAIL | + ZFREE_STATFREE); return (NULL); } } @@ -2235,14 +2240,14 @@ if (zone->uz_init != NULL) { if (zone->uz_init(item, keg->uk_size, flags) != 0) { uma_zfree_internal(zone, item, udata, SKIP_FINI, - ZFREE_STATFAIL); + ZFREE_STATFAIL | ZFREE_STATFREE); return (NULL); } } if (zone->uz_ctor != NULL) { if (zone->uz_ctor(item, keg->uk_size, udata, flags) != 0) { uma_zfree_internal(zone, item, udata, SKIP_DTOR, - ZFREE_STATFAIL); + ZFREE_STATFAIL | ZFREE_STATFREE); return (NULL); } } @@ -2369,6 +2374,12 @@ } } + /* Since we have locked the zone we may as well send back our stats */ + zone->uz_allocs += cache->uc_allocs; + cache->uc_allocs = 0; + zone->uz_frees += cache->uc_frees; + cache->uc_frees = 0; + bucket = cache->uc_freebucket; cache->uc_freebucket = NULL; @@ -2415,7 +2426,8 @@ * If nothing else caught this, we'll just do an internal free. */ zfree_internal: - uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFAIL); + uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFAIL | + ZFREE_STATFREE); return; } @@ -2450,6 +2462,8 @@ if (flags & ZFREE_STATFAIL) zone->uz_fails++; + if (flags & ZFREE_STATFREE) + zone->uz_frees++; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 20 20:29:31 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F9A716A421; Wed, 20 Jul 2005 20:29:31 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2053316A41F for ; Wed, 20 Jul 2005 20:29:31 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A981643D46 for ; Wed, 20 Jul 2005 20:29:30 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6KKTU3Q003088 for ; Wed, 20 Jul 2005 20:29:30 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6KKTU0G003085 for perforce@freebsd.org; Wed, 20 Jul 2005 20:29:30 GMT (envelope-from soc-victor@freebsd.org) Date: Wed, 20 Jul 2005 20:29:30 GMT Message-Id: <200507202029.j6KKTU0G003085@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: soc-victor To: Perforce Change Reviews Cc: Subject: PERFORCE change 80629 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 20:29:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=80629 Change 80629 by soc-victor@soc-victor_82.76.158.176 on 2005/07/20 20:29:18 Added the implementation for both hrSWRunTable and hrSWRunPerfTable (which AUGMENTS hrSWRunTable ). Both tables need some performance improvements; also hrSWRunTable needs SNMP SET support. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#8 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#6 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#8 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#10 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrunperf_tbl.c#1 add Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#8 (text+ko) ==== @@ -7,7 +7,8 @@ MOD= hostres SRCS= hostres_snmp.c hostres_scalars.c \ - hostres_storage_tbl.c hostres_fs_tbl.c + hostres_storage_tbl.c hostres_fs_tbl.c \ + hostres_swrun_tbl.c hostres_swrunperf_tbl.c WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr CFLAGS+= -DNDEBUG ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#6 (text+ko) ==== @@ -487,7 +487,7 @@ return (-1); /*error*/ } - if( kvm_getprocs(hrState_g.kd, KERN_PROC_PROC, 0, &proc_count) == NULL ) { + if( kvm_getprocs(hrState_g.kd, KERN_PROC_ALL, 0, &proc_count) == NULL ) { syslog(LOG_ERR, "kvm_getprocs failed: %m "); return (-1);/*error*/ } @@ -569,3 +569,31 @@ } return (-1); /*error*/ } + +int op_hrSWRun(struct snmp_context *ctx __unused, + struct snmp_value *value, + u_int sub, + u_int iidx __unused, + enum snmp_op curr_op) +{ + + + if(curr_op == SNMP_OP_GET) { + switch (value->var.subs[sub - 1]) { + case LEAF_hrSWOSIndex: + value->v.uint32 = hrState_g.hrSWOSIndex; + return (SNMP_ERR_NOERROR); + default: + assert(0); + return (SNMP_ERR_NOSUCHNAME); + + }/*end switch*/ + } else if (curr_op == SNMP_OP_SET) { + return (SNMP_ERR_NOT_WRITEABLE); + } else { + assert(0); + return (SNMP_ERR_GENERR); + } + +} + ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#8 (text+ko) ==== @@ -54,14 +54,18 @@ struct hostres_state hrState_g; /* -HOST RESOURCES mib module initialization hook. -Returns 0 on success, < 0 on error -*/ + * HOST RESOURCES mib module initialization hook. + * Returns 0 on success, < 0 on error + */ static int hostres_init(struct lmodule * mod, int argc __unused, char *argv[] __unused) { + hostres_module = mod; + /* + * NOTE: order of these calls is important here! + */ hrState_g.utmp_fp = (FILE*)NULL; hrState_g.kd = (kvm_t*)NULL; hrState_g.kernel_boot = 0; @@ -86,6 +90,7 @@ return (-1); /*error*/ } + hrState_g.hrSWOSIndex = 0; hrState_g.next_hrStorage_index = 1; @@ -100,16 +105,21 @@ TAILQ_INIT(&hrState_g.hr_fs_tbl); + TAILQ_INIT(&hrState_g.hr_swrun_tbl); hrState_g.hr_storage_tick = 0; hrState_g.hr_fs_tick = 0; + hrState_g.hr_swrun_tick = 0; hrState_g.hrStorage_tbl_age = 0; hrState_g.hrFS_tbl_age = 0; + hrState_g.hrSWRun_tbl_age = 0; + init_hrStorage_tbl_v(); init_hrFS_tbl_v(); - + init_hrSWRun_tbl_v(); + HR_DPRINTF((stderr, "[%s] done.\n", __func__)); return (0); @@ -152,7 +162,18 @@ fini_hrStorage_tbl_v(); fini_hrFS_tbl_v(); - + fini_hrSWRun_tbl_v(); + + hrState_g.hr_storage_tick = 0; + hrState_g.hr_fs_tick = 0; + hrState_g.hr_swrun_tick = 0; + + hrState_g.hrStorage_tbl_age = 0; + hrState_g.hrFS_tbl_age = 0; + hrState_g.hrSWRun_tbl_age = 0; + + hrState_g.hrSWOSIndex = 0; + if( host_registration_id > 0){ or_unregister(host_registration_id); } @@ -175,6 +196,11 @@ HR_DPRINTF((stderr, "%s: hrFSTable needs refresh\n ", __func__)); refresh_hrFS_tbl_v(); } + if ( (time(NULL) - hrState_g.hrSWRun_tbl_age) > HR_SWRUN_TBL_REFRESH ) { + HR_DPRINTF((stderr, "%s: hrSWRunTable needs refresh\n ", __func__)); + refresh_hrStorage_tbl_v(); + } + HR_DPRINTF((stderr, "[%s] done.\n ", __func__)); } @@ -307,35 +333,11 @@ -int op_hrSWRun(struct snmp_context *ctx __unused, - struct snmp_value *value __unused, - u_int sub __unused, - u_int iidx __unused, - enum snmp_op curr_op __unused) -{ - return (SNMP_ERR_NOSUCHNAME); -} -int op_hrSWRunTable(struct snmp_context *ctx __unused, - struct snmp_value *value __unused, - u_int sub __unused, - u_int iidx __unused, - enum snmp_op curr_op __unused) -{ - return (SNMP_ERR_NOSUCHNAME); -} -int op_hrSWRunPerfTable(struct snmp_context *ctx __unused, - struct snmp_value *value __unused, - u_int sub __unused, - u_int iidx __unused, - enum snmp_op curr_op __unused) -{ - return (SNMP_ERR_NOSUCHNAME); -} int op_hrSWInstalled(struct snmp_context *ctx __unused, ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#10 (text+ko) ==== @@ -59,7 +59,7 @@ /* - * This structure is used to hold on SNMP table entry + * This structure is used to hold a SNMP table entry * for HOST-RESOURCES-MIB's hrStorageTable */ @@ -110,10 +110,14 @@ SNMP_FALSE= 2 }; +/* + * This structure is used to hold a SNMP table entry + * for HOST-RESOURCES-MIB's hrFSTable + */ struct hrFSTblEntry { int32_t index; - u_char mountPoint[128]; - u_char remoteMountPoint[128]; + u_char mountPoint[128+11]; + u_char remoteMountPoint[128+1]; struct asn_oid type; int32_t access; /* enum hrFSAccess, see above */ int32_t bootable; /* enum snmpTCTruthValue, see above */ @@ -150,6 +154,44 @@ STAILQ_HEAD(fs_map_list, FSNameMapEntry); +enum SWRunType { + SRT_UNKNOWN = 1, + SRT_OPERATING_SYSTEM = 2, + SRT_DEVICE_DRIVER = 3, + SRT_APPLICATION = 4 + +}; + +enum SWRunStatus { + SRS_RUNNING = 1, + SRS_RUNNABLE = 2, + SRS_NOT_RUNNABLE = 3, + SRS_INVALID = 4 +}; + +/* + * This structure is used to hold a SNMP table entry + * for both hrSWRunTable and hrSWRunPerfTable because + * hrSWRunPerfTable AUGMENTS hrSWRunTable + */ +struct hrSWRunTblEntry { + int32_t index; + u_char name[64+1]; + struct asn_oid id; + u_char path[128+1]; + u_char parameters[128+1]; + int32_t type; /* one item from enum SWRunType, see above */ + int32_t status; /* one item from enum SWRunStatus, see above */ + int32_t perfCPU; + int32_t perfMemory; +#define HR_SWRUN_FOUND 0x001 + uint32_t flags; /*not from the SNMP mib table, only to be used internally*/ + TAILQ_ENTRY(hrSWRunTblEntry) link; +}; + +TAILQ_HEAD(swrun_tbl, hrSWRunTblEntry); + + struct hostres_state { FILE *utmp_fp; /*file pointer to keep an open instance of utmp*/ kvm_t *kd; /*kernel descriptor*/ @@ -171,9 +213,9 @@ storage_tbl hr_storage_tbl; /*the head of the list with table's entries */ uint64_t hr_storage_tick; /*last (agent) tick when hrStorageTable was updated */ struct kvm_swap *swap_devs; /*for kvm_getswapinfo, malloc'd*/ - size_t swap_devs_len; /*idem */ + size_t swap_devs_len; /*item count for swap_devs */ struct statfs *fs_buf; /*for getfsstat, malloc'd*/ - size_t fs_buf_count; /*idem*/ + size_t fs_buf_count; /*item count for fs_buf */ struct vmtotal mem_stats; uint32_t next_hrStorage_index; /*next int available for indexing the hrStorageTable*/ time_t hrStorage_tbl_age; @@ -189,7 +231,17 @@ time_t hrFS_tbl_age; uint64_t hr_fs_tick; /*last (agent) tick when hrFSTable was updated */ - + /* + * next items are used for both hrSWRunTable and hrSWRunPerfTable + */ + struct + swrun_tbl hr_swrun_tbl; /*the head of the list with hrSWRunTable's entries */ + + time_t hrSWRun_tbl_age; + uint64_t hr_swrun_tick; /*last (agent) tick when hrSWRunTable and hrSWRunPerTable + were updated */ + int32_t hrSWOSIndex; /* the value of the MIB objecy with the same name*/ + }; /* @@ -267,6 +319,35 @@ */ void refresh_hrFS_tbl_v(void); +/* + * Find an entry in hrSWRunTable (or hrSWRunPerfTable) by its SNMP index + * Returns NULL if none found + */ +struct hrSWRunTblEntry * +hrSWRunTblEntry_find_by_index(int32_t idx); + +/* + * Init the things for both of hrSWRunTable an hrSWRunPerfTable + */ +void init_hrSWRun_tbl_v(void); + +/* + * Finalization routine for both of hrSWRunTable an hrSWRunPerfTable + * It destroys the lists and frees any allocated heap memory + */ +void fini_hrSWRun_tbl_v(void); + +/* + * Next macro represents the number of seconds + * between two consecutive queries to the OS for getting the new data + * for both of hrSWRunTable and hrSWRunPerfTable + */ +#define HR_SWRUN_TBL_REFRESH 3 +/* + * Refresh routine for both of hrSWRunTable and hrSWRunPerfTable + * Usable for polling the system for any changes. + */ +void refresh_hrSWRun_tbl_v(void); #endif /*__HOSTRES_SNMP_H_INCLUDED__ */ From owner-p4-projects@FreeBSD.ORG Wed Jul 20 21:27:42 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6EBAA16A421; Wed, 20 Jul 2005 21:27:42 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 48FB616A41F for ; Wed, 20 Jul 2005 21:27:42 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 06A7D43D46 for ; Wed, 20 Jul 2005 21:27:42 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6KLRfub012604 for ; Wed, 20 Jul 2005 21:27:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6KLRfQ6012601 for perforce@freebsd.org; Wed, 20 Jul 2005 21:27:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 20 Jul 2005 21:27:41 GMT Message-Id: <200507202127.j6KLRfQ6012601@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 Cc: Subject: PERFORCE change 80632 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2005 21:27:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=80632 Change 80632 by rwatson@rwatson_zoo on 2005/07/20 21:27:06 While unsatisfactory from the perspective of addressing inter-layer and network layer locking for multicast address lists and data, acquire the link layer multicast address lock around network layer iteration of the link layer multicast address list. This will change when I work on the network layer behavior. Affected files ... .. //depot/projects/netsmp/src/sys/netinet/in_var.h#4 edit .. //depot/projects/netsmp/src/sys/netinet6/in6_var.h#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet/in_var.h#4 (text+ko) ==== @@ -187,7 +187,7 @@ do { \ struct ifmultiaddr *ifma; \ \ - IF_ADDR_LOCK_ASSERT(ifp); \ + IF_ADDR_LOCK(ifp); \ TAILQ_FOREACH(ifma, &((ifp)->if_multiaddrs), ifma_link) { \ if (ifma->ifma_addr->sa_family == AF_INET \ && ((struct sockaddr_in *)ifma->ifma_addr)->sin_addr.s_addr == \ @@ -195,6 +195,7 @@ break; \ } \ (inm) = ifma ? ifma->ifma_protospec : 0; \ + IF_ADDR_UNLOCK(ifp); \ } while(0) /* ==== //depot/projects/netsmp/src/sys/netinet6/in6_var.h#3 (text+ko) ==== @@ -545,7 +545,7 @@ /* struct in6_multi *in6m; */ \ do { \ struct ifmultiaddr *ifma; \ - IF_ADDR_LOCK_ASSERT(ifp); \ + IF_ADDR_LOCK(ifp); \ TAILQ_FOREACH(ifma, &(ifp)->if_multiaddrs, ifma_link) { \ if (ifma->ifma_addr->sa_family == AF_INET6 \ && IN6_ARE_ADDR_EQUAL(&((struct sockaddr_in6 *)ifma->ifma_addr)->sin6_addr, \ @@ -553,6 +553,7 @@ break; \ } \ (in6m) = (struct in6_multi *)(ifma ? ifma->ifma_protospec : 0); \ + IF_ADDR_UNLOCK(ifp); \ } while(0) /* From owner-p4-projects@FreeBSD.ORG Thu Jul 21 12:40:36 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAC4A16A421; Thu, 21 Jul 2005 12:40:35 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6AFB316A41F for ; Thu, 21 Jul 2005 12:40:35 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A378F43D60 for ; Thu, 21 Jul 2005 12:40:33 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LCeXqf080108 for ; Thu, 21 Jul 2005 12:40:33 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LCeXmC080105 for perforce@freebsd.org; Thu, 21 Jul 2005 12:40:33 GMT (envelope-from soc-andrew@freebsd.org) Date: Thu, 21 Jul 2005 12:40:33 GMT Message-Id: <200507211240.j6LCeXmC080105@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 80667 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 12:40:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=80667 Change 80667 by soc-andrew@soc-andrew_serv on 2005/07/21 12:40:25 Add a selector for what dists to install and install them Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#3 edit .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/lib/installer/functions.c#3 edit .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/lib/installer/functions.h#2 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#1 add .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.h#1 add .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#4 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#3 (text+ko) ==== @@ -1163,7 +1163,7 @@ fn_create_subpartitions(a); if (a->result) { /* state = state_install_os; */ - state = state_select_distros; + state = state_select_dists; } else { state = disk_get_formatted(storage_get_selected_disk(a->s)) ? state_select_disk : state_select_slice; @@ -1200,7 +1200,7 @@ "p", "special", "dfinstaller_install_os", "a", "ok", _("Begin Installing Files"), "", "", - "a", "cancel", _("Return to Create Subpartitions"), "", "", + "a", "cancel", _("Return to Select Distributions"), "", "", "p", "accelerator", "ESC", NULL @@ -1210,7 +1210,8 @@ abort_backend(); if (strcmp(dfui_response_get_action_id(r), "cancel") == 0) { - state = state_create_subpartitions; + /* state = state_create_subpartitions; */ + state = state_select_dists; } else { fn_install_os(a); if (a->result) ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/lib/installer/functions.c#3 (text+ko) ==== @@ -75,6 +75,7 @@ a->tmp = NULL; a->temp_files = NULL; a->cmd_names = NULL; + a->dists = NULL; asprintf(&filename, "%sinstall.log", def_tmp_dir); a->log = fopen(filename, "w"); @@ -146,6 +147,9 @@ if (a->log != NULL) { fclose(a->log); } + if (a->dists != NULL) { + aura_dict_free(a->dists); + } AURA_FREE(a, i_fn_args); } } ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/lib/installer/functions.h#2 (text+ko) ==== @@ -64,6 +64,7 @@ int result; /* result of function */ FILE *log; /* file to log to */ struct aura_dict *temp_files; /* names of files to delete on exit */ + struct aura_dict *dists; /* the dists to install */ struct config_vars *cmd_names; /* names (and paths) of commands to use */ int booted_from_livecd; /* system is running from livecd */ int upgrade_menu_toggle; /* toggle the experimental upgrade option */ ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#4 (text+ko) ==== @@ -161,6 +161,10 @@ do_install(struct i_fn_args *a) { char base[PATH_MAX]; + /* This should be big enough as the largest dist name is ~9 */ + char dist_name[32]; + void *rv, *rk; + size_t rv_len, rk_len; struct utsname name; uname(&name); @@ -169,7 +173,22 @@ i_log(a, "<<< Extracting distrubutions from %s", base); dist_set_base(base); dist_set_location("/mnt"); - dist_extract(a->c, "base"); + + aura_dict_rewind(a->dists); + /* + * Install the selected dists + */ + while (!aura_dict_eof(a->dists)) { + aura_dict_get_current_key(a->dists, &rk, &rk_len); + strlcpy(dist_name, rk, 32); + if (rk_len < 32) + dist_name[rk_len] = '\0'; + + printf("+%s\n", dist_name); + dist_extract(a->c, dist_name); + aura_dict_next(a->dists); + } + i_log(a, ">>> Done"); return 1; } @@ -352,12 +371,9 @@ void fn_install_os(struct i_fn_args *a) { - i_log(a, "1111"); + /* XXX Check the return value of these */ pre_install(a); - i_log(a, "2222"); do_install(a); - i_log(a, "3333"); post_install(a); - i_log(a, "4444"); } From owner-p4-projects@FreeBSD.ORG Thu Jul 21 12:42:41 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC5A016A421; Thu, 21 Jul 2005 12:42:40 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 B5E1A16A420 for ; Thu, 21 Jul 2005 12:42:40 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E965743D72 for ; Thu, 21 Jul 2005 12:42:36 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LCgaZ4080215 for ; Thu, 21 Jul 2005 12:42:36 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LCgaiD080212 for perforce@freebsd.org; Thu, 21 Jul 2005 12:42:36 GMT (envelope-from soc-andrew@freebsd.org) Date: Thu, 21 Jul 2005 12:42:36 GMT Message-Id: <200507211242.j6LCgaiD080212@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 80668 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 12:42:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=80668 Change 80668 by soc-andrew@soc-andrew_serv on 2005/07/21 12:42:03 Catchup with head Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/Makefile#3 integrate Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 5.20 (Berkeley) 6/12/93 -# $FreeBSD: src/usr.sbin/Makefile,v 1.332 2005/06/06 03:58:02 sam Exp $ +# $FreeBSD: src/usr.sbin/Makefile,v 1.333 2005/07/20 22:53:57 marks Exp $ # XXX MISSING: mkproto SUBDIR= ac \ @@ -153,6 +153,7 @@ sliplogin \ slstat \ smbmsg \ + snapinfo \ ${_spkrtest} \ spray \ ${_sysinstall} \ From owner-p4-projects@FreeBSD.ORG Thu Jul 21 18:48:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D98CD16A442; Thu, 21 Jul 2005 18:48:26 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 8791F16A436 for ; Thu, 21 Jul 2005 18:48:26 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A81E43DF1 for ; Thu, 21 Jul 2005 18:48:16 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LIm6xi010156 for ; Thu, 21 Jul 2005 18:48:06 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LIm6Tm010153 for perforce@freebsd.org; Thu, 21 Jul 2005 18:48:06 GMT (envelope-from soc-anders@freebsd.org) Date: Thu, 21 Jul 2005 18:48:06 GMT Message-Id: <200507211848.j6LIm6Tm010153@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80690 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 18:48:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=80690 Change 80690 by soc-anders@soc-anders_gimli on 2005/07/21 18:48:03 Migrated pim6stat to pim6.h Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/pim6_var.h#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/pim6_var.h#2 (text+ko) ==== @@ -41,28 +41,12 @@ * Modified by Pavlin Ivanov Radoslavov, USC/ISI, May 1998 */ -struct pim6stat { - u_quad_t pim6s_rcv_total; /* total PIM messages received */ - u_quad_t pim6s_rcv_tooshort; /* received with too few bytes */ - u_quad_t pim6s_rcv_badsum; /* received with bad checksum */ - u_quad_t pim6s_rcv_badversion; /* received bad PIM version */ - u_quad_t pim6s_rcv_registers; /* received registers */ - u_quad_t pim6s_rcv_badregisters; /* received invalid registers */ - u_quad_t pim6s_snd_registers; /* sent registers */ -}; - #if (defined(KERNEL)) || (defined(_KERNEL)) extern struct pim6stat pim6stat; int pim6_input __P((struct mbuf **, int*, int)); #endif /* KERNEL */ -/* - * Names for PIM sysctl objects - */ -#define PIM6CTL_STATS 1 /* statistics (read-only) */ -#define PIM6CTL_MAXID 2 - #define PIM6CTL_NAMES { \ { 0, 0 }, \ { 0, 0 }, \ From owner-p4-projects@FreeBSD.ORG Thu Jul 21 18:48:34 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1F7816A42A; Thu, 21 Jul 2005 18:48:29 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 8AA3816A46C for ; Thu, 21 Jul 2005 18:48:27 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6BD2343DF0 for ; Thu, 21 Jul 2005 18:48:14 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LIm6hM010150 for ; Thu, 21 Jul 2005 18:48:06 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LIm6Te010147 for perforce@freebsd.org; Thu, 21 Jul 2005 18:48:06 GMT (envelope-from soc-anders@freebsd.org) Date: Thu, 21 Jul 2005 18:48:06 GMT Message-Id: <200507211848.j6LIm6Te010147@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80689 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 18:48:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=80689 Change 80689 by soc-anders@soc-anders_gimli on 2005/07/21 18:47:35 Migrated pim6stat from pim6_var.h Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/pim6.h#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/pim6.h#2 (text+ko) ==== @@ -67,3 +67,19 @@ /* second bit in reg_head is the null bit */ #define PIM_NULL_REGISTER 0x40000000 + +struct pim6stat { + u_quad_t pim6s_rcv_total; /* total PIM messages received */ + u_quad_t pim6s_rcv_tooshort; /* received with too few bytes */ + u_quad_t pim6s_rcv_badsum; /* received with bad checksum */ + u_quad_t pim6s_rcv_badversion; /* received bad PIM version */ + u_quad_t pim6s_rcv_registers; /* received registers */ + u_quad_t pim6s_rcv_badregisters; /* received invalid registers */ + u_quad_t pim6s_snd_registers; /* sent registers */ +}; + +/* + * Names for PIM sysctl objects + */ +#define PIM6CTL_STATS 1 /* statistics (read-only) */ +#define PIM6CTL_MAXID 2 From owner-p4-projects@FreeBSD.ORG Thu Jul 21 18:49:12 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F30B16A426; Thu, 21 Jul 2005 18:49:12 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 114F316A422 for ; Thu, 21 Jul 2005 18:49:12 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AC4D943D66 for ; Thu, 21 Jul 2005 18:49:08 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LIn8GV010184 for ; Thu, 21 Jul 2005 18:49:08 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LIn8Hg010181 for perforce@freebsd.org; Thu, 21 Jul 2005 18:49:08 GMT (envelope-from soc-anders@freebsd.org) Date: Thu, 21 Jul 2005 18:49:08 GMT Message-Id: <200507211849.j6LIn8Hg010181@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80691 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 18:49:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=80691 Change 80691 by soc-anders@soc-anders_gimli on 2005/07/21 18:48:37 Added sysctl node net.inet6.pim6 Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/in6_proto.c#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/in6_proto.c#2 (text+ko) ==== @@ -355,6 +355,7 @@ #ifdef IPSEC SYSCTL_NODE(_net_inet6, IPPROTO_ESP, ipsec6, CTLFLAG_RW, 0, "IPSEC6"); #endif /* IPSEC */ +SYSCTL_NODE(_net_inet6, IPPROTO_PIM, pim6, CTLFLAG_RW, 0, "PIM6"); /* net.inet6.ip6 */ static int From owner-p4-projects@FreeBSD.ORG Thu Jul 21 18:50:21 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B2B9116A421; Thu, 21 Jul 2005 18:50:20 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 8E12216A41F for ; Thu, 21 Jul 2005 18:50:20 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C55A43D5D for ; Thu, 21 Jul 2005 18:50:10 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LIoAQ8010252 for ; Thu, 21 Jul 2005 18:50:10 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LIoA83010249 for perforce@freebsd.org; Thu, 21 Jul 2005 18:50:10 GMT (envelope-from soc-anders@freebsd.org) Date: Thu, 21 Jul 2005 18:50:10 GMT Message-Id: <200507211850.j6LIoA83010249@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80692 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 18:50:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=80692 Change 80692 by soc-anders@soc-anders_gimli on 2005/07/21 18:49:51 Made pim6stat available via sysctl net.inet6.pim6.stats Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_mroute.c#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_mroute.c#2 (text+ko) ==== @@ -99,6 +99,7 @@ #include #include #include +#include #include #include @@ -183,6 +184,10 @@ static mifi_t reg_mif_num = (mifi_t)-1; static struct pim6stat pim6stat; +SYSCTL_DECL(_net_inet6_pim6); +SYSCTL_STRUCT(_net_inet6_pim6, PIM6CTL_STATS, stats, CTLFLAG_RD, + &pim6stat, pim6stat, + "PIM6 Statistics (struct pim6stat, netinet6/pim.h)"); static int pim6; /* From owner-p4-projects@FreeBSD.ORG Thu Jul 21 19:41:36 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6CF7616A421; Thu, 21 Jul 2005 19:41:36 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2554316A41F for ; Thu, 21 Jul 2005 19:41:36 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9263243D53 for ; Thu, 21 Jul 2005 19:41:12 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LJfCQJ012277 for ; Thu, 21 Jul 2005 19:41:12 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LJfCfO012274 for perforce@freebsd.org; Thu, 21 Jul 2005 19:41:12 GMT (envelope-from soc-victor@freebsd.org) Date: Thu, 21 Jul 2005 19:41:12 GMT Message-Id: <200507211941.j6LJfCfO012274@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: soc-victor To: Perforce Change Reviews Cc: Subject: PERFORCE change 80694 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 19:41:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=80694 Change 80694 by soc-victor@soc-victor_82.76.158.176 on 2005/07/21 19:40:24 Added SNMP SET support for hrSWRunTable. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#9 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#7 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#11 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c#2 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#9 (text+ko) ==== @@ -1,5 +1,6 @@ # # Copyright (c) 2005 The FreeBSD Project +# All rights reserved. # Author: Victor Cruceru # ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#7 (text+ko) ==== @@ -235,7 +235,7 @@ } } - } else if (curr_op == SNMP_OP_ROLLBACK ) { + } else if (curr_op == SNMP_OP_ROLLBACK ) { switch (value->var.subs[sub - 1]) { case LEAF_hrSystemDate: { HR_DPRINTF((stderr, "SNMP_OP_ROLLBACK for LEAF_hrSystemDate\n")); @@ -308,7 +308,7 @@ case SNMP_OP_ROLLBACK: case SNMP_OP_COMMIT: case SNMP_OP_GETNEXT: - default:{ + default: { assert(0); return (SNMP_ERR_GENERR); } @@ -576,24 +576,30 @@ u_int iidx __unused, enum snmp_op curr_op) { - + /*only SNMP GET is possible*/ + switch (curr_op) { + case SNMP_OP_GET: + break; + case SNMP_OP_SET: + return (SNMP_ERR_NOT_WRITEABLE); + case SNMP_OP_ROLLBACK: + case SNMP_OP_COMMIT: + case SNMP_OP_GETNEXT: + default: { + assert(0); + return (SNMP_ERR_GENERR); + } + } - if(curr_op == SNMP_OP_GET) { - switch (value->var.subs[sub - 1]) { - case LEAF_hrSWOSIndex: - value->v.uint32 = hrState_g.hrSWOSIndex; - return (SNMP_ERR_NOERROR); - default: - assert(0); - return (SNMP_ERR_NOSUCHNAME); - - }/*end switch*/ - } else if (curr_op == SNMP_OP_SET) { - return (SNMP_ERR_NOT_WRITEABLE); - } else { - assert(0); - return (SNMP_ERR_GENERR); - } + switch (value->var.subs[sub - 1]) { + case LEAF_hrSWOSIndex: + value->v.uint32 = hrState_g.hrSWOSIndex; + return (SNMP_ERR_NOERROR); + default: + assert(0); + return (SNMP_ERR_NOSUCHNAME); + + }/*end switch*/ } ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#11 (text+ko) ==== @@ -185,7 +185,8 @@ int32_t perfCPU; int32_t perfMemory; #define HR_SWRUN_FOUND 0x001 - uint32_t flags; /*not from the SNMP mib table, only to be used internally*/ + uint32_t flags; /*not from the SNMP mib table, only to be used internally*/ + uint64_t r_tick; /*agent tick when this entry was last time refreshed*/ TAILQ_ENTRY(hrSWRunTblEntry) link; }; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c#2 (text+ko) ==== @@ -41,6 +41,8 @@ #include #include #include +#include +#include #define IS_KERNPROC(kp) ( ((kp)->ki_flag & P_KTHREAD) == P_KTHREAD ) @@ -150,7 +152,7 @@ static void -kinfo_proc_to_hrSWRunTblEntry(const struct kinfo_proc *kp, struct hrSWRunTblEntry* entry) { +kinfo_proc_to_hrSWRunTblEntry_v(const struct kinfo_proc *kp, struct hrSWRunTblEntry* entry) { char **argv = NULL; uint64_t cpu_time = 0; @@ -162,6 +164,9 @@ entry->path[0] = '\0'; entry->parameters[0] = '\0'; + + assert(hrState_g.kd != NULL); + argv = kvm_getargv(hrState_g.kd, kp, sizeof(entry->parameters) - 1); if(argv != NULL){ memset(&entry->parameters[0], '\0', sizeof(entry->parameters)); @@ -201,12 +206,13 @@ entry->perfCPU = (cpu_time > (uint64_t)INT_MAX ? INT_MAX : cpu_time); entry->perfMemory = kp->ki_size / 1024; /*in kilo-bytes*/ + entry->r_tick = get_ticks(); } static void -kld_file_stat_to_hrSWRunTblEntry(const struct kld_file_stat* kfs, struct hrSWRunTblEntry* entry) { +kld_file_stat_to_hrSWRunTblEntry_v(const struct kld_file_stat* kfs, struct hrSWRunTblEntry* entry) { assert(kfs != NULL); assert(entry != NULL); @@ -230,6 +236,7 @@ entry->status = SRS_RUNNING; entry->perfCPU = 0; /*Info not available*/ entry->perfMemory = kfs->size / 1024; /*in kilo-bytes*/ + entry->r_tick = get_ticks(); } /* @@ -262,7 +269,7 @@ assert(entry != NULL); entry->flags |= HR_SWRUN_FOUND; /*mark it as found*/ - kinfo_proc_to_hrSWRunTblEntry(kp,entry); + kinfo_proc_to_hrSWRunTblEntry_v(kp,entry); } } @@ -295,7 +302,7 @@ assert(entry != NULL); entry->flags |= HR_SWRUN_FOUND; /*mark it as found*/ - kld_file_stat_to_hrSWRunTblEntry(&stat, entry); + kld_file_stat_to_hrSWRunTblEntry_v(&stat, entry); } } @@ -332,7 +339,140 @@ HR_DPRINTF((stderr, "%s: refresh DONE\n ",__func__)); } +static +void fetch_hrSWRun_entry_v(struct hrSWRunTblEntry *entry) { + int item_found = 0; + struct kinfo_proc *plist = NULL; + int nproc = -1; + int fileid = 0; + + assert(entry != NULL); + + if( entry->index >= NO_PID + 1) { + /* this is a kernel item */ + item_found = 0; + for (fileid = kldnext(0); fileid > 0; fileid = kldnext(fileid)) { + struct kld_file_stat stat; + stat.version = sizeof(struct kld_file_stat); + if (kldstat(fileid, &stat) < 0) { + syslog(LOG_ERR, "kldstat() failed: %m"); + continue; + } + /* + * kernel and kernel files (*.ko) will be indexed starting with + * NO_PID + 1; NO_PID is PID_MAX + 1 thus it will be no risk to + * overlap with real PIDs which are in range of 1 .. NO_PID + */ + if( NO_PID + 1 + stat.id == entry->index ) { + kld_file_stat_to_hrSWRunTblEntry_v(&stat, entry); + item_found = 1; + break; + } + } /* end for*/ + if (item_found == 0) { + /* not found, it's gone. Mark it as invalid for now, it + * will be removed from the list at next global refersh + */ + HR_DPRINTF((stderr, "%s: missing item with kid = %d \n ", __func__, entry->index - NO_PID - 1)); + entry->status = SRS_INVALID; + + } + + } else { + + /* this is user space visible process*/ + assert(hrState_g.kd != NULL); + plist = kvm_getprocs(hrState_g.kd, KERN_PROC_PID, entry->index - 1, &nproc); + if (plist == NULL || nproc != 1) { + HR_DPRINTF((stderr, "%s: missing item with PID = %d \n ", __func__, entry->index - 1)); + entry->status = SRS_INVALID; + return; + } + kinfo_proc_to_hrSWRunTblEntry_v(plist,entry); + + } +} + +static +int invalidate_hrSWRun_entry(struct hrSWRunTblEntry *entry) { + struct kinfo_proc *plist = NULL; + int nproc = -1; + + + assert(entry != NULL); + + if( entry->index >= NO_PID + 1) { + /* this is a kernel item */ + int item_found = 0; + int fileid = 0; + + HR_DPRINTF((stderr, "%s: atempt to delete a kernel item %d \n ", __func__, entry->index - NO_PID - 1)); + + if( entry->index == hrState_g.hrSWOSIndex) { + /*can't invalidate the kernel itself*/ + return (SNMP_ERR_NOT_WRITEABLE);/*error*/ + } + + for (fileid = kldnext(0); fileid > 0; fileid = kldnext(fileid)) { + struct kld_file_stat stat; + stat.version = sizeof(struct kld_file_stat); + if (kldstat(fileid, &stat) < 0) { + syslog(LOG_ERR, "kldstat() failed: %m"); + continue; + } + + if( NO_PID + 1 + stat.id == entry->index ) { + if(kldunload(fileid) < 0) { + syslog(LOG_ERR,"kldunload for %s failed: %m", stat.name); + return (SNMP_ERR_RES_UNAVAIL); /*error*/ + } + item_found = 1; + break; + } + + } /* end for*/ + if (item_found == 0) { + /* not found, it's gone. Mark it as invalid for now, it + * will be removed from the list at next global refersh + */ + HR_DPRINTF((stderr, "%s: missing item with kid = %d \n ", __func__, entry->index - NO_PID - 1)); + entry->status = SRS_INVALID; + return (SNMP_ERR_NOERROR); + + } + + } else { + + /* this is user space visible process*/ + assert(hrState_g.kd != NULL); + plist = kvm_getprocs(hrState_g.kd, KERN_PROC_PID, entry->index - 1, &nproc); + if (plist == NULL || nproc != 1) { + HR_DPRINTF((stderr, "%s: missing item with PID = %d \n ", __func__, entry->index - 1)); + entry->status = SRS_INVALID; + return (SNMP_ERR_NOERROR); + } + if(IS_KERNPROC(plist)) { + /*you don't want to do this*/ + return (SNMP_ERR_NOT_WRITEABLE); + } else { + if(kill(entry->index - 1, SIGKILL) < 0) { + syslog(LOG_ERR,"kill (%d, SIGKILL) failed: %m", entry->index - 1); + return (SNMP_ERR_GENERR); + } + return (SNMP_ERR_NOERROR); + } + + + } + return (SNMP_ERR_NOERROR); + +} + +/* + * This is the implmenetaion for a generated function prototype, see hostres_tree.h + * It hanldes the SNMP operations for hrSWRunTable + */ int op_hrSWRunTable(struct snmp_context *ctx __unused, struct snmp_value *value, u_int sub, @@ -374,14 +514,43 @@ break; case SNMP_OP_SET: - return (SNMP_ERR_NOT_WRITEABLE); + if (value->var.len - sub != 1) { + return (SNMP_ERR_NOSUCHNAME); + } + + if ((entry = hrSWRunTblEntry_find_by_index(value->var.subs[sub])) == NULL) { + return (SNMP_ERR_NOSUCHNAME); + } + + if (entry->r_tick < this_tick) { + HR_DPRINTF((stderr, "%s: Specific entry with SNMP INDEX = %d needs refresh\n ", + __func__, + entry->index)); + fetch_hrSWRun_entry_v(entry); + } + if(entry->status == SRS_INVALID){ + return (SNMP_ERR_NOERROR); + } + + switch (value->var.subs[sub - 1]) { + case LEAF_hrSWRunStatus: { + if( value->v.integer != SRS_INVALID) { + return (SNMP_ERR_WRONG_VALUE); + } + return (invalidate_hrSWRun_entry(entry)); + } + default: + return (SNMP_ERR_NOT_WRITEABLE); + + } /* end switch (value->var.subs[sub - 1]) */ + return (SNMP_ERR_NOERROR); case SNMP_OP_ROLLBACK: case SNMP_OP_COMMIT: - assert(0); return (SNMP_ERR_NOERROR); } + ret = SNMP_ERR_NOERROR; switch (value->var.subs[sub - 1]) { From owner-p4-projects@FreeBSD.ORG Thu Jul 21 19:51:31 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 684AD16A421; Thu, 21 Jul 2005 19:51:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 41F6016A41F for ; Thu, 21 Jul 2005 19:51:30 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D25B43D46 for ; Thu, 21 Jul 2005 19:51:25 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LJpPkN012753 for ; Thu, 21 Jul 2005 19:51:25 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LJpPSt012750 for perforce@freebsd.org; Thu, 21 Jul 2005 19:51:25 GMT (envelope-from sam@freebsd.org) Date: Thu, 21 Jul 2005 19:51:25 GMT Message-Id: <200507211951.j6LJpPSt012750@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 Cc: Subject: PERFORCE change 80695 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 19:51:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=80695 Change 80695 by sam@sam_ebb on 2005/07/21 19:51:10 correct min data frame size check; fragmented frames may not include an 802.3 header so the previous size caused some frames to be discarded Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#13 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#13 (text+ko) ==== @@ -543,7 +543,7 @@ { #define IEEE80211_WEP_HDRLEN (IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN) #define IEEE80211_WEP_MINLEN \ - (sizeof(struct ieee80211_frame) + ETHER_HDR_LEN + \ + (sizeof(struct ieee80211_frame) + \ IEEE80211_WEP_HDRLEN + IEEE80211_WEP_CRCLEN) struct ieee80211_key *k; struct ieee80211_frame *wh; From owner-p4-projects@FreeBSD.ORG Thu Jul 21 20:00:48 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B046316A42A; Thu, 21 Jul 2005 20:00:47 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6BB9316A425 for ; Thu, 21 Jul 2005 20:00:47 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6243D43D9F for ; Thu, 21 Jul 2005 20:00:37 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LK0btR013470 for ; Thu, 21 Jul 2005 20:00:37 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LK0bR0013467 for perforce@freebsd.org; Thu, 21 Jul 2005 20:00:37 GMT (envelope-from sam@freebsd.org) Date: Thu, 21 Jul 2005 20:00:37 GMT Message-Id: <200507212000.j6LK0bR0013467@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 Cc: Subject: PERFORCE change 80697 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 20:00:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=80697 Change 80697 by sam@sam_ebb on 2005/07/21 20:00:07 correct handling for assoc req w/ wpa/rsn ie when wpa is not enabled; was previously ignoring the ie (wpa) or assert failing (rsn), now we reject the assoc request Obtained from: Atheros Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#54 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#54 (text+ko) ==== @@ -1507,8 +1507,12 @@ * version, mcast cipher, and 2 selector counts. * Other, variable-length data, must be checked separately. */ - KASSERT(ic->ic_flags & IEEE80211_F_WPA1, - ("not WPA, flags 0x%x", ic->ic_flags)); + if ((ic->ic_flags & IEEE80211_F_WPA1) == 0) { + IEEE80211_DISCARD_IE(ic, + IEEE80211_MSG_ELEMID | IEEE80211_MSG_WPA, + wh, "WPA", "not WPA, flags 0x%x", ic->ic_flags); + return IEEE80211_REASON_IE_INVALID; + } if (len < 14) { IEEE80211_DISCARD_IE(ic, IEEE80211_MSG_ELEMID | IEEE80211_MSG_WPA, @@ -1670,8 +1674,12 @@ * version, mcast cipher, and 2 selector counts. * Other, variable-length data, must be checked separately. */ - KASSERT(ic->ic_flags & IEEE80211_F_WPA2, - ("not RSN, flags 0x%x", ic->ic_flags)); + if ((ic->ic_flags & IEEE80211_F_WPA2) == 0) { + IEEE80211_DISCARD_IE(ic, + IEEE80211_MSG_ELEMID | IEEE80211_MSG_WPA, + wh, "WPA", "not RSN, flags 0x%x", ic->ic_flags); + return IEEE80211_REASON_IE_INVALID; + } if (len < 10) { IEEE80211_DISCARD_IE(ic, IEEE80211_MSG_ELEMID | IEEE80211_MSG_WPA, @@ -2367,10 +2375,9 @@ wpa = frm; break; case IEEE80211_ELEMID_VENDOR: - if (iswpaoui(frm)) { - if (ic->ic_flags & IEEE80211_F_WPA1) - wpa = frm; - } else if (iswmeinfo(frm)) + if (iswpaoui(frm)) + wpa = frm; + else if (iswmeinfo(frm)) wme = frm; else if (isatherosoui(frm)) ath = frm; From owner-p4-projects@FreeBSD.ORG Thu Jul 21 20:07:49 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 607BA16A46A; Thu, 21 Jul 2005 20:07:48 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 70A8016A42B for ; Thu, 21 Jul 2005 20:07:47 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AE5E843D4C for ; Thu, 21 Jul 2005 20:07:46 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LK7ki6013996 for ; Thu, 21 Jul 2005 20:07:46 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LK7k6D013993 for perforce@freebsd.org; Thu, 21 Jul 2005 20:07:46 GMT (envelope-from sam@freebsd.org) Date: Thu, 21 Jul 2005 20:07:46 GMT Message-Id: <200507212007.j6LK7k6D013993@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 Cc: Subject: PERFORCE change 80698 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 20:07:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=80698 Change 80698 by sam@sam_ebb on 2005/07/21 20:06:53 checkpoint old mods Affected files ... .. //depot/projects/vap/sys/conf/files#4 edit .. //depot/projects/vap/sys/dev/ath/if_ath.c#17 edit .. //depot/projects/vap/sys/dev/ath/if_athvar.h#8 edit .. //depot/projects/vap/sys/dev/iwi/if_iwi.c#5 edit .. //depot/projects/vap/sys/dev/wi/if_wi.c#6 edit Differences ... ==== //depot/projects/vap/sys/conf/files#4 (text+ko) ==== @@ -1384,6 +1384,7 @@ net80211/ieee80211_ioctl.c optional wlan net80211/ieee80211_node.c optional wlan net80211/ieee80211_output.c optional wlan +net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan net80211/ieee80211_regdomain.c optional wlan net80211/ieee80211_scan.c optional wlan ==== //depot/projects/vap/sys/dev/ath/if_ath.c#17 (text+ko) ==== @@ -516,6 +516,7 @@ | IEEE80211_C_WPA /* capable of WPA1+WPA2 */ | IEEE80211_C_BGSCAN /* capable of bg scanning */ | IEEE80211_C_WDS /* 4-address frames supported */ + | IEEE80211_C_PMGT /* power management supported */ ; /* * Query the hal to figure out h/w crypto support. @@ -1284,7 +1285,7 @@ * (and system). This varies by chip and is mostly an * issue with newer parts that go to sleep more quickly. */ - ath_hal_setpower(sc->sc_ah, HAL_PM_FULL_SLEEP, 0); + ath_hal_setpower(sc->sc_ah, HAL_PM_FULL_SLEEP); } ATH_UNLOCK(sc); } @@ -4193,9 +4194,9 @@ * Calculate Atheros packet type from IEEE80211 packet header, * setup for rate calculations, and select h/w transmit queue. */ + subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; switch (wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) { case IEEE80211_FC0_TYPE_MGT: - subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; if (subtype == IEEE80211_FC0_SUBTYPE_BEACON) atype = HAL_PKT_TYPE_BEACON; else if (subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP) @@ -4204,6 +4205,7 @@ atype = HAL_PKT_TYPE_ATIM; else atype = HAL_PKT_TYPE_NORMAL; /* XXX */ + mgtframe: rix = sc->sc_minrateix; txrate = rt->info[rix].rateCode; if (shortPreamble) @@ -4221,6 +4223,8 @@ break; case IEEE80211_FC0_TYPE_DATA: atype = HAL_PKT_TYPE_NORMAL; /* default */ + if (subtype == IEEE80211_FC0_SUBTYPE_NODATA) + goto mgtframe; /* * Data frames; consult the rate control module. */ @@ -4600,6 +4604,8 @@ bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap, BUS_DMASYNC_POSTWRITE); bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); + if (bf->bf_m->m_flags & M_PWR_DOWN) + sc->sc_pwrdownrdy = 1; m_freem(bf->bf_m); bf->bf_m = NULL; bf->bf_node = NULL; @@ -4624,6 +4630,23 @@ return (txqs & (1<if_flags &= ~IFF_OACTIVE; + ath_start(ifp); + + if (sc->sc_softled) + ath_led_event(sc, ATH_LED_TX); + + if (sc->sc_dopwrsav && sc->sc_pwrdownrdy) { +if_printf(ifp, "%s: power down\n", __func__);/*XXX*/ + ath_hal_setpower(sc->sc_ah, HAL_PM_NETWORK_SLEEP); + sc->sc_pwrdownrdy = 0; + sc->sc_dopwrsav = 0; + } +} + /* * Deferred processing of transmit interrupt; special-cased * for a single hardware transmit queue (e.g. 5210 and 5211). @@ -4641,11 +4664,7 @@ if (txqactive(sc->sc_ah, sc->sc_cabq->axq_qnum)) ath_tx_processq(sc, sc->sc_cabq); - ifp->if_flags &= ~IFF_OACTIVE; - ath_start(ifp); - - if (sc->sc_softled) - ath_led_event(sc, ATH_LED_TX); + tx_proc_finish(sc, ifp); } /* @@ -4674,11 +4693,7 @@ if (txqactive(sc->sc_ah, sc->sc_cabq->axq_qnum)) ath_tx_processq(sc, sc->sc_cabq); - ifp->if_flags &= ~IFF_OACTIVE; - ath_start(ifp); - - if (sc->sc_softled) - ath_led_event(sc, ATH_LED_TX); + tx_proc_finish(sc, ifp); } /* @@ -4700,11 +4715,7 @@ if (ATH_TXQ_SETUP(sc, i) && txqactive(sc->sc_ah, i)) ath_tx_processq(sc, &sc->sc_txq[i]); - ifp->if_flags &= ~IFF_OACTIVE; - ath_start(ifp); - - if (sc->sc_softled) - ath_led_event(sc, ATH_LED_TX); + tx_proc_finish(sc, ifp); } static void @@ -5074,6 +5085,20 @@ ieee80211_state_name[nstate]); callout_stop(&sc->sc_cal_ch); + if (vap->iv_state == IEEE80211_S_SLEEP) { + /* + * We were asleep, wake the chip up before + * touching any hardware. + */ + sc->sc_dopwrsav = 0; + ath_hal_setpower(ah, HAL_PM_AWAKE); + /* + * SLEEP -> RUN just involves waking the hardware and + * restarting the calibration timer, so we're done... + */ + if (nstate == IEEE80211_S_RUN) + goto done; + } ath_hal_setledstate(ah, leds[nstate]); /* set LED */ if (nstate == IEEE80211_S_INIT) { @@ -5089,6 +5114,10 @@ ath_rate_newstate(vap, nstate); goto done; } + if (nstate == IEEE80211_S_SLEEP) { + sc->sc_dopwrsav = 1; /* defer to after null data frame */ + goto done; + } ni = vap->iv_bss; rfilt = ath_calcrxfilter(sc); ==== //depot/projects/vap/sys/dev/ath/if_athvar.h#8 (text+ko) ==== @@ -252,7 +252,9 @@ sc_hasbmask: 1, /* bssid mask support */ sc_hastsfadd:1, /* tsf adjust support */ sc_scanning: 1, /* scanning active */ - sc_syncbeacon:1;/* sync/resync beacon timers */ + sc_syncbeacon:1,/* sync/resync beacon timers */ + sc_dopwrsav: 1, /* pwr save switch pending */ + sc_pwrdownrdy:1;/* ready to power down */ /* rate tables */ const HAL_RATE_TABLE *sc_rates[IEEE80211_MODE_MAX]; const HAL_RATE_TABLE *sc_currates; /* current rate table */ @@ -411,8 +413,8 @@ ((*(_ah)->ah_getPendingInterrupts)((_ah), (_pmask))) #define ath_hal_updatetxtriglevel(_ah, _inc) \ ((*(_ah)->ah_updateTxTrigLevel)((_ah), (_inc))) -#define ath_hal_setpower(_ah, _mode, _sleepduration) \ - ((*(_ah)->ah_setPowerMode)((_ah), (_mode), AH_TRUE, (_sleepduration))) +#define ath_hal_setpower(_ah, _mode) \ + ((*(_ah)->ah_setPowerMode)((_ah), (_mode), AH_TRUE)) #define ath_hal_keycachesize(_ah) \ ((*(_ah)->ah_getKeyCacheSize)((_ah))) #define ath_hal_keyreset(_ah, _ix) \ ==== //depot/projects/vap/sys/dev/iwi/if_iwi.c#5 (text+ko) ==== @@ -112,7 +112,8 @@ { 12, { 2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108 } }; static struct ieee80211vap *iwi_vap_create(struct ieee80211com *, - const char name[IFNAMSIZ], int unit, int opmode); + const char name[IFNAMSIZ], int unit, int opmode, + int flags); static void iwi_vap_delete(struct ieee80211vap *); static int iwi_dma_alloc(struct iwi_softc *); static void iwi_release(struct iwi_softc *); @@ -322,7 +323,7 @@ } /* IBSS channel undefined for now */ - ic->ic_ibss_chan = &ic->ic_channels[0]; + ic->ic_bsschan = &ic->ic_channels[0]; ieee80211_ifattach(ic); ic->ic_vap_create = iwi_vap_create; @@ -407,7 +408,7 @@ static struct ieee80211vap * iwi_vap_create(struct ieee80211com *ic, - const char name[IFNAMSIZ], int unit, int opmode) + const char name[IFNAMSIZ], int unit, int opmode, int flags) { struct ieee80211vap *vap; ==== //depot/projects/vap/sys/dev/wi/if_wi.c#6 (text+ko) ==== @@ -2770,6 +2770,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + case IEEE80211_S_SLEEP: /* XXX? */ vap->iv_state = nstate; /* NB: skip normal ieee80211 handling */ break; From owner-p4-projects@FreeBSD.ORG Thu Jul 21 20:11:18 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98E3F16A423; Thu, 21 Jul 2005 20:11:17 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 682B216A41F for ; Thu, 21 Jul 2005 20:11:17 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C3EA743D48 for ; Thu, 21 Jul 2005 20:10:37 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LK9oVM014052 for ; Thu, 21 Jul 2005 20:09:50 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LK9ntO014049 for perforce@freebsd.org; Thu, 21 Jul 2005 20:09:49 GMT (envelope-from sam@freebsd.org) Date: Thu, 21 Jul 2005 20:09:49 GMT Message-Id: <200507212009.j6LK9ntO014049@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 Cc: Subject: PERFORCE change 80699 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 20:11:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=80699 Change 80699 by sam@sam_ebb on 2005/07/21 20:09:36 IFC @ 80698 Affected files ... .. //depot/projects/wifi/contrib/gcc/config/i386/i386.h#3 integrate .. //depot/projects/wifi/etc/defaults/rc.conf#16 integrate .. //depot/projects/wifi/lib/libc/locale/nextwctype.3#3 integrate .. //depot/projects/wifi/lib/libc/locale/rpmatch.3#3 integrate .. //depot/projects/wifi/lib/libc/locale/wctype.3#2 integrate .. //depot/projects/wifi/lib/libmemstat/libmemstat.3#3 integrate .. //depot/projects/wifi/lib/libmemstat/memstat.c#2 integrate .. //depot/projects/wifi/lib/libmemstat/memstat.h#3 integrate .. //depot/projects/wifi/lib/libmemstat/memstat_internal.h#3 integrate .. //depot/projects/wifi/lib/libmemstat/memstat_uma.c#3 integrate .. //depot/projects/wifi/lib/libpmc/pmc.3#5 integrate .. //depot/projects/wifi/lib/libpmc/pmclog.3#2 integrate .. //depot/projects/wifi/lib/liby/Makefile#4 integrate .. //depot/projects/wifi/sbin/dhclient/dhclient.8#3 integrate .. //depot/projects/wifi/sbin/restore/interactive.c#3 integrate .. //depot/projects/wifi/share/man/man4/an.4#3 integrate .. //depot/projects/wifi/share/man/man4/ath.4#11 integrate .. //depot/projects/wifi/share/man/man4/aue.4#4 integrate .. //depot/projects/wifi/share/man/man4/awi.4#5 integrate .. //depot/projects/wifi/share/man/man4/axe.4#4 integrate .. //depot/projects/wifi/share/man/man4/bfe.4#3 integrate .. //depot/projects/wifi/share/man/man4/bge.4#5 integrate .. //depot/projects/wifi/share/man/man4/cdce.4#5 integrate .. //depot/projects/wifi/share/man/man4/cm.4#4 integrate .. //depot/projects/wifi/share/man/man4/cue.4#3 integrate .. //depot/projects/wifi/share/man/man4/dc.4#6 integrate .. //depot/projects/wifi/share/man/man4/de.4#4 integrate .. //depot/projects/wifi/share/man/man4/ed.4#8 integrate .. //depot/projects/wifi/share/man/man4/em.4#9 integrate .. //depot/projects/wifi/share/man/man4/en.4#3 integrate .. //depot/projects/wifi/share/man/man4/fwe.4#5 integrate .. //depot/projects/wifi/share/man/man4/fwip.4#5 integrate .. //depot/projects/wifi/share/man/man4/fxp.4#5 integrate .. //depot/projects/wifi/share/man/man4/hme.4#3 integrate .. //depot/projects/wifi/share/man/man4/hwpmc.4#5 integrate .. //depot/projects/wifi/share/man/man4/ipw.4#4 integrate .. //depot/projects/wifi/share/man/man4/iwi.4#6 integrate .. //depot/projects/wifi/share/man/man4/kue.4#3 integrate .. //depot/projects/wifi/share/man/man4/led.4#5 integrate .. //depot/projects/wifi/share/man/man4/lge.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/arl.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/cp.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/cs.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/cx.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/el.4#5 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ep.4#8 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ex.4#4 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/fe.4#5 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ie.4#3 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/lnc.4#5 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/ray.4#6 integrate .. //depot/projects/wifi/share/man/man4/man4.i386/vx.4#4 integrate .. //depot/projects/wifi/share/man/man4/my.4#3 integrate .. //depot/projects/wifi/share/man/man4/nge.4#4 integrate .. //depot/projects/wifi/share/man/man4/nve.4#4 integrate .. //depot/projects/wifi/share/man/man4/pcn.4#4 integrate .. //depot/projects/wifi/share/man/man4/ral.4#4 integrate .. //depot/projects/wifi/share/man/man4/re.4#5 integrate .. //depot/projects/wifi/share/man/man4/rl.4#6 integrate .. //depot/projects/wifi/share/man/man4/rue.4#3 integrate .. //depot/projects/wifi/share/man/man4/sf.4#4 integrate .. //depot/projects/wifi/share/man/man4/sis.4#4 integrate .. //depot/projects/wifi/share/man/man4/sk.4#6 integrate .. //depot/projects/wifi/share/man/man4/sn.4#5 integrate .. //depot/projects/wifi/share/man/man4/ste.4#6 integrate .. //depot/projects/wifi/share/man/man4/ti.4#4 integrate .. //depot/projects/wifi/share/man/man4/tl.4#3 integrate .. //depot/projects/wifi/share/man/man4/tx.4#4 integrate .. //depot/projects/wifi/share/man/man4/txp.4#5 integrate .. //depot/projects/wifi/share/man/man4/udav.4#4 integrate .. //depot/projects/wifi/share/man/man4/ural.4#4 integrate .. //depot/projects/wifi/share/man/man4/vge.4#5 integrate .. //depot/projects/wifi/share/man/man4/vlan.4#7 integrate .. //depot/projects/wifi/share/man/man4/vr.4#5 integrate .. //depot/projects/wifi/share/man/man4/wb.4#4 integrate .. //depot/projects/wifi/share/man/man4/wi.4#6 integrate .. //depot/projects/wifi/share/man/man4/xe.4#5 integrate .. //depot/projects/wifi/share/man/man4/xl.4#8 integrate .. //depot/projects/wifi/share/man/man7/ports.7#7 integrate .. //depot/projects/wifi/share/man/man9/bios.9#2 integrate .. //depot/projects/wifi/sys/amd64/amd64/bios.c#2 integrate .. //depot/projects/wifi/sys/amd64/conf/NOTES#12 integrate .. //depot/projects/wifi/sys/amd64/include/pc/bios.h#2 integrate .. //depot/projects/wifi/sys/conf/files#29 integrate .. //depot/projects/wifi/sys/conf/files.amd64#15 integrate .. //depot/projects/wifi/sys/contrib/pf/net/pf.c#11 integrate .. //depot/projects/wifi/sys/contrib/pf/net/pf_norm.c#3 integrate .. //depot/projects/wifi/sys/contrib/pf/net/pfvar.h#3 integrate .. //depot/projects/wifi/sys/dev/drm/ati_pcigart.c#2 integrate .. //depot/projects/wifi/sys/dev/drm/drmP.h#4 integrate .. //depot/projects/wifi/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/wifi/sys/dev/drm/drm_pciids.h#3 integrate .. //depot/projects/wifi/sys/dev/drm/r128_cce.c#4 integrate .. //depot/projects/wifi/sys/dev/drm/r300_cmdbuf.c#1 branch .. //depot/projects/wifi/sys/dev/drm/r300_reg.h#1 branch .. //depot/projects/wifi/sys/dev/drm/radeon_cp.c#5 integrate .. //depot/projects/wifi/sys/dev/drm/radeon_drm.h#4 integrate .. //depot/projects/wifi/sys/dev/drm/radeon_drv.h#4 integrate .. //depot/projects/wifi/sys/dev/drm/radeon_state.c#5 integrate .. //depot/projects/wifi/sys/dev/ep/if_ep.c#6 integrate .. //depot/projects/wifi/sys/dev/ep/if_epvar.h#5 integrate .. //depot/projects/wifi/sys/dev/vkbd/vkbd.c#7 integrate .. //depot/projects/wifi/sys/fs/devfs/devfs_vnops.c#23 integrate .. //depot/projects/wifi/sys/geom/bde/g_bde_crypt.c#4 integrate .. //depot/projects/wifi/sys/i386/bios/smbios.c#2 integrate .. //depot/projects/wifi/sys/i386/conf/NOTES#18 integrate .. //depot/projects/wifi/sys/i386/i386/bios.c#4 integrate .. //depot/projects/wifi/sys/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/wifi/sys/i386/i386/geode.c#2 integrate .. //depot/projects/wifi/sys/i386/include/pc/bios.h#2 integrate .. //depot/projects/wifi/sys/kern/vfs_aio.c#10 integrate .. //depot/projects/wifi/sys/kern/vfs_bio.c#13 integrate .. //depot/projects/wifi/sys/kern/vfs_subr.c#28 integrate .. //depot/projects/wifi/sys/modules/de/Makefile#2 integrate .. //depot/projects/wifi/sys/modules/drm/radeon/Makefile#2 integrate .. //depot/projects/wifi/sys/net/if_bridge.c#3 integrate .. //depot/projects/wifi/sys/net/if_ethersubr.c#9 integrate .. //depot/projects/wifi/sys/netgraph/netgraph.h#9 integrate .. //depot/projects/wifi/sys/netgraph/ng_base.c#14 integrate .. //depot/projects/wifi/sys/netinet/icmp6.h#3 integrate .. //depot/projects/wifi/sys/netinet/ip6.h#3 integrate .. //depot/projects/wifi/sys/netinet6/in6.h#3 integrate .. //depot/projects/wifi/sys/netinet6/ip6_input.c#4 integrate .. //depot/projects/wifi/sys/netinet6/ip6_mroute.h#3 integrate .. //depot/projects/wifi/sys/netinet6/ip6_output.c#7 integrate .. //depot/projects/wifi/sys/netinet6/ip6_var.h#4 integrate .. //depot/projects/wifi/sys/netinet6/mld6.c#4 integrate .. //depot/projects/wifi/sys/netinet6/nd6.c#4 integrate .. //depot/projects/wifi/sys/netinet6/raw_ip6.c#6 integrate .. //depot/projects/wifi/sys/netinet6/udp6_output.c#3 integrate .. //depot/projects/wifi/sys/pc98/conf/NOTES#13 integrate .. //depot/projects/wifi/sys/pci/if_de.c#5 integrate .. //depot/projects/wifi/sys/pci/if_devar.h#3 integrate .. //depot/projects/wifi/sys/security/mac_stub/mac_stub.c#7 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_vfsops.c#22 integrate .. //depot/projects/wifi/sys/vm/swap_pager.c#9 integrate .. //depot/projects/wifi/sys/vm/uma_core.c#12 integrate .. //depot/projects/wifi/sys/vm/vm_map.c#7 integrate .. //depot/projects/wifi/tools/tools/ministat/Makefile#4 integrate .. //depot/projects/wifi/tools/tools/ministat/ministat.c#4 integrate .. //depot/projects/wifi/tools/tools/tinderbox/etc/Makefile#2 integrate .. //depot/projects/wifi/tools/tools/tinderbox/etc/current.rc#2 delete .. //depot/projects/wifi/tools/tools/tinderbox/etc/head.rc#1 branch .. //depot/projects/wifi/tools/tools/tinderbox/etc/releng_4.rc#3 integrate .. //depot/projects/wifi/tools/tools/tinderbox/etc/releng_5.rc#3 integrate .. //depot/projects/wifi/tools/tools/tinderbox/etc/releng_6.rc#1 branch .. //depot/projects/wifi/tools/tools/tinderbox/etc/stable.rc#2 delete .. //depot/projects/wifi/tools/tools/tinderbox/etc/update_current.rc#2 delete .. //depot/projects/wifi/tools/tools/tinderbox/etc/update_head.rc#1 branch .. //depot/projects/wifi/tools/tools/tinderbox/etc/update_releng_4.rc#3 integrate .. //depot/projects/wifi/tools/tools/tinderbox/etc/update_releng_5.rc#3 integrate .. //depot/projects/wifi/tools/tools/tinderbox/etc/update_releng_6.rc#1 branch .. //depot/projects/wifi/tools/tools/tinderbox/etc/update_stable.rc#2 delete .. //depot/projects/wifi/tools/tools/tinderbox/tbmaster.1#4 integrate .. //depot/projects/wifi/tools/tools/tinderbox/tbmaster.pl#3 integrate .. //depot/projects/wifi/tools/tools/tinderbox/tinderbox.1#2 integrate .. //depot/projects/wifi/tools/tools/tinderbox/tinderbox.pl#3 integrate .. //depot/projects/wifi/usr.sbin/Makefile#13 integrate .. //depot/projects/wifi/usr.sbin/jail/jail.8#9 integrate .. //depot/projects/wifi/usr.sbin/mergemaster/mergemaster.8#4 integrate .. //depot/projects/wifi/usr.sbin/pcvt/vttest/Makefile#2 delete .. //depot/projects/wifi/usr.sbin/pcvt/vttest/README#2 delete .. //depot/projects/wifi/usr.sbin/pcvt/vttest/esc.c#2 delete .. //depot/projects/wifi/usr.sbin/pcvt/vttest/header.h#2 delete .. //depot/projects/wifi/usr.sbin/pcvt/vttest/main.c#2 delete .. //depot/projects/wifi/usr.sbin/pcvt/vttest/vttest.1#2 delete .. //depot/projects/wifi/usr.sbin/snapinfo/Makefile#1 branch .. //depot/projects/wifi/usr.sbin/snapinfo/snapinfo.8#1 branch .. //depot/projects/wifi/usr.sbin/snapinfo/snapinfo.c#1 branch .. //depot/projects/wifi/usr.sbin/sysinstall/config.c#7 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/devices.c#5 integrate .. //depot/projects/wifi/usr.sbin/ugidfw/ugidfw.c#3 integrate Differences ... ==== //depot/projects/wifi/contrib/gcc/config/i386/i386.h#3 (text+ko) ==== @@ -614,8 +614,8 @@ else if (TARGET_ATHLON) \ { \ builtin_define ("__tune_athlon__"); \ - /* Only plain "athlon" lacks SSE. */ \ - if (last_tune_char != 'n') \ + /* Plain "athlon" & "athlon-tbird" lacks SSE. */ \ + if (last_tune_char != 'n' && last_tune_char != 'd') \ builtin_define ("__tune_athlon_sse__"); \ } \ else if (TARGET_K8) \ @@ -679,8 +679,8 @@ { \ builtin_define ("__athlon"); \ builtin_define ("__athlon__"); \ - /* Only plain "athlon" lacks SSE. */ \ - if (last_arch_char != 'n') \ + /* Plain "athlon" & "athlon-tbird" lacks SSE. */ \ + if (last_tune_char != 'n' && last_tune_char != 'd') \ builtin_define ("__athlon_sse__"); \ } \ else if (ix86_arch == PROCESSOR_K8) \ ==== //depot/projects/wifi/etc/defaults/rc.conf#16 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.252 2005/06/26 16:30:20 pjd Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.253 2005/07/21 15:17:54 pav Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -462,6 +462,9 @@ # a.out shared library search paths kern_securelevel_enable="NO" # kernel security level (see init(8)), kern_securelevel="-1" # range: -1..3 ; `-1' is the most insecure + # Note that setting securelevel to 0 will result + # in the system booting with securelevel set to 1, as + # init(8) will raise the level when rc(8) completes. update_motd="YES" # update version info in /etc/motd (or NO) unaligned_print="YES" # print unaligned access warnings on the alpha (or NO). entropy_file="/entropy" # Set to NO to disable caching entropy through reboots. ==== //depot/projects/wifi/lib/libc/locale/nextwctype.3#3 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/nextwctype.3,v 1.2 2005/01/15 11:22:13 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/nextwctype.3,v 1.3 2005/07/21 10:27:45 tjr Exp $ .\" -.Dd July 8, 2004 +.Dd July 21, 2005 .Dt NEXTWCTYPE 3 .Os .Sh NAME @@ -51,6 +51,17 @@ .Sh RETURN VALUES The .Fn nextwctype -functions returns the next character, or \-1 if there are no more. +function returns the next character, or \-1 if there are no more. +.Sh COMPATIBILITY +This function is a non-standard +.Fx +extension and should not be used where the standard +.Fn iswctype +function would suffice. .Sh SEE ALSO .Xr wctype 3 +.Sh HISTORY +The +.Fn nextwctype +function appeared in +.Fx 5.4 . ==== //depot/projects/wifi/lib/libc/locale/rpmatch.3#3 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/rpmatch.3,v 1.2 2005/01/15 11:22:13 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/rpmatch.3,v 1.3 2005/07/21 10:53:27 tjr Exp $ .\" -.Dd January 6, 2005 +.Dd July 21, 2005 .Dt RPMATCH 3 .Os .Sh NAME @@ -59,3 +59,8 @@ .Sh SEE ALSO .Xr nl_langinfo 3 , .Xr setlocale 3 +.Sh HISTORY +The +.Fn rpmatch +function appeared in +.Fx 6.0 . ==== //depot/projects/wifi/lib/libc/locale/wctype.3#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/wctype.3,v 1.5 2004/03/27 08:59:21 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/wctype.3,v 1.6 2005/07/21 10:32:17 tjr Exp $ .\" .Dd March 27, 2004 .Dt WCTYPE 3 @@ -94,7 +94,8 @@ } .Ed .Sh SEE ALSO -.Xr ctype 3 +.Xr ctype 3 , +.Xr nextwctype 3 .Sh STANDARDS The .Fn iswctype ==== //depot/projects/wifi/lib/libmemstat/libmemstat.3#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/libmemstat/libmemstat.3,v 1.3 2005/07/15 11:28:21 rwatson Exp $ +.\" $FreeBSD: src/lib/libmemstat/libmemstat.3,v 1.4 2005/07/20 09:17:40 rwatson Exp $ .\" .Dd June 27, 2005 .Os @@ -93,6 +93,8 @@ .Ft uint64_t .Fn memstat_get_zonefree "const struct memory_type *mtp" .Ft uint64_t +.Fn memstat_get_kegfree "const struct memory_type *mtp" +.Ft uint64_t .Fn memstat_get_percpu_memalloced "const struct memory_type *mtp" "int cpu" .Ft uint64_t .Fn memstat_get_percpu_memfreed "const struct memory_type *mtp" "int cpu" ==== //depot/projects/wifi/lib/libmemstat/memstat.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/lib/libmemstat/memstat.c,v 1.1 2005/07/14 17:40:02 rwatson Exp $ + * $FreeBSD: src/lib/libmemstat/memstat.c,v 1.2 2005/07/20 09:17:40 rwatson Exp $ */ #include @@ -143,6 +143,7 @@ mtp->mt_failures = 0; mtp->mt_zonefree = 0; + mtp->mt_kegfree = 0; for (i = 0; i < MEMSTAT_MAXCPU; i++) { mtp->mt_percpu_alloc[i].mtp_memalloced = 0; @@ -292,6 +293,13 @@ } uint64_t +memstat_get_kegfree(const struct memory_type *mtp) +{ + + return (mtp->mt_kegfree); +} + +uint64_t memstat_get_percpu_memalloced(const struct memory_type *mtp, int cpu) { ==== //depot/projects/wifi/lib/libmemstat/memstat.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libmemstat/memstat.h,v 1.4 2005/07/18 14:14:17 rwatson Exp $ + * $FreeBSD: src/lib/libmemstat/memstat.h,v 1.5 2005/07/20 09:17:40 rwatson Exp $ */ #ifndef _MEMSTAT_H_ @@ -119,6 +119,7 @@ void memstat_set_caller_uint64(struct memory_type *mtp, int index, uint64_t value); uint64_t memstat_get_zonefree(const struct memory_type *mtp); +uint64_t memstat_get_kegfree(const struct memory_type *mtp); uint64_t memstat_get_percpu_memalloced(const struct memory_type *mtp, int cpu); uint64_t memstat_get_percpu_memfreed(const struct memory_type *mtp, ==== //depot/projects/wifi/lib/libmemstat/memstat_internal.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libmemstat/memstat_internal.h,v 1.2 2005/07/15 11:19:55 rwatson Exp $ + * $FreeBSD: src/lib/libmemstat/memstat_internal.h,v 1.3 2005/07/20 09:17:40 rwatson Exp $ */ #ifndef _MEMSTAT_INTERNAL_H_ @@ -85,6 +85,7 @@ * global stats above. */ uint64_t mt_zonefree; /* Free items in zone. */ + uint64_t mt_kegfree; /* Free items in keg. */ /* * Per-CPU measurements fall into two categories: per-CPU allocation, ==== //depot/projects/wifi/lib/libmemstat/memstat_uma.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libmemstat/memstat_uma.c,v 1.4 2005/07/15 23:39:21 rwatson Exp $ + * $FreeBSD: src/lib/libmemstat/memstat_uma.c,v 1.5 2005/07/20 09:17:40 rwatson Exp $ */ #include @@ -222,7 +222,8 @@ mtp->mt_byteslimit = uthp->uth_limit * uthp->uth_size; mtp->mt_count = mtp->mt_numallocs - mtp->mt_numfrees; - mtp->mt_zonefree = uthp->uth_zone_free + uthp->uth_keg_free; + mtp->mt_zonefree = uthp->uth_zone_free; + mtp->mt_kegfree = uthp->uth_keg_free; mtp->mt_free += mtp->mt_zonefree; } ==== //depot/projects/wifi/lib/libpmc/pmc.3#5 (text+ko) ==== @@ -21,7 +21,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $FreeBSD: src/lib/libpmc/pmc.3,v 1.6 2005/07/14 20:29:05 brueffer Exp $ +.\" $FreeBSD: src/lib/libpmc/pmc.3,v 1.7 2005/07/21 06:44:54 jkoshy Exp $ .\" .Dd June 24, 2005 .Os @@ -3263,6 +3263,23 @@ is returned and the global variable .Va errno is set to indicate the error. +.Sh COMPATIBILITY +The interface between the +.Xr pmc 3 +library and the +.Xr hwpmc 4 +driver is intended to be private to the implementation and may +change. +In order to ease forward compatibility with future versions of the +.Xr hwpmc 4 +driver, applications are urged to dynamically link with the +.Xr pmc 3 +library. +.Pp +The +.Xr pmc 3 +API is +.Ud .Sh ERRORS A call to .Fn pmc_init @@ -3384,6 +3401,11 @@ .Xr hwpmc 4 , .Xr pmccontrol 8 , .Xr pmcstat 8 +.Sh HISTORY +The +.Xr pmc 3 +library first appeared in +.Fx 6.0 . .Sh BUGS The information returned by .Fn pmc_cpuinfo , ==== //depot/projects/wifi/lib/libpmc/pmclog.3#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $FreeBSD: src/lib/libpmc/pmclog.3,v 1.2 2005/06/24 16:13:36 ru Exp $ +.\" $FreeBSD: src/lib/libpmc/pmclog.3,v 1.3 2005/07/21 06:42:30 jkoshy Exp $ .\" .Dd June 1, 2005 .Os @@ -139,29 +139,43 @@ .Fa *ev and is one of the following: .Bl -tag -width ".Dv PMCLOG_TYPE_PMCALLOCATE" +.It Dv PMCLOG_TYPE_CLOSELOG +A marker indicating a successful close of a log file. +This record will be the last record of a log file. .It Dv PMCLOG_TYPE_DROPNOTIFY -a marker indicating that +A marker indicating that .Xr hwpmc 4 had to drop data due to a resource constraint. .It Dv PMCLOG_TYPE_INITIALIZE -an initialization record. -This is usually the first record in a log file. +An initialization record. +This is the first record in a log file. +.It Dv PMCLOG_TYPE_MAPPINGCHANGE +A record describing an address space change for a process. .It Dv PMCLOG_TYPE_PCSAMPLE A record containing an instruction pointer sample. .It Dv PMCLOG_TYPE_PMCALLOCATE A record describing a PMC allocation operation. .It Dv PMCLOG_TYPE_PMCATTACH A record describing a PMC attach operation. +.It Dv PMCLOG_TYPE_PMCDETACH +A record describing a PMC detach operation. .It Dv PMCLOG_TYPE_PROCCSW A record describing a PMC reading at the time of a process context switch. +.It Dv PMCLOG_TYPE_PROCEXEC +A record describing an +.Xr execve 2 +by a target process. .It Dv PMCLOG_TYPE_PROCEXIT A record describing the accumulated PMC reading for a process at the time of .Xr _exit 2 . -.It Dv PMCLOG_TYPE_PROCEXEC -A record describing an -.Xr execve 2 +.It Dv PMCLOG_TYPE_PROCFORK +A record describing a +.Xr fork 2 by a target process. +.It Dv PMCLOG_TYPE_SYSEXIT +A record describing a process exit, sent to processes +owning system-wide sampling PMCs. .It Dv PMCLOG_TYPE_USERDATA A record containing user data. .El @@ -279,3 +293,10 @@ .Xr pmc 3 , .Xr hwpmc 4 , .Xr pmcstat 8 +.Sh HISTORY +The +.Xr pmclog 3 +API +.Ud +It first appeared in +.Fx 6.0 . ==== //depot/projects/wifi/lib/liby/Makefile#4 (text+ko) ==== @@ -1,10 +1,7 @@ -# $FreeBSD: src/lib/liby/Makefile,v 1.12 2004/12/21 09:33:47 ru Exp $ +# $FreeBSD: src/lib/liby/Makefile,v 1.13 2005/07/20 14:35:26 ru Exp $ LIB= y -SHLIB_MAJOR= 2 - SRCS= main.c yyerror.c - NO_PIC= .include ==== //depot/projects/wifi/sbin/dhclient/dhclient.8#3 (text+ko) ==== @@ -36,9 +36,9 @@ .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" -.\" $FreeBSD: src/sbin/dhclient/dhclient.8,v 1.2 2005/06/22 14:55:59 ru Exp $ +.\" $FreeBSD: src/sbin/dhclient/dhclient.8,v 1.4 2005/07/20 23:12:54 marks Exp $ .\" -.Dd April 7, 2004 +.Dd July 22, 2005 .Dt DHCLIENT 8 .Os .Sh NAME @@ -63,6 +63,10 @@ .Pp The options are as follows: .Bl -tag -width ".Fl c Ar file" +.It Fl b +Forces +.Nm +to immediately move to the background. .It Fl c Ar file Specify an alternate location, .Ar file , ==== //depot/projects/wifi/sbin/restore/interactive.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/sbin/restore/interactive.c,v 1.17 2005/05/29 15:57:00 charnier Exp $"); +__FBSDID("$FreeBSD: src/sbin/restore/interactive.c,v 1.18 2005/07/21 16:12:35 dds Exp $"); #include #include @@ -365,8 +365,14 @@ snprintf(output, sizeof(output), "%s/%s", curdir, rawname); canon(output, name, size); } - if (glob(name, GLOB_ALTDIRFUNC, NULL, &ap->glob) < 0) + switch (glob(name, GLOB_ALTDIRFUNC, NULL, &ap->glob)) { + case GLOB_NOSPACE: fprintf(stderr, "%s: out of memory\n", ap->cmd); + break; + case GLOB_NOMATCH: + fprintf(stderr, "%s %s: no such file or directory\n", ap->cmd, name); + break; + } if (ap->glob.gl_pathc == 0) return; ap->freeglob = 1; ==== //depot/projects/wifi/share/man/man4/an.4#3 (text+ko) ==== @@ -28,7 +28,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/an.4,v 1.22 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/an.4,v 1.23 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt AN 4 @@ -39,7 +39,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device an" .Cd "device wlan" ==== //depot/projects/wifi/share/man/man4/ath.4#11 (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 DAMAGES. .\" -.\" $FreeBSD: src/share/man/man4/ath.4,v 1.32 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/ath.4,v 1.33 2005/07/21 05:02:38 trhodes Exp $ .\"/ .Dd July 16, 2005 .Dt ATH 4 @@ -40,7 +40,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device ath" .Cd "device ath_hal" ==== //depot/projects/wifi/share/man/man4/aue.4#4 (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/aue.4,v 1.22 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/aue.4,v 1.23 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt AUE 4 @@ -39,7 +39,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device uhci" .Cd "device ohci" ==== //depot/projects/wifi/share/man/man4/awi.4#5 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $NetBSD: awi.4,v 1.6 2000/03/22 11:24:33 onoe Exp $ -.\" $FreeBSD: src/share/man/man4/awi.4,v 1.20 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/awi.4,v 1.21 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt AWI 4 @@ -10,7 +10,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device awi" .Cd "device wlan" ==== //depot/projects/wifi/share/man/man4/axe.4#4 (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/axe.4,v 1.10 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/axe.4,v 1.11 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt AXE 4 @@ -39,7 +39,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device ehci" .Cd "device uhci" ==== //depot/projects/wifi/share/man/man4/bfe.4#3 (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/bfe.4,v 1.4 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/bfe.4,v 1.5 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt BFE 4 @@ -34,7 +34,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device miibus" .Cd "device bfe" ==== //depot/projects/wifi/share/man/man4/bge.4#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/share/man/man4/bge.4,v 1.19 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/bge.4,v 1.20 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt BGE 4 @@ -40,8 +40,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device miibus" .Cd "device bge" ==== //depot/projects/wifi/share/man/man4/cdce.4#5 (text+ko) ==== @@ -26,7 +26,7 @@ .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" $NetBSD: cdce.4,v 1.4 2004/12/08 18:35:56 peter Exp $ -.\" $FreeBSD: src/share/man/man4/cdce.4,v 1.4 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/cdce.4,v 1.5 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt CDCE 4 @@ -37,8 +37,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device uhci" .Cd "device ohci" ==== //depot/projects/wifi/share/man/man4/cm.4#4 (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/cm.4,v 1.7 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/cm.4,v 1.8 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16,2005 .Dt CM 4 @@ -34,8 +34,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in +your kernel configuration file: .Bd -ragged -offset indent .Cd "device isa" .Cd "device cm" ==== //depot/projects/wifi/share/man/man4/cue.4#3 (text+ko) ==== @@ -28,7 +28,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/cue.4,v 1.20 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/cue.4,v 1.21 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt CUE 4 @@ -39,8 +39,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device uhci" .Cd "device ohci" ==== //depot/projects/wifi/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.36 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/dc.4,v 1.37 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt DC 4 @@ -39,8 +39,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device miibus" .Cd "device dc" ==== //depot/projects/wifi/share/man/man4/de.4#4 (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/de.4,v 1.20 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/de.4,v 1.21 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt DE 4 @@ -34,8 +34,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following line in your kernel configuration -file: +driver into your kernel, place the following line in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device de" .Ed ==== //depot/projects/wifi/share/man/man4/ed.4#8 (text+ko) ==== @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ed.4,v 1.47 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/ed.4,v 1.48 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt ED 4 @@ -39,8 +39,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device miibus" .Cd "device ed" ==== //depot/projects/wifi/share/man/man4/em.4#9 (text+ko) ==== @@ -29,7 +29,7 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.\" $FreeBSD: src/share/man/man4/em.4,v 1.21 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/em.4,v 1.22 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt EM 4 @@ -40,8 +40,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following line in your kernel configuration -file: +driver into your kernel, place the following line in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device em" .Ed ==== //depot/projects/wifi/share/man/man4/en.4#3 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/share/man/man4/en.4,v 1.20 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/en.4,v 1.21 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt EN 4 @@ -9,8 +9,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device en" .Cd "device atm" ==== //depot/projects/wifi/share/man/man4/fwe.4#5 (text+ko) ==== @@ -22,7 +22,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/fwe.4,v 1.8 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/fwe.4,v 1.9 2005/07/21 05:02:38 trhodes Exp $ .\" .\" .Dd July 16, 2005 @@ -34,8 +34,8 @@ .Sh SYNOPSIS To compile support for the .Nm -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device firewire" .Cd "device fwe" ==== //depot/projects/wifi/share/man/man4/fwip.4#5 (text+ko) ==== @@ -23,7 +23,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/fwip.4,v 1.6 2005/07/19 00:26:29 trhodes Exp $ +.\" $FreeBSD: src/share/man/man4/fwip.4,v 1.7 2005/07/21 05:02:38 trhodes Exp $ .\" .Dd July 16, 2005 .Dt FWIP 4 @@ -34,8 +34,8 @@ .Sh SYNOPSIS To compile support for the .Xr fwip 4 -driver into your kernel, place the following lines in your kernel configuration -file: +driver into your kernel, place the following lines in your +kernel configuration file: .Bd -ragged -offset indent .Cd "device firewire" .Cd "device fwip" ==== //depot/projects/wifi/share/man/man4/fxp.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. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 21 20:53:11 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 696AF16A422; Thu, 21 Jul 2005 20:53:10 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3B39A16A420 for ; Thu, 21 Jul 2005 20:53:10 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3303743D6A for ; Thu, 21 Jul 2005 20:52:44 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LKqil6022674 for ; Thu, 21 Jul 2005 20:52:44 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LKqhBh022671 for perforce@freebsd.org; Thu, 21 Jul 2005 20:52:43 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 20:52:43 GMT Message-Id: <200507212052.j6LKqhBh022671@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 Cc: Subject: PERFORCE change 80703 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 20:53:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=80703 Change 80703 by peter@peter_daintree on 2005/07/21 20:52:08 IFC @80702 Affected files ... .. //depot/projects/hammer/Makefile#33 integrate .. //depot/projects/hammer/Makefile.inc1#97 integrate .. //depot/projects/hammer/contrib/gcc/config/i386/i386.h#10 integrate .. //depot/projects/hammer/contrib/ncurses/ncurses/tinfo/lib_baudrate.c#2 integrate .. //depot/projects/hammer/etc/Makefile#40 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#56 integrate .. //depot/projects/hammer/gnu/usr.bin/groff/tmac/mdoc.local#23 integrate .. //depot/projects/hammer/gnu/usr.bin/man/apropos/Makefile#2 integrate .. //depot/projects/hammer/lib/libc/locale/isalnum.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/isalpha.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/isblank.3#7 integrate .. //depot/projects/hammer/lib/libc/locale/iscntrl.3#6 integrate .. //depot/projects/hammer/lib/libc/locale/isdigit.3#6 integrate .. //depot/projects/hammer/lib/libc/locale/isgraph.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/islower.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/isprint.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/ispunct.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/isspace.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/isupper.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/isxdigit.3#7 integrate .. //depot/projects/hammer/lib/libc/locale/nextwctype.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/rpmatch.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/tolower.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/toupper.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/wctype.3#5 integrate .. //depot/projects/hammer/lib/libc/net/ip6opt.c#5 integrate .. //depot/projects/hammer/lib/libc/net/rcmd.3#4 integrate .. //depot/projects/hammer/lib/libc/net/rthdr.c#3 integrate .. //depot/projects/hammer/lib/libc/nls/ko_KR.UTF-8.msg#2 integrate .. //depot/projects/hammer/lib/libc/nls/ko_KR.eucKR.msg#2 integrate .. //depot/projects/hammer/lib/libc/sys/intro.2#10 integrate .. //depot/projects/hammer/lib/libc/sys/mmap.2#6 integrate .. //depot/projects/hammer/lib/libdevstat/devstat.3#8 integrate .. //depot/projects/hammer/lib/libmemstat/libmemstat.3#2 integrate .. //depot/projects/hammer/lib/libmemstat/memstat.c#2 integrate .. //depot/projects/hammer/lib/libmemstat/memstat.h#2 integrate .. //depot/projects/hammer/lib/libmemstat/memstat_internal.h#2 integrate .. //depot/projects/hammer/lib/libmemstat/memstat_malloc.c#2 integrate .. //depot/projects/hammer/lib/libmemstat/memstat_uma.c#2 integrate .. //depot/projects/hammer/lib/libpmc/pmc.3#6 integrate .. //depot/projects/hammer/lib/libpmc/pmclog.3#3 integrate .. //depot/projects/hammer/lib/libstand/Makefile#16 integrate .. //depot/projects/hammer/lib/liby/Makefile#6 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#103 integrate .. //depot/projects/hammer/release/doc/share/sgml/release.ent#17 integrate .. //depot/projects/hammer/sbin/dhclient/dhclient.8#3 integrate .. //depot/projects/hammer/sbin/fdisk/Makefile#4 integrate .. //depot/projects/hammer/sbin/fdisk/fdisk.c#17 integrate .. //depot/projects/hammer/sbin/fdisk_pc98/Makefile#5 integrate .. //depot/projects/hammer/sbin/fdisk_pc98/fdisk.c#10 integrate .. //depot/projects/hammer/sbin/restore/interactive.c#8 integrate .. //depot/projects/hammer/share/man/man3/fpgetround.3#5 integrate .. //depot/projects/hammer/share/man/man4/acpi.4#36 integrate .. //depot/projects/hammer/share/man/man4/acpi_thermal.4#3 integrate .. //depot/projects/hammer/share/man/man4/acpi_video.4#4 integrate .. //depot/projects/hammer/share/man/man4/an.4#6 integrate .. //depot/projects/hammer/share/man/man4/ath.4#25 integrate .. //depot/projects/hammer/share/man/man4/aue.4#9 integrate .. //depot/projects/hammer/share/man/man4/awi.4#9 integrate .. //depot/projects/hammer/share/man/man4/axe.4#9 integrate .. //depot/projects/hammer/share/man/man4/bfe.4#4 integrate .. //depot/projects/hammer/share/man/man4/bge.4#15 integrate .. //depot/projects/hammer/share/man/man4/cdce.4#4 integrate .. //depot/projects/hammer/share/man/man4/cm.4#5 integrate .. //depot/projects/hammer/share/man/man4/cpufreq.4#8 integrate .. //depot/projects/hammer/share/man/man4/cue.4#7 integrate .. //depot/projects/hammer/share/man/man4/dc.4#17 integrate .. //depot/projects/hammer/share/man/man4/de.4#8 integrate .. //depot/projects/hammer/share/man/man4/ed.4#10 integrate .. //depot/projects/hammer/share/man/man4/em.4#11 integrate .. //depot/projects/hammer/share/man/man4/en.4#6 integrate .. //depot/projects/hammer/share/man/man4/fwe.4#6 integrate .. //depot/projects/hammer/share/man/man4/fwip.4#4 integrate .. //depot/projects/hammer/share/man/man4/fxp.4#11 integrate .. //depot/projects/hammer/share/man/man4/hme.4#5 integrate .. //depot/projects/hammer/share/man/man4/hwpmc.4#6 integrate .. //depot/projects/hammer/share/man/man4/inet.4#16 integrate .. //depot/projects/hammer/share/man/man4/ipw.4#4 integrate .. //depot/projects/hammer/share/man/man4/iwi.4#5 integrate .. //depot/projects/hammer/share/man/man4/kue.4#8 integrate .. //depot/projects/hammer/share/man/man4/led.4#10 integrate .. //depot/projects/hammer/share/man/man4/lge.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_asus.4#7 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_fujitsu.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_ibm.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_panasonic.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_toshiba.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/arl.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cp.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cs.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cx.4#13 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/el.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ep.4#13 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ex.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/fe.4#10 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ie.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/lnc.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/mse.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/pnp.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/pnpbios.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ray.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/vx.4#6 integrate .. //depot/projects/hammer/share/man/man4/my.4#5 integrate .. //depot/projects/hammer/share/man/man4/natm.4#7 integrate .. //depot/projects/hammer/share/man/man4/ng_ccatm.4#4 integrate .. //depot/projects/hammer/share/man/man4/nge.4#6 integrate .. //depot/projects/hammer/share/man/man4/nve.4#3 integrate .. //depot/projects/hammer/share/man/man4/oldcard.4#6 integrate .. //depot/projects/hammer/share/man/man4/pcn.4#6 integrate .. //depot/projects/hammer/share/man/man4/psm.4#10 integrate .. //depot/projects/hammer/share/man/man4/ral.4#3 integrate .. //depot/projects/hammer/share/man/man4/re.4#13 integrate .. //depot/projects/hammer/share/man/man4/rl.4#14 integrate .. //depot/projects/hammer/share/man/man4/rue.4#9 integrate .. //depot/projects/hammer/share/man/man4/sf.4#5 integrate .. //depot/projects/hammer/share/man/man4/sis.4#8 integrate .. //depot/projects/hammer/share/man/man4/sk.4#10 integrate .. //depot/projects/hammer/share/man/man4/sn.4#5 integrate .. //depot/projects/hammer/share/man/man4/snd_ess.4#4 integrate .. //depot/projects/hammer/share/man/man4/ste.4#10 integrate .. //depot/projects/hammer/share/man/man4/ti.4#10 integrate .. //depot/projects/hammer/share/man/man4/tl.4#6 integrate .. //depot/projects/hammer/share/man/man4/tx.4#5 integrate .. //depot/projects/hammer/share/man/man4/txp.4#7 integrate .. //depot/projects/hammer/share/man/man4/udav.4#4 integrate .. //depot/projects/hammer/share/man/man4/uplcom.4#10 integrate .. //depot/projects/hammer/share/man/man4/ural.4#3 integrate .. //depot/projects/hammer/share/man/man4/vge.4#5 integrate .. //depot/projects/hammer/share/man/man4/vkbd.4#3 integrate .. //depot/projects/hammer/share/man/man4/vlan.4#11 integrate .. //depot/projects/hammer/share/man/man4/vr.4#10 integrate .. //depot/projects/hammer/share/man/man4/wb.4#5 integrate .. //depot/projects/hammer/share/man/man4/wi.4#22 integrate .. //depot/projects/hammer/share/man/man4/xe.4#8 integrate .. //depot/projects/hammer/share/man/man4/xl.4#13 integrate .. //depot/projects/hammer/share/man/man7/ports.7#15 integrate .. //depot/projects/hammer/share/man/man7/security.7#13 integrate .. //depot/projects/hammer/share/man/man9/bios.9#3 integrate .. //depot/projects/hammer/share/misc/pci_vendors#14 integrate .. //depot/projects/hammer/share/mk/bsd.libnames.mk#28 integrate .. //depot/projects/hammer/sys/alpha/include/atomic.h#9 integrate .. //depot/projects/hammer/sys/amd64/amd64/bios.c#2 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#76 integrate .. //depot/projects/hammer/sys/amd64/include/atomic.h#17 integrate .. //depot/projects/hammer/sys/amd64/include/pc/bios.h#2 integrate .. //depot/projects/hammer/sys/arm/include/atomic.h#9 integrate .. //depot/projects/hammer/sys/boot/ficl/Makefile#12 integrate .. //depot/projects/hammer/sys/boot/i386/Makefile.inc#6 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/Makefile#10 integrate .. //depot/projects/hammer/sys/conf/files#118 integrate .. //depot/projects/hammer/sys/conf/files.amd64#75 integrate .. //depot/projects/hammer/sys/conf/kern.mk#21 integrate .. //depot/projects/hammer/sys/conf/options#81 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf.c#23 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf_norm.c#8 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pfvar.h#10 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_thermal.c#23 integrate .. //depot/projects/hammer/sys/dev/cnw/if_cnw.c#12 integrate .. //depot/projects/hammer/sys/dev/drm/ati_pcigart.c#2 integrate .. //depot/projects/hammer/sys/dev/drm/drmP.h#12 integrate .. //depot/projects/hammer/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/hammer/sys/dev/drm/drm_pciids.h#3 integrate .. //depot/projects/hammer/sys/dev/drm/r128_cce.c#10 integrate .. //depot/projects/hammer/sys/dev/drm/r300_cmdbuf.c#1 branch .. //depot/projects/hammer/sys/dev/drm/r300_reg.h#1 branch .. //depot/projects/hammer/sys/dev/drm/radeon_cp.c#12 integrate .. //depot/projects/hammer/sys/dev/drm/radeon_drm.h#9 integrate .. //depot/projects/hammer/sys/dev/drm/radeon_drv.h#10 integrate .. //depot/projects/hammer/sys/dev/drm/radeon_state.c#11 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep.c#20 integrate .. //depot/projects/hammer/sys/dev/ep/if_epvar.h#11 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci_pci.c#32 integrate .. //depot/projects/hammer/sys/dev/hatm/if_hatm_intr.c#9 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_mod.c#6 integrate .. //depot/projects/hammer/sys/dev/pccard/pccard_cis.c#14 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs#37 integrate .. //depot/projects/hammer/sys/dev/pccbb/pccbb.c#34 integrate .. //depot/projects/hammer/sys/dev/pccbb/pccbb_pci.c#10 integrate .. //depot/projects/hammer/sys/dev/pccbb/pccbbreg.h#6 integrate .. //depot/projects/hammer/sys/dev/sbsh/if_sbsh.c#8 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn.c#20 integrate .. //depot/projects/hammer/sys/dev/usb/ulpt.c#14 integrate .. //depot/projects/hammer/sys/dev/usb/umass.c#32 integrate .. //depot/projects/hammer/sys/dev/vkbd/vkbd.c#8 integrate .. //depot/projects/hammer/sys/dev/xe/if_xe.c#23 integrate .. //depot/projects/hammer/sys/dev/xe/if_xe_pccard.c#18 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vnops.c#36 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_conv.c#12 integrate .. //depot/projects/hammer/sys/geom/bde/g_bde_crypt.c#14 integrate .. //depot/projects/hammer/sys/geom/concat/g_concat.c#15 integrate .. //depot/projects/hammer/sys/geom/geom_mbr.c#23 integrate .. //depot/projects/hammer/sys/geom/geom_pc98.c#25 integrate .. //depot/projects/hammer/sys/geom/stripe/g_stripe.c#12 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_var.h#9 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_volume.c#9 integrate .. //depot/projects/hammer/sys/i386/bios/smbios.c#5 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#73 integrate .. //depot/projects/hammer/sys/i386/i386/bios.c#19 integrate .. //depot/projects/hammer/sys/i386/i386/elan-mmcr.c#20 integrate .. //depot/projects/hammer/sys/i386/i386/geode.c#5 integrate .. //depot/projects/hammer/sys/i386/include/atomic.h#9 integrate .. //depot/projects/hammer/sys/i386/include/pc/bios.h#5 integrate .. //depot/projects/hammer/sys/ia64/include/atomic.h#3 integrate .. //depot/projects/hammer/sys/kern/kern_exit.c#47 integrate .. //depot/projects/hammer/sys/kern/kern_mbuf.c#8 integrate .. //depot/projects/hammer/sys/kern/kern_mutex.c#30 integrate .. //depot/projects/hammer/sys/kern/uipc_mbuf2.c#16 integrate .. //depot/projects/hammer/sys/kern/vfs_aio.c#33 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#57 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#88 integrate .. //depot/projects/hammer/sys/modules/de/Makefile#3 integrate .. //depot/projects/hammer/sys/modules/drm/radeon/Makefile#4 integrate .. //depot/projects/hammer/sys/modules/ukbd/Makefile#6 integrate .. //depot/projects/hammer/sys/net/if.c#51 integrate .. //depot/projects/hammer/sys/net/if_atmsubr.c#17 integrate .. //depot/projects/hammer/sys/net/if_bridge.c#7 integrate .. //depot/projects/hammer/sys/net/if_ethersubr.c#42 integrate .. //depot/projects/hammer/sys/net/rtsock.c#24 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#18 integrate .. //depot/projects/hammer/sys/netgraph/netflow/ng_netflow.c#6 integrate .. //depot/projects/hammer/sys/netgraph/netgraph.h#19 integrate .. //depot/projects/hammer/sys/netgraph/ng_base.c#31 integrate .. //depot/projects/hammer/sys/netinet/icmp6.h#8 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#36 integrate .. //depot/projects/hammer/sys/netinet/ip6.h#8 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#51 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#46 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#27 integrate .. //depot/projects/hammer/sys/netinet/tcp_timer.c#17 integrate .. //depot/projects/hammer/sys/netinet6/in6.h#9 integrate .. //depot/projects/hammer/sys/netinet6/ip6_input.c#22 integrate .. //depot/projects/hammer/sys/netinet6/ip6_mroute.h#3 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#32 integrate .. //depot/projects/hammer/sys/netinet6/ip6_var.h#13 integrate .. //depot/projects/hammer/sys/netinet6/mld6.c#11 integrate .. //depot/projects/hammer/sys/netinet6/nd6.c#18 integrate .. //depot/projects/hammer/sys/netinet6/raw_ip6.c#19 integrate .. //depot/projects/hammer/sys/netinet6/udp6_output.c#12 integrate .. //depot/projects/hammer/sys/netnatm/natm.c#16 integrate .. //depot/projects/hammer/sys/netnatm/natm.h#5 integrate .. //depot/projects/hammer/sys/netnatm/natm_pcb.c#6 integrate .. //depot/projects/hammer/sys/netnatm/natm_proto.c#9 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#18 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_socket.c#28 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#23 integrate .. //depot/projects/hammer/sys/pc98/conf/NOTES#47 integrate .. //depot/projects/hammer/sys/pci/if_de.c#24 integrate .. //depot/projects/hammer/sys/pci/if_devar.h#8 integrate .. //depot/projects/hammer/sys/powerpc/include/atomic.h#6 integrate .. //depot/projects/hammer/sys/security/mac_stub/mac_stub.c#18 integrate .. //depot/projects/hammer/sys/sparc64/include/atomic.h#4 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#41 integrate .. //depot/projects/hammer/sys/sys/mutex.h#20 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_vfsops.c#50 integrate .. //depot/projects/hammer/sys/vm/swap_pager.c#41 integrate .. //depot/projects/hammer/sys/vm/uma.h#12 integrate .. //depot/projects/hammer/sys/vm/uma_core.c#41 integrate .. //depot/projects/hammer/sys/vm/uma_dbg.c#14 integrate .. //depot/projects/hammer/sys/vm/uma_dbg.h#7 integrate .. //depot/projects/hammer/sys/vm/uma_int.h#19 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#49 integrate .. //depot/projects/hammer/tools/regression/msdosfs/msdosfstest-4.sh#1 branch .. //depot/projects/hammer/tools/regression/msdosfs/msdosfstest-5.sh#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/env/regress-env.rgdata#3 integrate .. //depot/projects/hammer/tools/tools/ministat/Makefile#6 integrate .. //depot/projects/hammer/tools/tools/ministat/ministat.c#5 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/Makefile#8 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/current.rc#5 delete .. //depot/projects/hammer/tools/tools/tinderbox/etc/head.rc#1 branch .. //depot/projects/hammer/tools/tools/tinderbox/etc/releng_4.rc#7 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/releng_5.rc#7 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/releng_6.rc#1 branch .. //depot/projects/hammer/tools/tools/tinderbox/etc/stable.rc#2 delete .. //depot/projects/hammer/tools/tools/tinderbox/etc/update_current.rc#2 delete .. //depot/projects/hammer/tools/tools/tinderbox/etc/update_head.rc#1 branch .. //depot/projects/hammer/tools/tools/tinderbox/etc/update_releng_4.rc#3 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/update_releng_5.rc#3 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/update_releng_6.rc#1 branch .. //depot/projects/hammer/tools/tools/tinderbox/etc/update_stable.rc#2 delete .. //depot/projects/hammer/tools/tools/tinderbox/tbmaster.1#15 integrate .. //depot/projects/hammer/tools/tools/tinderbox/tbmaster.pl#24 integrate .. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.1#9 integrate .. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.pl#19 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.freebsd#38 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.history#10 integrate .. //depot/projects/hammer/usr.bin/env/envopts.c#4 integrate .. //depot/projects/hammer/usr.bin/locate/Makefile#2 integrate .. //depot/projects/hammer/usr.bin/lorder/lorder.sh#4 integrate .. //depot/projects/hammer/usr.bin/make/job.c#28 integrate .. //depot/projects/hammer/usr.bin/netstat/Makefile#7 integrate .. //depot/projects/hammer/usr.bin/netstat/mbuf.c#9 integrate .. //depot/projects/hammer/usr.sbin/Makefile#65 integrate .. //depot/projects/hammer/usr.sbin/boot0cfg/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/boot0cfg/boot0cfg.c#9 integrate .. //depot/projects/hammer/usr.sbin/boot98cfg/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/boot98cfg/boot98cfg.c#5 integrate .. //depot/projects/hammer/usr.sbin/jail/jail.8#24 integrate .. //depot/projects/hammer/usr.sbin/mergemaster/mergemaster.8#7 integrate .. //depot/projects/hammer/usr.sbin/moused/moused.8#13 integrate .. //depot/projects/hammer/usr.sbin/moused/moused.c#12 integrate .. //depot/projects/hammer/usr.sbin/pcvt/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/pcvt/vttest/Makefile#2 delete .. //depot/projects/hammer/usr.sbin/pcvt/vttest/README#2 delete .. //depot/projects/hammer/usr.sbin/pcvt/vttest/esc.c#2 delete .. //depot/projects/hammer/usr.sbin/pcvt/vttest/header.h#2 delete .. //depot/projects/hammer/usr.sbin/pcvt/vttest/main.c#3 delete .. //depot/projects/hammer/usr.sbin/pcvt/vttest/vttest.1#2 delete .. //depot/projects/hammer/usr.sbin/powerd/powerd.c#3 integrate .. //depot/projects/hammer/usr.sbin/snapinfo/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/snapinfo/snapinfo.8#1 branch .. //depot/projects/hammer/usr.sbin/snapinfo/snapinfo.c#1 branch .. //depot/projects/hammer/usr.sbin/sysinstall/config.c#22 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/devices.c#16 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/sysinstall.8#12 integrate .. //depot/projects/hammer/usr.sbin/ugidfw/ugidfw.c#5 integrate Differences ... ==== //depot/projects/hammer/Makefile#33 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.319 2005/06/16 18:16:12 ru Exp $ +# $FreeBSD: src/Makefile,v 1.321 2005/07/19 11:21:14 ru Exp $ # # The user-driven targets are: # @@ -64,7 +64,7 @@ # TGTS= all all-man buildenv buildkernel buildworld checkdpadd clean \ cleandepend cleandir depend distribute distributeworld \ - distribution everything \ + distrib-dirs distribution everything \ hierarchy install installcheck installkernel installkernel.debug\ reinstallkernel reinstallkernel.debug installworld \ kernel-toolchain libraries lint maninstall \ @@ -254,6 +254,7 @@ # with a reasonable chance of success, regardless of how old your # existing system is. # +.if make(universe) universe: universe_prologue universe_prologue: @echo "--------------------------------------------------------------" @@ -262,6 +263,9 @@ .for target in i386 i386:pc98 sparc64 alpha ia64 amd64 .for arch in ${target:C/:.*$//} .for mach in ${target:C/^.*://} +KERNCONFS!= cd ${.CURDIR}/sys/${mach}/conf && \ + find [A-Z]*[A-Z] -type f -maxdepth 0 +KERNCONFS:= ${KERNCONFS:S/^NOTES$/LINT/} universe: universe_${mach} .ORDER: universe_prologue universe_${mach} universe_epilogue universe_${mach}: @@ -275,7 +279,13 @@ -cd ${.CURDIR}/sys/${mach}/conf && ${MAKE} LINT \ > ${.CURDIR}/_.${mach}.makeLINT 2>&1 .endif - cd ${.CURDIR} && ${MAKE} buildkernels TARGET_ARCH=${arch} TARGET=${mach} +.for kernel in ${KERNCONFS} + -cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \ + TARGET_ARCH=${arch} TARGET=${mach} \ + KERNCONF=${kernel} \ + __MAKE_CONF=/dev/null \ + > _.${mach}.${kernel} 2>&1 +.endfor @echo ">> ${mach} completed on `LC_ALL=C date`" .endfor .endfor @@ -286,15 +296,4 @@ @echo ">>> make universe completed on `LC_ALL=C date`" @echo " (started ${STARTTIME})" @echo "--------------------------------------------------------------" - -.if make(buildkernels) -KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/conf && \ - find [A-Z]*[A-Z] -type f -maxdepth 0 ! -name NOTES -buildkernels: -.for kernel in ${KERNCONFS} - -cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \ - KERNCONF=${kernel} \ - __MAKE_CONF=/dev/null \ - > _.${TARGET}.${kernel} 2>&1 -.endfor .endif ==== //depot/projects/hammer/Makefile.inc1#97 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.499 2005/07/07 00:58:41 kan Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.500 2005/07/15 14:38:54 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -560,8 +560,8 @@ ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 DISTRIBUTION=lib32 .endif -distribution: - cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} distribution +distrib-dirs distribution: + cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} ${.TARGET} # # buildkernel and installkernel ==== //depot/projects/hammer/contrib/gcc/config/i386/i386.h#10 (text+ko) ==== @@ -614,8 +614,8 @@ else if (TARGET_ATHLON) \ { \ builtin_define ("__tune_athlon__"); \ - /* Only plain "athlon" lacks SSE. */ \ - if (last_tune_char != 'n') \ + /* Plain "athlon" & "athlon-tbird" lacks SSE. */ \ + if (last_tune_char != 'n' && last_tune_char != 'd') \ builtin_define ("__tune_athlon_sse__"); \ } \ else if (TARGET_K8) \ @@ -679,8 +679,8 @@ { \ builtin_define ("__athlon"); \ builtin_define ("__athlon__"); \ - /* Only plain "athlon" lacks SSE. */ \ - if (last_arch_char != 'n') \ + /* Plain "athlon" & "athlon-tbird" lacks SSE. */ \ + if (last_tune_char != 'n' && last_tune_char != 'd') \ builtin_define ("__athlon_sse__"); \ } \ else if (ix86_arch == PROCESSOR_K8) \ ==== //depot/projects/hammer/contrib/ncurses/ncurses/tinfo/lib_baudrate.c#2 (text+ko) ==== @@ -31,6 +31,8 @@ * and: Eric S. Raymond * ****************************************************************************/ +/* $FreeBSD: src/contrib/ncurses/ncurses/tinfo/lib_baudrate.c,v 1.2 2005/07/15 07:41:26 phk Exp $ */ + /* * lib_baudrate.c * @@ -46,7 +48,7 @@ * of the indices up to B115200 fit nicely in a 'short', allowing us to retain * ospeed's type for compatibility. */ -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#if defined(__NetBSD__) || defined(__OpenBSD__) #undef B0 #undef B50 #undef B75 ==== //depot/projects/hammer/etc/Makefile#40 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 -# $FreeBSD: src/etc/Makefile,v 1.343 2005/04/29 23:02:56 brooks Exp $ +# $FreeBSD: src/etc/Makefile,v 1.344 2005/07/15 14:52:29 ru Exp $ .if !defined(NO_SENDMAIL) SUBDIR= sendmail @@ -94,7 +94,7 @@ ${BIN2} ${DESTDIR}/etc; \ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ master.passwd nsmb.conf opieaccess ${DESTDIR}/etc; \ - pwd_mkdb ${PWD_MKDB_ENDIAN} -p -d ${DESTDIR}/etc \ + pwd_mkdb ${PWD_MKDB_ENDIAN} -i -p -d ${DESTDIR}/etc \ ${DESTDIR}/etc/master.passwd cd ${.CURDIR}/bluetooth; ${MAKE} install cd ${.CURDIR}/defaults; ${MAKE} install ==== //depot/projects/hammer/etc/defaults/rc.conf#56 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.252 2005/06/26 16:30:20 pjd Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.253 2005/07/21 15:17:54 pav Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -462,6 +462,9 @@ # a.out shared library search paths kern_securelevel_enable="NO" # kernel security level (see init(8)), kern_securelevel="-1" # range: -1..3 ; `-1' is the most insecure + # Note that setting securelevel to 0 will result + # in the system booting with securelevel set to 1, as + # init(8) will raise the level when rc(8) completes. update_motd="YES" # update version info in /etc/motd (or NO) unaligned_print="YES" # print unaligned access warnings on the alpha (or NO). entropy_file="/entropy" # Set to NO to disable caching entropy through reboots. ==== //depot/projects/hammer/gnu/usr.bin/groff/tmac/mdoc.local#23 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.49 2005/07/11 15:48:48 kensmith Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.50 2005/07/15 10:27:35 rwatson Exp $ .\" .\" %beginstrip% . @@ -47,6 +47,7 @@ .ds doc-str-Lb-libipx IPX Address Conversion Support Library (libipx, \-lipx) .ds doc-str-Lb-libkiconv Kernel side iconv library (libkiconv, \-lkiconv) .ds doc-str-Lb-libmd Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd) +.ds doc-str-Lb-libmemstat Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat) .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph) .ds doc-str-Lb-libpmc Performance Monitoring Counters API (libpmc, \-lpmc) .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) ==== //depot/projects/hammer/gnu/usr.bin/man/apropos/Makefile#2 (text+ko) ==== @@ -1,5 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/man/apropos/Makefile,v 1.16 2001/04/07 11:21:18 ru Exp $ -MAINTAINER= wosch +# $FreeBSD: src/gnu/usr.bin/man/apropos/Makefile,v 1.17 2005/07/17 21:18:09 wosch Exp $ SCRIPTS=apropos MAN= apropos.1 ==== //depot/projects/hammer/lib/libc/locale/isalnum.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isalnum.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isalnum.3,v 1.19 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isalnum.3,v 1.20 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISALNUM 3 .Os .Sh NAME @@ -56,15 +56,11 @@ or .Xr isdigit 3 is true. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -103,7 +99,6 @@ .Xr isalpha 3 , .Xr isdigit 3 , .Xr iswalnum 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/isalpha.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isalpha.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isalpha.3,v 1.18 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isalpha.3,v 1.19 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISALPHA 3 .Os .Sh NAME @@ -56,15 +56,11 @@ or .Xr islower 3 is true. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -101,7 +97,6 @@ .Xr islower 3 , .Xr isupper 3 , .Xr iswalpha 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/isblank.3#7 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isblank.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isblank.3,v 1.20 2005/01/20 09:17:03 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/isblank.3,v 1.21 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISBLANK 3 .Os .Sh NAME @@ -57,13 +57,8 @@ In the "C" locale .Fn isblank successful test is limited to this characters only. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES @@ -84,7 +79,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswblank 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/iscntrl.3#6 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)iscntrl.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/iscntrl.3,v 1.17 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/iscntrl.3,v 1.18 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISCNTRL 3 .Os .Sh NAME @@ -52,15 +52,11 @@ The .Fn iscntrl function tests for any control character. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -91,7 +87,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswcntrl 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/isdigit.3#6 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isdigit.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isdigit.3,v 1.19 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isdigit.3,v 1.20 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISDIGIT 3 .Os .Sh NAME @@ -68,13 +68,8 @@ but may recognize additional characters, depending on the current locale setting. .Pp -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES ==== //depot/projects/hammer/lib/libc/locale/isgraph.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isgraph.3 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/locale/isgraph.3,v 1.19 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isgraph.3,v 1.20 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISGRAPH 3 .Os .Sh NAME @@ -55,15 +55,11 @@ .Pq Ql "\ " and other locale specific space-like characters. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -106,7 +102,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswgraph 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/islower.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)islower.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/islower.3,v 1.17 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/islower.3,v 1.18 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISLOWER 3 .Os .Sh NAME @@ -52,15 +52,11 @@ The .Fn islower function tests for any lower-case letters. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -90,7 +86,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswlower 3 , -.Xr multibyte 3 , .Xr tolower 3 , .Xr ascii 7 .Sh STANDARDS ==== //depot/projects/hammer/lib/libc/locale/isprint.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isprint.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isprint.3,v 1.20 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isprint.3,v 1.21 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISPRINT 3 .Os .Sh NAME @@ -53,15 +53,11 @@ .Fn isprint function tests for any printing character including space .Pq Ql "\ " . -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -104,7 +100,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswprint 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/ispunct.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ispunct.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/ispunct.3,v 1.18 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/ispunct.3,v 1.19 2005/07/17 04:11:05 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISPUNCT 3 .Os .Sh NAME @@ -57,15 +57,11 @@ character for which .Xr isalnum 3 is true. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -96,7 +92,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswpunct 3 , -.Xr multibyte 3 , .Xr ascii 7 .Sh STANDARDS The ==== //depot/projects/hammer/lib/libc/locale/isspace.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isspace.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isspace.3,v 1.17 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isspace.3,v 1.18 2005/07/17 04:11:06 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISSPACE 3 .Os .Sh NAME @@ -61,13 +61,8 @@ In the "C" locale .Fn isspace successful test is limited to this characters only. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES ==== //depot/projects/hammer/lib/libc/locale/isupper.3#5 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isupper.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isupper.3,v 1.18 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isupper.3,v 1.19 2005/07/17 04:11:06 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISUPPER 3 .Os .Sh NAME @@ -52,15 +52,11 @@ The .Fn isupper function tests for any upper-case letter. -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . +.Pp In the ASCII character set, this includes the following characters (with their numeric values shown in octal): .Pp @@ -90,7 +86,6 @@ .Sh SEE ALSO .Xr ctype 3 , .Xr iswupper 3 , -.Xr multibyte 3 , .Xr toupper 3 , .Xr ascii 7 .Sh STANDARDS ==== //depot/projects/hammer/lib/libc/locale/isxdigit.3#7 (text+ko) ==== @@ -34,9 +34,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)isxdigit.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/locale/isxdigit.3,v 1.20 2004/08/21 07:37:08 tjr Exp $ +.\" $FreeBSD: src/lib/libc/locale/isxdigit.3,v 1.21 2005/07/17 04:11:06 tjr Exp $ .\" -.Dd August 21, 2004 +.Dd July 17, 2005 .Dt ISXDIGIT 3 .Os .Sh NAME @@ -71,13 +71,8 @@ but may recognize additional characters, depending on the current locale setting. .Pp -For single C -.Va char Ns s -locales (see -.Xr multibyte 3 ) -the value of the argument is -representable as an -.Li unsigned char +The value of the argument must be representable as an +.Vt unsigned char or the value of .Dv EOF . .Sh RETURN VALUES @@ -98,7 +93,6 @@ .Sh SEE ALSO .Xr ctype 3 , >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 21 21:33:47 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50F4816A423; Thu, 21 Jul 2005 21:33:47 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 24C0B16A41F for ; Thu, 21 Jul 2005 21:33:47 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA16043D55 for ; Thu, 21 Jul 2005 21:33:35 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LLXZbr026622 for ; Thu, 21 Jul 2005 21:33:35 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LLXZEL026619 for perforce@freebsd.org; Thu, 21 Jul 2005 21:33:35 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 21:33:35 GMT Message-Id: <200507212133.j6LLXZEL026619@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 Cc: Subject: PERFORCE change 80705 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 21:33:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=80705 Change 80705 by peter@peter_daintree on 2005/07/21 21:33:29 Grrr. Make this compile. Affected files ... .. //depot/projects/hammer/sys/netgraph/ng_base.c#32 edit Differences ... ==== //depot/projects/hammer/sys/netgraph/ng_base.c#32 (text+ko) ==== @@ -3260,8 +3260,6 @@ ng_setisr(node_p node) { - mtx_assert(&ngq->q_mtx, MA_OWNED); - if ((node->nd_flags & NGF_WORKQ) == 0) { /* * If we are not already on the work queue, From owner-p4-projects@FreeBSD.ORG Thu Jul 21 21:34:55 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D848616A43D; Thu, 21 Jul 2005 21:34:54 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9695F16A42A for ; Thu, 21 Jul 2005 21:34:54 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B0BC43D53 for ; Thu, 21 Jul 2005 21:34:37 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LLYbBI026716 for ; Thu, 21 Jul 2005 21:34:37 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LLYane026713 for perforce@freebsd.org; Thu, 21 Jul 2005 21:34:36 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 21:34:36 GMT Message-Id: <200507212134.j6LLYane026713@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 Cc: Subject: PERFORCE change 80706 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 21:34:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=80706 Change 80706 by peter@peter_daintree on 2005/07/21 21:33:53 Integ -b i386_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/conf/NOTES#77 integrate .. //depot/projects/hammer/sys/amd64/include/atomic.h#18 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/conf/NOTES#77 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# (XXX from i386:NOTES,v 1.1202) +# (XXX from i386:NOTES,v 1.1204) # $FreeBSD: src/sys/amd64/conf/NOTES,v 1.38 2005/07/21 00:18:28 jkim Exp $ # @@ -297,6 +297,8 @@ # # Miscellaneous hardware: # +# smbios: DMI/SMBIOS entry point +# vpd: Vital Product Data kernel interface # cy: Cyclades serial driver # digi: Digiboard driver # smbios: DMI/SMBIOS entry point @@ -323,6 +325,7 @@ hint.pbio.0.at="isa" hint.pbio.0.port="0x360" device smbios +device vpd # sx device is i386 and pc98 only at the moment. device sx options SX_DEBUG ==== //depot/projects/hammer/sys/amd64/include/atomic.h#18 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Thu Jul 21 21:34:57 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F4E216A45B; Thu, 21 Jul 2005 21:34:55 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 B5B7816A434 for ; Thu, 21 Jul 2005 21:34:54 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E749F43D45 for ; Thu, 21 Jul 2005 21:34:37 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LLYbeG026722 for ; Thu, 21 Jul 2005 21:34:37 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LLYb3I026719 for perforce@freebsd.org; Thu, 21 Jul 2005 21:34:37 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 21:34:37 GMT Message-Id: <200507212134.j6LLYb3I026719@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 Cc: Subject: PERFORCE change 80707 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 21:34:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=80707 Change 80707 by peter@peter_daintree on 2005/07/21 21:34:00 add vpd module Affected files ... .. //depot/projects/hammer/sys/conf/files.amd64#76 edit Differences ... ==== //depot/projects/hammer/sys/conf/files.amd64#76 (text+ko) ==== @@ -236,6 +236,7 @@ compat/ndis/subr_usbd.c optional ndisapi pci compat/ndis/winx64_wrap.S optional ndisapi pci i386/bios/smbios.c optional smbios +i386/bios/vpd.c optional vpd i386/cpufreq/powernow.c optional cpufreq i386/cpufreq/est.c optional cpufreq i386/cpufreq/p4tcc.c optional cpufreq From owner-p4-projects@FreeBSD.ORG Thu Jul 21 21:47:54 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C4E416A421; Thu, 21 Jul 2005 21:47:54 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2E69316A41F for ; Thu, 21 Jul 2005 21:47:54 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F3A9243D48 for ; Thu, 21 Jul 2005 21:47:53 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LLlrNY027264 for ; Thu, 21 Jul 2005 21:47:53 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LLlr20027261 for perforce@freebsd.org; Thu, 21 Jul 2005 21:47:53 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 21:47:53 GMT Message-Id: <200507212147.j6LLlr20027261@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 Cc: Subject: PERFORCE change 80708 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 21:47:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=80708 Change 80708 by peter@peter_daintree on 2005/07/21 21:47:49 Remove the temporary hack that used direct maps instead of temporary ephemeral mappings. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/uio_machdep.c#8 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/uio_machdep.c#8 (text+ko) ==== @@ -48,10 +48,6 @@ #include #include -#ifdef NODMAP -#include -#include -#endif #include @@ -69,17 +65,11 @@ size_t cnt; int error = 0; int save = 0; -#ifdef NODMAP - vm_offset_t kva; -#endif KASSERT(uio->uio_rw == UIO_READ || uio->uio_rw == UIO_WRITE, ("uiomove_fromphys: mode")); KASSERT(uio->uio_segflg != UIO_USERSPACE || uio->uio_td == curthread, ("uiomove_fromphys proc")); -#ifdef NODMAP - kva = kmem_alloc_nofault(kernel_map, PAGE_SIZE); -#endif save = td->td_pflags & TDP_DEADLKTREAT; td->td_pflags |= TDP_DEADLKTREAT; while (n > 0 && uio->uio_resid) { @@ -94,13 +84,8 @@ cnt = n; page_offset = offset & PAGE_MASK; cnt = min(cnt, PAGE_SIZE - page_offset); -#ifdef NODMAP - pmap_qenter(kva, &ma[offset >> PAGE_SHIFT], 1); - cp = (char *)kva + page_offset; -#else cp = (char *)PHYS_TO_DMAP(ma[offset >> PAGE_SHIFT]->phys_addr) + page_offset; -#endif switch (uio->uio_segflg) { case UIO_USERSPACE: if (ticks - PCPU_GET(switchticks) >= hogticks) @@ -131,9 +116,5 @@ out: if (save == 0) td->td_pflags &= ~TDP_DEADLKTREAT; -#ifdef NODMAP - pmap_qremove(kva, 1); - kmem_free(kernel_map, kva, PAGE_SIZE); -#endif return (error); } From owner-p4-projects@FreeBSD.ORG Thu Jul 21 22:39:09 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A060816A425; Thu, 21 Jul 2005 22:39:08 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 5D9F216A425 for ; Thu, 21 Jul 2005 22:39:08 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B74843D77 for ; Thu, 21 Jul 2005 22:39:05 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LMd5xk029510 for ; Thu, 21 Jul 2005 22:39:05 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LMd5al029507 for perforce@freebsd.org; Thu, 21 Jul 2005 22:39:05 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 22:39:05 GMT Message-Id: <200507212239.j6LMd5al029507@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 Cc: Subject: PERFORCE change 80716 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 22:39:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=80716 Change 80716 by peter@peter_daintree on 2005/07/21 22:38:49 add freebsd32_context.c (from kern_context.c) Affected files ... .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_context.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 21 22:42:25 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E13116A42C; Thu, 21 Jul 2005 22:42:25 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 08ABC16A426 for ; Thu, 21 Jul 2005 22:42:25 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E6FF743DAC for ; Thu, 21 Jul 2005 22:42:09 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LMg9JB029659 for ; Thu, 21 Jul 2005 22:42:09 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LMg956029656 for perforce@freebsd.org; Thu, 21 Jul 2005 22:42:09 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 22:42:09 GMT Message-Id: <200507212242.j6LMg956029656@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 Cc: Subject: PERFORCE change 80717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 22:42:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=80717 Change 80717 by peter@peter_daintree on 2005/07/21 22:41:28 Whoops. This isn't convenient to put here because of private backend structure naming variations. Affected files ... .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_context.c#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 21 23:25:03 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B81B16A50C; Thu, 21 Jul 2005 23:25:03 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 23E0616A508 for ; Thu, 21 Jul 2005 23:25:03 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5944A43D77 for ; Thu, 21 Jul 2005 23:25:02 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6LNP2P3031389 for ; Thu, 21 Jul 2005 23:25:02 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6LNP1bQ031386 for perforce@freebsd.org; Thu, 21 Jul 2005 23:25:01 GMT (envelope-from peter@freebsd.org) Date: Thu, 21 Jul 2005 23:25:01 GMT Message-Id: <200507212325.j6LNP1bQ031386@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 Cc: Subject: PERFORCE change 80719 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 23:25:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=80719 Change 80719 by peter@peter_daintree on 2005/07/21 23:24:36 implement getcontext/setcontext/swapcontext(2) wrappers Affected files ... .. //depot/projects/hammer/sys/amd64/ia32/ia32_signal.c#14 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#31 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#29 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#29 edit .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#29 edit .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#33 edit Differences ... ==== //depot/projects/hammer/sys/amd64/ia32/ia32_signal.c#14 (text+ko) ==== @@ -92,38 +92,14 @@ static void ia32_get_fpcontext(struct thread *td, struct ia32_mcontext *mcp) { - struct savefpu *addr; - /* - * XXX mc_fpstate might be misaligned, since its declaration is not - * unportabilized using __attribute__((aligned(16))) like the - * declaration of struct savemm, and anyway, alignment doesn't work - * for auto variables since we don't use gcc's pessimal stack - * alignment. Work around this by abusing the spare fields after - * mcp->mc_fpstate. - * - * XXX unpessimize most cases by only aligning when fxsave might be - * called, although this requires knowing too much about - * fpugetregs()'s internals. - */ - addr = (struct savefpu *)&mcp->mc_fpstate; - if (td == PCPU_GET(fpcurthread) && ((uintptr_t)(void *)addr & 0xF)) { - do - addr = (void *)((char *)addr + 4); - while ((uintptr_t)(void *)addr & 0xF); - } - mcp->mc_ownedfp = fpugetregs(td, addr); - if (addr != (struct savefpu *)&mcp->mc_fpstate) { - bcopy(addr, &mcp->mc_fpstate, sizeof(mcp->mc_fpstate)); - bzero(&mcp->mc_spare2, sizeof(mcp->mc_spare2)); - } + mcp->mc_ownedfp = fpugetregs(td, (struct savefpu *)&mcp->mc_fpstate); mcp->mc_fpformat = fpuformat(); } static int ia32_set_fpcontext(struct thread *td, const struct ia32_mcontext *mcp) { - struct savefpu *addr; if (mcp->mc_fpformat == _MC_FPFMT_NODEV) return (0); @@ -134,31 +110,180 @@ fpstate_drop(td); else if (mcp->mc_ownedfp == _MC_FPOWNED_FPU || mcp->mc_ownedfp == _MC_FPOWNED_PCB) { - /* XXX align as above. */ - addr = (struct savefpu *)&mcp->mc_fpstate; - if (td == PCPU_GET(fpcurthread) && - ((uintptr_t)(void *)addr & 0xF)) { - do - addr = (void *)((char *)addr + 4); - while ((uintptr_t)(void *)addr & 0xF); - bcopy(&mcp->mc_fpstate, addr, sizeof(mcp->mc_fpstate)); - } /* * XXX we violate the dubious requirement that fpusetregs() * be called with interrupts disabled. */ - fpusetregs(td, addr); - /* - * Don't bother putting things back where they were in the - * misaligned case, since we know that the caller won't use - * them again. - */ + fpusetregs(td, (struct savefpu *)&mcp->mc_fpstate); } else return (EINVAL); return (0); } /* + * Get machine context. + */ +static int +ia32_get_mcontext(struct thread *td, struct ia32_mcontext *mcp, int flags) +{ + struct trapframe *tp; + + tp = td->td_frame; + + PROC_LOCK(curthread->td_proc); + mcp->mc_onstack = sigonstack(tp->tf_rsp); + PROC_UNLOCK(curthread->td_proc); + mcp->mc_gs = td->td_pcb->pcb_gs; + mcp->mc_fs = td->td_pcb->pcb_fs; + mcp->mc_es = td->td_pcb->pcb_es; + mcp->mc_ds = td->td_pcb->pcb_ds; + mcp->mc_edi = tp->tf_rdi; + mcp->mc_esi = tp->tf_rsi; + mcp->mc_ebp = tp->tf_rbp; + mcp->mc_isp = tp->tf_rsp; + if (flags & GET_MC_CLEAR_RET) { + mcp->mc_eax = 0; + mcp->mc_edx = 0; + } else { + mcp->mc_eax = tp->tf_rax; + mcp->mc_edx = tp->tf_rdx; + } + mcp->mc_ebx = tp->tf_rbx; + mcp->mc_ecx = tp->tf_rcx; + mcp->mc_eip = tp->tf_rip; + mcp->mc_cs = tp->tf_cs; + mcp->mc_eflags = tp->tf_rflags; + mcp->mc_esp = tp->tf_rsp; + mcp->mc_ss = tp->tf_ss; + mcp->mc_len = sizeof(*mcp); + ia32_get_fpcontext(td, mcp); + return (0); +} + +/* + * Set machine context. + * + * However, we don't set any but the user modifiable flags, and we won't + * touch the cs selector. + */ +static int +ia32_set_mcontext(struct thread *td, const struct ia32_mcontext *mcp) +{ + struct trapframe *tp; + long rflags; + int ret; + + tp = td->td_frame; + if (mcp->mc_len != sizeof(*mcp)) + return (EINVAL); + rflags = (mcp->mc_eflags & PSL_USERCHANGE) | + (tp->tf_rflags & ~PSL_USERCHANGE); + ret = ia32_set_fpcontext(td, mcp); + if (ret != 0) + return (ret); +#if 0 /* XXX deal with load_fs() and friends */ + tp->tf_fs = mcp->mc_fs; + tp->tf_es = mcp->mc_es; + tp->tf_ds = mcp->mc_ds; +#endif + tp->tf_rdi = mcp->mc_edi; + tp->tf_rsi = mcp->mc_esi; + tp->tf_rbp = mcp->mc_ebp; + tp->tf_rbx = mcp->mc_ebx; + tp->tf_rdx = mcp->mc_edx; + tp->tf_rcx = mcp->mc_ecx; + tp->tf_rax = mcp->mc_eax; + /* trapno, err */ + tp->tf_rip = mcp->mc_eip; + tp->tf_rflags = rflags; + tp->tf_rsp = mcp->mc_esp; + tp->tf_ss = mcp->mc_ss; +#if 0 /* XXX deal with load_gs() and friends */ + td->td_pcb->pcb_gs = mcp->mc_gs; +#endif + td->td_pcb->pcb_flags |= PCB_FULLCTX; + return (0); +} + +/* + * The first two fields of a ucontext_t are the signal mask and + * the machine context. The next field is uc_link; we want to + * avoid destroying the link when copying out contexts. + */ +#define UC_COPY_SIZE offsetof(struct ia32_ucontext, uc_link) + +int +freebsd32_getcontext(struct thread *td, struct freebsd32_getcontext_args *uap) +{ + struct ia32_ucontext uc; + int ret; + + if (uap->ucp == NULL) + ret = EINVAL; + else { + ia32_get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); + PROC_LOCK(td->td_proc); + uc.uc_sigmask = td->td_sigmask; + PROC_UNLOCK(td->td_proc); + ret = copyout(&uc, uap->ucp, UC_COPY_SIZE); + } + return (ret); +} + +int +freebsd32_setcontext(struct thread *td, struct freebsd32_setcontext_args *uap) +{ + struct ia32_ucontext uc; + int ret; + + if (uap->ucp == NULL) + ret = EINVAL; + else { + ret = copyin(uap->ucp, &uc, UC_COPY_SIZE); + if (ret == 0) { + ret = ia32_set_mcontext(td, &uc.uc_mcontext); + if (ret == 0) { + SIG_CANTMASK(uc.uc_sigmask); + PROC_LOCK(td->td_proc); + td->td_sigmask = uc.uc_sigmask; + PROC_UNLOCK(td->td_proc); + } + } + } + return (ret == 0 ? EJUSTRETURN : ret); +} + +int +freebsd32_swapcontext(struct thread *td, struct freebsd32_swapcontext_args *uap) +{ + struct ia32_ucontext uc; + int ret; + + if (uap->oucp == NULL || uap->ucp == NULL) + ret = EINVAL; + else { + ia32_get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); + PROC_LOCK(td->td_proc); + uc.uc_sigmask = td->td_sigmask; + PROC_UNLOCK(td->td_proc); + ret = copyout(&uc, uap->oucp, UC_COPY_SIZE); + if (ret == 0) { + ret = copyin(uap->ucp, &uc, UC_COPY_SIZE); + if (ret == 0) { + ret = ia32_set_mcontext(td, &uc.uc_mcontext); + if (ret == 0) { + SIG_CANTMASK(uc.uc_sigmask); + PROC_LOCK(td->td_proc); + td->td_sigmask = uc.uc_sigmask; + PROC_UNLOCK(td->td_proc); + } + } + } + } + return (ret == 0 ? EJUSTRETURN : ret); +} + +/* * Send an interrupt to process. * * Stack is set up to allow sigcode stored ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#31 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.39 2005/07/13 20:35:08 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.51 2005/07/13 20:32:42 jhb Exp */ @@ -225,6 +225,16 @@ struct freebsd32_sigreturn_args { char sigcntxp_l_[PADL_(const struct freebsd32_ucontext *)]; const struct freebsd32_ucontext * sigcntxp; char sigcntxp_r_[PADR_(const struct freebsd32_ucontext *)]; }; +struct freebsd32_getcontext_args { + char ucp_l_[PADL_(struct freebsd32_ucontext *)]; struct freebsd32_ucontext * ucp; char ucp_r_[PADR_(struct freebsd32_ucontext *)]; +}; +struct freebsd32_setcontext_args { + char ucp_l_[PADL_(const struct freebsd32_ucontext *)]; const struct freebsd32_ucontext * ucp; char ucp_r_[PADR_(const struct freebsd32_ucontext *)]; +}; +struct freebsd32_swapcontext_args { + char oucp_l_[PADL_(struct freebsd32_ucontext *)]; struct freebsd32_ucontext * oucp; char oucp_r_[PADR_(struct freebsd32_ucontext *)]; + char ucp_l_[PADL_(const struct freebsd32_ucontext *)]; const struct freebsd32_ucontext * ucp; char ucp_r_[PADR_(const struct freebsd32_ucontext *)]; +}; int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *); int freebsd32_sigaltstack(struct thread *, struct freebsd32_sigaltstack_args *); int freebsd32_execve(struct thread *, struct freebsd32_execve_args *); @@ -259,6 +269,9 @@ int freebsd32_sendfile(struct thread *, struct freebsd32_sendfile_args *); int freebsd32_sigaction(struct thread *, struct freebsd32_sigaction_args *); int freebsd32_sigreturn(struct thread *, struct freebsd32_sigreturn_args *); +int freebsd32_getcontext(struct thread *, struct freebsd32_getcontext_args *); +int freebsd32_setcontext(struct thread *, struct freebsd32_setcontext_args *); +int freebsd32_swapcontext(struct thread *, struct freebsd32_swapcontext_args *); #ifdef COMPAT_43 ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#29 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.39 2005/07/13 20:35:08 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.51 2005/07/13 20:32:42 jhb Exp */ @@ -294,6 +294,9 @@ #define FREEBSD32_SYS_fhstatfs 398 #define FREEBSD32_SYS_freebsd32_sigaction 416 #define FREEBSD32_SYS_freebsd32_sigreturn 417 +#define FREEBSD32_SYS_freebsd32_getcontext 421 +#define FREEBSD32_SYS_freebsd32_setcontext 422 +#define FREEBSD32_SYS_freebsd32_swapcontext 423 #define FREEBSD32_SYS_thr_create 430 #define FREEBSD32_SYS_thr_exit 431 #define FREEBSD32_SYS_thr_self 432 ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#29 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.30 2005/07/13 20:35:08 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.51 2005/07/13 20:32:42 jhb Exp */ @@ -428,9 +428,9 @@ "#418", /* 418 = __xstat */ "#419", /* 419 = __xfstat */ "#420", /* 420 = __xlstat */ - "#421", /* 421 = getcontext */ - "#422", /* 422 = setcontext */ - "#423", /* 423 = swapcontext */ + "freebsd32_getcontext", /* 421 = freebsd32_getcontext */ + "freebsd32_setcontext", /* 422 = freebsd32_setcontext */ + "freebsd32_swapcontext", /* 423 = freebsd32_swapcontext */ "#424", /* 424 = swapoff */ "#425", /* 425 = __acl_get_link */ "#426", /* 426 = __acl_set_link */ ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#29 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.40 2005/07/13 20:35:08 jhb Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.51 2005/07/13 20:32:42 jhb Exp */ @@ -447,9 +447,9 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 418 = __xstat */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 419 = __xfstat */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 420 = __xlstat */ - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 421 = getcontext */ - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 422 = setcontext */ - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 423 = swapcontext */ + { SYF_MPSAFE | AS(freebsd32_getcontext_args), (sy_call_t *)freebsd32_getcontext, AUE_NULL }, /* 421 = freebsd32_getcontext */ + { SYF_MPSAFE | AS(freebsd32_setcontext_args), (sy_call_t *)freebsd32_setcontext, AUE_NULL }, /* 422 = freebsd32_setcontext */ + { SYF_MPSAFE | AS(freebsd32_swapcontext_args), (sy_call_t *)freebsd32_swapcontext, AUE_NULL }, /* 423 = freebsd32_swapcontext */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 424 = swapoff */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 425 = __acl_get_link */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 426 = __acl_set_link */ ==== //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#33 (text+ko) ==== @@ -693,12 +693,13 @@ 418 AUE_NULL UNIMPL __xstat 419 AUE_NULL UNIMPL __xfstat 420 AUE_NULL UNIMPL __xlstat -; XXX implement -421 AUE_NULL UNIMPL getcontext -; XXX implement -422 AUE_NULL UNIMPL setcontext -; XXX implement -423 AUE_NULL UNIMPL swapcontext +421 AUE_NULL MSTD { int freebsd32_getcontext( \ + struct freebsd32_ucontext *ucp); } +422 AUE_NULL MSTD { int freebsd32_setcontext( \ + const struct freebsd32_ucontext *ucp); } +423 AUE_NULL MSTD { int freebsd32_swapcontext( \ + struct freebsd32_ucontext *oucp, \ + const struct freebsd32_ucontext *ucp); } 424 AUE_NULL UNIMPL swapoff 425 AUE_NULL UNIMPL __acl_get_link 426 AUE_NULL UNIMPL __acl_set_link From owner-p4-projects@FreeBSD.ORG Fri Jul 22 00:07:07 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF58116A426; Fri, 22 Jul 2005 00:07:06 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7B28716A41F for ; Fri, 22 Jul 2005 00:07:06 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E79543D8A for ; Fri, 22 Jul 2005 00:06:53 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M06raQ033014 for ; Fri, 22 Jul 2005 00:06:53 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M06rsc033011 for perforce@freebsd.org; Fri, 22 Jul 2005 00:06:53 GMT (envelope-from soc-saturnero@freebsd.org) Date: Fri, 22 Jul 2005 00:06:53 GMT Message-Id: <200507220006.j6M06rsc033011@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 80721 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 00:07:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=80721 Change 80721 by soc-saturnero@soc-saturnero_sberta on 2005/07/22 00:06:37 Added clonefs target Added options NO_COMPRESSEDFS and NO_UNIONFS Affected files ... .. //depot/projects/soc2005/freesbie/Makefile#5 edit .. //depot/projects/soc2005/freesbie/ToDo#3 edit .. //depot/projects/soc2005/freesbie/conf/freesbie.defaults.conf#5 edit .. //depot/projects/soc2005/freesbie/scripts/clonefs.sh#1 add Differences ... ==== //depot/projects/soc2005/freesbie/Makefile#5 (text+ko) ==== @@ -7,7 +7,7 @@ all: freesbie -freesbie: buildworld buildkernel installworld installkernel +freesbie: buildworld buildkernel installworld installkernel clonefs buildworld: .done_buildworld .done_buildworld: @@ -37,6 +37,13 @@ @sh ./scripts/launch.sh installkernel .tmp_installkernel @mv .tmp_installkernel .done_installkernel +clonefs: .done_clonefs +.done_clonefs: .done_installkernel + @-rm -f .tmp_clonefs + @touch .tmp_clonefs + @sh ./scripts/launch.sh clonefs .tmp_clonefs + @mv .tmp_clonefs .done_clonefs + clean: @-rm -f .tmp* .done* > /dev/null 2>&1 ==== //depot/projects/soc2005/freesbie/ToDo#3 (text+ko) ==== @@ -1,3 +1,13 @@ +- Write freesbie rcNG script +- Add a new target (patch?) for + - creating loader.conf + - creating rc.conf + - copying freesbie rcNG script + +- Add FILE_LIST support to clonefs +- Add PRUNE_LIST support to clonefs + + List of files to be created: / ==== //depot/projects/soc2005/freesbie/conf/freesbie.defaults.conf#5 (text+ko) ==== @@ -57,5 +57,13 @@ # #NO_BUILDKERNEL=YES +# Define NO_COMPRESSEDFS if you don't want to have compressed fs +# inside the resulting image. +# +#NO_COMPRESSEDFS=YES +# Define NO_UNIONFS if you want to avoid using unionfs in the built +# system +# +#NO_UNIONFS=YES From owner-p4-projects@FreeBSD.ORG Fri Jul 22 00:20:11 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1E2D16A428; Fri, 22 Jul 2005 00:20:10 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 5853716A426 for ; Fri, 22 Jul 2005 00:20:10 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2663043D46 for ; Fri, 22 Jul 2005 00:20:10 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M0K9Ic033432 for ; Fri, 22 Jul 2005 00:20:09 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M0K945033429 for perforce@freebsd.org; Fri, 22 Jul 2005 00:20:09 GMT (envelope-from peter@freebsd.org) Date: Fri, 22 Jul 2005 00:20:09 GMT Message-Id: <200507220020.j6M0K945033429@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 Cc: Subject: PERFORCE change 80722 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 00:20:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=80722 Change 80722 by peter@peter_melody on 2005/07/22 00:19:09 enable 32 bit gdb to work in a 64 bit universe Affected files ... .. //depot/projects/hammer/contrib/gdb/gdb/solib-svr4.c#3 edit .. //depot/projects/hammer/sys/conf/files#119 edit Differences ... ==== //depot/projects/hammer/contrib/gdb/gdb/solib-svr4.c#3 (text+ko) ==== @@ -1027,7 +1027,14 @@ be trivial on GNU/Linux). Therefore, we have to try an alternate mechanism to find the dynamic linker's base address. */ - tmp_fd = solib_open (buf, &tmp_pathname); +#if defined(__i386__) || defined(COMPAT_32BIT) + if ((strcmp(buf, "/usr/libexec/ld-elf.so.1") == 0 || + strcmp(buf, "/libexec/ld-elf.so.1") == 0) && + access("/libexec/ld-elf32.so.1", 0) == 0) + tmp_fd = solib_open ("/libexec/ld-elf32.so.1", &tmp_pathname); + else +#endif + tmp_fd = solib_open (buf, &tmp_pathname); if (tmp_fd >= 0) tmp_bfd = bfd_fdopenr (tmp_pathname, gnutarget, tmp_fd); ==== //depot/projects/hammer/sys/conf/files#119 (text+ko) ==== @@ -1298,6 +1298,7 @@ kern/vfs_subr.c standard kern/vfs_syscalls.c standard kern/vfs_vnops.c standard +kern/ylock.c optional ylock # # These files in libkern/ are those needed by all architectures. Some # of the files in libkern/ are only needed on some architectures, e.g., From owner-p4-projects@FreeBSD.ORG Fri Jul 22 00:23:30 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A90C16A426; Fri, 22 Jul 2005 00:23:29 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 638B516A424 for ; Fri, 22 Jul 2005 00:23:29 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 712F443DA9 for ; Fri, 22 Jul 2005 00:23:14 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M0NEEv033601 for ; Fri, 22 Jul 2005 00:23:14 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M0NEN6033598 for perforce@freebsd.org; Fri, 22 Jul 2005 00:23:14 GMT (envelope-from peter@freebsd.org) Date: Fri, 22 Jul 2005 00:23:14 GMT Message-Id: <200507220023.j6M0NEN6033598@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 Cc: Subject: PERFORCE change 80723 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 00:23:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=80723 Change 80723 by peter@peter_melody on 2005/07/22 00:23:04 build/install gcore32 and ldd32 Affected files ... .. //depot/projects/hammer/Makefile.inc1#98 edit .. //depot/projects/hammer/usr.bin/gcore/Makefile#4 edit .. //depot/projects/hammer/usr.bin/ldd/Makefile#3 edit Differences ... ==== //depot/projects/hammer/Makefile.inc1#98 (text+ko) ==== @@ -411,6 +411,10 @@ ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} cd ${.CURDIR}/gnu/lib; \ ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/usr.bin/ldd; \ + ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/usr.bin/gcore; \ + ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} .if !defined(NO_CRYPT) cd ${.CURDIR}/secure/lib; \ ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} @@ -435,6 +439,10 @@ .for _t in obj depend all cd ${.CURDIR}/libexec/rtld-elf; \ PROG=ld-elf32.so.1 ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/usr.bin/ldd; \ + PROG=ldd32 ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/usr.bin/gcore; \ + PROG=gcore32 ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} .endfor distribute32 install32: @@ -449,6 +457,8 @@ cd ${.CURDIR}/secure/lib; ${LIB32MAKE} ${.TARGET:S/32$//} .endif cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32MAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32MAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/usr.bin/gcore; PROG=gcore32 ${LIB32MAKE} ${.TARGET:S/32$//} .endif ==== //depot/projects/hammer/usr.bin/gcore/Makefile#4 (text+ko) ==== @@ -1,7 +1,7 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD: src/usr.bin/gcore/Makefile,v 1.9 2004/11/27 06:46:48 das Exp $ -PROG= gcore +PROG?= gcore SRCS= elfcore.c gcore.c .include ==== //depot/projects/hammer/usr.bin/ldd/Makefile#3 (text+ko) ==== @@ -1,6 +1,6 @@ # $FreeBSD: src/usr.bin/ldd/Makefile,v 1.13 2004/06/29 21:13:15 dwmalone Exp $ -PROG= ldd +PROG?= ldd SRCS= ldd.c .if ${MACHINE_ARCH} == "i386" SRCS+= sods.c From owner-p4-projects@FreeBSD.ORG Fri Jul 22 00:34:32 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 498F216A440; Fri, 22 Jul 2005 00:34:32 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 0C5D216A425 for ; Fri, 22 Jul 2005 00:34:32 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B2AC43D75 for ; Fri, 22 Jul 2005 00:34:28 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M0YScW034019 for ; Fri, 22 Jul 2005 00:34:28 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M0YSJE034016 for perforce@freebsd.org; Fri, 22 Jul 2005 00:34:28 GMT (envelope-from sam@freebsd.org) Date: Fri, 22 Jul 2005 00:34:28 GMT Message-Id: <200507220034.j6M0YSJE034016@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 Cc: Subject: PERFORCE change 80725 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 00:34:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=80725 Change 80725 by sam@sam_ebb on 2005/07/22 00:34:20 don't try to use the scanner state from a previous mode when doing a check_scan; fixes assert failure when starting in sta mode then switching to ap mode Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_scan.c#2 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_scan.c#2 (text+ko) ==== @@ -451,7 +451,17 @@ } IEEE80211_UNLOCK(ic); if (checkscanlist) { - if (ss->ss_ops->scan_end(ss, ic)) { + const struct ieee80211_scanner *scan; + + scan = ieee80211_scanner_get(ic->ic_opmode); + if (scan == NULL) { + IEEE80211_DPRINTF(ic, IEEE80211_MSG_SCAN, + "%s: no scanner support for mode %u\n", + __func__, ic->ic_opmode); + /* XXX stat */ + return 0; + } + if (scan == ss->ss_ops && ss->ss_ops->scan_end(ss, ic)) { /* found an ap, just clear the flag */ ic->ic_flags &= ~IEEE80211_F_SCAN; return 1; From owner-p4-projects@FreeBSD.ORG Fri Jul 22 00:34:33 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF32816A458; Fri, 22 Jul 2005 00:34:32 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3942616A420 for ; Fri, 22 Jul 2005 00:34:32 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A74443D49 for ; Fri, 22 Jul 2005 00:34:28 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M0YScf034013 for ; Fri, 22 Jul 2005 00:34:28 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M0YRPt034008 for perforce@freebsd.org; Fri, 22 Jul 2005 00:34:27 GMT (envelope-from sam@freebsd.org) Date: Fri, 22 Jul 2005 00:34:27 GMT Message-Id: <200507220034.j6M0YRPt034008@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 Cc: Subject: PERFORCE change 80724 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 00:34:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=80724 Change 80724 by sam@sam_ebb on 2005/07/22 00:33:29 fix check that caused DSPARMS ie to not be included in beacon frames Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#47 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#47 (text+ko) ==== @@ -1444,7 +1444,7 @@ ic->ic_bss->ni_esslen); frm = ieee80211_add_rates(frm, &ni->ni_rates); - if (ic->ic_phytype == IEEE80211_T_FH) { + if (IEEE80211_IS_CHAN_FHSS(ic->ic_curchan)) { *frm++ = IEEE80211_ELEMID_FHPARMS; *frm++ = 5; *frm++ = ni->ni_fhdwell & 0x00ff; @@ -1789,7 +1789,7 @@ } else *frm++ = 0; frm = ieee80211_add_rates(frm, rs); - if (IEEE80211_IS_CHAN_FHSS(ic->ic_bsschan)) { + if (!IEEE80211_IS_CHAN_FHSS(ic->ic_bsschan)) { *frm++ = IEEE80211_ELEMID_DSPARMS; *frm++ = 1; *frm++ = ieee80211_chan2ieee(ic, ic->ic_bsschan); From owner-p4-projects@FreeBSD.ORG Fri Jul 22 00:35:31 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB05C16A452; Fri, 22 Jul 2005 00:35:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 8CA9816A426 for ; Fri, 22 Jul 2005 00:35:30 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F50243D45 for ; Fri, 22 Jul 2005 00:35:30 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M0ZUte034138 for ; Fri, 22 Jul 2005 00:35:30 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M0ZUlT034135 for perforce@freebsd.org; Fri, 22 Jul 2005 00:35:30 GMT (envelope-from sam@freebsd.org) Date: Fri, 22 Jul 2005 00:35:30 GMT Message-Id: <200507220035.j6M0ZUlT034135@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 Cc: Subject: PERFORCE change 80726 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 00:35:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=80726 Change 80726 by sam@sam_ebb on 2005/07/22 00:34:52 include calculated max rate in assoc failure diag so one can diagnose pureg rejections Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#55 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#55 (text+ko) ==== @@ -2473,9 +2473,9 @@ if ((rate & IEEE80211_RATE_BASIC) || ((ic->ic_flags & IEEE80211_F_PUREG) && rate < 48)) { IEEE80211_DPRINTF(ic, IEEE80211_MSG_ANY, - "[%s] deny %s request, rate set mismatch\n", + "[%s] deny %s request, rate set mismatch, rate 0x%x\n", ether_sprintf(wh->i_addr2), - reassoc ? "reassoc" : "assoc"); + reassoc ? "reassoc" : "assoc", rate); IEEE80211_SEND_MGMT(ic, ni, resp, IEEE80211_STATUS_BASIC_RATE); ieee80211_node_leave(ic, ni); From owner-p4-projects@FreeBSD.ORG Fri Jul 22 02:46:35 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B524516A42B; Fri, 22 Jul 2005 02:46:34 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6102716A420 for ; Fri, 22 Jul 2005 02:46:34 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A4AA743D81 for ; Fri, 22 Jul 2005 02:46:23 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M2k8a5045879 for ; Fri, 22 Jul 2005 02:46:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M2k8eB045876 for perforce@freebsd.org; Fri, 22 Jul 2005 02:46:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 22 Jul 2005 02:46:08 GMT Message-Id: <200507220246.j6M2k8eB045876@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 Cc: Subject: PERFORCE change 80729 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 02:46:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=80729 Change 80729 by rwatson@rwatson_zoo on 2005/07/22 02:45:09 In if_addmulti(), use M_NOWAIT and fail rather than sleeping, since we may be called with mutexes. The assumption of failure is already handled by the callers, who also use M_NOWAIT. Affected files ... .. //depot/projects/netsmp/src/sys/net/if.c#4 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if.c#4 (text+ko) ==== @@ -1980,10 +1980,21 @@ } else llsa = NULL; - new_ifma = if_allocmulti(ifp, sa, llsa, M_WAITOK); - if (llsa != NULL) - new_ll_ifma = if_allocmulti(ifp, llsa, NULL, M_WAITOK); - else + new_ifma = if_allocmulti(ifp, sa, llsa, M_NOWAIT); + if (new_ifma == NULL) { + if (llsa != NULL) + free(llsa, M_IFMADDR); + return (ENOMEM); + } + if (llsa != NULL) { + new_ll_ifma = if_allocmulti(ifp, llsa, NULL, M_NOWAIT); + if (new_ll_ifma == NULL) { + if_freemulti(new_ifma); + if (llsa != NULL) + free(llsa, M_IFMADDR); + return (ENOMEM); + } + } else new_ll_ifma = NULL; /* gcc */ /* From owner-p4-projects@FreeBSD.ORG Fri Jul 22 02:46:39 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8395316A42C; Fri, 22 Jul 2005 02:46:38 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3ECDD16A426 for ; Fri, 22 Jul 2005 02:46:38 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E6F643D82 for ; Fri, 22 Jul 2005 02:46:23 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M2k8s5045885 for ; Fri, 22 Jul 2005 02:46:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M2k854045882 for perforce@freebsd.org; Fri, 22 Jul 2005 02:46:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 22 Jul 2005 02:46:08 GMT Message-Id: <200507220246.j6M2k854045882@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 Cc: Subject: PERFORCE change 80730 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 02:46:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=80730 Change 80730 by rwatson@rwatson_zoo on 2005/07/22 02:45:35 Use M_NOWAIT when allocating address storage in if_resolvemulti() methods, so that the method can be called with a mutex held (see description of similar change in if_addmulti()). Affected files ... .. //depot/projects/netsmp/src/sys/net/if_arcsubr.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_ethersubr.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_fddisubr.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_iso88025subr.c#2 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if_arcsubr.c#2 (text+ko) ==== @@ -798,7 +798,9 @@ if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) return EADDRNOTAVAIL; MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_ZERO); + M_NOWAIT | M_ZERO); + if (sdl == NULL) + return ENOMEM; sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; @@ -824,7 +826,9 @@ if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) return EADDRNOTAVAIL; MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_ZERO); + M_NOWAIT | M_ZERO); + if (sdl == NULL) + return ENOMEM; sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; ==== //depot/projects/netsmp/src/sys/net/if_ethersubr.c#2 (text+ko) ==== @@ -1135,7 +1135,9 @@ if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) return EADDRNOTAVAIL; MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK|M_ZERO); + M_NOWAIT|M_ZERO); + if (sdl == NULL) + return ENOMEM; sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; @@ -1162,7 +1164,9 @@ if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) return EADDRNOTAVAIL; MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK|M_ZERO); + M_NOWAIT|M_ZERO); + if (sdl == NULL) + return (ENOMEM); sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; ==== //depot/projects/netsmp/src/sys/net/if_fddisubr.c#2 (text+ko) ==== @@ -720,7 +720,9 @@ if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) return (EADDRNOTAVAIL); MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK); + M_NOWAIT | M_ZERO); + if (sdl == NULL) + return (ENOMEM); sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; @@ -749,7 +751,9 @@ if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) return (EADDRNOTAVAIL); MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK); + M_NOWAIT | M_ZERO); + if (sdl == NULL) + return (ENOMEM); sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; ==== //depot/projects/netsmp/src/sys/net/if_iso88025subr.c#2 (text+ko) ==== @@ -720,7 +720,9 @@ return (EADDRNOTAVAIL); } MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK|M_ZERO); + M_NOWAIT|M_ZERO); + if (sdl == NULL) + return (ENOMEM); sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; @@ -748,7 +750,9 @@ return (EADDRNOTAVAIL); } MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK|M_ZERO); + M_NOWAIT|M_ZERO); + if (sdl == NULL) + return (ENOMEM); sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; From owner-p4-projects@FreeBSD.ORG Fri Jul 22 02:51:12 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D244816A421; Fri, 22 Jul 2005 02:51:11 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 AC54816A41F for ; Fri, 22 Jul 2005 02:51:11 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 93A2543D76 for ; Fri, 22 Jul 2005 02:49:29 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M2nCIB045988 for ; Fri, 22 Jul 2005 02:49:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M2nCaP045985 for perforce@freebsd.org; Fri, 22 Jul 2005 02:49:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 22 Jul 2005 02:49:12 GMT Message-Id: <200507220249.j6M2nCaP045985@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 Cc: Subject: PERFORCE change 80731 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 02:51:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=80731 Change 80731 by rwatson@rwatson_zoo on 2005/07/22 02:48:12 Add a new mutex, in_multi_mtx, which will protect IPv4 multicast addresses, as well as the consistency of IPv4 multicast data pointed to by link level multicast address entries. Initialize with a SYSINIT(). Provide accessor macros. Assert in_multi_mtx in IN_*_MULTI() macros. Acquire in_multi_mtx in in_addmulti(), in_delmulti(). Hold over calls to link layer multicast code, as well as IGMP code. NB: Need to look at lock order issues relating to how these calls are reached, and where the igmp code calls into. Affected files ... .. //depot/projects/netsmp/src/sys/netinet/in.c#2 edit .. //depot/projects/netsmp/src/sys/netinet/in_var.h#5 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet/in.c#2 (text+ko) ==== @@ -68,7 +68,14 @@ SYSCTL_INT(_net_inet_ip, OID_AUTO, subnets_are_local, CTLFLAG_RW, &subnetsarelocal, 0, "Treat all subnets as directly connected"); +/* + * The IPv4 multicast list (in_multihead and associated structures) + * are protected by the global in_multi_mtx. See in_var.h for + * more details. + */ struct in_multihead in_multihead; /* XXX BSS initialization */ +struct mtx in_multi_mtx; +MTX_SYSINIT(in_multi_mtx, &in_multi_mtx, "in_multi_mtx", MTX_DEF); extern struct inpcbinfo ripcbinfo; extern struct inpcbinfo udbinfo; @@ -951,6 +958,7 @@ struct ifmultiaddr *ifma; int s = splnet(); + IN_MULTI_LOCK(); /* * Call generic routine to add membership or increment * refcount. It wants addresses in the form of a sockaddr, @@ -962,6 +970,7 @@ sin.sin_addr = *ap; error = if_addmulti(ifp, (struct sockaddr *)&sin, &ifma); if (error) { + IN_MULTI_UNLOCK(); splx(s); return 0; } @@ -971,15 +980,21 @@ * a new record. Otherwise, we are done. */ if (ifma->ifma_protospec != NULL) { + IN_MULTI_UNLOCK(); splx(s); return ifma->ifma_protospec; } /* XXX - if_addmulti uses M_WAITOK. Can this really be called at interrupt time? If so, need to fix if_addmulti. XXX */ + /* + * XXXRW: This comment is right, and yes, we should use M_NOWAIT + * here due to spl's and now mutexes. + */ inm = (struct in_multi *)malloc(sizeof(*inm), M_IPMADDR, M_NOWAIT | M_ZERO); if (inm == NULL) { + IN_MULTI_UNLOCK(); splx(s); return (NULL); } @@ -994,6 +1009,7 @@ * Let IGMP know that we have joined a new IP multicast group. */ igmp_joingroup(inm); + IN_MULTI_UNLOCK(); splx(s); return (inm); } @@ -1005,10 +1021,12 @@ in_delmulti(inm) register struct in_multi *inm; { - struct ifmultiaddr *ifma = inm->inm_ifma; + struct ifmultiaddr *ifma; struct in_multi my_inm; int s = splnet(); + IN_MULTI_LOCK(); + ifma = inm->inm_ifma; my_inm.inm_ifp = NULL ; /* don't send the leave msg */ if (ifma->ifma_refcount == 1) { /* @@ -1026,5 +1044,6 @@ if_delmulti(ifma->ifma_ifp, ifma->ifma_addr); if (my_inm.inm_ifp != NULL) igmp_leavegroup(&my_inm); + IN_MULTI_UNLOCK(); splx(s); } ==== //depot/projects/netsmp/src/sys/netinet/in_var.h#5 (text+ko) ==== @@ -167,6 +167,17 @@ extern LIST_HEAD(in_multihead, in_multi) in_multihead; /* + * Lock macros for IPv4 layer multicast address lists. IPv4 lock goes + * before link layer multicast locks in the lock order. In most cases, + * consumers of IN_*_MULTI() macros should acquire the locks before + * calling them; users of the in_{add,del}multi() functions should not. + */ +extern struct mtx in_multi_mtx; +#define IN_MULTI_LOCK() mtx_lock(&in_multi_mtx) +#define IN_MULTI_UNLOCK() mtx_unlock(&in_multi_mtx) +#define IN_MULTI_LOCK_ASSERT() mtx_assert(&in_multi_mtx, MA_OWNED) + +/* * Structure used by macros below to remember position when stepping through * all of the in_multi records. */ @@ -187,6 +198,7 @@ do { \ struct ifmultiaddr *ifma; \ \ + IN_MULTI_LOCK_ASSERT(); \ IF_ADDR_LOCK(ifp); \ TAILQ_FOREACH(ifma, &((ifp)->if_multiaddrs), ifma_link) { \ if (ifma->ifma_addr->sa_family == AF_INET \ @@ -209,6 +221,7 @@ /* struct in_multistep step; */ \ /* struct in_multi *inm; */ \ do { \ + IN_MULTI_LOCK_ASSERT(); \ if (((inm) = (step).i_inm) != NULL) \ (step).i_inm = LIST_NEXT((step).i_inm, inm_link); \ } while(0) @@ -217,6 +230,7 @@ /* struct in_multistep step; */ \ /* struct in_multi *inm; */ \ do { \ + IN_MULTI_LOCK_ASSERT(); \ (step).i_inm = LIST_FIRST(&in_multihead); \ IN_NEXT_MULTI((step), (inm)); \ } while(0) From owner-p4-projects@FreeBSD.ORG Fri Jul 22 02:51:59 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B76FA16A4CB; Fri, 22 Jul 2005 02:51:58 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 53E2816A440 for ; Fri, 22 Jul 2005 02:51:58 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8266943E6F for ; Fri, 22 Jul 2005 02:51:01 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6M2oEZq046022 for ; Fri, 22 Jul 2005 02:50:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6M2oEj0046019 for perforce@freebsd.org; Fri, 22 Jul 2005 02:50:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 22 Jul 2005 02:50:14 GMT Message-Id: <200507220250.j6M2oEj0046019@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 Cc: Subject: PERFORCE change 80732 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 02:52:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=80732 Change 80732 by rwatson@rwatson_zoo on 2005/07/22 02:49:24 Acquire in_multi_mtx around use of in_multihead address list, accessor macros, etc. Assert in_multi_mtx in functions that require it, especially in IGMP, IP input and output routines. Affected files ... .. //depot/projects/netsmp/src/sys/netinet/igmp.c#2 edit .. //depot/projects/netsmp/src/sys/netinet/ip_input.c#2 edit .. //depot/projects/netsmp/src/sys/netinet/ip_output.c#2 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet/igmp.c#2 (text+ko) ==== @@ -286,6 +286,7 @@ * - Use the value specified in the query message as * the maximum timeout. */ + IN_MULTI_LOCK(); IN_FIRST_MULTI(step, inm); while (inm != NULL) { if (inm->inm_ifp == ifp && @@ -301,6 +302,7 @@ } IN_NEXT_MULTI(step, inm); } + IN_MULTI_UNLOCK(); break; @@ -343,14 +345,15 @@ * If we belong to the group being reported, stop * our timer for that group. */ + IN_MULTI_LOCK(); IN_LOOKUP_MULTI(igmp->igmp_group, ifp, inm); - if (inm != NULL) { inm->inm_timer = 0; ++igmpstat.igps_rcv_ourreports; inm->inm_state = IGMP_OTHERMEMBER; } + IN_MULTI_UNLOCK(); break; } @@ -367,6 +370,8 @@ { int s = splnet(); + IN_MULTI_LOCK_ASSERT(); + if (inm->inm_addr.s_addr == igmp_all_hosts_group || inm->inm_ifp->if_flags & IFF_LOOPBACK) { inm->inm_timer = 0; @@ -391,6 +396,8 @@ igmp_leavegroup(struct in_multi *inm) { + IN_MULTI_LOCK_ASSERT(); + if (inm->inm_state == IGMP_IREPORTEDLAST && inm->inm_addr.s_addr != igmp_all_hosts_group && !(inm->inm_ifp->if_flags & IFF_LOOPBACK) && @@ -414,6 +421,7 @@ return; s = splnet(); + IN_MULTI_LOCK(); igmp_timers_are_running = 0; IN_FIRST_MULTI(step, inm); while (inm != NULL) { @@ -427,6 +435,7 @@ } IN_NEXT_MULTI(step, inm); } + IN_MULTI_UNLOCK(); splx(s); } @@ -458,6 +467,8 @@ struct ip *ip; struct ip_moptions imo; + IN_MULTI_LOCK_ASSERT(); + MGETHDR(m, M_DONTWAIT, MT_HEADER); if (m == NULL) return; ==== //depot/projects/netsmp/src/sys/netinet/ip_input.c#2 (text+ko) ==== @@ -607,7 +607,9 @@ * See if we belong to the destination multicast group on the * arrival interface. */ + IN_MULTI_LOCK(); IN_LOOKUP_MULTI(ip->ip_dst, m->m_pkthdr.rcvif, inm); + IN_MULTI_UNLOCK(); if (inm == NULL) { ipstat.ips_notmember++; m_freem(m); ==== //depot/projects/netsmp/src/sys/netinet/ip_output.c#2 (text+ko) ==== @@ -291,9 +291,15 @@ ip->ip_src = IA_SIN(ia)->sin_addr; } + /* + * XXXRW: Should the in_multi_mtx be held over + * ip_mloopback() or ip_mforward()? + */ + IN_MULTI_LOCK(); IN_LOOKUP_MULTI(ip->ip_dst, ifp, inm); if (inm != NULL && (imo == NULL || imo->imo_multicast_loop)) { + IN_MULTI_UNLOCK(); /* * If we belong to the destination multicast group * on the outgoing interface, and the caller did not @@ -302,6 +308,7 @@ ip_mloopback(ifp, m, dst, hlen); } else { + IN_MULTI_UNLOCK(); /* * If we are acting as a multicast router, perform * multicast forwarding as if the packet had just From owner-p4-projects@FreeBSD.ORG Fri Jul 22 18:32:17 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3FEC16A421; Fri, 22 Jul 2005 18:32:16 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 67BD816A41F for ; Fri, 22 Jul 2005 18:32:16 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04D2744DD9 for ; Fri, 22 Jul 2005 18:32:16 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MIWFXI029080 for ; Fri, 22 Jul 2005 18:32:15 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MIWFZG029077 for perforce@freebsd.org; Fri, 22 Jul 2005 18:32:15 GMT (envelope-from sam@freebsd.org) Date: Fri, 22 Jul 2005 18:32:15 GMT Message-Id: <200507221832.j6MIWFZG029077@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 Cc: Subject: PERFORCE change 80779 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 18:32:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=80779 Change 80779 by sam@sam_ebb on 2005/07/22 18:31:23 IFC @ 80778 Affected files ... .. //depot/projects/wifi/etc/Makefile#7 integrate .. //depot/projects/wifi/etc/defaults/rc.conf#17 integrate .. //depot/projects/wifi/etc/rc.d/bgfsck#2 integrate .. //depot/projects/wifi/etc/rc.d/power_profile#4 integrate .. //depot/projects/wifi/gnu/lib/libdialog/Makefile#4 integrate .. //depot/projects/wifi/gnu/lib/libg2c/Makefile#3 integrate .. //depot/projects/wifi/gnu/lib/libobjc/Makefile#6 integrate .. //depot/projects/wifi/gnu/lib/libreadline/Makefile.inc#2 integrate .. //depot/projects/wifi/gnu/lib/libregex/Makefile#3 integrate .. //depot/projects/wifi/gnu/lib/libstdc++/Makefile#5 integrate .. //depot/projects/wifi/kerberos5/lib/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libalias/Makefile#4 integrate .. //depot/projects/wifi/lib/libarchive/Makefile#12 integrate .. //depot/projects/wifi/lib/libbegemot/Makefile#3 integrate .. //depot/projects/wifi/lib/libbluetooth/Makefile#2 integrate .. //depot/projects/wifi/lib/libbsnmp/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libbz2/Makefile#2 integrate .. //depot/projects/wifi/lib/libc_r/Makefile#4 integrate .. //depot/projects/wifi/lib/libcrypt/Makefile#4 integrate .. //depot/projects/wifi/lib/libdevstat/Makefile#2 integrate .. //depot/projects/wifi/lib/libdevstat/devstat.h#2 integrate .. //depot/projects/wifi/lib/libedit/Makefile#2 integrate .. //depot/projects/wifi/lib/libexpat/Makefile#2 integrate .. //depot/projects/wifi/lib/libfetch/Makefile#3 integrate .. //depot/projects/wifi/lib/libftpio/Makefile#2 integrate .. //depot/projects/wifi/lib/libgpib/Makefile#2 integrate .. //depot/projects/wifi/lib/libipsec/Makefile#3 integrate .. //depot/projects/wifi/lib/libkiconv/Makefile#2 integrate .. //depot/projects/wifi/lib/libmagic/Makefile#4 integrate .. //depot/projects/wifi/lib/libmp/Makefile#2 integrate .. //depot/projects/wifi/lib/libncp/Makefile#3 integrate .. //depot/projects/wifi/lib/libncurses/Makefile#4 integrate .. //depot/projects/wifi/lib/libnetgraph/Makefile#2 integrate .. //depot/projects/wifi/lib/libngatm/Makefile#2 integrate .. //depot/projects/wifi/lib/libopie/Makefile#3 integrate .. //depot/projects/wifi/lib/libpam/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libpthread/Makefile#3 integrate .. //depot/projects/wifi/lib/libradius/Makefile#3 integrate .. //depot/projects/wifi/lib/libsdp/Makefile#2 integrate .. //depot/projects/wifi/lib/libsmb/Makefile#4 integrate .. //depot/projects/wifi/lib/libtacplus/Makefile#2 integrate .. //depot/projects/wifi/lib/libthr/Makefile#7 integrate .. //depot/projects/wifi/lib/libthread_db/Makefile#2 integrate .. //depot/projects/wifi/lib/libugidfw/Makefile#3 integrate .. //depot/projects/wifi/lib/libusbhid/Makefile#3 integrate .. //depot/projects/wifi/lib/libutil/Makefile#2 integrate .. //depot/projects/wifi/lib/libvgl/Makefile#2 integrate .. //depot/projects/wifi/lib/libwrap/Makefile#4 integrate .. //depot/projects/wifi/lib/libypclnt/Makefile#2 integrate .. //depot/projects/wifi/lib/msun/Makefile#11 integrate .. //depot/projects/wifi/secure/lib/libcrypto/Makefile#6 integrate .. //depot/projects/wifi/secure/lib/libssh/Makefile#6 integrate .. //depot/projects/wifi/secure/lib/libssl/Makefile#4 integrate .. //depot/projects/wifi/share/man/man4/kbdmux.4#2 integrate .. //depot/projects/wifi/share/man/man9/vhold.9#3 integrate .. //depot/projects/wifi/sys/amd64/amd64/mp_machdep.c#9 integrate .. //depot/projects/wifi/sys/amd64/conf/NOTES#13 integrate .. //depot/projects/wifi/sys/amd64/include/atomic.h#5 integrate .. //depot/projects/wifi/sys/amd64/include/bus_dma.h#5 integrate .. //depot/projects/wifi/sys/conf/files.amd64#16 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/amrr/amrr.c#14 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/onoe/onoe.c#14 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/sample/sample.c#6 integrate .. //depot/projects/wifi/sys/dev/ath/if_ath.c#91 integrate .. //depot/projects/wifi/sys/dev/awi/awi.c#10 integrate .. //depot/projects/wifi/sys/dev/vx/if_vx.c#5 integrate .. //depot/projects/wifi/sys/i386/bios/smapi_bios.S#2 integrate .. //depot/projects/wifi/sys/net/if_var.h#14 integrate .. //depot/projects/wifi/sys/net80211/ieee80211.c#25 integrate .. //depot/projects/wifi/sys/net80211/ieee80211.h#11 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#14 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#56 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#44 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#28 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#55 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#26 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#48 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#31 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.h#19 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#31 integrate .. //depot/projects/wifi/sys/netgraph/ng_base.c#15 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_bio.c#13 integrate .. //depot/projects/wifi/sys/nfsclient/nfs_node.c#10 integrate .. //depot/projects/wifi/sys/nfsclient/nfsnode.h#9 integrate .. //depot/projects/wifi/usr.sbin/bsnmpd/modules/Makefile.inc#3 integrate .. //depot/projects/wifi/usr.sbin/kbdcontrol/kbdcontrol.1#5 integrate .. //depot/projects/wifi/usr.sbin/ndiscvt/ndisgen.sh#2 integrate Differences ... ==== //depot/projects/wifi/etc/Makefile#7 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 -# $FreeBSD: src/etc/Makefile,v 1.344 2005/07/15 14:52:29 ru Exp $ +# $FreeBSD: src/etc/Makefile,v 1.345 2005/07/22 10:35:35 ru Exp $ .if !defined(NO_SENDMAIL) SUBDIR= sendmail @@ -86,6 +86,10 @@ .endif distribution: +.if !defined(DESTDIR) + @echo "set DESTDIR before running \"make ${.TARGET}\"" + @false +.endif cd ${.CURDIR}; \ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ ${BIN1} ${DESTDIR}/etc; \ ==== //depot/projects/wifi/etc/defaults/rc.conf#17 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.253 2005/07/21 15:17:54 pav Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.254 2005/07/22 00:38:55 obrien Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -482,10 +482,10 @@ devfs_system_ruleset="" # The name of a ruleset to apply to /dev devfs_set_rulesets="" # A list of /mount/dev=ruleset_name settings to # apply (must be mounted already, i.e. fstab(5)) -performance_cx_lowest="HIGH" # Online CPU idle state -performance_cpu_freq="NONE" # Online CPU frequency -economy_cx_lowest="HIGH" # Offline CPU idle state -economy_cpu_freq="NONE" # Offline CPU frequency +performance_cx_lowest="HIGH" # Online CPU idle state +performance_cpu_freq="NONE" # Online CPU frequency +economy_cx_lowest="HIGH" # Offline CPU idle state +economy_cpu_freq="NONE" # Offline CPU frequency virecover_enable="YES" # Perform housekeeping for the vi(1) editor ugidfw_enable="NO" # Load mac_bsdextended(4) rules on boot bsdextended_script="/etc/rc.bsdextended" # Default mac_bsdextended(4) ==== //depot/projects/wifi/etc/rc.d/bgfsck#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/bgfsck,v 1.6 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/bgfsck,v 1.7 2005/07/22 00:57:37 obrien Exp $ # # PROVIDE: bgfsck -# REQUIRE: cron devfs +# REQUIRE: cron devfs syslogd # KEYWORD: nojail . /etc/rc.subr ==== //depot/projects/wifi/etc/rc.d/power_profile#4 (text+ko) ==== @@ -5,11 +5,13 @@ # # Arguments: 0x00 (AC offline, economy) or 0x01 (AC online, performance) # -# $FreeBSD: src/etc/rc.d/power_profile,v 1.7 2005/02/26 20:17:07 njl Exp $ +# $FreeBSD: src/etc/rc.d/power_profile,v 1.8 2005/07/22 00:57:04 obrien Exp $ # # PROVIDE: power_profile +# REQUIRE: mountcritlocal syslogd # KEYWORD: nojail nostart +# BEFORE: NETWORKING . /etc/rc.subr ==== //depot/projects/wifi/gnu/lib/libdialog/Makefile#4 (text+ko) ==== @@ -1,11 +1,11 @@ # Makefile for libdialog -# $FreeBSD: src/gnu/lib/libdialog/Makefile,v 1.42 2005/04/22 18:57:32 trhodes Exp $ +# $FreeBSD: src/gnu/lib/libdialog/Makefile,v 1.43 2005/07/22 17:18:57 kensmith Exp $ LIB= dialog INCS= dialog.h MAN= dialog.3 -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 SRCS= kernel.c rc.c checklist.c inputbox.c menubox.c msgbox.c \ lineedit.c radiolist.c textbox.c yesno.c prgbox.c raw_popen.c \ fselect.c ui_objects.c dir.c notify.c help.c gauge.c tree.c ==== //depot/projects/wifi/gnu/lib/libg2c/Makefile#3 (text+ko) ==== @@ -1,11 +1,11 @@ -# $FreeBSD: src/gnu/lib/libg2c/Makefile,v 1.15 2004/12/21 09:33:45 ru Exp $ +# $FreeBSD: src/gnu/lib/libg2c/Makefile,v 1.16 2005/07/22 17:18:57 kensmith Exp $ SRCDIR= ${.CURDIR}/../../../contrib/libf2c .PATH: ${SRCDIR} ${SRCDIR}/libU77 ${SRCDIR}/libF77 ${SRCDIR}/libI77 LIB= g2c -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 # Traditional FORTRAN Library members defined in libF77 ==== //depot/projects/wifi/gnu/lib/libobjc/Makefile#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libobjc/Makefile,v 1.26 2005/05/01 01:59:48 peter Exp $ +# $FreeBSD: src/gnu/lib/libobjc/Makefile,v 1.27 2005/07/22 17:18:58 kensmith Exp $ OBJCDIR=${.CURDIR}/../../../contrib/libobjc GCCDIR= ${.CURDIR}/../../../contrib/gcc @@ -6,7 +6,7 @@ .PATH: ${OBJCDIR}/objc ${OBJCDIR} LIB= objc -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 NO_MAN= SRCS= archive.c class.c encoding.c gc.c hash.c init.c misc.c \ ==== //depot/projects/wifi/gnu/lib/libreadline/Makefile.inc#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/gnu/lib/libreadline/Makefile.inc,v 1.11 2004/10/18 08:29:47 ache Exp $ +# $FreeBSD: src/gnu/lib/libreadline/Makefile.inc,v 1.12 2005/07/22 17:18:58 kensmith Exp $ -SHLIB_MAJOR=5 +SHLIB_MAJOR=6 RL_LIBRARY_VERSION=5.0 SRCDIR= ${.CURDIR}/../../../../contrib/libreadline ==== //depot/projects/wifi/gnu/lib/libregex/Makefile#3 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/gnu/lib/libregex/Makefile,v 1.31 2005/05/10 11:37:37 tjr Exp $ +# $FreeBSD: src/gnu/lib/libregex/Makefile,v 1.32 2005/07/22 17:18:58 kensmith Exp $ SUBDIR= doc LIB= gnuregex -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 SRCS= gnuregex.c INCSGROUPS= INCS WRINCS PXINCS ==== //depot/projects/wifi/gnu/lib/libstdc++/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libstdc++/Makefile,v 1.55 2005/04/22 18:57:32 trhodes Exp $ +# $FreeBSD: src/gnu/lib/libstdc++/Makefile,v 1.56 2005/07/22 17:18:58 kensmith Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc SRCDIR= ${.CURDIR}/../../../contrib/libstdc++ @@ -9,7 +9,7 @@ ${SUPDIR} ${GCCDIR} LIB= stdc++ -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H CFLAGS+= -I${.CURDIR} -I${SUPDIR} -I${GCCDIR} -I${SRCDIR}/include ==== //depot/projects/wifi/kerberos5/lib/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/kerberos5/lib/Makefile.inc,v 1.6 2003/10/09 19:48:45 nectar Exp $ +# $FreeBSD: src/kerberos5/lib/Makefile.inc,v 1.7 2005/07/22 17:18:58 kensmith Exp $ -SHLIB_MAJOR?= 7 +SHLIB_MAJOR?= 8 .include "../Makefile.inc" ==== //depot/projects/wifi/lib/Makefile.inc#2 (text+ko) ==== @@ -1,3 +1,3 @@ -# $FreeBSD: src/lib/Makefile.inc,v 1.2 2002/09/28 00:25:28 peter Exp $ +# $FreeBSD: src/lib/Makefile.inc,v 1.3 2005/07/22 17:18:58 kensmith Exp $ # Default version for system libs (override in /Makefile if necessary) -SHLIB_MAJOR?= 2 +SHLIB_MAJOR?= 3 ==== //depot/projects/wifi/lib/libalias/Makefile#4 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/lib/libalias/Makefile,v 1.30 2005/05/04 12:49:44 glebius Exp $ +# $FreeBSD: src/lib/libalias/Makefile,v 1.31 2005/07/22 17:18:59 kensmith Exp $ .PATH: ${.CURDIR}/../../sys/netinet/libalias LIB= alias SHLIBDIR?= /lib -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 MAN= libalias.3 SRCS= alias.c alias_cuseeme.c alias_db.c alias_ftp.c alias_irc.c \ alias_nbt.c alias_pptp.c alias_proxy.c alias_skinny.c alias_smedia.c \ ==== //depot/projects/wifi/lib/libarchive/Makefile#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.36 2005/06/04 22:30:36 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.37 2005/07/22 17:18:59 kensmith Exp $ # # Use "make distfile" to build a conventional tar.gz archive @@ -9,7 +9,7 @@ LIB= archive VERSION= 1.02.026 ARCHIVE_API_FEATURE= 2 -ARCHIVE_API_VERSION= 1 +ARCHIVE_API_VERSION= 2 SHLIB_MAJOR= ${ARCHIVE_API_VERSION} CFLAGS+= -DPACKAGE_NAME=\"lib${LIB}\" CFLAGS+= -DPACKAGE_VERSION=\"${VERSION}\" ==== //depot/projects/wifi/lib/libbegemot/Makefile#3 (text+ko) ==== @@ -1,11 +1,11 @@ -# $FreeBSD: src/lib/libbegemot/Makefile,v 1.2 2004/11/04 08:25:03 ru Exp $ +# $FreeBSD: src/lib/libbegemot/Makefile,v 1.3 2005/07/22 17:18:59 kensmith Exp $ LIBBEGEMOT_DIR=${.CURDIR}/../../contrib/libbegemot .PATH: ${LIBBEGEMOT_DIR} LIB= begemot -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SHLIBDIR?= /lib # WARNS?= 6 ==== //depot/projects/wifi/lib/libbluetooth/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # $Id: Makefile,v 1.5 2003/07/22 18:38:04 max Exp $ -# $FreeBSD: src/lib/libbluetooth/Makefile,v 1.1 2003/10/12 22:04:18 emax Exp $ +# $FreeBSD: src/lib/libbluetooth/Makefile,v 1.2 2005/07/22 17:18:59 kensmith Exp $ LIB= bluetooth MAN= bluetooth.3 @@ -7,7 +7,7 @@ WARNS?= 2 CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../sys -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= bluetooth.c INCS= bluetooth.h ==== //depot/projects/wifi/lib/libbsnmp/Makefile.inc#3 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/lib/libbsnmp/Makefile.inc,v 1.5 2004/10/24 15:32:30 ru Exp $ +# $FreeBSD: src/lib/libbsnmp/Makefile.inc,v 1.6 2005/07/22 17:18:59 kensmith Exp $ -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 WARNS?= 6 NO_WERROR= INCSDIR= ${INCLUDEDIR}/bsnmp ==== //depot/projects/wifi/lib/libbz2/Makefile#2 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/lib/libbz2/Makefile,v 1.5 2003/06/14 19:32:51 obrien Exp $ +# $FreeBSD: src/lib/libbz2/Makefile,v 1.6 2005/07/22 17:18:59 kensmith Exp $ BZ2DIR= ${.CURDIR}/../../contrib/bzip2 .PATH: ${BZ2DIR} LIB= bz2 -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= bzlib.c blocksort.c compress.c crctable.c decompress.c \ huffman.c randtable.c INCS= bzlib.h ==== //depot/projects/wifi/lib/libc_r/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc_r/Makefile,v 1.41 2004/12/21 09:33:46 ru Exp $ +# $FreeBSD: src/lib/libc_r/Makefile,v 1.42 2005/07/22 17:19:00 kensmith Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -8,7 +8,7 @@ # (for system call stubs) to CFLAGS below. -DSYSLIBC_SCCS affects just the # system call stubs. LIB=c_r -SHLIB_MAJOR= 5 +SHLIB_MAJOR= 6 CFLAGS+=-DPTHREAD_KERNEL CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/uthread \ -I${.CURDIR}/../../include ==== //depot/projects/wifi/lib/libcrypt/Makefile#4 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $FreeBSD: src/lib/libcrypt/Makefile,v 1.35 2004/12/21 10:16:00 ru Exp $ +# $FreeBSD: src/lib/libcrypt/Makefile,v 1.36 2005/07/22 17:19:00 kensmith Exp $ # -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 LIB= crypt SHLIBDIR?= /lib ==== //depot/projects/wifi/lib/libdevstat/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/lib/libdevstat/Makefile,v 1.14 2004/02/05 22:44:22 ru Exp $ +# $FreeBSD: src/lib/libdevstat/Makefile,v 1.15 2005/07/22 17:19:00 kensmith Exp $ LIB= devstat SHLIBDIR?= /lib # Bump DEVSTAT_USER_API_VER in devstat.h every time this is incremented. -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 SRCS= devstat.c INCS= devstat.h ==== //depot/projects/wifi/lib/libdevstat/devstat.h#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/lib/libdevstat/devstat.h,v 1.10 2003/03/18 17:05:27 phk Exp $ + * $FreeBSD: src/lib/libdevstat/devstat.h,v 1.11 2005/07/22 17:19:00 kensmith Exp $ */ #ifndef _DEVSTAT_H @@ -43,7 +43,7 @@ * backwards-compatible API changes, so application writers have a way to * determine when a particular feature is available. */ -#define DEVSTAT_USER_API_VER 5 +#define DEVSTAT_USER_API_VER 6 #define DEVSTAT_ERRBUF_SIZE 2048 /* size of the devstat library error string */ ==== //depot/projects/wifi/lib/libedit/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ # $NetBSD: Makefile,v 1.19 2000/08/15 12:01:40 mrg Exp $ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libedit/Makefile,v 1.28 2003/08/18 15:25:38 obrien Exp $ +# $FreeBSD: src/lib/libedit/Makefile,v 1.29 2005/07/22 17:19:00 kensmith Exp $ LIB= edit -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 SHLIBDIR?= /lib OSRCS= chared.c common.c el.c emacs.c fcns.c help.c hist.c key.c map.c \ ==== //depot/projects/wifi/lib/libexpat/Makefile#2 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/lib/libexpat/Makefile,v 1.4 2003/08/17 08:28:44 gordon Exp $ +# $FreeBSD: src/lib/libexpat/Makefile,v 1.5 2005/07/22 17:19:00 kensmith Exp $ EXPAT= ${.CURDIR}/../../contrib/expat LIB= bsdxml SHLIBDIR?= /lib -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= xmlparse.c xmlrole.c xmltok.c INCS= bsdxml.h MAN= libbsdxml.3 ==== //depot/projects/wifi/lib/libfetch/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libfetch/Makefile,v 1.44 2004/12/21 10:16:00 ru Exp $ +# $FreeBSD: src/lib/libfetch/Makefile,v 1.45 2005/07/22 17:19:00 kensmith Exp $ LIB= fetch CFLAGS+= -I. @@ -18,7 +18,7 @@ CSTD?= c99 WARNS?= 2 -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 ftperr.h: ftp.errors @echo "static struct fetcherr _ftp_errlist[] = {" > ${.TARGET} ==== //depot/projects/wifi/lib/libftpio/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/lib/libftpio/Makefile,v 1.13 2002/09/28 00:25:29 peter Exp $ +# $FreeBSD: src/lib/libftpio/Makefile,v 1.14 2005/07/22 17:19:01 kensmith Exp $ LIB= ftpio -SHLIB_MAJOR= 5 +SHLIB_MAJOR= 6 SRCS= ftpio.c ftperr.c INCS= ftpio.h ==== //depot/projects/wifi/lib/libgpib/Makefile#2 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/lib/libgpib/Makefile,v 1.1 2005/02/06 16:45:20 phk Exp $ +# $FreeBSD: src/lib/libgpib/Makefile,v 1.2 2005/07/22 17:19:01 kensmith Exp $ LIB = gpib SHLIBDIR ?= /lib -SHLIB_MAJOR = 0 +SHLIB_MAJOR = 1 NO_MAN = sorry SRCS = ibfoo.c INCS = gpib.h ==== //depot/projects/wifi/lib/libipsec/Makefile#3 (text+ko) ==== @@ -25,11 +25,11 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/lib/libipsec/Makefile,v 1.16 2004/12/21 10:49:25 ru Exp $ +# $FreeBSD: src/lib/libipsec/Makefile,v 1.17 2005/07/22 17:19:01 kensmith Exp $ LIB= ipsec SHLIBDIR?= /lib -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 CFLAGS+=-I. -I${.CURDIR} CFLAGS+=-DIPSEC_DEBUG -DIPSEC .if !defined(NO_INET6) ==== //depot/projects/wifi/lib/libkiconv/Makefile#2 (text+ko) ==== @@ -1,11 +1,11 @@ -# $FreeBSD: src/lib/libkiconv/Makefile,v 1.2 2003/12/08 08:32:19 fjoe Exp $ +# $FreeBSD: src/lib/libkiconv/Makefile,v 1.3 2005/07/22 17:19:01 kensmith Exp $ LIB= kiconv SHLIBDIR?= /lib SRCS= xlat16_iconv.c xlat16_sysctl.c SRCS+= quirks.c -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MAN= kiconv.3 ==== //depot/projects/wifi/lib/libmagic/Makefile#4 (text+ko) ==== @@ -1,11 +1,11 @@ -# $FreeBSD: src/lib/libmagic/Makefile,v 1.6 2005/01/28 17:01:54 ru Exp $ +# $FreeBSD: src/lib/libmagic/Makefile,v 1.7 2005/07/22 17:19:01 kensmith Exp $ # Copyright (c) David E. O'Brien, 2000-2004 CONTRDIR= ${.CURDIR}/../../contrib/file .PATH: ${CONTRDIR} LIB= magic -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MAN= libmagic.3 magic.5 SRCS= apprentice.c apptype.c ascmagic.c compress.c fsmagic.c funcs.c \ ==== //depot/projects/wifi/lib/libmp/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/lib/libmp/Makefile,v 1.9 2004/07/28 05:44:07 kan Exp $ +# $FreeBSD: src/lib/libmp/Makefile,v 1.10 2005/07/22 17:19:01 kensmith Exp $ LIB= mp -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 MAN= libmp.3 INCS= mp.h SRCS= mpasbn.c ==== //depot/projects/wifi/lib/libncp/Makefile#3 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/lib/libncp/Makefile,v 1.5 2004/12/21 08:47:02 ru Exp $ +# $FreeBSD: src/lib/libncp/Makefile,v 1.6 2005/07/22 17:19:02 kensmith Exp $ NCPLIB=${.CURDIR} LIB= ncp -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 NO_MAN= ==== //depot/projects/wifi/lib/libncurses/Makefile#4 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/lib/libncurses/Makefile,v 1.78 2004/12/21 12:05:10 ru Exp $ +# $FreeBSD: src/lib/libncurses/Makefile,v 1.79 2005/07/22 17:19:02 kensmith Exp $ NCURSES=${.CURDIR}/../../contrib/ncurses LIB= ncurses SHLIBDIR?= /lib -SHLIB_MAJOR=5 +SHLIB_MAJOR=6 # Should be elsewhere AWK?= awk ==== //depot/projects/wifi/lib/libnetgraph/Makefile#2 (text+ko) ==== @@ -1,11 +1,11 @@ -# $FreeBSD: src/lib/libnetgraph/Makefile,v 1.10 2004/01/28 00:11:42 ru Exp $ +# $FreeBSD: src/lib/libnetgraph/Makefile,v 1.11 2005/07/22 17:19:02 kensmith Exp $ # $Whistle: Makefile,v 1.4 1999/01/17 03:41:02 julian Exp $ LIB= netgraph WARNS?= 3 MAN= netgraph.3 -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= sock.c msg.c debug.c INCS= netgraph.h ==== //depot/projects/wifi/lib/libngatm/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/lib/libngatm/Makefile,v 1.5 2004/07/08 17:09:55 harti Exp $ +# $FreeBSD: src/lib/libngatm/Makefile,v 1.6 2005/07/22 17:19:02 kensmith Exp $ # # Author: Harti Brandt # LIB= ngatm -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MAN= libngatm.3 uniaddr.3 unifunc.3 unimsg.3 unisap.3 unistruct.3 WARNS?= 6 ==== //depot/projects/wifi/lib/libopie/Makefile#3 (text+ko) ==== @@ -1,10 +1,10 @@ # Makefile for libopie # -# $FreeBSD: src/lib/libopie/Makefile,v 1.20 2005/04/22 18:57:31 trhodes Exp $ +# $FreeBSD: src/lib/libopie/Makefile,v 1.21 2005/07/22 17:19:02 kensmith Exp $ # OPIE_DIST?= ${.CURDIR}/../../contrib/opie DIST_DIR= ${OPIE_DIST}/${.CURDIR:T} -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 KEYFILE?= \"/etc/opiekeys\" ==== //depot/projects/wifi/lib/libpam/Makefile.inc#3 (text+ko) ==== @@ -22,11 +22,11 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/lib/libpam/Makefile.inc,v 1.16 2005/06/17 08:14:42 des Exp $ +# $FreeBSD: src/lib/libpam/Makefile.inc,v 1.17 2005/07/22 17:19:02 kensmith Exp $ .ifdef PAM_DEBUG DEBUG_FLAGS+= -DDEBUG .endif -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 PAM_MOD_DIR= ${LIBDIR} ==== //depot/projects/wifi/lib/libpthread/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libpthread/Makefile,v 1.53 2004/10/24 15:32:32 ru Exp $ +# $FreeBSD: src/lib/libpthread/Makefile,v 1.54 2005/07/22 17:19:03 kensmith Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -12,7 +12,7 @@ .else LIB=pthread .endif -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 CFLAGS+=-DPTHREAD_KERNEL CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \ -I${.CURDIR}/../../include ==== //depot/projects/wifi/lib/libradius/Makefile#3 (text+ko) ==== @@ -22,13 +22,13 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/lib/libradius/Makefile,v 1.11 2004/12/21 10:16:00 ru Exp $ +# $FreeBSD: src/lib/libradius/Makefile,v 1.12 2005/07/22 17:19:03 kensmith Exp $ LIB= radius SRCS= radlib.c INCS= radlib.h radlib_vs.h CFLAGS+= -Wall -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MAN= libradius.3 radius.conf.5 .if defined(NO_CRYPT) || defined(NO_OPENSSL) ==== //depot/projects/wifi/lib/libsdp/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # $Id: Makefile,v 1.2 2003/09/07 20:34:19 max Exp $ -# $FreeBSD: src/lib/libsdp/Makefile,v 1.3 2004/01/25 21:33:58 emax Exp $ +# $FreeBSD: src/lib/libsdp/Makefile,v 1.4 2005/07/22 17:19:03 kensmith Exp $ LIB= sdp MAN= sdp.3 @@ -7,7 +7,7 @@ WARNS?= 2 CFLAGS+= -I${.CURDIR} -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= search.c service.c session.c util.c INCS= sdp.h ==== //depot/projects/wifi/lib/libsmb/Makefile#4 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/lib/libsmb/Makefile,v 1.7 2004/12/21 08:47:03 ru Exp $ +# $FreeBSD: src/lib/libsmb/Makefile,v 1.8 2005/07/22 17:19:03 kensmith Exp $ CONTRIBDIR= ${.CURDIR}/../../contrib/smbfs .PATH: ${CONTRIBDIR}/lib/smb LIB= smb -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 NO_MAN= SRCS= rcfile.c ctx.c cfopt.c subr.c nls.c rap.c mbuf.c rq.c file.c \ ==== //depot/projects/wifi/lib/libtacplus/Makefile#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/libtacplus/Makefile,v 1.6 2004/02/05 22:44:23 ru Exp $ +# $FreeBSD: src/lib/libtacplus/Makefile,v 1.7 2005/07/22 17:19:03 kensmith Exp $ LIB= tacplus SRCS= taclib.c @@ -30,7 +30,7 @@ CFLAGS+= -Wall DPADD= ${LIBMD} LDADD= -lmd -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MAN= libtacplus.3 tacplus.conf.5 .include ==== //depot/projects/wifi/lib/libthr/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/Makefile,v 1.13 2005/06/11 15:27:56 rwatson Exp $ +# $FreeBSD: src/lib/libthr/Makefile,v 1.14 2005/07/22 17:19:03 kensmith Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -8,7 +8,7 @@ # (for system call stubs) to CFLAGS below. -DSYSLIBC_SCCS affects just the # system call stubs. LIB=thr -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 CFLAGS+=-DPTHREAD_KERNEL CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \ -I${.CURDIR}/../../include ==== //depot/projects/wifi/lib/libthread_db/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/lib/libthread_db/Makefile,v 1.5 2004/08/16 03:30:16 davidxu Exp $ +# $FreeBSD: src/lib/libthread_db/Makefile,v 1.6 2005/07/22 17:19:03 kensmith Exp $ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH} LIB= thread_db -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= thread_db.c SRCS+= libpthread_db.c libpthread_md.c SRCS+= libc_r_db.c libc_r_md.c ==== //depot/projects/wifi/lib/libugidfw/Makefile#3 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/lib/libugidfw/Makefile,v 1.6 2005/03/28 09:38:43 pjd Exp $ +# $FreeBSD: src/lib/libugidfw/Makefile,v 1.7 2005/07/22 17:19:04 kensmith Exp $ LIB= ugidfw -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= ugidfw.c INCS= ugidfw.h ==== //depot/projects/wifi/lib/libusbhid/Makefile#3 (text+ko) ==== @@ -1,10 +1,10 @@ # $NetBSD: Makefile,v 1.5 1999/07/23 09:44:38 mrg Exp $ -# $FreeBSD: src/lib/libusbhid/Makefile,v 1.9 2005/06/04 10:58:37 schweikh Exp $ +# $FreeBSD: src/lib/libusbhid/Makefile,v 1.10 2005/07/22 17:19:04 kensmith Exp $ LIB= usbhid MAN= usbhid.3 -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MLINKS= usbhid.3 libusbhid.3 usbhid.3 hid_get_report_desc.3 \ usbhid.3 hid_dispose_report_desc.3 \ ==== //depot/projects/wifi/lib/libutil/Makefile#2 (text+ko) ==== @@ -1,8 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libutil/Makefile,v 1.56 2004/05/24 22:19:27 pjd Exp $ +# $FreeBSD: src/lib/libutil/Makefile,v 1.57 2005/07/22 17:19:04 kensmith Exp $ LIB= util -SHLIB_MAJOR= 4 +SHLIB_MAJOR= 5 SHLIBDIR?= /lib CFLAGS+=-DLIBC_SCCS -I${.CURDIR} -I${.CURDIR}/../libc/gen/ CFLAGS+=-DINET6 ==== //depot/projects/wifi/lib/libvgl/Makefile#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/lib/libvgl/Makefile,v 1.10 2002/09/28 00:25:32 peter Exp $ +# $FreeBSD: src/lib/libvgl/Makefile,v 1.11 2005/07/22 17:19:04 kensmith Exp $ LIB= vgl -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 CFLAGS+=-Wall -I${.CURDIR} SRCS= main.c simple.c bitmap.c text.c mouse.c keyboard.c INCS= vgl.h ==== //depot/projects/wifi/lib/libwrap/Makefile#4 (text+ko) ==== @@ -1,9 +1,9 @@ # -# $FreeBSD: src/lib/libwrap/Makefile,v 1.16 2004/12/21 10:49:26 ru Exp $ +# $FreeBSD: src/lib/libwrap/Makefile,v 1.17 2005/07/22 17:19:04 kensmith Exp $ # LIB= wrap -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 INCS= tcpd.h MAN= hosts_access.3 MAN+= hosts_access.5 hosts_options.5 ==== //depot/projects/wifi/lib/libypclnt/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/lib/libypclnt/Makefile,v 1.12 2004/02/04 09:53:29 ru Exp $ +# $FreeBSD: src/lib/libypclnt/Makefile,v 1.13 2005/07/22 17:19:04 kensmith Exp $ LIB= ypclnt -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 SRCS= ypclnt_connect.c \ ypclnt_error.c \ ypclnt_free.c \ ==== //depot/projects/wifi/lib/msun/Makefile#11 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.1beta 93/09/24 -# $FreeBSD: src/lib/msun/Makefile,v 1.71 2005/04/17 19:57:52 ache Exp $ +# $FreeBSD: src/lib/msun/Makefile,v 1.72 2005/07/22 17:19:05 kensmith Exp $ # # ==================================================== # Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. @@ -26,7 +26,7 @@ LIB= m SHLIBDIR?= /lib -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \ e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \ e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \ ==== //depot/projects/wifi/secure/lib/libcrypto/Makefile#6 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/secure/lib/libcrypto/Makefile,v 1.73 2005/02/25 06:04:09 nectar Exp $ +# $FreeBSD: src/secure/lib/libcrypto/Makefile,v 1.74 2005/07/22 17:19:05 kensmith Exp $ LIB= crypto SHLIBDIR?= /lib -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 NO_LINT= ==== //depot/projects/wifi/secure/lib/libssh/Makefile#6 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/secure/lib/libssh/Makefile,v 1.34 2005/06/07 09:31:26 des Exp $ +# $FreeBSD: src/secure/lib/libssh/Makefile,v 1.35 2005/07/22 17:19:05 kensmith Exp $ LIB= ssh -SHLIB_MAJOR= 2 +SHLIB_MAJOR= 3 SRCS= acss.c authfd.c authfile.c bufaux.c buffer.c \ canohost.c channels.c cipher.c cipher-acss.c cipher-aes.c \ cipher-bf1.c cipher-ctr.c cipher-3des1.c cleanup.c \ ==== //depot/projects/wifi/secure/lib/libssl/Makefile#4 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/secure/lib/libssl/Makefile,v 1.21 2004/12/21 09:33:45 ru Exp $ +# $FreeBSD: src/secure/lib/libssl/Makefile,v 1.22 2005/07/22 17:19:05 kensmith Exp $ LIB= ssl -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 NO_LINT= ==== //depot/projects/wifi/share/man/man4/kbdmux.4#2 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $Id: kbdmux.4,v 1.1 2005/07/14 20:32:10 max Exp $ -.\" $FreeBSD: src/share/man/man4/kbdmux.4,v 1.1 2005/07/14 23:04:22 emax Exp $ +.\" $FreeBSD: src/share/man/man4/kbdmux.4,v 1.2 2005/07/21 22:47:34 markus Exp $ .\" .Dd July 12, 2005 .Os @@ -12,16 +12,16 @@ .Sh DESCRIPTION The .Nm -keyboard driver provides support for basic keyboard multiplexer. -It is built around the idea of -.Dq super keyboard , -that is +keyboard driver provides support for basic keyboard multiplexing. +It is built around the idea of a +.Dq super keyboard . .Nm -is a keyboard that consumes input from all slave keyboards attached to it. +acts as a master keyboard consuming input from all slave keyboards attached to +it. .Pp Slave keyboards can be attached to or detached from the .Nm -keyboard driver with +keyboard driver with the .Xr kbdcontrol 1 utility. .Sh SEE ALSO @@ -30,7 +30,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 22 21:56:30 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C9BE16A421; Fri, 22 Jul 2005 21:56:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2275D16A41F for ; Fri, 22 Jul 2005 21:56:30 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ECD9943D5E for ; Fri, 22 Jul 2005 21:56:29 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MLuToO044222 for ; Fri, 22 Jul 2005 21:56:29 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MLuTie044219 for perforce@freebsd.org; Fri, 22 Jul 2005 21:56:29 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 21:56:29 GMT Message-Id: <200507222156.j6MLuTie044219@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80796 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 21:56:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=80796 Change 80796 by soc-anders@soc-anders_gimli on 2005/07/22 21:55:34 Added net.key.pfkeystat to sysctl Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netkey/keysock.c#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netkey/keysock.c#2 (text+ko) ==== @@ -70,6 +70,10 @@ static int key_sendup0(struct rawcb *, struct mbuf *, int); struct pfkeystat pfkeystat; +SYSCTL_DECL(_net_key); +SYSCTL_STRUCT(_net_key, OID_AUTO, pfkeystat, CTLFLAG_RD, + &pfkeystat, pfkeystat, + "Statistics for pfkey socket (struct pfkeystat, netkey/keysock.h)"); /* * key_output() From owner-p4-projects@FreeBSD.ORG Fri Jul 22 22:05:42 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C063316A421; Fri, 22 Jul 2005 22:05:41 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9A3AF16A41F for ; Fri, 22 Jul 2005 22:05:41 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 716C043D46 for ; Fri, 22 Jul 2005 22:05:41 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MM5fYG044568 for ; Fri, 22 Jul 2005 22:05:41 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MM5fDh044565 for perforce@freebsd.org; Fri, 22 Jul 2005 22:05:41 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 22:05:41 GMT Message-Id: <200507222205.j6MM5fDh044565@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80797 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 22:05:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=80797 Change 80797 by soc-anders@soc-anders_gimli on 2005/07/22 22:05:22 Migrate in_aliasreq to in.h Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/in_var.h#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/in_var.h#2 (text+ko) ==== @@ -60,13 +60,6 @@ struct sockaddr_in ia_sockmask; /* reserve space for general netmask */ }; -struct in_aliasreq { - char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - struct sockaddr_in ifra_addr; - struct sockaddr_in ifra_broadaddr; -#define ifra_dstaddr ifra_broadaddr - struct sockaddr_in ifra_mask; -}; /* * Given a pointer to an in_ifaddr (ifaddr), * return a pointer to the addr as a sockaddr_in. From owner-p4-projects@FreeBSD.ORG Fri Jul 22 22:09:47 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 48DE616A421; Fri, 22 Jul 2005 22:09:47 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 1B59F16A41F for ; Fri, 22 Jul 2005 22:09:47 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E5F3543D48 for ; Fri, 22 Jul 2005 22:09:46 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MM9kvo044681 for ; Fri, 22 Jul 2005 22:09:46 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MM9kRo044678 for perforce@freebsd.org; Fri, 22 Jul 2005 22:09:46 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 22:09:46 GMT Message-Id: <200507222209.j6MM9kRo044678@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80798 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 22:09:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=80798 Change 80798 by soc-anders@soc-anders_gimli on 2005/07/22 22:09:10 Moved in_aliasreq from in_var.h to in.h Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/in.h#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/in.h#2 (text+ko) ==== @@ -37,6 +37,10 @@ #include #include +/* XXX Temporary solution to minimize changes to consumers */ +#include +#include + /* Protocols common to RFC 1700, POSIX, and X/Open. */ #define IPPROTO_IP 0 /* dummy for IP */ #define IPPROTO_ICMP 1 /* control message protocol */ @@ -423,6 +427,14 @@ #define IP_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */ #define IP_MAX_MEMBERSHIPS 20 /* per socket */ +struct in_aliasreq { + char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ + struct sockaddr_in ifra_addr; + struct sockaddr_in ifra_broadaddr; +#define ifra_dstaddr ifra_broadaddr + struct sockaddr_in ifra_mask; +}; + /* * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. */ From owner-p4-projects@FreeBSD.ORG Fri Jul 22 22:11:51 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54B7416A421; Fri, 22 Jul 2005 22:11:51 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 1610516A41F for ; Fri, 22 Jul 2005 22:11:51 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB1B643D58 for ; Fri, 22 Jul 2005 22:11:49 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MMBnHZ044871 for ; Fri, 22 Jul 2005 22:11:49 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MMBn1Z044868 for perforce@freebsd.org; Fri, 22 Jul 2005 22:11:49 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 22:11:49 GMT Message-Id: <200507222211.j6MMBn1Z044868@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80799 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 22:11:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=80799 Change 80799 by soc-anders@soc-anders_gimli on 2005/07/22 22:11:36 Moved ip6stats from netinet6/ip6_var.h to here Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/ip6.h#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/ip6.h#2 (text+ko) ==== @@ -211,6 +211,74 @@ #define IPV6_MAXPACKET 65535 /* ip6 max packet size without Jumbo payload*/ #define IPV6_MAXOPTHDR 2048 /* max option header size, 256 64-bit words */ +/* + * Control options for incoming packets + */ + +struct ip6stat { + u_quad_t ip6s_total; /* total packets received */ + u_quad_t ip6s_tooshort; /* packet too short */ + u_quad_t ip6s_toosmall; /* not enough data */ + u_quad_t ip6s_fragments; /* fragments received */ + u_quad_t ip6s_fragdropped; /* frags dropped(dups, out of space) */ + u_quad_t ip6s_fragtimeout; /* fragments timed out */ + u_quad_t ip6s_fragoverflow; /* fragments that exceeded limit */ + u_quad_t ip6s_forward; /* packets forwarded */ + u_quad_t ip6s_cantforward; /* packets rcvd for unreachable dest */ + u_quad_t ip6s_redirectsent; /* packets forwarded on same net */ + u_quad_t ip6s_delivered; /* datagrams delivered to upper level*/ + u_quad_t ip6s_localout; /* total ip packets generated here */ + u_quad_t ip6s_odropped; /* lost packets due to nobufs, etc. */ + u_quad_t ip6s_reassembled; /* total packets reassembled ok */ + u_quad_t ip6s_fragmented; /* datagrams successfully fragmented */ + u_quad_t ip6s_ofragments; /* output fragments created */ + u_quad_t ip6s_cantfrag; /* don't fragment flag was set, etc. */ + u_quad_t ip6s_badoptions; /* error in option processing */ + u_quad_t ip6s_noroute; /* packets discarded due to no route */ + u_quad_t ip6s_badvers; /* ip6 version != 6 */ + u_quad_t ip6s_rawout; /* total raw ip packets generated */ + u_quad_t ip6s_badscope; /* scope error */ + u_quad_t ip6s_notmember; /* don't join this multicast group */ + u_quad_t ip6s_nxthist[256]; /* next header history */ + u_quad_t ip6s_m1; /* one mbuf */ + u_quad_t ip6s_m2m[32]; /* two or more mbuf */ + u_quad_t ip6s_mext1; /* one ext mbuf */ + u_quad_t ip6s_mext2m; /* two or more ext mbuf */ + u_quad_t ip6s_exthdrtoolong; /* ext hdr are not continuous */ + u_quad_t ip6s_nogif; /* no match gif found */ + u_quad_t ip6s_toomanyhdr; /* discarded due to too many headers */ + + /* + * statistics for improvement of the source address selection + * algorithm: + * XXX: hardcoded 16 = # of ip6 multicast scope types + 1 + */ + /* number of times that address selection fails */ + u_quad_t ip6s_sources_none; + /* number of times that an address on the outgoing I/F is chosen */ + u_quad_t ip6s_sources_sameif[16]; + /* number of times that an address on a non-outgoing I/F is chosen */ + u_quad_t ip6s_sources_otherif[16]; + /* + * number of times that an address that has the same scope + * from the destination is chosen. + */ + u_quad_t ip6s_sources_samescope[16]; + /* + * number of times that an address that has a different scope + * from the destination is chosen. + */ + u_quad_t ip6s_sources_otherscope[16]; + /* number of times that a deprecated address is chosen */ + u_quad_t ip6s_sources_deprecated[16]; + + u_quad_t ip6s_forward_cachehit; + u_quad_t ip6s_forward_cachemiss; + + /* number of times that each rule of source selection is applied. */ + u_quad_t ip6s_sources_rule[16]; +}; + #ifdef _KERNEL /* * IP6_EXTHDR_CHECK ensures that region between the IP6 header and the From owner-p4-projects@FreeBSD.ORG Fri Jul 22 22:13:53 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7CE0716A421; Fri, 22 Jul 2005 22:13:53 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3D25E16A41F for ; Fri, 22 Jul 2005 22:13:53 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0CAAE43D45 for ; Fri, 22 Jul 2005 22:13:53 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MMDq9w045009 for ; Fri, 22 Jul 2005 22:13:52 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MMDq4C045005 for perforce@freebsd.org; Fri, 22 Jul 2005 22:13:52 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 22:13:52 GMT Message-Id: <200507222213.j6MMDq4C045005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80800 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 22:13:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=80800 Change 80800 by soc-anders@soc-anders_gimli on 2005/07/22 22:13:06 Migrated ip6stats to netinet/ip6.h Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_var.h#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_var.h#2 (text+ko) ==== @@ -177,74 +177,6 @@ int needfree; /* members dynamically allocated */ }; -/* - * Control options for incoming packets - */ - -struct ip6stat { - u_quad_t ip6s_total; /* total packets received */ - u_quad_t ip6s_tooshort; /* packet too short */ - u_quad_t ip6s_toosmall; /* not enough data */ - u_quad_t ip6s_fragments; /* fragments received */ - u_quad_t ip6s_fragdropped; /* frags dropped(dups, out of space) */ - u_quad_t ip6s_fragtimeout; /* fragments timed out */ - u_quad_t ip6s_fragoverflow; /* fragments that exceeded limit */ - u_quad_t ip6s_forward; /* packets forwarded */ - u_quad_t ip6s_cantforward; /* packets rcvd for unreachable dest */ - u_quad_t ip6s_redirectsent; /* packets forwarded on same net */ - u_quad_t ip6s_delivered; /* datagrams delivered to upper level*/ - u_quad_t ip6s_localout; /* total ip packets generated here */ - u_quad_t ip6s_odropped; /* lost packets due to nobufs, etc. */ - u_quad_t ip6s_reassembled; /* total packets reassembled ok */ - u_quad_t ip6s_fragmented; /* datagrams successfully fragmented */ - u_quad_t ip6s_ofragments; /* output fragments created */ - u_quad_t ip6s_cantfrag; /* don't fragment flag was set, etc. */ - u_quad_t ip6s_badoptions; /* error in option processing */ - u_quad_t ip6s_noroute; /* packets discarded due to no route */ - u_quad_t ip6s_badvers; /* ip6 version != 6 */ - u_quad_t ip6s_rawout; /* total raw ip packets generated */ - u_quad_t ip6s_badscope; /* scope error */ - u_quad_t ip6s_notmember; /* don't join this multicast group */ - u_quad_t ip6s_nxthist[256]; /* next header history */ - u_quad_t ip6s_m1; /* one mbuf */ - u_quad_t ip6s_m2m[32]; /* two or more mbuf */ - u_quad_t ip6s_mext1; /* one ext mbuf */ - u_quad_t ip6s_mext2m; /* two or more ext mbuf */ - u_quad_t ip6s_exthdrtoolong; /* ext hdr are not continuous */ - u_quad_t ip6s_nogif; /* no match gif found */ - u_quad_t ip6s_toomanyhdr; /* discarded due to too many headers */ - - /* - * statistics for improvement of the source address selection - * algorithm: - * XXX: hardcoded 16 = # of ip6 multicast scope types + 1 - */ - /* number of times that address selection fails */ - u_quad_t ip6s_sources_none; - /* number of times that an address on the outgoing I/F is chosen */ - u_quad_t ip6s_sources_sameif[16]; - /* number of times that an address on a non-outgoing I/F is chosen */ - u_quad_t ip6s_sources_otherif[16]; - /* - * number of times that an address that has the same scope - * from the destination is chosen. - */ - u_quad_t ip6s_sources_samescope[16]; - /* - * number of times that an address that has a different scope - * from the destination is chosen. - */ - u_quad_t ip6s_sources_otherscope[16]; - /* number of times that a deprecated address is chosen */ - u_quad_t ip6s_sources_deprecated[16]; - - u_quad_t ip6s_forward_cachehit; - u_quad_t ip6s_forward_cachemiss; - - /* number of times that each rule of source selection is applied. */ - u_quad_t ip6s_sources_rule[16]; -}; - #ifdef _KERNEL /* * IPv6 onion peeling state. @@ -282,6 +214,7 @@ #define IPV6_FORWARDING 0x02 /* most of IPv6 header exists */ #define IPV6_MINMTU 0x04 /* use minimum MTU (IPV6_USE_MIN_MTU) */ +struct ip6stat; extern struct ip6stat ip6stat; /* statistics */ extern int ip6_defhlim; /* default hop limit */ extern int ip6_defmcasthlim; /* default multicast hop limit */ From owner-p4-projects@FreeBSD.ORG Fri Jul 22 22:16:58 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 43F9016A421; Fri, 22 Jul 2005 22:16:58 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 06E8416A41F for ; Fri, 22 Jul 2005 22:16:58 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B6C7C43D46 for ; Fri, 22 Jul 2005 22:16:57 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MMGvCP045196 for ; Fri, 22 Jul 2005 22:16:57 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MMGvcG045193 for perforce@freebsd.org; Fri, 22 Jul 2005 22:16:57 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 22:16:57 GMT Message-Id: <200507222216.j6MMGvcG045193@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80802 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 22:16:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=80802 Change 80802 by soc-anders@soc-anders_gimli on 2005/07/22 22:16:11 Migrated statistical information as well as ioctl stuff from in6_var.h to in6.h. Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/in6.h#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/in6_var.h#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/in6.h#2 (text+ko) ==== @@ -390,6 +390,342 @@ #endif /* _KERNEL */ /* + * IPv6 interface statistics, as defined in RFC2465 Ipv6IfStatsEntry (p12). + */ +struct in6_ifstat { + u_quad_t ifs6_in_receive; /* # of total input datagram */ + u_quad_t ifs6_in_hdrerr; /* # of datagrams with invalid hdr */ + u_quad_t ifs6_in_toobig; /* # of datagrams exceeded MTU */ + u_quad_t ifs6_in_noroute; /* # of datagrams with no route */ + u_quad_t ifs6_in_addrerr; /* # of datagrams with invalid dst */ + u_quad_t ifs6_in_protounknown; /* # of datagrams with unknown proto */ + /* NOTE: increment on final dst if */ + u_quad_t ifs6_in_truncated; /* # of truncated datagrams */ + u_quad_t ifs6_in_discard; /* # of discarded datagrams */ + /* NOTE: fragment timeout is not here */ + u_quad_t ifs6_in_deliver; /* # of datagrams delivered to ULP */ + /* NOTE: increment on final dst if */ + u_quad_t ifs6_out_forward; /* # of datagrams forwarded */ + /* NOTE: increment on outgoing if */ + u_quad_t ifs6_out_request; /* # of outgoing datagrams from ULP */ + /* NOTE: does not include forwrads */ + u_quad_t ifs6_out_discard; /* # of discarded datagrams */ + u_quad_t ifs6_out_fragok; /* # of datagrams fragmented */ + u_quad_t ifs6_out_fragfail; /* # of datagrams failed on fragment */ + u_quad_t ifs6_out_fragcreat; /* # of fragment datagrams */ + /* NOTE: this is # after fragment */ + u_quad_t ifs6_reass_reqd; /* # of incoming fragmented packets */ + /* NOTE: increment on final dst if */ + u_quad_t ifs6_reass_ok; /* # of reassembled packets */ + /* NOTE: this is # after reass */ + /* NOTE: increment on final dst if */ + u_quad_t ifs6_reass_fail; /* # of reass failures */ + /* NOTE: may not be packet count */ + /* NOTE: increment on final dst if */ + u_quad_t ifs6_in_mcast; /* # of inbound multicast datagrams */ + u_quad_t ifs6_out_mcast; /* # of outbound multicast datagrams */ +}; + +/* + * ICMPv6 interface statistics, as defined in RFC2466 Ipv6IfIcmpEntry. + * XXX: I'm not sure if this file is the right place for this structure... + */ +struct icmp6_ifstat { + /* + * Input statistics + */ + /* ipv6IfIcmpInMsgs, total # of input messages */ + u_quad_t ifs6_in_msg; + /* ipv6IfIcmpInErrors, # of input error messages */ + u_quad_t ifs6_in_error; + /* ipv6IfIcmpInDestUnreachs, # of input dest unreach errors */ + u_quad_t ifs6_in_dstunreach; + /* ipv6IfIcmpInAdminProhibs, # of input administratively prohibited errs */ + u_quad_t ifs6_in_adminprohib; + /* ipv6IfIcmpInTimeExcds, # of input time exceeded errors */ + u_quad_t ifs6_in_timeexceed; + /* ipv6IfIcmpInParmProblems, # of input parameter problem errors */ + u_quad_t ifs6_in_paramprob; + /* ipv6IfIcmpInPktTooBigs, # of input packet too big errors */ + u_quad_t ifs6_in_pkttoobig; + /* ipv6IfIcmpInEchos, # of input echo requests */ + u_quad_t ifs6_in_echo; + /* ipv6IfIcmpInEchoReplies, # of input echo replies */ + u_quad_t ifs6_in_echoreply; + /* ipv6IfIcmpInRouterSolicits, # of input router solicitations */ + u_quad_t ifs6_in_routersolicit; + /* ipv6IfIcmpInRouterAdvertisements, # of input router advertisements */ + u_quad_t ifs6_in_routeradvert; + /* ipv6IfIcmpInNeighborSolicits, # of input neighbor solicitations */ + u_quad_t ifs6_in_neighborsolicit; + /* ipv6IfIcmpInNeighborAdvertisements, # of input neighbor advertisements */ + u_quad_t ifs6_in_neighboradvert; + /* ipv6IfIcmpInRedirects, # of input redirects */ + u_quad_t ifs6_in_redirect; + /* ipv6IfIcmpInGroupMembQueries, # of input MLD queries */ + u_quad_t ifs6_in_mldquery; + /* ipv6IfIcmpInGroupMembResponses, # of input MLD reports */ + u_quad_t ifs6_in_mldreport; + /* ipv6IfIcmpInGroupMembReductions, # of input MLD done */ + u_quad_t ifs6_in_mlddone; + + /* + * Output statistics. We should solve unresolved routing problem... + */ + /* ipv6IfIcmpOutMsgs, total # of output messages */ + u_quad_t ifs6_out_msg; + /* ipv6IfIcmpOutErrors, # of output error messages */ + u_quad_t ifs6_out_error; + /* ipv6IfIcmpOutDestUnreachs, # of output dest unreach errors */ + u_quad_t ifs6_out_dstunreach; + /* ipv6IfIcmpOutAdminProhibs, # of output administratively prohibited errs */ + u_quad_t ifs6_out_adminprohib; + /* ipv6IfIcmpOutTimeExcds, # of output time exceeded errors */ + u_quad_t ifs6_out_timeexceed; + /* ipv6IfIcmpOutParmProblems, # of output parameter problem errors */ + u_quad_t ifs6_out_paramprob; + /* ipv6IfIcmpOutPktTooBigs, # of output packet too big errors */ + u_quad_t ifs6_out_pkttoobig; + /* ipv6IfIcmpOutEchos, # of output echo requests */ + u_quad_t ifs6_out_echo; + /* ipv6IfIcmpOutEchoReplies, # of output echo replies */ + u_quad_t ifs6_out_echoreply; + /* ipv6IfIcmpOutRouterSolicits, # of output router solicitations */ + u_quad_t ifs6_out_routersolicit; + /* ipv6IfIcmpOutRouterAdvertisements, # of output router advertisements */ + u_quad_t ifs6_out_routeradvert; + /* ipv6IfIcmpOutNeighborSolicits, # of output neighbor solicitations */ + u_quad_t ifs6_out_neighborsolicit; + /* ipv6IfIcmpOutNeighborAdvertisements, # of output neighbor advertisements */ + u_quad_t ifs6_out_neighboradvert; + /* ipv6IfIcmpOutRedirects, # of output redirects */ + u_quad_t ifs6_out_redirect; + /* ipv6IfIcmpOutGroupMembQueries, # of output MLD queries */ + u_quad_t ifs6_out_mldquery; + /* ipv6IfIcmpOutGroupMembResponses, # of output MLD reports */ + u_quad_t ifs6_out_mldreport; + /* ipv6IfIcmpOutGroupMembReductions, # of output MLD done */ + u_quad_t ifs6_out_mlddone; +}; + +/* + * pltime/vltime are just for future reference (required to implements 2 + * hour rule for hosts). they should never be modified by nd6_timeout or + * anywhere else. + * userland -> kernel: accept pltime/vltime + * kernel -> userland: throw up everything + * in kernel: modify preferred/expire only + */ +struct in6_addrlifetime { + time_t ia6t_expire; /* valid lifetime expiration time */ + time_t ia6t_preferred; /* preferred lifetime expiration time */ + u_int32_t ia6t_vltime; /* valid lifetime */ + u_int32_t ia6t_pltime; /* prefix lifetime */ +}; + +/* control structure to manage address selection policy */ +struct in6_addrpolicy { + struct sockaddr_in6 addr; /* prefix address */ + struct sockaddr_in6 addrmask; /* prefix mask */ + int preced; /* precedence */ + int label; /* matching label */ + u_quad_t use; /* statistics */ +}; + +struct in6_ifreq { + char ifr_name[IFNAMSIZ]; + union { + struct sockaddr_in6 ifru_addr; + struct sockaddr_in6 ifru_dstaddr; + int ifru_flags; + int ifru_flags6; + int ifru_metric; + caddr_t ifru_data; + struct in6_addrlifetime ifru_lifetime; + struct in6_ifstat ifru_stat; + struct icmp6_ifstat ifru_icmp6stat; + u_int32_t ifru_scope_id[16]; + } ifr_ifru; +}; + +struct in6_aliasreq { + char ifra_name[IFNAMSIZ]; + struct sockaddr_in6 ifra_addr; + struct sockaddr_in6 ifra_dstaddr; + struct sockaddr_in6 ifra_prefixmask; + int ifra_flags; + struct in6_addrlifetime ifra_lifetime; +}; + +/* prefix type macro */ +#define IN6_PREFIX_ND 1 +#define IN6_PREFIX_RR 2 + +/* + * prefix related flags passed between kernel(NDP related part) and + * user land command(ifconfig) and daemon(rtadvd). + */ +struct in6_prflags { + struct prf_ra { + u_char onlink : 1; + u_char autonomous : 1; + u_char reserved : 6; + } prf_ra; + u_char prf_reserved1; + u_short prf_reserved2; + /* want to put this on 4byte offset */ + struct prf_rr { + u_char decrvalid : 1; + u_char decrprefd : 1; + u_char reserved : 6; + } prf_rr; + u_char prf_reserved3; + u_short prf_reserved4; +}; + +struct in6_prefixreq { + char ipr_name[IFNAMSIZ]; + u_char ipr_origin; + u_char ipr_plen; + u_int32_t ipr_vltime; + u_int32_t ipr_pltime; + struct in6_prflags ipr_flags; + struct sockaddr_in6 ipr_prefix; +}; + +#define PR_ORIG_RA 0 +#define PR_ORIG_RR 1 +#define PR_ORIG_STATIC 2 +#define PR_ORIG_KERNEL 3 + +#define ipr_raf_onlink ipr_flags.prf_ra.onlink +#define ipr_raf_auto ipr_flags.prf_ra.autonomous + +#define ipr_statef_onlink ipr_flags.prf_state.onlink + +#define ipr_rrf_decrvalid ipr_flags.prf_rr.decrvalid +#define ipr_rrf_decrprefd ipr_flags.prf_rr.decrprefd + +struct in6_rrenumreq { + char irr_name[IFNAMSIZ]; + u_char irr_origin; + u_char irr_m_len; /* match len for matchprefix */ + u_char irr_m_minlen; /* minlen for matching prefix */ + u_char irr_m_maxlen; /* maxlen for matching prefix */ + u_char irr_u_uselen; /* uselen for adding prefix */ + u_char irr_u_keeplen; /* keeplen from matching prefix */ + struct irr_raflagmask { + u_char onlink : 1; + u_char autonomous : 1; + u_char reserved : 6; + } irr_raflagmask; + u_int32_t irr_vltime; + u_int32_t irr_pltime; + struct in6_prflags irr_flags; + struct sockaddr_in6 irr_matchprefix; + struct sockaddr_in6 irr_useprefix; +}; + +#define irr_raf_mask_onlink irr_raflagmask.onlink +#define irr_raf_mask_auto irr_raflagmask.autonomous +#define irr_raf_mask_reserved irr_raflagmask.reserved + +#define irr_raf_onlink irr_flags.prf_ra.onlink +#define irr_raf_auto irr_flags.prf_ra.autonomous + +#define irr_statef_onlink irr_flags.prf_state.onlink + +#define irr_rrf irr_flags.prf_rr +#define irr_rrf_decrvalid irr_flags.prf_rr.decrvalid +#define irr_rrf_decrprefd irr_flags.prf_rr.decrprefd + +#define SIOCSIFADDR_IN6 _IOW('i', 12, struct in6_ifreq) +#define SIOCGIFADDR_IN6 _IOWR('i', 33, struct in6_ifreq) + +#ifdef _KERNEL +/* + * SIOCSxxx ioctls should be unused (see comments in in6.c), but + * we do not shift numbers for binary compatibility. + */ +#define SIOCSIFDSTADDR_IN6 _IOW('i', 14, struct in6_ifreq) +#define SIOCSIFNETMASK_IN6 _IOW('i', 22, struct in6_ifreq) +#endif + +#define SIOCGIFDSTADDR_IN6 _IOWR('i', 34, struct in6_ifreq) +#define SIOCGIFNETMASK_IN6 _IOWR('i', 37, struct in6_ifreq) + +#define SIOCDIFADDR_IN6 _IOW('i', 25, struct in6_ifreq) +#define SIOCAIFADDR_IN6 _IOW('i', 26, struct in6_aliasreq) + +#define SIOCSIFPHYADDR_IN6 _IOW('i', 70, struct in6_aliasreq) +#define SIOCGIFPSRCADDR_IN6 _IOWR('i', 71, struct in6_ifreq) +#define SIOCGIFPDSTADDR_IN6 _IOWR('i', 72, struct in6_ifreq) + +#define SIOCGIFAFLAG_IN6 _IOWR('i', 73, struct in6_ifreq) + +#define SIOCGDRLST_IN6 _IOWR('i', 74, struct in6_drlist) +#ifdef _KERNEL +/* XXX: SIOCGPRLST_IN6 is exposed in KAME but in6_oprlist is not. */ +#define SIOCGPRLST_IN6 _IOWR('i', 75, struct in6_oprlist) +#endif +#ifdef _KERNEL +#define OSIOCGIFINFO_IN6 _IOWR('i', 76, struct in6_ondireq) +#endif +#define SIOCGIFINFO_IN6 _IOWR('i', 108, struct in6_ndireq) +#define SIOCSNDFLUSH_IN6 _IOWR('i', 77, struct in6_ifreq) +#define SIOCGNBRINFO_IN6 _IOWR('i', 78, struct in6_nbrinfo) +#define SIOCSPFXFLUSH_IN6 _IOWR('i', 79, struct in6_ifreq) +#define SIOCSRTRFLUSH_IN6 _IOWR('i', 80, struct in6_ifreq) + +#define SIOCGIFALIFETIME_IN6 _IOWR('i', 81, struct in6_ifreq) +#define SIOCSIFALIFETIME_IN6 _IOWR('i', 82, struct in6_ifreq) +#define SIOCGIFSTAT_IN6 _IOWR('i', 83, struct in6_ifreq) +#define SIOCGIFSTAT_ICMP6 _IOWR('i', 84, struct in6_ifreq) + +#define SIOCSDEFIFACE_IN6 _IOWR('i', 85, struct in6_ndifreq) +#define SIOCGDEFIFACE_IN6 _IOWR('i', 86, struct in6_ndifreq) + +#define SIOCSIFINFO_FLAGS _IOWR('i', 87, struct in6_ndireq) /* XXX */ + +#define SIOCSSCOPE6 _IOW('i', 88, struct in6_ifreq) +#define SIOCGSCOPE6 _IOWR('i', 89, struct in6_ifreq) +#define SIOCGSCOPE6DEF _IOWR('i', 90, struct in6_ifreq) + +#define SIOCSIFPREFIX_IN6 _IOW('i', 100, struct in6_prefixreq) /* set */ +#define SIOCGIFPREFIX_IN6 _IOWR('i', 101, struct in6_prefixreq) /* get */ +#define SIOCDIFPREFIX_IN6 _IOW('i', 102, struct in6_prefixreq) /* del */ +#define SIOCAIFPREFIX_IN6 _IOW('i', 103, struct in6_rrenumreq) /* add */ +#define SIOCCIFPREFIX_IN6 _IOW('i', 104, \ + struct in6_rrenumreq) /* change */ +#define SIOCSGIFPREFIX_IN6 _IOW('i', 105, \ + struct in6_rrenumreq) /* set global */ + +#define SIOCGETSGCNT_IN6 _IOWR('u', 106, \ + struct sioc_sg_req6) /* get s,g pkt cnt */ +#define SIOCGETMIFCNT_IN6 _IOWR('u', 107, \ + struct sioc_mif_req6) /* get pkt cnt per if */ + +#define SIOCAADDRCTL_POLICY _IOW('u', 108, struct in6_addrpolicy) +#define SIOCDADDRCTL_POLICY _IOW('u', 109, struct in6_addrpolicy) + +#define IN6_IFF_ANYCAST 0x01 /* anycast address */ +#define IN6_IFF_TENTATIVE 0x02 /* tentative address */ +#define IN6_IFF_DUPLICATED 0x04 /* DAD detected duplicate */ +#define IN6_IFF_DETACHED 0x08 /* may be detached from the link */ +#define IN6_IFF_DEPRECATED 0x10 /* deprecated address */ +#define IN6_IFF_NODAD 0x20 /* don't perform DAD on this address + * (used only at first SIOC* call) + */ +#define IN6_IFF_AUTOCONF 0x40 /* autoconfigurable address. */ +#define IN6_IFF_TEMPORARY 0x80 /* temporary (anonymous) address. */ +#define IN6_IFF_NOPFX 0x8000 /* skip kernel prefix management. + * XXX: this should be temporary. + */ + +/* do not input/output */ +#define IN6_IFF_NOTREADY (IN6_IFF_TENTATIVE|IN6_IFF_DUPLICATED) + +/* * IP6 route structure */ #if __BSD_VISIBLE ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/in6_var.h#2 (text+ko) ==== @@ -71,21 +71,7 @@ * of the structure and is assumed to be first. */ -/* - * pltime/vltime are just for future reference (required to implements 2 - * hour rule for hosts). they should never be modified by nd6_timeout or - * anywhere else. - * userland -> kernel: accept pltime/vltime - * kernel -> userland: throw up everything - * in kernel: modify preferred/expire only - */ -struct in6_addrlifetime { - time_t ia6t_expire; /* valid lifetime expiration time */ - time_t ia6t_preferred; /* preferred lifetime expiration time */ - u_int32_t ia6t_vltime; /* valid lifetime */ - u_int32_t ia6t_pltime; /* prefix lifetime */ -}; - +struct in6_addrlifetime; struct nd_ifinfo; struct scope6_id; struct in6_ifextra { @@ -114,242 +100,7 @@ struct nd_prefix *ia6_ndpr; }; -/* control structure to manage address selection policy */ -struct in6_addrpolicy { - struct sockaddr_in6 addr; /* prefix address */ - struct sockaddr_in6 addrmask; /* prefix mask */ - int preced; /* precedence */ - int label; /* matching label */ - u_quad_t use; /* statistics */ -}; - -/* - * IPv6 interface statistics, as defined in RFC2465 Ipv6IfStatsEntry (p12). - */ -struct in6_ifstat { - u_quad_t ifs6_in_receive; /* # of total input datagram */ - u_quad_t ifs6_in_hdrerr; /* # of datagrams with invalid hdr */ - u_quad_t ifs6_in_toobig; /* # of datagrams exceeded MTU */ - u_quad_t ifs6_in_noroute; /* # of datagrams with no route */ - u_quad_t ifs6_in_addrerr; /* # of datagrams with invalid dst */ - u_quad_t ifs6_in_protounknown; /* # of datagrams with unknown proto */ - /* NOTE: increment on final dst if */ - u_quad_t ifs6_in_truncated; /* # of truncated datagrams */ - u_quad_t ifs6_in_discard; /* # of discarded datagrams */ - /* NOTE: fragment timeout is not here */ - u_quad_t ifs6_in_deliver; /* # of datagrams delivered to ULP */ - /* NOTE: increment on final dst if */ - u_quad_t ifs6_out_forward; /* # of datagrams forwarded */ - /* NOTE: increment on outgoing if */ - u_quad_t ifs6_out_request; /* # of outgoing datagrams from ULP */ - /* NOTE: does not include forwrads */ - u_quad_t ifs6_out_discard; /* # of discarded datagrams */ - u_quad_t ifs6_out_fragok; /* # of datagrams fragmented */ - u_quad_t ifs6_out_fragfail; /* # of datagrams failed on fragment */ - u_quad_t ifs6_out_fragcreat; /* # of fragment datagrams */ - /* NOTE: this is # after fragment */ - u_quad_t ifs6_reass_reqd; /* # of incoming fragmented packets */ - /* NOTE: increment on final dst if */ - u_quad_t ifs6_reass_ok; /* # of reassembled packets */ - /* NOTE: this is # after reass */ - /* NOTE: increment on final dst if */ - u_quad_t ifs6_reass_fail; /* # of reass failures */ - /* NOTE: may not be packet count */ - /* NOTE: increment on final dst if */ - u_quad_t ifs6_in_mcast; /* # of inbound multicast datagrams */ - u_quad_t ifs6_out_mcast; /* # of outbound multicast datagrams */ -}; - -/* - * ICMPv6 interface statistics, as defined in RFC2466 Ipv6IfIcmpEntry. - * XXX: I'm not sure if this file is the right place for this structure... - */ -struct icmp6_ifstat { - /* - * Input statistics - */ - /* ipv6IfIcmpInMsgs, total # of input messages */ - u_quad_t ifs6_in_msg; - /* ipv6IfIcmpInErrors, # of input error messages */ - u_quad_t ifs6_in_error; - /* ipv6IfIcmpInDestUnreachs, # of input dest unreach errors */ - u_quad_t ifs6_in_dstunreach; - /* ipv6IfIcmpInAdminProhibs, # of input administratively prohibited errs */ - u_quad_t ifs6_in_adminprohib; - /* ipv6IfIcmpInTimeExcds, # of input time exceeded errors */ - u_quad_t ifs6_in_timeexceed; - /* ipv6IfIcmpInParmProblems, # of input parameter problem errors */ - u_quad_t ifs6_in_paramprob; - /* ipv6IfIcmpInPktTooBigs, # of input packet too big errors */ - u_quad_t ifs6_in_pkttoobig; - /* ipv6IfIcmpInEchos, # of input echo requests */ - u_quad_t ifs6_in_echo; - /* ipv6IfIcmpInEchoReplies, # of input echo replies */ - u_quad_t ifs6_in_echoreply; - /* ipv6IfIcmpInRouterSolicits, # of input router solicitations */ - u_quad_t ifs6_in_routersolicit; - /* ipv6IfIcmpInRouterAdvertisements, # of input router advertisements */ - u_quad_t ifs6_in_routeradvert; - /* ipv6IfIcmpInNeighborSolicits, # of input neighbor solicitations */ - u_quad_t ifs6_in_neighborsolicit; - /* ipv6IfIcmpInNeighborAdvertisements, # of input neighbor advertisements */ - u_quad_t ifs6_in_neighboradvert; - /* ipv6IfIcmpInRedirects, # of input redirects */ - u_quad_t ifs6_in_redirect; - /* ipv6IfIcmpInGroupMembQueries, # of input MLD queries */ - u_quad_t ifs6_in_mldquery; - /* ipv6IfIcmpInGroupMembResponses, # of input MLD reports */ - u_quad_t ifs6_in_mldreport; - /* ipv6IfIcmpInGroupMembReductions, # of input MLD done */ - u_quad_t ifs6_in_mlddone; - - /* - * Output statistics. We should solve unresolved routing problem... - */ - /* ipv6IfIcmpOutMsgs, total # of output messages */ - u_quad_t ifs6_out_msg; - /* ipv6IfIcmpOutErrors, # of output error messages */ - u_quad_t ifs6_out_error; - /* ipv6IfIcmpOutDestUnreachs, # of output dest unreach errors */ - u_quad_t ifs6_out_dstunreach; - /* ipv6IfIcmpOutAdminProhibs, # of output administratively prohibited errs */ - u_quad_t ifs6_out_adminprohib; - /* ipv6IfIcmpOutTimeExcds, # of output time exceeded errors */ - u_quad_t ifs6_out_timeexceed; - /* ipv6IfIcmpOutParmProblems, # of output parameter problem errors */ - u_quad_t ifs6_out_paramprob; - /* ipv6IfIcmpOutPktTooBigs, # of output packet too big errors */ - u_quad_t ifs6_out_pkttoobig; - /* ipv6IfIcmpOutEchos, # of output echo requests */ - u_quad_t ifs6_out_echo; - /* ipv6IfIcmpOutEchoReplies, # of output echo replies */ - u_quad_t ifs6_out_echoreply; - /* ipv6IfIcmpOutRouterSolicits, # of output router solicitations */ - u_quad_t ifs6_out_routersolicit; - /* ipv6IfIcmpOutRouterAdvertisements, # of output router advertisements */ - u_quad_t ifs6_out_routeradvert; - /* ipv6IfIcmpOutNeighborSolicits, # of output neighbor solicitations */ - u_quad_t ifs6_out_neighborsolicit; - /* ipv6IfIcmpOutNeighborAdvertisements, # of output neighbor advertisements */ - u_quad_t ifs6_out_neighboradvert; - /* ipv6IfIcmpOutRedirects, # of output redirects */ - u_quad_t ifs6_out_redirect; - /* ipv6IfIcmpOutGroupMembQueries, # of output MLD queries */ - u_quad_t ifs6_out_mldquery; - /* ipv6IfIcmpOutGroupMembResponses, # of output MLD reports */ - u_quad_t ifs6_out_mldreport; - /* ipv6IfIcmpOutGroupMembReductions, # of output MLD done */ - u_quad_t ifs6_out_mlddone; -}; - -struct in6_ifreq { - char ifr_name[IFNAMSIZ]; - union { - struct sockaddr_in6 ifru_addr; - struct sockaddr_in6 ifru_dstaddr; - int ifru_flags; - int ifru_flags6; - int ifru_metric; - caddr_t ifru_data; - struct in6_addrlifetime ifru_lifetime; - struct in6_ifstat ifru_stat; - struct icmp6_ifstat ifru_icmp6stat; - u_int32_t ifru_scope_id[16]; - } ifr_ifru; -}; - -struct in6_aliasreq { - char ifra_name[IFNAMSIZ]; - struct sockaddr_in6 ifra_addr; - struct sockaddr_in6 ifra_dstaddr; - struct sockaddr_in6 ifra_prefixmask; - int ifra_flags; - struct in6_addrlifetime ifra_lifetime; -}; - -/* prefix type macro */ -#define IN6_PREFIX_ND 1 -#define IN6_PREFIX_RR 2 - /* - * prefix related flags passed between kernel(NDP related part) and - * user land command(ifconfig) and daemon(rtadvd). - */ -struct in6_prflags { - struct prf_ra { - u_char onlink : 1; - u_char autonomous : 1; - u_char reserved : 6; - } prf_ra; - u_char prf_reserved1; - u_short prf_reserved2; - /* want to put this on 4byte offset */ - struct prf_rr { - u_char decrvalid : 1; - u_char decrprefd : 1; - u_char reserved : 6; - } prf_rr; - u_char prf_reserved3; - u_short prf_reserved4; -}; - -struct in6_prefixreq { - char ipr_name[IFNAMSIZ]; - u_char ipr_origin; - u_char ipr_plen; - u_int32_t ipr_vltime; - u_int32_t ipr_pltime; - struct in6_prflags ipr_flags; - struct sockaddr_in6 ipr_prefix; -}; - -#define PR_ORIG_RA 0 -#define PR_ORIG_RR 1 -#define PR_ORIG_STATIC 2 -#define PR_ORIG_KERNEL 3 - -#define ipr_raf_onlink ipr_flags.prf_ra.onlink -#define ipr_raf_auto ipr_flags.prf_ra.autonomous - -#define ipr_statef_onlink ipr_flags.prf_state.onlink - -#define ipr_rrf_decrvalid ipr_flags.prf_rr.decrvalid -#define ipr_rrf_decrprefd ipr_flags.prf_rr.decrprefd - -struct in6_rrenumreq { - char irr_name[IFNAMSIZ]; - u_char irr_origin; - u_char irr_m_len; /* match len for matchprefix */ - u_char irr_m_minlen; /* minlen for matching prefix */ - u_char irr_m_maxlen; /* maxlen for matching prefix */ - u_char irr_u_uselen; /* uselen for adding prefix */ - u_char irr_u_keeplen; /* keeplen from matching prefix */ - struct irr_raflagmask { - u_char onlink : 1; - u_char autonomous : 1; - u_char reserved : 6; - } irr_raflagmask; - u_int32_t irr_vltime; - u_int32_t irr_pltime; - struct in6_prflags irr_flags; - struct sockaddr_in6 irr_matchprefix; - struct sockaddr_in6 irr_useprefix; -}; - -#define irr_raf_mask_onlink irr_raflagmask.onlink -#define irr_raf_mask_auto irr_raflagmask.autonomous -#define irr_raf_mask_reserved irr_raflagmask.reserved - -#define irr_raf_onlink irr_flags.prf_ra.onlink -#define irr_raf_auto irr_flags.prf_ra.autonomous - -#define irr_statef_onlink irr_flags.prf_state.onlink - -#define irr_rrf irr_flags.prf_rr -#define irr_rrf_decrvalid irr_flags.prf_rr.decrvalid -#define irr_rrf_decrprefd irr_flags.prf_rr.decrprefd - -/* * Given a pointer to an in6_ifaddr (ifaddr), * return a pointer to the addr as a sockaddr_in6 */ @@ -371,93 +122,7 @@ (((d)->s6_addr32[3] ^ (a)->s6_addr32[3]) & (m)->s6_addr32[3]) == 0 ) #endif -#define SIOCSIFADDR_IN6 _IOW('i', 12, struct in6_ifreq) -#define SIOCGIFADDR_IN6 _IOWR('i', 33, struct in6_ifreq) - #ifdef _KERNEL -/* - * SIOCSxxx ioctls should be unused (see comments in in6.c), but - * we do not shift numbers for binary compatibility. - */ -#define SIOCSIFDSTADDR_IN6 _IOW('i', 14, struct in6_ifreq) -#define SIOCSIFNETMASK_IN6 _IOW('i', 22, struct in6_ifreq) -#endif - -#define SIOCGIFDSTADDR_IN6 _IOWR('i', 34, struct in6_ifreq) -#define SIOCGIFNETMASK_IN6 _IOWR('i', 37, struct in6_ifreq) - -#define SIOCDIFADDR_IN6 _IOW('i', 25, struct in6_ifreq) -#define SIOCAIFADDR_IN6 _IOW('i', 26, struct in6_aliasreq) - -#define SIOCSIFPHYADDR_IN6 _IOW('i', 70, struct in6_aliasreq) -#define SIOCGIFPSRCADDR_IN6 _IOWR('i', 71, struct in6_ifreq) -#define SIOCGIFPDSTADDR_IN6 _IOWR('i', 72, struct in6_ifreq) - -#define SIOCGIFAFLAG_IN6 _IOWR('i', 73, struct in6_ifreq) - -#define SIOCGDRLST_IN6 _IOWR('i', 74, struct in6_drlist) -#ifdef _KERNEL -/* XXX: SIOCGPRLST_IN6 is exposed in KAME but in6_oprlist is not. */ -#define SIOCGPRLST_IN6 _IOWR('i', 75, struct in6_oprlist) -#endif -#ifdef _KERNEL -#define OSIOCGIFINFO_IN6 _IOWR('i', 76, struct in6_ondireq) -#endif -#define SIOCGIFINFO_IN6 _IOWR('i', 108, struct in6_ndireq) -#define SIOCSNDFLUSH_IN6 _IOWR('i', 77, struct in6_ifreq) -#define SIOCGNBRINFO_IN6 _IOWR('i', 78, struct in6_nbrinfo) -#define SIOCSPFXFLUSH_IN6 _IOWR('i', 79, struct in6_ifreq) -#define SIOCSRTRFLUSH_IN6 _IOWR('i', 80, struct in6_ifreq) - -#define SIOCGIFALIFETIME_IN6 _IOWR('i', 81, struct in6_ifreq) -#define SIOCSIFALIFETIME_IN6 _IOWR('i', 82, struct in6_ifreq) -#define SIOCGIFSTAT_IN6 _IOWR('i', 83, struct in6_ifreq) -#define SIOCGIFSTAT_ICMP6 _IOWR('i', 84, struct in6_ifreq) - -#define SIOCSDEFIFACE_IN6 _IOWR('i', 85, struct in6_ndifreq) -#define SIOCGDEFIFACE_IN6 _IOWR('i', 86, struct in6_ndifreq) - -#define SIOCSIFINFO_FLAGS _IOWR('i', 87, struct in6_ndireq) /* XXX */ - -#define SIOCSSCOPE6 _IOW('i', 88, struct in6_ifreq) -#define SIOCGSCOPE6 _IOWR('i', 89, struct in6_ifreq) -#define SIOCGSCOPE6DEF _IOWR('i', 90, struct in6_ifreq) - -#define SIOCSIFPREFIX_IN6 _IOW('i', 100, struct in6_prefixreq) /* set */ -#define SIOCGIFPREFIX_IN6 _IOWR('i', 101, struct in6_prefixreq) /* get */ -#define SIOCDIFPREFIX_IN6 _IOW('i', 102, struct in6_prefixreq) /* del */ -#define SIOCAIFPREFIX_IN6 _IOW('i', 103, struct in6_rrenumreq) /* add */ -#define SIOCCIFPREFIX_IN6 _IOW('i', 104, \ - struct in6_rrenumreq) /* change */ -#define SIOCSGIFPREFIX_IN6 _IOW('i', 105, \ - struct in6_rrenumreq) /* set global */ - -#define SIOCGETSGCNT_IN6 _IOWR('u', 106, \ - struct sioc_sg_req6) /* get s,g pkt cnt */ -#define SIOCGETMIFCNT_IN6 _IOWR('u', 107, \ - struct sioc_mif_req6) /* get pkt cnt per if */ - -#define SIOCAADDRCTL_POLICY _IOW('u', 108, struct in6_addrpolicy) -#define SIOCDADDRCTL_POLICY _IOW('u', 109, struct in6_addrpolicy) - -#define IN6_IFF_ANYCAST 0x01 /* anycast address */ -#define IN6_IFF_TENTATIVE 0x02 /* tentative address */ -#define IN6_IFF_DUPLICATED 0x04 /* DAD detected duplicate */ -#define IN6_IFF_DETACHED 0x08 /* may be detached from the link */ -#define IN6_IFF_DEPRECATED 0x10 /* deprecated address */ -#define IN6_IFF_NODAD 0x20 /* don't perform DAD on this address - * (used only at first SIOC* call) - */ -#define IN6_IFF_AUTOCONF 0x40 /* autoconfigurable address. */ -#define IN6_IFF_TEMPORARY 0x80 /* temporary (anonymous) address. */ -#define IN6_IFF_NOPFX 0x8000 /* skip kernel prefix management. - * XXX: this should be temporary. - */ - -/* do not input/output */ -#define IN6_IFF_NOTREADY (IN6_IFF_TENTATIVE|IN6_IFF_DUPLICATED) - -#ifdef _KERNEL #define IN6_ARE_SCOPE_CMP(a,b) ((a)-(b)) #define IN6_ARE_SCOPE_EQUAL(a,b) ((a)==(b)) #endif @@ -465,6 +130,7 @@ #ifdef _KERNEL extern struct in6_ifaddr *in6_ifaddr; +struct icmp6stat; extern struct icmp6stat icmp6stat; #define in6_ifstat_inc(ifp, tag) \ do { \ From owner-p4-projects@FreeBSD.ORG Fri Jul 22 22:39:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEF9716A422; Fri, 22 Jul 2005 22:39:27 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 C741C16A420 for ; Fri, 22 Jul 2005 22:39:27 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9A97D43D48 for ; Fri, 22 Jul 2005 22:39:27 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MMdRKv046782 for ; Fri, 22 Jul 2005 22:39:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MMdRwo046779 for perforce@freebsd.org; Fri, 22 Jul 2005 22:39:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 22 Jul 2005 22:39:27 GMT Message-Id: <200507222239.j6MMdRwo046779@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 Cc: Subject: PERFORCE change 80807 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 22:39:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=80807 Change 80807 by rwatson@rwatson_zoo on 2005/07/22 22:39:00 This branch definitely wants BREAK_TO_DEBUGGER. Affected files ... .. //depot/projects/netsmp/src/sys/i386/conf/GENERIC#2 edit Differences ... ==== //depot/projects/netsmp/src/sys/i386/conf/GENERIC#2 (text+ko) ==== @@ -27,6 +27,8 @@ # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. +options BREAK_TO_DEBUGGER + makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols #options SCHED_ULE # ULE scheduler From owner-p4-projects@FreeBSD.ORG Fri Jul 22 23:08:04 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D8DF16A421; Fri, 22 Jul 2005 23:08:04 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 EE56D16A41F for ; Fri, 22 Jul 2005 23:08:03 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A63B743D45 for ; Fri, 22 Jul 2005 23:08:03 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MN832f048062 for ; Fri, 22 Jul 2005 23:08:03 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MN83iT048059 for perforce@freebsd.org; Fri, 22 Jul 2005 23:08:03 GMT (envelope-from soc-victor@freebsd.org) Date: Fri, 22 Jul 2005 23:08:03 GMT Message-Id: <200507222308.j6MN83iT048059@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: soc-victor To: Perforce Change Reviews Cc: Subject: PERFORCE change 80810 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 23:08:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=80810 Change 80810 by soc-victor@soc-victor_82.76.158.176 on 2005/07/22 23:08:00 This is the very first implementation (based on libdevinfo) for hrDeviceTable. A lot of things still to polish.... Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#10 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#9 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#12 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrunperf_tbl.c#2 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#10 (text+ko) ==== @@ -9,7 +9,8 @@ MOD= hostres SRCS= hostres_snmp.c hostres_scalars.c \ hostres_storage_tbl.c hostres_fs_tbl.c \ - hostres_swrun_tbl.c hostres_swrunperf_tbl.c + hostres_swrun_tbl.c hostres_swrunperf_tbl.c \ + hostres_device_tbl.c WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr CFLAGS+= -DNDEBUG @@ -30,5 +31,5 @@ DEFS= ${MOD}_tree.def BMIBS= HOST-RESOURCES-MIB.txt HOST-RESOURCES-TYPES.txt -LDADD= -lkvm +LDADD= -lkvm -ldevinfo .include ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#9 (text+ko) ==== @@ -90,35 +90,43 @@ return (-1); /*error*/ } + hrState_g.dev_root = NULL; + hrState_g.hrSWOSIndex = 0; hrState_g.next_hrStorage_index = 1; - STAILQ_INIT(&hrState_g.storage_name_map); - TAILQ_INIT(&hrState_g.hr_storage_tbl); hrState_g.next_hrFS_index = 1; - STAILQ_INIT(&hrState_g.fs_name_map); - TAILQ_INIT(&hrState_g.hr_fs_tbl); TAILQ_INIT(&hrState_g.hr_swrun_tbl); + + hrState_g.next_hrDevice_index = 1; + STAILQ_INIT(&hrState_g.device_name_map); + TAILQ_INIT(&hrState_g.hr_device_tbl); + + hrState_g.hr_storage_tick = 0; hrState_g.hr_fs_tick = 0; hrState_g.hr_swrun_tick = 0; + hrState_g.hr_device_tick = 0; hrState_g.hrStorage_tbl_age = 0; hrState_g.hrFS_tbl_age = 0; - hrState_g.hrSWRun_tbl_age = 0; + hrState_g.hrSWRun_tbl_age = 0; + hrState_g.hrDevice_tbl_age = 0; init_hrStorage_tbl_v(); init_hrFS_tbl_v(); - init_hrSWRun_tbl_v(); + init_hrSWRun_tbl_v(); /*also the hrSWRunPerfTable's + support is initialized here */ + init_hrDevice_tbl_v(); HR_DPRINTF((stderr, "[%s] done.\n", __func__)); @@ -163,14 +171,19 @@ fini_hrStorage_tbl_v(); fini_hrFS_tbl_v(); fini_hrSWRun_tbl_v(); + fini_hrDevice_tbl_v(); hrState_g.hr_storage_tick = 0; hrState_g.hr_fs_tick = 0; hrState_g.hr_swrun_tick = 0; + hrState_g.hr_device_tick = 0; hrState_g.hrStorage_tbl_age = 0; hrState_g.hrFS_tbl_age = 0; hrState_g.hrSWRun_tbl_age = 0; + hrState_g.hrDevice_tbl_age = 0; + + hrState_g.dev_root = NULL; hrState_g.hrSWOSIndex = 0; @@ -198,9 +211,14 @@ } if ( (time(NULL) - hrState_g.hrSWRun_tbl_age) > HR_SWRUN_TBL_REFRESH ) { HR_DPRINTF((stderr, "%s: hrSWRunTable needs refresh\n ", __func__)); - refresh_hrStorage_tbl_v(); + refresh_hrSWRun_tbl_v(); } + if ( (time(NULL) - hrState_g.hrDevice_tbl_age) > HR_DEVICE_TBL_REFRESH ) { + HR_DPRINTF((stderr, "%s: hrDeviceTable needs refresh\n ", __func__)); + refresh_hrDevice_tbl_v(); + } + HR_DPRINTF((stderr, "[%s] done.\n ", __func__)); } @@ -272,14 +290,6 @@ Once one of them is implemented it will be moved into its own C file */ -int op_hrDeviceTable(struct snmp_context *ctx __unused, - struct snmp_value *value __unused, - u_int sub __unused, - u_int iidx __unused, - enum snmp_op curr_op __unused) -{ - return (SNMP_ERR_NOSUCHNAME); -} int op_hrProcessorTable(struct snmp_context *ctx __unused, struct snmp_value *value __unused, ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#12 (text+ko) ==== @@ -45,6 +45,7 @@ #include /*for getfsstat*/ #include +#include /*a debug macro*/ #ifndef NDEBUG @@ -193,6 +194,61 @@ TAILQ_HEAD(swrun_tbl, hrSWRunTblEntry); +enum DeviceStatus { + DS_UNKNOWN = 1, + DR_RUNNING = 2, + DS_WARNING = 3, + DS_TESTING = 4, + DS_DOWN = 4 +}; + + +/* + * This structure is used to hold a SNMP table entry + * for HOST-RESOURCES-MIB's hrDeviceTable + */ +struct hrDeviceTblEntry { + int32_t index; + struct asn_oid type; + u_char descr[64+1]; + struct asn_oid id; + int32_t status; /* one item from enum DeviceStatus, see above */ + uint32_t errors; + +#define HR_DEVICE_FOUND 0x001 + /*next 3 are not from the SNMP mib table, only to be used internally*/ + uint32_t flags; + u_char name[32+1]; + u_char location[128+1]; + TAILQ_ENTRY(hrDeviceTblEntry) link; +}; + +TAILQ_HEAD(device_tbl, hrDeviceTblEntry); + + +/* + * Next structure is used to keep o list of mappings from a specific + * name (a_name) to an entry in the hrFSTblEntry; + * We are trying to keep the same index for a specific name at least + * for the duration of one SNMP agent run + */ +struct deviceNameMapEntry { + int32_t hrIndex; /*used for hrDeviceTblEntry::index*/ + /*map key is the pair (name_key, location_key)*/ + u_char name_key[32+1]; /*map key*/ + u_char location_key[128+1]; /*map key*/ + /* + * next may be NULL if the respective hrDeviceTblEntry + * is (temporally) gone + */ + struct + hrDeviceTblEntry *entry_p; + STAILQ_ENTRY(deviceNameMapEntry) link; +}; + +STAILQ_HEAD(device_map_list, deviceNameMapEntry); + + struct hostres_state { FILE *utmp_fp; /*file pointer to keep an open instance of utmp*/ kvm_t *kd; /*kernel descriptor*/ @@ -241,7 +297,23 @@ time_t hrSWRun_tbl_age; uint64_t hr_swrun_tick; /*last (agent) tick when hrSWRunTable and hrSWRunPerTable were updated */ - int32_t hrSWOSIndex; /* the value of the MIB objecy with the same name*/ + int32_t hrSWOSIndex; /* the value of the MIB objecy with the same name*/ + + /* + * next items are used for hrDeviceTable + */ + struct + device_map_list device_name_map; /*for consistent table indexing*/ + + struct + device_tbl hr_device_tbl; /*the head of the list with hrDeviceTable's entries */ + uint32_t next_hrDevice_index; /*next int available for indexing the hrDeviceTable*/ + time_t hrDevice_tbl_age; + uint64_t hr_device_tick; /*last (agent) tick when hrDeviceTable was updated */ + + struct + devinfo_dev *dev_root; + }; @@ -350,5 +422,28 @@ */ void refresh_hrSWRun_tbl_v(void); +/* + * Init the things for hrDeviceTable + */ +void init_hrDevice_tbl_v(void); + +/* + * Finalization routine for hrDeviceTable + * It destroys the lists and frees any allocated heap memory + */ +void fini_hrDevice_tbl_v(void); + +/* + * Next macro represents the number of seconds + * between two consecutive queries to the OS for getting the new data + * for hrDeviceTable + */ +#define HR_DEVICE_TBL_REFRESH 10 +/* + * Refresh routine for hrDeviceTable + * Usable for polling the system for any changes. + */ +void refresh_hrDevice_tbl_v(void); + #endif /*__HOSTRES_SNMP_H_INCLUDED__ */ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c#3 (text+ko) ==== @@ -470,7 +470,8 @@ } /* - * This is the implmenetaion for a generated function prototype, see hostres_tree.h + * This is the implementation for a generated (by a SNMP tool) + * function prototype, see hostres_tree.h * It hanldes the SNMP operations for hrSWRunTable */ int op_hrSWRunTable(struct snmp_context *ctx __unused, ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrunperf_tbl.c#2 (text+ko) ==== @@ -32,7 +32,13 @@ #include "hostres_oid.h" #include "hostres_tree.h" #include - + +/* + * This is the implementation for a generated (by a SNMP tool) + * function prototype, see hostres_tree.h + * It hanldes the SNMP operations for hrSWRunPerfTable + */ + int op_hrSWRunPerfTable(struct snmp_context *ctx __unused, struct snmp_value *value, u_int sub, From owner-p4-projects@FreeBSD.ORG Fri Jul 22 23:32:36 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D74AA16A430; Fri, 22 Jul 2005 23:32:35 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9929916A42C for ; Fri, 22 Jul 2005 23:32:35 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3CBA943D45 for ; Fri, 22 Jul 2005 23:32:35 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MNWZKb049243 for ; Fri, 22 Jul 2005 23:32:35 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MNWYwP049240 for perforce@freebsd.org; Fri, 22 Jul 2005 23:32:34 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 23:32:34 GMT Message-Id: <200507222332.j6MNWYwP049240@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80814 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 23:32:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=80814 Change 80814 by soc-anders@soc-anders_gimli on 2005/07/22 23:32:21 netstat compiles without kvm, however, the following parts are disabled: * IPX * AppleTalk * Netgraph * Multicast routing * IPSec6 stats Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/Makefile#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/atalk.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/inet6.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/ipsec.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/ipx.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/main.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mbuf.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute6.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/netgraph.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/unix.c#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/Makefile#2 (text+ko) ==== @@ -16,6 +16,8 @@ BINGRP= kmem BINMODE=2555 DPADD= ${LIBKVM} ${LIBIPX} ${LIBNETGRAPH} ${LIBUTIL} -LDADD= -lkvm -lipx -lnetgraph -lutil - +LDADD= -lipx -lnetgraph -lutil +.if defined(IFCLEANUP) +LDADD+= -lkvm +.endif .include ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/atalk.c#2 (text+ko) ==== @@ -218,6 +218,7 @@ void atalkprotopr(u_long off __unused, const char *name, int af1 __unused) { +#ifdef IFCLEANUP struct ddpcb *this, *next; if (off == 0) @@ -256,6 +257,7 @@ (struct sockaddr *)&ddpcb.ddp_fsat,7)); putchar('\n'); } +#endif /* IFCLEANUP */ } #define ANY(x,y,z) if (x || sflag <= 1) \ @@ -267,6 +269,7 @@ void ddp_stats(u_long off __unused, const char *name, int af1 __unused) { +#ifdef IFCLEANUP struct ddpstat ddpstat; if (off == 0) @@ -283,4 +286,5 @@ ANY(ddpstat.ddps_encap, "packet", " encapsulated "); ANY(ddpstat.ddps_cantforward, "packet", " rcvd for unreachable dest "); ANY(ddpstat.ddps_nosockspace, "packet", " dropped due to no socket space "); +#endif /* IFCLEANUP */ } ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/inet6.c#2 (text+ko) ==== @@ -44,7 +44,6 @@ #ifdef INET6 #include #include -#include #include #include #include @@ -52,15 +51,11 @@ #include #include -#include #include #include #include #include -#include -#include -#include -#include +#include #include #include @@ -71,8 +66,6 @@ #include #include "netstat.h" -struct socket sockb; - char *inet6name(struct in6_addr *); const char *pluralies(int); @@ -994,11 +987,12 @@ pim6_stats(u_long off __unused, const char *name, int af1 __unused) { struct pim6stat pim6stat; + size_t len = sizeof(pim6stat); - if (off == 0) + if (sysctlbyname("net.inet6.pim6.stats", &pim6stat, &len, + NULL, 0) < 0) return; - if (kread(off, (char *)&pim6stat, sizeof(pim6stat))) - return; + printf("%s:\n", name); #define p(f, m) if (pim6stat.f || sflag <= 1) \ ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/ipsec.c#2 (text+ko) ==== @@ -75,6 +75,7 @@ #include #include #include +#include #include @@ -86,6 +87,7 @@ #include #include #include +#include #include "netstat.h" #ifdef IPSEC @@ -235,11 +237,21 @@ void ipsec_stats(u_long off __unused, const char *name, int af1 __unused) { - if (off == 0) - return; + size_t len; + printf ("%s:\n", name); - kread(off, (char *)&ipsecstat, sizeof (ipsecstat)); + if (strcmp(name, "ipsec") == 0) { + len = sizeof(ipsecstat); + if (sysctlbyname("net.inet.ipsec.stats", &ipsecstat, &len, + NULL, 0) < 0) { + warn("sysctl: net.inet.ipsec.stats"); + return; + } + } else { + /* IFCLEANUP: Not yet available */ + return; + } print_ipsecstats(); } @@ -260,12 +272,16 @@ pfkey_stats(u_long off __unused, const char *name, int af1 __unused) { struct pfkeystat pfkeystat; + size_t len; unsigned first, type; - if (off == 0) + printf ("%s:\n", name); + len = sizeof(pfkeystat); + if (sysctlbyname("net.key.pfkeystat", &pfkeystat, &len, + NULL, 0) < 0) { + warn("sysctl: net.key.pfkeystat"); return; - printf ("%s:\n", name); - kread(off, (char *)&pfkeystat, sizeof(pfkeystat)); + } #define p(f, m) if (pfkeystat.f || sflag <= 1) \ printf(m, (unsigned long long)pfkeystat.f, plural(pfkeystat.f)) ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/ipx.c#2 (text+ko) ==== @@ -83,6 +83,7 @@ void ipxprotopr(u_long off, const char *name, int af1 __unused) { +#ifdef IFCLEANUP struct ipxpcbhead cb; struct ipxpcb *ipxp; struct ipxpcb ipxpcb; @@ -143,6 +144,7 @@ } putchar('\n'); } +#endif /* IFCLEANUP */ } #define ANY(x,y,z) \ @@ -156,6 +158,7 @@ void spx_stats(u_long off, const char *name, int af1 __unused) { +#ifdef IFCLEANUP struct spx_istat spx_istat; #define spxstat spx_istat.newstats @@ -224,6 +227,7 @@ ANYl(spxstat.spxs_rcvackpack, "rcvd ack packet", ""); ANYl(spxstat.spxs_rcvackbyte, "byte", " acked by rcvd acks"); ANYl(spxstat.spxs_rcvwinupd, "rcvd window update packet", ""); +#endif /* CLEANUP */ } /* @@ -232,6 +236,7 @@ void ipx_stats(u_long off, const char *name, int af1 __unused) { +#ifdef IFCLEANUP struct ipxstat ipxstat; if (off == 0) @@ -249,6 +254,7 @@ ANYl(ipxstat.ipxs_odropped, "packet", " dropped due to no bufs, etc."); ANYl(ipxstat.ipxs_noroute, "packet", " discarded due to no route"); ANYl(ipxstat.ipxs_mtutoosmall, "packet", " too big"); +#endif /* IFCLEANUP */ } #ifdef IPXERRORMSGS @@ -275,6 +281,7 @@ void ipxerr_stats(u_long off, const char *name, int af __unused) { +#ifdef IFCLEANUP struct ipx_errstat ipx_errstat; int j; int histoprint = 1; @@ -310,6 +317,7 @@ } ipx_erputil(z, ipx_errstat.ipx_es_codes[j]); } +#endif /* IFCLEANUP */ } static void ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/main.c#2 (text+ko) ==== @@ -166,15 +166,15 @@ { -1, -1, 1, protopr, igmp_stats, NULL, "igmp", IPPROTO_IGMP }, #ifdef IPSEC - { -1, N_IPSECSTAT, 1, NULL, - ipsec_stats, NULL, "ipsec", 0}, + { -1, -1, 1, NULL, + ipsec_stats, NULL, "ipsec", 1}, #endif { -1, -1, 1, NULL, bdg_stats, NULL, "bdg", 1 /* bridging... */ }, { -1, -1, 1, protopr, pim_stats, NULL, "pim", IPPROTO_PIM }, { -1, N_CARPSTAT, 1, 0, - carp_stats, NULL, "carp", 0}, + carp_stats, NULL, "carp", 1}, { -1, -1, 0, NULL, NULL, NULL, NULL, 0 } }; @@ -185,20 +185,20 @@ tcp_stats, NULL, "tcp", IPPROTO_TCP }, { -1, -1, 1, protopr, udp_stats, NULL, "udp", IPPROTO_UDP }, - { -1, N_IP6STAT, 1, protopr, + { -1, -1, 1, protopr, ip6_stats, ip6_ifstats, "ip6", IPPROTO_RAW }, - { -1, N_ICMP6STAT, 1, protopr, + { -1, -1, 1, protopr, icmp6_stats, icmp6_ifstats, "icmp6",IPPROTO_ICMPV6 }, #ifdef IPSEC - { -1, N_IPSEC6STAT, 1, NULL, - ipsec_stats, NULL, "ipsec6",0 }, + { -1, -1, 1, NULL, + ipsec_stats, NULL, "ipsec6",1 }, #endif #ifdef notyet - { -1, N_PIM6STAT, 1, NULL, - pim6_stats, NULL, "pim6", 0 }, + { -1, -1, 1, NULL, + pim6_stats, NULL, "pim6", 1 }, #endif { -1, -1, 1, NULL, - rip6_stats, NULL, "rip6", 0 }, + rip6_stats, NULL, "rip6", 1 }, { -1, -1, 1, NULL, bdg_stats, NULL, "bdg", 1 /* bridging... */ }, { -1, -1, 0, NULL, @@ -209,7 +209,7 @@ #ifdef IPSEC struct protox pfkeyprotox[] = { { -1, N_PFKEYSTAT, 1, NULL, - pfkey_stats, NULL, "pfkey", 0 }, + pfkey_stats, NULL, "pfkey", 1 }, { -1, -1, 0, NULL, NULL, NULL, NULL, 0 } }; @@ -428,6 +428,7 @@ setgid(getgid()); if (mflag) { +#ifdef IFCLEANUP if (memf != NULL) { if (kread(0, 0, 0) == 0) mbpr(nl[N_MBSTAT].n_value, @@ -442,6 +443,7 @@ nl[N_PAGESZ].n_value, nl[N_MBPSTAT].n_value); } else +#endif /* IFCLEANUP */ mbpr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); exit(0); } @@ -460,12 +462,10 @@ */ #endif if (iflag && !sflag) { - kread(0, 0, 0); intpr(interval, nl[N_IFNET].n_value, NULL); exit(0); } if (rflag) { - kread(0, 0, 0); if (sflag) rt_stats(nl[N_RTSTAT].n_value, nl[N_RTTRASH].n_value); else @@ -473,7 +473,6 @@ exit(0); } if (gflag) { - kread(0, 0, 0); if (sflag) { if (af == AF_INET || af == AF_UNSPEC) mrt_stats(nl[N_MRTSTAT].n_value); @@ -495,7 +494,6 @@ exit(0); } - kread(0, 0, 0); if (tp) { printproto(tp, tp->pr_name); exit(0); @@ -514,7 +512,6 @@ printproto(tp, tp->pr_name); #endif /*IPSEC*/ if (af == AF_IPX || af == AF_UNSPEC) { - kread(0, 0, 0); for (tp = ipxprotox; tp->pr_name; tp++) printproto(tp, tp->pr_name); } @@ -580,6 +577,7 @@ /* * Read kernel memory, return 0 on success. */ +#ifdef IFCLEANUP int kread(u_long addr, char *buf, int size) { @@ -617,7 +615,7 @@ } return (0); } - +#endif /* IFCLEANUP */ const char * plural(int n) { ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mbuf.c#2 (text+ko) ==== @@ -115,24 +115,16 @@ goto err; } - if (mbaddr) { - if (kread(mbaddr, (char *)mbstat, sizeof mbstat)) - goto err; - if (kread(nmbcaddr, (char *)&nmbclusters, sizeof(int))) - goto err; - } else { - mlen = sizeof *mbstat; - if (sysctlbyname("kern.ipc.mbstat", mbstat, &mlen, NULL, 0) - < 0) { - warn("sysctl: retrieving mbstat"); - goto err; - } - mlen = sizeof(int); - if (sysctlbyname("kern.ipc.nmbclusters", &nmbclusters, &mlen, - NULL, 0) < 0) { - warn("sysctl: retrieving nmbclusters"); - goto err; - } + if (sysctlbyname("kern.ipc.mbstat", mbstat, &mlen, NULL, 0) + < 0) { + warn("sysctl: retrieving mbstat"); + goto err; + } + mlen = sizeof(int); + if (sysctlbyname("kern.ipc.nmbclusters", &nmbclusters, &mlen, + NULL, 0) < 0) { + warn("sysctl: retrieving nmbclusters"); + goto err; } if (mbstat->m_mbufs < 0) mbstat->m_mbufs = 0; /* XXX */ if (mbstat->m_mclusts < 0) mbstat->m_mclusts = 0; /* XXX */ ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute.c#2 (text+ko) ==== @@ -71,6 +71,7 @@ void mroutepr(u_long mfcaddr, u_long vifaddr) { +#ifdef IFCLEANUP struct mfc *mfctable[MFCTBLSIZ]; struct vif viftable[MAXVIFS]; struct mfc mfc, *m; @@ -82,28 +83,14 @@ vifi_t maxvif = 0; size_t len; - len = sizeof(mfctable); - if (sysctlbyname("net.inet.ip.mfctable", mfctable, &len, NULL, 0) < 0) { - warn("sysctl: net.inet.ip.mfctable"); - /* Compatability with older kernels - candidate for removal */ - if (mfcaddr == 0) { - printf("No IPv4 multicast routing compiled into this system.\n"); - return; - } - - kread(mfcaddr, (char *)mfctable, sizeof(mfctable)); - } - len = sizeof(viftable); if (sysctlbyname("net.inet.ip.viftable", viftable, &len, NULL, 0) < 0) { - warn("sysctl: net.inet.ip.viftable"); - /* Compatability with older kernels - candidate for removal */ - if (vifaddr == 0) { - printf("No IPv4 multicast routing compiled into this system.\n"); - return; - } + printf("No IPv4 multicast routing compiled into this system.\n"); + } - kread(vifaddr, (char *)viftable, sizeof(viftable)); + len = sizeof(mfctable); + if (sysctlbyname("net.inet.ip.mfctable", mfctable, &len, NULL, 0) < 0) { + printf("No IPv4 multicast routing compiled into this system.\n"); } saved_numeric_addr = numeric_addr; @@ -185,6 +172,7 @@ printf("\n"); numeric_addr = saved_numeric_addr; +#endif /* IFCLEANUP */ } static void @@ -267,14 +255,9 @@ if (sysctlbyname("net.inet.ip.mrtstat", &mrtstat, &len, NULL, 0) < 0) { - warn("sysctl: net.inet.ip.mrtstat"); /* Compatability with older kernels - candidate for removal */ - if (mstaddr == 0) { - printf("No IPv4 multicast routing compiled into this system.\n"); - return; - } - - kread(mstaddr, (char *)&mrtstat, sizeof(mrtstat)); + printf("No IPv4 multicast routing compiled into this system.\n"); + return; } printf("IPv4 multicast forwarding:\n"); ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute6.c#2 (text+ko) ==== @@ -96,6 +96,7 @@ void mroute6pr(u_long mfcaddr, u_long mifaddr) { +#ifdef IFCLEANUP struct mf6c *mf6ctable[MF6CTBLSIZ], *mfcp; struct mif6 mif6table[MAXMIFS]; struct mf6c mfc; @@ -192,11 +193,13 @@ printf("\n"); numeric_addr = saved_numeric_addr; +#endif /* IFCLEANUP */ } void mrt6_stats(u_long mstaddr) { +#ifdef IFCLEANUP struct mrt6stat mrtstat; if (mstaddr == 0) { @@ -231,5 +234,6 @@ #undef p2 #undef p +#endif /* IFCLEANUP */ } #endif /*INET6*/ ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/netgraph.c#2 (text+ko) ==== @@ -63,6 +63,7 @@ void netgraphprotopr(u_long off, const char *name, int af1 __unused) { +#ifdef IFCLEANUP struct ngpcb *this, *next; struct ngpcb ngpcb; struct ngsock info; @@ -180,5 +181,6 @@ finish: putchar('\n'); } +#endif /* IFCLEANUP */ } ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/unix.c#2 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jul 22 23:35:40 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D652B16A421; Fri, 22 Jul 2005 23:35:39 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 B16E416A41F for ; Fri, 22 Jul 2005 23:35:39 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7F86A43D45 for ; Fri, 22 Jul 2005 23:35:39 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6MNZdOY049434 for ; Fri, 22 Jul 2005 23:35:39 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6MNZdkE049431 for perforce@freebsd.org; Fri, 22 Jul 2005 23:35:39 GMT (envelope-from soc-anders@freebsd.org) Date: Fri, 22 Jul 2005 23:35:39 GMT Message-Id: <200507222335.j6MNZdkE049431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80815 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2005 23:35:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=80815 Change 80815 by soc-anders@soc-anders_gimli on 2005/07/22 23:34:58 Changes needed due to modification in kernel header files. Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/kdump/mkioctls#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/systat/ip6.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.sbin/ppp/iface.c#2 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/kdump/mkioctls#2 (text+ko) ==== @@ -23,7 +23,7 @@ find -H -s * -name '*.h' | xargs egrep -l \ '^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO[^a-z0-9_]' | - awk '{printf("#include <%s>\\\\n", $1)}' + awk '{if ($1 != "netinet6/in6.h") {printf("#include <%s>\\\\n", $1)}}' ` awk -v x="$ioctl_includes" 'BEGIN {print x}' | ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/systat/ip6.c#2 (text+ko) ==== @@ -52,7 +52,7 @@ #include #include #include -#include +#include #include #include ==== //depot/projects/soc2005/ifcleanup/src/src/usr.sbin/ppp/iface.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #include #include -#include +#include #include #ifndef NOINET6 #include From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:00:11 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC1C616A421; Sat, 23 Jul 2005 00:00:10 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6668616A41F for ; Sat, 23 Jul 2005 00:00:10 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 24C3443D45 for ; Sat, 23 Jul 2005 00:00:10 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N00AoG050419 for ; Sat, 23 Jul 2005 00:00:10 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N009R2050416 for perforce@freebsd.org; Sat, 23 Jul 2005 00:00:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:00:09 GMT Message-Id: <200507230000.j6N009R2050416@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 Cc: Subject: PERFORCE change 80817 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:00:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=80817 Change 80817 by rwatson@rwatson_zoo on 2005/07/22 23:59:30 Pass M_ZERO to MALLOC() when allocating multicast addresses. This isn't strictly necessary, but will avoid confusing when looking at the structure later in a debugger. Since we now allow M_NOWAIT to be used throughout the multicast code, rearrange the if_addmulti() code to no longer use the "detect race and recover" approach, but instead detect allocation failure and abort. This simplifies the logic quite a bit, and avoids having lots of memory floating around that may or may not need to be freed. Affected files ... .. //depot/projects/netsmp/src/sys/net/if.c#5 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if.c#5 (text+ko) ==== @@ -1834,9 +1834,10 @@ IF_ADDR_LOCK_ASSERT(ifp); - TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) + TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (sa_equal(ifma->ifma_addr, sa)) break; + } return ifma; } @@ -1868,10 +1869,8 @@ struct ifmultiaddr *ifma; struct sockaddr *dupsa; - KASSERT(ifp != NULL, ("if_allocmulti: NULL ifp")); - KASSERT(sa != NULL, ("if_allocmulti: NULL sa")); - - MALLOC(ifma, struct ifmultiaddr *, sizeof *ifma, M_IFMADDR, mflags); + MALLOC(ifma, struct ifmultiaddr *, sizeof *ifma, M_IFMADDR, mflags | + M_ZERO); if (ifma == NULL) return (NULL); @@ -1883,23 +1882,24 @@ bcopy(sa, dupsa, sa->sa_len); ifma->ifma_addr = dupsa; - if (llsa != NULL) { - MALLOC(dupsa, struct sockaddr *, llsa->sa_len, M_IFMADDR, - mflags); - if (dupsa == NULL) { - FREE(ifma->ifma_addr, M_IFMADDR); - FREE(ifma, M_IFMADDR); - return (NULL); - } - bcopy(llsa, dupsa, llsa->sa_len); - ifma->ifma_lladdr = llsa; - } else - ifma->ifma_lladdr = NULL; - ifma->ifma_ifp = ifp; ifma->ifma_refcount = 1; ifma->ifma_protospec = NULL; + if (llsa == NULL) { + ifma->ifma_lladdr = NULL; + return (ifma); + } + + MALLOC(dupsa, struct sockaddr *, llsa->sa_len, M_IFMADDR, mflags); + if (dupsa == NULL) { + FREE(ifma->ifma_addr, M_IFMADDR); + FREE(ifma, M_IFMADDR); + return (NULL); + } + bcopy(llsa, dupsa, llsa->sa_len); + ifma->ifma_lladdr = dupsa; + return (ifma); } @@ -1946,15 +1946,13 @@ if_addmulti(struct ifnet *ifp, struct sockaddr *sa, struct ifmultiaddr **retifma) { - struct ifmultiaddr *ifma, *ll_ifma, *new_ifma, *new_ll_ifma; + struct ifmultiaddr *ifma, *ll_ifma; struct sockaddr *llsa; int error; /* * If the address is already present, return a new reference to it; - * otherwise, allocate storage and set up a new address. Since we - * release the interface lock, we have to check for races in which - * another thread may also have set up the same address. + * otherwise, allocate storage and set up a new address. */ IF_ADDR_LOCK(ifp); ifma = if_findmulti(ifp, sa); @@ -1965,69 +1963,59 @@ IF_ADDR_UNLOCK(ifp); return (0); } - IF_ADDR_UNLOCK(ifp); /* - * The address isn't already present; perform a link layer - * resolution if it's not already a link layer address, and allocate - * and set up the address. As of this point, if llsa is non-NULL, - * we must free the sockaddr if we don't need it. + * The address isn't already present; resolve the protocol address + * into a link layer address, and then look that up, bump its + * refcount or allocate an ifma for that also. If 'llsa' was + * returned, we will need to free it later. */ + llsa = NULL; + ll_ifma = NULL; if (ifp->if_resolvemulti != NULL) { error = ifp->if_resolvemulti(ifp, &llsa, sa); if (error) - return error; - } else - llsa = NULL; - - new_ifma = if_allocmulti(ifp, sa, llsa, M_NOWAIT); - if (new_ifma == NULL) { - if (llsa != NULL) - free(llsa, M_IFMADDR); - return (ENOMEM); + goto unlock_out; } - if (llsa != NULL) { - new_ll_ifma = if_allocmulti(ifp, llsa, NULL, M_NOWAIT); - if (new_ll_ifma == NULL) { - if_freemulti(new_ifma); - if (llsa != NULL) - free(llsa, M_IFMADDR); - return (ENOMEM); - } - } else - new_ll_ifma = NULL; /* gcc */ /* - * Now check to see if we lost the race, and continue inserting if - * not. Note that we need to separately consider the link layer - * and protocol layer multicast addresses. + * Allocate the new address. Don't hook it up yet, as we may also + * need to allocate a link layer multicast address. */ - IF_ADDR_LOCK(ifp); - ifma = if_findmulti(ifp, sa); - if (llsa != NULL) - ll_ifma = if_findmulti(ifp, llsa); - else - ll_ifma = NULL; /* gcc */ - - if (ifma != NULL) { - if_freemulti(new_ifma); - ifma->ifma_refcount++; - } else { - ifma = new_ifma; - TAILQ_INSERT_HEAD(&ifp->if_multiaddrs, ifma, ifma_link); + ifma = if_allocmulti(ifp, sa, llsa, M_NOWAIT); + if (ifma == NULL) { + error = ENOMEM; + goto free_llsa_out; } + /* + * If a link layer address is found, we'll need to see if it's + * already present in the address list, or allocate is as well. + * When this block finishes, the link layer address will be on the + * list. + */ if (llsa != NULL) { - if (ll_ifma != NULL) { - if_freemulti(new_ll_ifma); - ll_ifma->ifma_refcount++; - } else { - ll_ifma = new_ll_ifma; + ll_ifma = if_findmulti(ifp, llsa); + if (ll_ifma == NULL) { + ll_ifma = if_allocmulti(ifp, llsa, NULL, M_NOWAIT); + if (ll_ifma == NULL) { + if_freemulti(ifma); + error = ENOMEM; + goto free_llsa_out; + } TAILQ_INSERT_HEAD(&ifp->if_multiaddrs, ll_ifma, ifma_link); - } + } else + ll_ifma->ifma_refcount++; } + /* + * We now have a new multicast address, ifma, and possibly a new or + * referenced link layer address. Add the primary address to the + * ifnet address list. + */ + TAILQ_INSERT_HEAD(&ifp->if_multiaddrs, ifma, ifma_link); + if (retifma != NULL) *retifma = ifma; @@ -2052,7 +2040,16 @@ if (llsa != NULL) FREE(llsa, M_IFMADDR); + return (0); + +free_llsa_out: + if (llsa != NULL) + FREE(llsa, M_IFMADDR); + +unlock_out: + IF_ADDR_UNLOCK(ifp); + return (error); } /* @@ -2078,7 +2075,10 @@ } sa = ifma->ifma_lladdr; - ll_ifma = if_findmulti(ifp, sa); + if (sa != NULL) + ll_ifma = if_findmulti(ifp, sa); + else + ll_ifma = NULL; /* * XXXRW: How come we don't announce ll_ifma? From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:06:19 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2447616A421; Sat, 23 Jul 2005 00:06:19 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 F14C016A41F for ; Sat, 23 Jul 2005 00:06:18 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D4A943D48 for ; Sat, 23 Jul 2005 00:06:18 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N06IN9050710 for ; Sat, 23 Jul 2005 00:06:18 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N06HIN050707 for perforce@freebsd.org; Sat, 23 Jul 2005 00:06:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:06:17 GMT Message-Id: <200507230006.j6N06HIN050707@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 Cc: Subject: PERFORCE change 80820 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:06:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=80820 Change 80820 by rwatson@rwatson_zoo on 2005/07/23 00:06:01 Integrate netsmp from CVS HEAD. Various changes, but among other things: - Loop back if_drv_flags definition. - if_de cleanup. - Lots of 802.11. Affected files ... .. //depot/projects/netsmp/src/sys/amd64/amd64/bios.c#2 integrate .. //depot/projects/netsmp/src/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/netsmp/src/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/netsmp/src/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/netsmp/src/sys/amd64/include/bus_dma.h#2 integrate .. //depot/projects/netsmp/src/sys/amd64/include/pc/bios.h#2 integrate .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_copy.c#2 integrate .. //depot/projects/netsmp/src/sys/conf/files#2 integrate .. //depot/projects/netsmp/src/sys/conf/files.amd64#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_quirk.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/awi/awi.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/drm/ati_pcigart.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/r128_cce.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/r300_cmdbuf.c#1 branch .. //depot/projects/netsmp/src/sys/dev/drm/r300_reg.h#1 branch .. //depot/projects/netsmp/src/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/radeon_drm.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/radeon_drv.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/radeon_state.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ral/if_ral.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/vkbd/vkbd.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/vx/if_vx.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/netsmp/src/sys/i386/bios/smapi_bios.S#2 integrate .. //depot/projects/netsmp/src/sys/i386/bios/smbios.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/conf/NOTES#3 integrate .. //depot/projects/netsmp/src/sys/i386/i386/bios.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/i386/geode.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/include/pc/bios.h#2 integrate .. //depot/projects/netsmp/src/sys/modules/de/Makefile#2 integrate .. //depot/projects/netsmp/src/sys/modules/drm/radeon/Makefile#2 integrate .. //depot/projects/netsmp/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/netsmp/src/sys/net/if_var.h#3 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_var.h#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/mld6.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/raw_ip6.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/udp6_output.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfsnode.h#2 integrate .. //depot/projects/netsmp/src/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/netsmp/src/sys/pci/if_de.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_devar.h#2 integrate .. //depot/projects/netsmp/src/sys/security/mac_stub/mac_stub.c#2 integrate Differences ... ==== //depot/projects/netsmp/src/sys/amd64/amd64/bios.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bios.c,v 1.72 2004/09/24 01:08:34 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bios.c,v 1.73 2005/07/21 09:48:36 phk Exp $"); /* * Subset of the i386 bios support code. We cannot make bios16 nor bios32 @@ -93,18 +93,3 @@ } return(0); } - -const u_char * -bios_string(u_int from, u_int to, const u_char *string, int len) -{ - const char *t, *te; - - if (len == 0) - len = strlen(string); - t = (const char *)(KERNBASE + from); - te = (const char *)(KERNBASE + to); - for (; t <= te; t++) - if (!memcmp(string, t, len)) - return (t); - return (NULL); -} ==== //depot/projects/netsmp/src/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.260 2005/06/29 23:23:16 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.261 2005/07/21 21:46:09 peter Exp $"); #include "opt_cpu.h" #include "opt_kdb.h" @@ -95,6 +95,9 @@ /* Free these after use */ void *bootstacks[MAXCPU]; +/* Temporary holder for double fault stack */ +char *doublefault_stack; + /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -432,6 +435,7 @@ common_tss[cpu] = common_tss[0]; common_tss[cpu].tss_rsp0 = 0; /* not used until after switch */ common_tss[cpu].tss_iobase = sizeof(struct amd64tss); + common_tss[cpu].tss_ist1 = (long)&doublefault_stack[PAGE_SIZE]; gdt_segs[GPROC0_SEL].ssd_base = (long) &common_tss[cpu]; ssdtosyssd(&gdt_segs[GPROC0_SEL], @@ -679,7 +683,8 @@ cpu_apic_ids[cpu] = apic_id; /* allocate and set up an idle stack data page */ - bootstacks[cpu] = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); + bootstacks[cpu] = (void *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); + doublefault_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; ==== //depot/projects/netsmp/src/sys/amd64/conf/NOTES#2 (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/amd64/conf/NOTES,v 1.36 2005/06/30 05:33:25 peter Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.41 2005/07/22 16:02:40 ru Exp $ # # @@ -210,7 +210,7 @@ device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL device mgadrm # AGP Matrox G200, G400, G450, G550 device r128drm # ATI Rage 128 -device radeondrm # ATI Radeon up to 9200 +device radeondrm # ATI Radeon device sisdrm # SiS 300/305, 540, 630 device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee options DRM_DEBUG # Include debug printfs (slow) @@ -226,11 +226,11 @@ # lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and # Am79C960) +device ed +options ED_3C503 +options ED_HPP +options ED_SIC #XXX# still calls MD i386 kvtop function instead of vtophys etc -#XXX#device ed -#XXX#options ED_3C503 -#XXX#options ED_HPP -#XXX#options ED_SIC #XXX#device lnc device ath @@ -297,6 +297,8 @@ # # Miscellaneous hardware: # +# smbios: DMI/SMBIOS entry point +# vpd: Vital Product Data kernel interface # cy: Cyclades serial driver # digi: Digiboard driver @@ -321,6 +323,8 @@ device pbio hint.pbio.0.at="isa" hint.pbio.0.port="0x360" +device smbios +device vpd # sx device is i386 and pc98 only at the moment. device sx options SX_DEBUG ==== //depot/projects/netsmp/src/sys/amd64/include/atomic.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/amd64/include/atomic.h,v 1.35 2005/07/15 18:17:57 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.36 2005/07/21 22:35:02 peter Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -152,10 +152,35 @@ return (res); } +#if defined(_KERNEL) && !defined(SMP) + +/* + * We assume that a = b will do atomic loads and stores. However, on a + * PentiumPro or higher, reads may pass writes, so for that case we have + * to use a serializing instruction (i.e. with LOCK) to do the load in + * SMP kernels. For UP kernels, however, the cache of the single processor + * is always consistent, so we don't need any memory barriers. + */ #define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ static __inline u_##TYPE \ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ { \ + return (*p); \ +} \ + \ +static __inline void \ +atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ +{ \ + *p = v; \ +} \ +struct __hack + +#else /* defined(SMP) */ + +#define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ +static __inline u_##TYPE \ +atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +{ \ u_##TYPE res; \ \ __asm __volatile(__XSTRING(MPLOCKED) LOP \ @@ -179,6 +204,8 @@ } \ struct __hack +#endif /* SMP */ + #endif /* KLD_MODULE || !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */ ATOMIC_ASM(set, char, "orb %b1,%0", "iq", v); ==== //depot/projects/netsmp/src/sys/amd64/include/bus_dma.h#2 (text+ko) ==== @@ -22,8 +22,9 @@ * 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/amd64/include/bus_dma.h,v 1.30 2005/07/22 04:03:25 obrien Exp $ */ -/* $FreeBSD: src/sys/amd64/include/bus_dma.h,v 1.29 2005/03/14 16:46:27 scottl Exp $ */ #ifndef _AMD64_BUS_DMA_H_ #define _AMD64_BUS_DMA_H_ ==== //depot/projects/netsmp/src/sys/amd64/include/pc/bios.h#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/amd64/include/pc/bios.h,v 1.18 2004/09/24 00:42:36 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pc/bios.h,v 1.19 2005/07/21 09:48:36 phk Exp $ */ #ifndef _MACHINE_PC_BIOS_H_ @@ -48,7 +48,22 @@ u_int32_t type; } __packed; -const u_char *bios_string(u_int from, u_int to, const u_char *string, int len); +struct bios_oem_signature { + char * anchor; /* search anchor string in BIOS memory */ + size_t offset; /* offset from anchor (may be negative) */ + size_t totlen; /* total length of BIOS string to copy */ +} __packed; +struct bios_oem_range { + u_int from; /* shouldn't be below 0xe0000 */ + u_int to; /* shouldn't be above 0xfffff */ +} __packed; +struct bios_oem { + struct bios_oem_range range; + struct bios_oem_signature signature[]; +} __packed; + +extern int +bios_oem_strings(struct bios_oem *oem, u_char *buffer, size_t maxlen); #endif /* _MACHINE_PC_BIOS_H_ */ ==== //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_copy.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_copy.c,v 1.15 2005/05/19 07:21:46 grehan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_copy.c,v 1.16 2005/07/22 23:22:29 grehan Exp $"); /* * MD primitives supporting placement of module data @@ -39,7 +39,9 @@ #define READIN_BUF (4 * 1024) #define PAGE_SIZE 0x1000 #define PAGE_MASK 0x0fff +#define MAPMEM_PAGE_INC 16 + #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) static int @@ -76,10 +78,10 @@ /* * To avoid repeated mappings on small allocations, - * never map anything less than 16 pages at a time + * never map anything less than MAPMEM_PAGE_INC pages at a time */ - if ((nlen + resid) < PAGE_SIZE*8) { - dlen = PAGE_SIZE*8; + if ((nlen + resid) < PAGE_SIZE*MAPMEM_PAGE_INC) { + dlen = PAGE_SIZE*MAPMEM_PAGE_INC; } else dlen = roundup(nlen + resid, PAGE_SIZE); ==== //depot/projects/netsmp/src/sys/conf/files#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1035 2005/07/19 02:06:48 imp Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1036 2005/07/20 21:10:56 anholt Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -511,6 +511,7 @@ dev/drm/r128_irq.c optional r128drm dev/drm/r128_state.c optional r128drm \ compile-with "${NORMAL_C} -finline-limit=13500" +dev/drm/r300_cmdbuf.c optional radeondrm dev/drm/radeon_cp.c optional radeondrm dev/drm/radeon_drv.c optional radeondrm dev/drm/radeon_irq.c optional radeondrm ==== //depot/projects/netsmp/src/sys/conf/files.amd64#2 (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.amd64,v 1.72 2005/07/19 01:10:27 ps Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.75 2005/07/21 21:57:31 peter Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -136,6 +136,12 @@ dev/atkbdc/atkbdc_isa.c optional atkbdc isa dev/atkbdc/atkbdc_subr.c optional atkbdc dev/atkbdc/psm.c optional psm atkbdc +# There are no systems with isa slots, so all ed isa entries should go.. +dev/ed/if_ed_3c503.c optional ed isa ed_3c503 +dev/ed/if_ed_isa.c optional ed isa +dev/ed/if_ed_wd80x3.c optional ed isa +dev/ed/if_ed_hpp.c optional ed isa ed_hpp +dev/ed/if_ed_sic.c optional ed isa ed_sic dev/fb/fb.c optional fb dev/fb/fb.c optional vga dev/fb/splash.c optional splash @@ -229,6 +235,8 @@ compat/ndis/subr_pe.c optional ndisapi pci compat/ndis/subr_usbd.c optional ndisapi pci compat/ndis/winx64_wrap.S optional ndisapi pci +i386/bios/smbios.c optional smbios +i386/bios/vpd.c optional vpd i386/cpufreq/powernow.c optional cpufreq i386/cpufreq/est.c optional cpufreq i386/cpufreq/p4tcc.c optional cpufreq ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdDebug.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * 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/acpica/Osd/OsdDebug.c,v 1.9 2004/09/02 04:28:05 njl Exp $ */ /* * 6.8 : Debugging support */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdDebug.c,v 1.10 2005/07/22 23:10:02 njl Exp $"); + #include "opt_ddb.h" #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdHardware.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * 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/acpica/Osd/OsdHardware.c,v 1.15 2005/05/29 04:42:16 nyan Exp $ */ /* * 6.7 : Hardware Abstraction */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdHardware.c,v 1.16 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdInterrupt.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * 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/acpica/Osd/OsdInterrupt.c,v 1.19 2004/12/02 00:25:35 marks Exp $ */ /* * 6.5 : Interrupt handling */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.20 2005/07/22 23:10:02 njl Exp $"); + #include #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdMemory.c#2 (text+ko) ==== @@ -24,14 +24,15 @@ * 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/acpica/Osd/OsdMemory.c,v 1.11 2004/04/14 03:39:08 njl Exp $ */ /* * 6.2 : Memory Management */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdMemory.c,v 1.12 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSchedule.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * 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/acpica/Osd/OsdSchedule.c,v 1.32 2005/05/09 07:34:04 marks Exp $ */ /* * 6.3 : Scheduling services */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdSchedule.c,v 1.33 2005/07/22 23:10:02 njl Exp $"); + #include "opt_acpi.h" #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdStream.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * 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/acpica/Osd/OsdStream.c,v 1.4 2004/04/14 03:39:08 njl Exp $ */ /* * 6.6 : Stream I/O */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdStream.c,v 1.5 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" void ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSynch.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * 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/acpica/Osd/OsdSynch.c,v 1.22 2004/06/18 17:58:11 njl Exp $ */ /* * 6.1 : Mutual Exclusion and Synchronisation */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdSynch.c,v 1.23 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" #include "opt_acpi.h" ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdTable.c#2 (text+ko) ==== @@ -22,14 +22,15 @@ * 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/acpica/Osd/OsdTable.c,v 1.8 2004/10/05 20:41:44 njl Exp $ */ /* * ACPI Table interfaces */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdTable.c,v 1.9 2005/07/22 23:10:02 njl Exp $"); + #include #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_acad.c#2 (text+ko) ==== @@ -22,10 +22,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/acpica/acpi_acad.c,v 1.33 2005/05/19 09:13:26 takawata Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_acad.c,v 1.34 2005/07/22 23:10:02 njl Exp $"); + #include "opt_acpi.h" #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_package.c#2 (text+ko) ==== @@ -22,10 +22,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/acpica/acpi_package.c,v 1.6 2005/05/29 04:42:16 nyan Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_package.c,v 1.7 2005/07/22 23:10:02 njl Exp $"); + #include #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_quirk.c#2 (text+ko) ==== @@ -22,10 +22,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/acpica/acpi_quirk.c,v 1.1 2004/06/30 04:45:32 njl Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_quirk.c,v 1.2 2005/07/22 23:10:02 njl Exp $"); + #include #include ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/amrr/amrr.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.8 2005/06/10 16:49:04 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.9 2005/07/22 16:50:16 sam Exp $"); /* * AMRR rate control. See: @@ -284,7 +284,7 @@ int srate; KASSERT(ni->ni_rates.rs_nrates > 0, ("no rates")); - if (ic->ic_fixed_rate == -1) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { /* * No fixed rate is requested. For 11b start with * the highest negotiated rate; otherwise, for 11g @@ -366,7 +366,8 @@ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, sc); ath_rate_update(sc, ic->ic_bss, 0); } - if (ic->ic_fixed_rate == -1 && state == IEEE80211_S_RUN) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE && + state == IEEE80211_S_RUN) { int interval; /* * Start the background rate control thread if we ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/onoe/onoe.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.8 2005/06/10 16:49:04 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.9 2005/07/22 16:50:17 sam Exp $"); /* * Atsushi Onoe's rate control algorithm. @@ -268,7 +268,7 @@ int srate; KASSERT(ni->ni_rates.rs_nrates > 0, ("no rates")); - if (ic->ic_fixed_rate == -1) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { /* * No fixed rate is requested. For 11b start with * the highest negotiated rate; otherwise, for 11g @@ -350,7 +350,8 @@ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, sc); ath_rate_update(sc, ic->ic_bss, 0); } - if (ic->ic_fixed_rate == -1 && state == IEEE80211_S_RUN) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE && + state == IEEE80211_S_RUN) { int interval; /* * Start the background rate control thread if we ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/sample/sample.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/sample/sample.c,v 1.8 2005/04/02 18:56:50 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/sample/sample.c,v 1.9 2005/07/22 16:50:17 sam Exp $"); /* * John Bicket's SampleRate control algorithm. @@ -684,7 +684,7 @@ KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode)); sn->static_rate_ndx = -1; - if (ic->ic_fixed_rate != -1) { + if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) { /* * A fixed rate is to be used; ic_fixed_rate is an * index into the supported rate set. Convert this ==== //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.94 2005/07/07 00:04:50 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.96 2005/07/22 17:57:16 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -161,8 +161,7 @@ static void ath_calibrate(void *); static int ath_newstate(struct ieee80211com *, enum ieee80211_state, int); static void ath_setup_stationkey(struct ieee80211_node *); -static void ath_newassoc(struct ieee80211com *, - struct ieee80211_node *, int); +static void ath_newassoc(struct ieee80211_node *, int); static int ath_getchannels(struct ath_softc *, u_int cc, HAL_BOOL outdoor, HAL_BOOL xchanmode); static void ath_led_event(struct ath_softc *, int); @@ -2603,7 +2602,7 @@ "ibss merge, rstamp %u tsf %ju " "tstamp %ju\n", rstamp, (uintmax_t)tsf, (uintmax_t)ni->ni_tstamp.tsf); - (void) ieee80211_ibss_merge(ic, ni); + (void) ieee80211_ibss_merge(ni); } } break; @@ -4287,8 +4286,9 @@ * param tells us if this is the first time or not. */ static void -ath_newassoc(struct ieee80211com *ic, struct ieee80211_node *ni, int isnew) +ath_newassoc(struct ieee80211_node *ni, int isnew) { + struct ieee80211com *ic = ni->ni_ic; struct ath_softc *sc = ic->ic_ifp->if_softc; ath_rate_newassoc(sc, ATH_NODE(ni), isnew); ==== //depot/projects/netsmp/src/sys/dev/awi/awi.c#3 (text+ko) ==== @@ -89,7 +89,7 @@ __KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $"); #endif #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.37 2005/06/10 16:49:05 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.38 2005/07/22 16:50:18 sam Exp $"); #endif #include "opt_inet.h" @@ -605,7 +605,7 @@ rs = &ic->ic_sup_rates[IEEE80211_MODE_FH]; else rs = &ic->ic_sup_rates[IEEE80211_MODE_11B]; - if (ic->ic_fixed_rate != -1) { + if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) { rate = rs->rs_rates[ic->ic_fixed_rate] & IEEE80211_RATE_VAL; } else { rate = 0; @@ -1095,7 +1095,7 @@ rate = ic->ic_bss->ni_rates.rs_rates[ic->ic_bss->ni_txrate] & IEEE80211_RATE_VAL; } else { - if (ic->ic_fixed_rate == -1) + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) rate = 0; else rate = ic->ic_sup_rates[mode]. ==== //depot/projects/netsmp/src/sys/dev/drm/ati_pcigart.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * Authors: * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/ati_pcigart.c,v 1.1 2005/04/16 03:44:43 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/ati_pcigart.c,v 1.2 2005/07/20 21:10:57 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -46,7 +46,7 @@ # define ATI_PCIGART_PAGE_SIZE 4096 /* PCI GART page size */ int drm_ati_pcigart_init(drm_device_t *dev, unsigned long *addr, - dma_addr_t *bus_addr) + dma_addr_t *bus_addr, int is_pcie) { drm_sg_mem_t *entry = dev->sg; unsigned long address = 0; @@ -81,7 +81,14 @@ page_base = (u32) entry->busaddr[i]; for (j = 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) { - *pci_gart++ = cpu_to_le32( page_base ); + if (is_pcie) { + *pci_gart = (cpu_to_le32(page_base)>>8) | 0xc; + DRM_DEBUG("PCIE: %d %08X %08X to %p\n", i, + page_base, (cpu_to_le32(page_base)>>8)|0xc, + pci_gart); + } else + *pci_gart = cpu_to_le32(page_base); + pci_gart++; page_base += ATI_PCIGART_PAGE_SIZE; } } ==== //depot/projects/netsmp/src/sys/dev/drm/drmP.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.13 2005/04/16 03:44:43 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.14 2005/07/20 21:10:57 anholt Exp $ */ #ifndef _DRM_P_H_ @@ -252,6 +252,15 @@ extern struct cfdriver drm_cd; #endif /* !__FreeBSD__ */ +/* Capabilities taken from src/sys/dev/pci/pcireg.h. */ +#ifndef PCIY_AGP +#define PCIY_AGP 0x02 +#endif + +#ifndef PCIY_EXPRESS +#define PCIY_EXPRESS 0x10 +#endif + typedef unsigned long dma_addr_t; typedef u_int32_t u32; typedef u_int16_t u16; @@ -821,8 +830,9 @@ int drm_vblank_wait(drm_device_t *dev, unsigned int *vbl_seq); void drm_vbl_send_signals(drm_device_t *dev); -/* AGP/GART support (drm_agpsupport.c) */ +/* AGP/PCI Express/GART support (drm_agpsupport.c) */ int drm_device_is_agp(drm_device_t *dev); +int drm_device_is_pcie(drm_device_t *dev); drm_agp_head_t *drm_agp_init(void); void drm_agp_uninit(void); void drm_agp_do_release(void); @@ -842,7 +852,7 @@ /* ATI PCIGART support (ati_pcigart.c) */ int drm_ati_pcigart_init(drm_device_t *dev, unsigned long *addr, - dma_addr_t *bus_addr); + dma_addr_t *bus_addr, int is_pcie); int drm_ati_pcigart_cleanup(drm_device_t *dev, unsigned long addr, dma_addr_t bus_addr); ==== //depot/projects/netsmp/src/sys/dev/drm/drm_agpsupport.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.1 2005/04/16 03:44:43 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.2 2005/07/20 21:10:57 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -39,8 +39,8 @@ #include #endif -int -drm_device_is_agp(drm_device_t *dev) +static int +drm_device_find_capability(drm_device_t *dev, int cap) { #ifdef __FreeBSD__ /* Code taken from agp.c. IWBNI that was a public interface. */ @@ -64,9 +64,9 @@ next = AGP_CAPID_GET_NEXT_PTR(capid); /* - * If this capability entry ID is 2, then we are done. + * If this capability entry ID is cap, then we are done. */ - if (AGP_CAPID_GET_CAP_ID(capid) == 2) + if (AGP_CAPID_GET_CAP_ID(capid) == cap) return 1; } @@ -77,6 +77,18 @@ #endif } +int +drm_device_is_agp(drm_device_t *dev) +{ + return (drm_device_find_capability(dev, PCIY_AGP)); +} + +int +drm_device_is_pcie(drm_device_t *dev) +{ + return (drm_device_find_capability(dev, PCIY_EXPRESS)); +} + int drm_agp_info(DRM_IOCTL_ARGS) { DRM_DEVICE; ==== //depot/projects/netsmp/src/sys/dev/drm/drm_pciids.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/sys/dev/drm/drm_pciids.h,v 1.2 2005/04/16 03:44:44 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_pciids.h,v 1.3 2005/07/20 21:10:57 anholt Exp $ */ /* @@ -29,6 +29,8 @@ {0x1002, 0x4965, CHIP_R250, "ATI Radeon Ie R250 9000"}, \ {0x1002, 0x4966, CHIP_R250, "ATI Radeon If R250 9000"}, \ {0x1002, 0x4967, CHIP_R250, "ATI Radeon Ig R250 9000"}, \ + {0x1002, 0x4A49, CHIP_R420, "ATI Radeon JI R420 X800PRO"}, \ + {0x1002, 0x4A4B, CHIP_R420, "ATI Radeon JK R420 X800 XT"}, \ {0x1002, 0x4C57, CHIP_RV200|CHIP_IS_MOBILITY, "ATI Radeon LW RV200 Mobility 7500 M7"}, \ {0x1002, 0x4C58, CHIP_RV200|CHIP_IS_MOBILITY, "ATI Radeon LX RV200 Mobility FireGL 7800 M7"}, \ {0x1002, 0x4C59, CHIP_RV100|CHIP_IS_MOBILITY, "ATI Radeon LY RV100 Mobility M6"}, \ @@ -37,7 +39,17 @@ {0x1002, 0x4C65, CHIP_R250|CHIP_IS_MOBILITY, "ATI Radeon Le R250 Mobility 9000 M9"}, \ {0x1002, 0x4C66, CHIP_R250|CHIP_IS_MOBILITY, "ATI Radeon Lf R250 Mobility 9000 M9"}, \ {0x1002, 0x4C67, CHIP_R250|CHIP_IS_MOBILITY, "ATI Radeon Lg R250 Mobility 9000 M9"}, \ + {0x1002, 0x4E44, CHIP_R300, "ATI Radeon ND R300 9700 Pro"}, \ + {0x1002, 0x4E45, CHIP_R300, "ATI Radeon NE R300 9500 Pro"}, \ + {0x1002, 0x4E46, CHIP_RV350, "ATI Radeon NF RV350 9600"}, \ + {0x1002, 0x4E47, CHIP_R300, "ATI Radeon NG R300 FireGL X1"}, \ + {0x1002, 0x4E48, CHIP_R350, "ATI Radeon NH R350 9800 Pro"}, \ + {0x1002, 0x4E49, CHIP_R350, "ATI Radeon NI R350 9800"}, \ + {0x1002, 0x4E4A, CHIP_RV350, "ATI Radeon NJ RV350 9800 XT"}, \ + {0x1002, 0x4E4B, CHIP_R350, "ATI Radeon NK R350 FireGL X2"}, \ {0x1002, 0x4E50, CHIP_RV350|CHIP_IS_MOBILITY, "ATI Radeon RV300 Mobility 9600 M10"}, \ + {0x1002, 0x4E51, CHIP_RV350|CHIP_IS_MOBILITY, "ATI Radeon RV350 Mobility 9600 M10 NQ"}, \ + {0x1002, 0x4E54, CHIP_RV350|CHIP_IS_MOBILITY, "ATI Radeon FireGL T2 128"}, \ {0x1002, 0x5144, CHIP_R100|CHIP_SINGLE_CRTC, "ATI Radeon QD R100"}, \ {0x1002, 0x5145, CHIP_R100|CHIP_SINGLE_CRTC, "ATI Radeon QE R100"}, \ {0x1002, 0x5146, CHIP_R100|CHIP_SINGLE_CRTC, "ATI Radeon QF R100"}, \ @@ -59,6 +71,7 @@ {0x1002, 0x516A, CHIP_R200, "ATI Radeon Qj R200"}, \ {0x1002, 0x516B, CHIP_R200, "ATI Radeon Qk R200"}, \ {0x1002, 0x516C, CHIP_R200, "ATI Radeon Ql R200"}, \ + {0x1002, 0x5460, CHIP_RV350, "ATI Radeon X300"}, \ {0x1002, 0x5834, CHIP_RS300|CHIP_IS_IGP, "ATI Radeon RS300 IGP"}, \ {0x1002, 0x5835, CHIP_RS300|CHIP_IS_IGP|CHIP_IS_MOBILITY, "ATI Radeon RS300 Mobility IGP"}, \ {0x1002, 0x5836, CHIP_RS300|CHIP_IS_IGP, "ATI Radeon RS300 IGP"}, \ ==== //depot/projects/netsmp/src/sys/dev/drm/r128_cce.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * Authors: * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/r128_cce.c,v 1.12 2005/04/16 03:44:44 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/r128_cce.c,v 1.13 2005/07/20 21:10:57 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -559,7 +559,7 @@ if (dev_priv->is_pci) { #endif if (!drm_ati_pcigart_init(dev, &dev_priv->phys_pci_gart, - &dev_priv->bus_pci_gart)) { + &dev_priv->bus_pci_gart, 0)) { DRM_ERROR("failed to init PCI GART!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce(dev); ==== //depot/projects/netsmp/src/sys/dev/drm/radeon_cp.c#2 (text+ko) ==== @@ -27,13 +27,14 @@ * Kevin E. Martin * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/radeon_cp.c,v 1.15 2005/06/28 21:38:08 anholt Exp $ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:07:20 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 60DE016A421; Sat, 23 Jul 2005 00:07:20 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3BAEB16A41F for ; Sat, 23 Jul 2005 00:07:20 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0CBF143D49 for ; Sat, 23 Jul 2005 00:07:20 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N07J1o050768 for ; Sat, 23 Jul 2005 00:07:19 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N07JEe050765 for perforce@freebsd.org; Sat, 23 Jul 2005 00:07:19 GMT (envelope-from soc-anders@freebsd.org) Date: Sat, 23 Jul 2005 00:07:19 GMT Message-Id: <200507230007.j6N07JEe050765@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 80821 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:07:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=80821 Change 80821 by soc-anders@soc-anders_gimli on 2005/07/23 00:06:36 IPsec6 stats are now available Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/ipsec.c#3 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/ipsec.c#3 (text+ko) ==== @@ -238,18 +238,18 @@ ipsec_stats(u_long off __unused, const char *name, int af1 __unused) { size_t len; + char *mib; + printf ("%s:\n", name); - printf ("%s:\n", name); + if (strcmp(name, "ipsec") == 0) + mib = "net.inet.ipsec.stats"; + else + mib = "net.inet6.ipsec6.stats"; - if (strcmp(name, "ipsec") == 0) { - len = sizeof(ipsecstat); - if (sysctlbyname("net.inet.ipsec.stats", &ipsecstat, &len, - NULL, 0) < 0) { - warn("sysctl: net.inet.ipsec.stats"); - return; - } - } else { - /* IFCLEANUP: Not yet available */ + len = sizeof(ipsecstat); + if (sysctlbyname(mib, &ipsecstat, &len, + NULL, 0) < 0) { + warn("sysctl: net.inet.ipsec.stats"); return; } print_ipsecstats(); From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:13:29 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B65BC16A421; Sat, 23 Jul 2005 00:13:28 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7497E16A41F for ; Sat, 23 Jul 2005 00:13:28 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4408343D45 for ; Sat, 23 Jul 2005 00:13:28 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N0DS6I051047 for ; Sat, 23 Jul 2005 00:13:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N0DSms051032 for perforce@freebsd.org; Sat, 23 Jul 2005 00:13:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:13:28 GMT Message-Id: <200507230013.j6N0DSms051032@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 Cc: Subject: PERFORCE change 80822 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:13:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=80822 Change 80822 by rwatson@rwatson_zoo on 2005/07/23 00:13:17 Remove comment that turned out not to be true. Affected files ... .. //depot/projects/netsmp/src/sys/netinet6/in6_var.h#4 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet6/in6_var.h#4 (text+ko) ==== @@ -535,8 +535,6 @@ * Macros for looking up the in6_multi record for a given IP6 multicast * address on a given interface. If no matching record is found, "in6m" * returns NLL. - * - * Caller must hold IF_ADDR_LOCK(ifp). */ #define IN6_LOOKUP_MULTI(addr, ifp, in6m) \ From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:15:32 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 984FC16A421; Sat, 23 Jul 2005 00:15:31 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7299316A41F for ; Sat, 23 Jul 2005 00:15:31 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3EFCC43D48 for ; Sat, 23 Jul 2005 00:15:31 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N0FVco051219 for ; Sat, 23 Jul 2005 00:15:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N0FULq051216 for perforce@freebsd.org; Sat, 23 Jul 2005 00:15:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:15:30 GMT Message-Id: <200507230015.j6N0FULq051216@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 Cc: Subject: PERFORCE change 80823 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:15:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=80823 Change 80823 by rwatson@rwatson_zoo on 2005/07/23 00:14:42 Un-comment bug now fixed. Affected files ... .. //depot/projects/netsmp/src/sys/netinet/in.c#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet/in.c#3 (text+ko) ==== @@ -985,12 +985,6 @@ return ifma->ifma_protospec; } - /* XXX - if_addmulti uses M_WAITOK. Can this really be called - at interrupt time? If so, need to fix if_addmulti. XXX */ - /* - * XXXRW: This comment is right, and yes, we should use M_NOWAIT - * here due to spl's and now mutexes. - */ inm = (struct in_multi *)malloc(sizeof(*inm), M_IPMADDR, M_NOWAIT | M_ZERO); if (inm == NULL) { From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:18:36 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C431116A421; Sat, 23 Jul 2005 00:18:35 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9DF2616A41F for ; Sat, 23 Jul 2005 00:18:35 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6AB1B43D45 for ; Sat, 23 Jul 2005 00:18:35 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N0IZ9T051332 for ; Sat, 23 Jul 2005 00:18:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N0IZ7D051329 for perforce@freebsd.org; Sat, 23 Jul 2005 00:18:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:18:35 GMT Message-Id: <200507230018.j6N0IZ7D051329@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 Cc: Subject: PERFORCE change 80824 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:18:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=80824 Change 80824 by rwatson@rwatson_zoo on 2005/07/23 00:17:48 De-SPL IPv4 multicast code. Affected files ... .. //depot/projects/netsmp/src/sys/netinet/in.c#4 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet/in.c#4 (text+ko) ==== @@ -956,7 +956,6 @@ int error; struct sockaddr_in sin; struct ifmultiaddr *ifma; - int s = splnet(); IN_MULTI_LOCK(); /* @@ -971,7 +970,6 @@ error = if_addmulti(ifp, (struct sockaddr *)&sin, &ifma); if (error) { IN_MULTI_UNLOCK(); - splx(s); return 0; } @@ -981,7 +979,6 @@ */ if (ifma->ifma_protospec != NULL) { IN_MULTI_UNLOCK(); - splx(s); return ifma->ifma_protospec; } @@ -989,7 +986,6 @@ M_NOWAIT | M_ZERO); if (inm == NULL) { IN_MULTI_UNLOCK(); - splx(s); return (NULL); } @@ -1004,7 +1000,6 @@ */ igmp_joingroup(inm); IN_MULTI_UNLOCK(); - splx(s); return (inm); } @@ -1017,7 +1012,6 @@ { struct ifmultiaddr *ifma; struct in_multi my_inm; - int s = splnet(); IN_MULTI_LOCK(); ifma = inm->inm_ifma; @@ -1039,5 +1033,4 @@ if (my_inm.inm_ifp != NULL) igmp_leavegroup(&my_inm); IN_MULTI_UNLOCK(); - splx(s); } From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:33:38 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D7FB16A421; Sat, 23 Jul 2005 00:33:38 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 E13F116A41F for ; Sat, 23 Jul 2005 00:33:37 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AEFCC43D45 for ; Sat, 23 Jul 2005 00:33:37 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N0Xbav051933 for ; Sat, 23 Jul 2005 00:33:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N0Xbci051930 for perforce@freebsd.org; Sat, 23 Jul 2005 00:33:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:33:37 GMT Message-Id: <200507230033.j6N0Xbci051930@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 Cc: Subject: PERFORCE change 80828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:33:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=80828 Change 80828 by rwatson@rwatson_zoo on 2005/07/23 00:32:37 De-spl IGMP now that IPv4 multicast address lists are locked down. Affected files ... .. //depot/projects/netsmp/src/sys/netinet/igmp.c#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet/igmp.c#3 (text+ko) ==== @@ -368,7 +368,6 @@ void igmp_joingroup(struct in_multi *inm) { - int s = splnet(); IN_MULTI_LOCK_ASSERT(); @@ -389,7 +388,6 @@ } /* XXX handling of failure case? */ } - splx(s); } void @@ -410,7 +408,6 @@ { register struct in_multi *inm; struct in_multistep step; - int s; /* * Quick check to see if any work needs to be done, in order @@ -420,7 +417,6 @@ if (!igmp_timers_are_running) return; - s = splnet(); IN_MULTI_LOCK(); igmp_timers_are_running = 0; IN_FIRST_MULTI(step, inm); @@ -436,13 +432,11 @@ IN_NEXT_MULTI(step, inm); } IN_MULTI_UNLOCK(); - splx(s); } void igmp_slowtimo(void) { - int s = splnet(); struct router_info *rti; IGMP_PRINTF("[igmp.c,_slowtimo] -- > entering \n"); @@ -456,7 +450,6 @@ } mtx_unlock(&igmp_mtx); IGMP_PRINTF("[igmp.c,_slowtimo] -- > exiting \n"); - splx(s); } static void From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:33:39 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1B7316A45A; Sat, 23 Jul 2005 00:33:38 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3C41516A42B for ; Sat, 23 Jul 2005 00:33:38 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 06C7C43D45 for ; Sat, 23 Jul 2005 00:33:38 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N0XbW6051939 for ; Sat, 23 Jul 2005 00:33:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N0XbZb051936 for perforce@freebsd.org; Sat, 23 Jul 2005 00:33:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:33:37 GMT Message-Id: <200507230033.j6N0XbZb051936@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 Cc: Subject: PERFORCE change 80829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:33:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=80829 Change 80829 by rwatson@rwatson_zoo on 2005/07/23 00:32:37 Document multicast lock order. Affected files ... .. //depot/projects/netsmp/src/sys/kern/subr_witness.c#2 edit Differences ... ==== //depot/projects/netsmp/src/sys/kern/subr_witness.c#2 (text+ko) ==== @@ -286,6 +286,12 @@ { "ifaddr", &lock_class_mtx_sleep }, { NULL, NULL }, /* + * Multicast - protocol locks before interface locks. + */ + { "in_multi_mtx", &lock_class_mtx_sleep }, + { "if_addr_mtx", &lock_class_mtx_sleep }, + { NULL, NULL }, + /* * UNIX Domain Sockets */ { "unp", &lock_class_mtx_sleep }, From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:37:44 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4FF616A421; Sat, 23 Jul 2005 00:37:43 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9906716A41F for ; Sat, 23 Jul 2005 00:37:43 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 681F743D49 for ; Sat, 23 Jul 2005 00:37:43 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N0bhtE052131 for ; Sat, 23 Jul 2005 00:37:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N0bhDc052128 for perforce@freebsd.org; Sat, 23 Jul 2005 00:37:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:37:43 GMT Message-Id: <200507230037.j6N0bhDc052128@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 Cc: Subject: PERFORCE change 80830 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:37:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=80830 Change 80830 by rwatson@rwatson_zoo on 2005/07/23 00:36:47 Add IGMP mutex to the hard-coded lock order, after the IPv4 address list mutex, since that code calls into IGMP. Affected files ... .. //depot/projects/netsmp/src/sys/kern/subr_witness.c#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/kern/subr_witness.c#3 (text+ko) ==== @@ -289,6 +289,7 @@ * Multicast - protocol locks before interface locks. */ { "in_multi_mtx", &lock_class_mtx_sleep }, + { "igmp_mtx", &lock_class_mtx_sleep }, { "if_addr_mtx", &lock_class_mtx_sleep }, { NULL, NULL }, /* From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:37:45 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 545A816A459; Sat, 23 Jul 2005 00:37:44 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 F261516A42D for ; Sat, 23 Jul 2005 00:37:43 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B626143D49 for ; Sat, 23 Jul 2005 00:37:43 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N0bhJU052137 for ; Sat, 23 Jul 2005 00:37:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N0bhBx052134 for perforce@freebsd.org; Sat, 23 Jul 2005 00:37:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:37:43 GMT Message-Id: <200507230037.j6N0bhBx052134@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 Cc: Subject: PERFORCE change 80831 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:37:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=80831 Change 80831 by rwatson@rwatson_zoo on 2005/07/23 00:37:13 Integrate. Affected files ... .. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.c#3 integrate Differences ... ==== //depot/projects/netsmp/src/sys/net80211/ieee80211_node.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.56 2005/07/22 23:25:46 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.57 2005/07/23 00:16:46 sam Exp $"); #include #include @@ -1398,7 +1398,8 @@ * will be reclaimed when the last reference to them * goes away (when frame xmits complete). */ - if ((ni->ni_flags & IEEE80211_NODE_AREF) == 0) + if (ic->ic_opmode == IEEE80211_M_HOSTAP && + (ni->ni_flags & IEEE80211_NODE_AREF) == 0) continue; /* * Free fragment if not needed anymore From owner-p4-projects@FreeBSD.ORG Sat Jul 23 12:11:14 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD51A16A420; Sat, 23 Jul 2005 12:11:13 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6132516A421 for ; Sat, 23 Jul 2005 12:11:13 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0E5943D49 for ; Sat, 23 Jul 2005 12:11:12 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6NCBCQQ005531 for ; Sat, 23 Jul 2005 12:11:12 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6NCBCCd005527 for perforce@freebsd.org; Sat, 23 Jul 2005 12:11:12 GMT (envelope-from soc-victor@freebsd.org) Date: Sat, 23 Jul 2005 12:11:12 GMT Message-Id: <200507231211.j6NCBCCd005527@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 80858 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 12:11:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=80858 Change 80858 by soc-victor@soc-victor_82.76.158.176 on 2005/07/23 12:11:12 Various fixes (mainly related to memset, strcpy & friends) + some coding style improvements. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#8 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#13 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#7 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#8 (text+ko) ==== @@ -447,7 +447,7 @@ return (NULL); /*error*/ } - (void)strncpy(hrState_g.k_boot_line, buf, 127); + (void)strncpy(hrState_g.k_boot_line, buf, sizeof(hrState_g.k_boot_line) - 1); HR_DPRINTF((stderr, "Got kernel boot file: %s\n", hrState_g.k_boot_line)); free(buf); } ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#13 (text+ko) ==== @@ -253,7 +253,7 @@ FILE *utmp_fp; /*file pointer to keep an open instance of utmp*/ kvm_t *kd; /*kernel descriptor*/ uint32_t kernel_boot; /*boot timestamp in centi-seconds*/ - char k_boot_line[128]; /*kernel boot line*/ + char k_boot_line[128 + 1]; /*kernel boot line*/ int max_proc; /*maximum number of processes */ uint32_t phys_mem_size; /*physical memory size in Kb*/ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#7 (text+ko) ==== @@ -57,7 +57,7 @@ return (NULL); } memset(entry, 0, sizeof(*entry)); - strcpy(entry->descr, name); + strncpy(entry->descr, name, sizeof(entry->descr) - 1); STAILQ_FOREACH(map, &hrState_g.storage_name_map, link) if (strcmp(map->a_name, entry->descr) == 0) { @@ -74,17 +74,17 @@ } if ((map = malloc(sizeof(*map))) == NULL) { - syslog(LOG_ERR, "%s: %m", __func__ ); + syslog(LOG_ERR, "hrStorageTable: %s: %m", __func__ ); free(entry); return (NULL); } map->hrIndex = hrState_g.next_hrStorage_index ++; - strncpy(map->a_name, entry->descr, 255); + strncpy(map->a_name, entry->descr, sizeof(map->a_name) - 1); map->entry_p = entry; STAILQ_INSERT_TAIL(&hrState_g.storage_name_map, map, link); - HR_DPRINTF((stderr, "%s added into hrStorageMap at index=%d\n ",name, map->hrIndex)); + HR_DPRINTF((stderr, "%s added into hrStorageMap at index=%d\n ", name, map->hrIndex)); } else { - HR_DPRINTF((stderr, "%s exists in hrStorageMap index=%d\n ",name, map->hrIndex)); + HR_DPRINTF((stderr, "%s exists in hrStorageMap index=%d\n ", name, map->hrIndex)); } entry->index = map->hrIndex; @@ -118,7 +118,7 @@ struct hrStorageTblEntry *entry = NULL; TAILQ_FOREACH(entry, &hrState_g.hr_storage_tbl, link) - if (strncmp(entry->descr, name, 255) == 0) + if (strncmp(entry->descr, name, sizeof(entry->descr) - 1) == 0) return (entry); return (NULL); } @@ -149,8 +149,8 @@ int len = sizeof(hrState_g.mem_stats); int page_size_bytes; struct hrStorageTblEntry *entry = NULL; - if( sysctl(mib, 2, &hrState_g.mem_stats, &len, NULL, 0) < 0 ) { - syslog(LOG_ERR, "%s: sysctl( { CTL_VM, VM_METER } ) failed: %m ", __func__ ); + if ( sysctl(mib, 2, &hrState_g.mem_stats, &len, NULL, 0) < 0 ) { + syslog(LOG_ERR, "hrStoragetable: %s: sysctl( { CTL_VM, VM_METER } ) failed: %m ", __func__ ); assert(0); return; } @@ -161,11 +161,11 @@ /*Real Memory Metrics*/ entry = hrStorageTblEntry_find_by_name("Real Memory Metrics"); - if( entry == NULL ) { + if ( entry == NULL ) { entry = hrStorageTblEntry_create("Real Memory Metrics"); } assert(entry != NULL); - if( entry == NULL) return; /*I'm out of luck now, maybe next time*/ + if ( entry == NULL) return; /*I'm out of luck now, maybe next time*/ entry->flags |= HR_STORAGE_FOUND; entry->type = (struct asn_oid)OIDX_hrStorageRam; @@ -178,11 +178,11 @@ /*Shared Real Memory Metrics*/ entry = hrStorageTblEntry_find_by_name("Shared Real Memory Metrics"); - if( entry == NULL ) { + if ( entry == NULL ) { entry = hrStorageTblEntry_create("Shared Real Memory Metrics"); } assert(entry != NULL); - if( entry == NULL) return; /*I'm out of luck now, maybe next time*/ + if ( entry == NULL) return; /*I'm out of luck now, maybe next time*/ entry->flags |= HR_STORAGE_FOUND; entry->type = (struct asn_oid)OIDX_hrStorageRam; @@ -202,16 +202,16 @@ char swap_w_prefix[255+1]; if ( sysctlbyname("vm.nswapdev", &nswapdev,&len, NULL,0 ) < 0 ) { - syslog(LOG_ERR,"sysctlbyname(\"vm.nswapdev\") failed. %m \n"); + syslog(LOG_ERR, "hrStorageTable: sysctlbyname(\"vm.nswapdev\") failed. %m \n"); assert(0); return; } - if( nswapdev <= 0 ) { + if ( nswapdev <= 0 ) { HR_DPRINTF((stderr, "vm.nswapdev is %d\n ",nswapdev)); return; } - if( nswapdev + 1 != (int)hrState_g.swap_devs_len || hrState_g.swap_devs == NULL ) { + if ( nswapdev + 1 != (int)hrState_g.swap_devs_len || hrState_g.swap_devs == NULL ) { hrState_g.swap_devs_len = nswapdev + 1; hrState_g.swap_devs = @@ -227,19 +227,20 @@ nswapdev = kvm_getswapinfo( hrState_g.kd, hrState_g.swap_devs,hrState_g.swap_devs_len, 0); - if( nswapdev < 0 ) { - syslog(LOG_ERR,"kvm_getswapinfo failed. %m \n"); + if ( nswapdev < 0 ) { + syslog(LOG_ERR,"hrStorageTable: kvm_getswapinfo failed. %m \n"); assert(0); return; } - for(len = 0; len < nswapdev; len++ ) { + for (len = 0; len < nswapdev; len++ ) { memset(&swap_w_prefix[0], '\0', sizeof(swap_w_prefix) ); - snprintf(swap_w_prefix,255,"Swap:/dev/%s",hrState_g.swap_devs[len].ksw_devname); + snprintf(swap_w_prefix, sizeof(swap_w_prefix) - 1, + "Swap:/dev/%s", hrState_g.swap_devs[len].ksw_devname); entry = hrStorageTblEntry_find_by_name(swap_w_prefix); - if(entry != NULL) { + if (entry != NULL) { entry->flags |= HR_STORAGE_FOUND; entry->type = (struct asn_oid)OIDX_hrStorageVirtualMemory; entry->allocationUnits = getpagesize(); @@ -272,33 +273,33 @@ void hrStrorage_getType_v(const struct statfs *fs_p, struct asn_oid *out_type_p) { assert(fs_p != NULL); assert(out_type_p != NULL); - if( !(fs_p->f_flags & MNT_LOCAL) ) { + if ( !(fs_p->f_flags & MNT_LOCAL) ) { *out_type_p = (struct asn_oid)OIDX_hrStorageNetworkDisk; return; } - if( strncmp (fs_p->f_fstypename, "procfs", MFSNAMELEN ) == 0 || - strncmp (fs_p->f_fstypename, "devfs", MFSNAMELEN ) == 0 ) { + if ( strncmp (fs_p->f_fstypename, "procfs", MFSNAMELEN ) == 0 || + strncmp (fs_p->f_fstypename, "devfs", MFSNAMELEN ) == 0 ) { *out_type_p = (struct asn_oid)OIDX_hrStorageOther; return; } - if( strncmp (fs_p->f_mntfromname, "/dev/fd", strlen("/dev/fd") ) == 0 || - strncmp (fs_p->f_mntfromname, "/dev/afd", strlen("/dev/afd") ) == 0) { + if ( strncmp (fs_p->f_mntfromname, "/dev/fd", strlen("/dev/fd") ) == 0 || + strncmp (fs_p->f_mntfromname, "/dev/afd", strlen("/dev/afd") ) == 0) { *out_type_p = (struct asn_oid)OIDX_hrStorageFloppyDisk; return; } - if( strncmp (fs_p->f_mntfromname, "/dev/acd", strlen("/dev/acd") ) == 0 || - strncmp (fs_p->f_mntfromname, "/dev/cd", strlen("/dev/cd") ) == 0) { + if ( strncmp (fs_p->f_mntfromname, "/dev/acd", strlen("/dev/acd") ) == 0 || + strncmp (fs_p->f_mntfromname, "/dev/cd", strlen("/dev/cd") ) == 0) { *out_type_p = (struct asn_oid)OIDX_hrStorageCompactDisc; return; } - if( strncmp (fs_p->f_mntfromname, "/dev/ad", strlen("/dev/ad") ) == 0 || - strncmp (fs_p->f_mntfromname, "/dev/ar", strlen("/dev/ar") ) == 0 || - strncmp (fs_p->f_mntfromname, "/dev/da", strlen("/dev/da") ) == 0 ) { + if ( strncmp (fs_p->f_mntfromname, "/dev/ad", strlen("/dev/ad") ) == 0 || + strncmp (fs_p->f_mntfromname, "/dev/ar", strlen("/dev/ar") ) == 0 || + strncmp (fs_p->f_mntfromname, "/dev/da", strlen("/dev/da") ) == 0 ) { *out_type_p = (struct asn_oid)OIDX_hrStorageFixedDisk; return; } @@ -321,26 +322,26 @@ char fs_string[255+1]; uint64_t used_blocks_count = 0; - if( (mounted_fs_count = getfsstat(NULL, 0, MNT_NOWAIT)) < 0 ) { - syslog(LOG_ERR, "getfsstat(NULL, 0, MNT_NOWAIT) failed: %m\n"); + if ( (mounted_fs_count = getfsstat(NULL, 0, MNT_NOWAIT)) < 0 ) { + syslog(LOG_ERR, "hrStorageTable: getfsstat(NULL, 0, MNT_NOWAIT) failed: %m\n"); return; /*out of luck this time*/ } - if( mounted_fs_count != (int)hrState_g.fs_buf_count || hrState_g.fs_buf == NULL ) { + if ( mounted_fs_count != (int)hrState_g.fs_buf_count || hrState_g.fs_buf == NULL ) { hrState_g.fs_buf_count = mounted_fs_count; hrState_g.fs_buf = (struct statfs *)reallocf(hrState_g.fs_buf, hrState_g.fs_buf_count * sizeof(struct statfs)); - if(hrState_g.fs_buf == NULL) { + if (hrState_g.fs_buf == NULL) { hrState_g.fs_buf_count = 0; assert(0); return; } } - if( (mounted_fs_count = getfsstat(hrState_g.fs_buf, + if ( (mounted_fs_count = getfsstat(hrState_g.fs_buf, hrState_g.fs_buf_count * sizeof(struct statfs), MNT_NOWAIT)) < 0 ) { - syslog(LOG_ERR, "getfsstat(, , MNT_NOWAIT) failed: %m \n"); + syslog(LOG_ERR, "hrStorageTable: getfsstat(, , MNT_NOWAIT) failed: %m \n"); return; /*out of luck this time*/ } @@ -348,16 +349,16 @@ FS_tbl_pre_refresh_v(); - for(i = 0; i < mounted_fs_count; i++ ) { + for (i = 0; i < mounted_fs_count; i++ ) { memset(&fs_string[0], '\0', sizeof(fs_string) ); - snprintf(fs_string, 255, "%s, type: %s, dev: %s", hrState_g.fs_buf[i].f_mntonname, + snprintf(fs_string, sizeof(fs_string) - 1, "%s, type: %s, dev: %s", hrState_g.fs_buf[i].f_mntonname, hrState_g.fs_buf[i].f_fstypename, hrState_g.fs_buf[i].f_mntfromname); entry = hrStorageTblEntry_find_by_name(fs_string); - if(entry != NULL) { + if (entry != NULL) { entry->flags |= HR_STORAGE_FOUND; hrStrorage_getType_v( &hrState_g.fs_buf[i], &entry->type); @@ -449,7 +450,7 @@ n1 = STAILQ_FIRST(&hrState_g.storage_name_map); while (n1 != NULL) { n2 = STAILQ_NEXT(n1, link); - if(n1->entry_p != NULL){ + if (n1->entry_p != NULL) { TAILQ_REMOVE(&hrState_g.hr_storage_tbl, n1->entry_p, link); free( n1->entry_p ); n1->entry_p = NULL; From owner-p4-projects@FreeBSD.ORG Sat Jul 23 15:48:37 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81D9116A421; Sat, 23 Jul 2005 15:48:37 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 5D59416A41F for ; Sat, 23 Jul 2005 15:48:37 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D4D143D48 for ; Sat, 23 Jul 2005 15:48:37 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6NFmbGn021034 for ; Sat, 23 Jul 2005 15:48:37 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6NFmaVL021031 for perforce@freebsd.org; Sat, 23 Jul 2005 15:48:36 GMT (envelope-from soc-tyler@freebsd.org) Date: Sat, 23 Jul 2005 15:48:36 GMT Message-Id: <200507231548.j6NFmaVL021031@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 80865 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 15:48:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=80865 Change 80865 by soc-tyler@soc-tyler_launchd on 2005/07/23 15:47:38 launchd(8) should also be able to *not* be PID 1 Affected files ... .. //depot/projects/soc2005/launchd/Makefile#8 edit .. //depot/projects/soc2005/launchd/init.c#6 edit .. //depot/projects/soc2005/launchd/launchd.c#7 edit Differences ... ==== //depot/projects/soc2005/launchd/Makefile#8 (text+ko) ==== @@ -2,7 +2,7 @@ # $FreeBSD$ PROG= launchd -SRCS= launchd.c liblaunch.c init.c +SRCS= launchd.c liblaunch.c ##init.c #launchdebugd.c launchproxy.c MAN= launchd.conf.5 launchd.plist.5 init.8 launchd.8 \ launchd_debug.8 launchproxy.8 rc.8 service.8 @@ -11,9 +11,13 @@ INSTALLFLAGS=-b -B.bak NO_SHARED?= YES + CFLAGS+= -g -Wall -W -Wshadow -Wpadded -Iincludes -D_LAUNCHD_ -## init.c related CFLAGS +# init.c related CFLAGS (from src/sbin/init/Makefile) CFLAGS+= -DDEBUGSHELL -DSECURE -DLOGIN_CAP -DCOMPAT_SYSV_INIT +# Do not let launchd(8) have init(8) functionality (or I haven't implemented it yet.. ;)) +CFLAGS+= -D_NO_INIT_ + # -lcrypt needed by original FreeBSD init(8) code DPADD= ${LIBUTIL} ${LIBCRYPT} ==== //depot/projects/soc2005/launchd/init.c#6 (text+ko) ==== ==== //depot/projects/soc2005/launchd/launchd.c#7 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Jul 23 18:44:17 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6725F16A421; Sat, 23 Jul 2005 18:44:17 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 298F616A41F for ; Sat, 23 Jul 2005 18:44:17 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3EE543D45 for ; Sat, 23 Jul 2005 18:44:16 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6NIiGhX035008 for ; Sat, 23 Jul 2005 18:44:16 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6NIiGaC035005 for perforce@freebsd.org; Sat, 23 Jul 2005 18:44:16 GMT (envelope-from soc-victor@freebsd.org) Date: Sat, 23 Jul 2005 18:44:16 GMT Message-Id: <200507231844.j6NIiGaC035005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 80875 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 18:44:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=80875 Change 80875 by soc-victor@soc-victor_82.76.158.176 on 2005/07/23 18:44:05 Made the hrDeviceTable's refresh to work. Note: need to upgrade libdevinfo with the latest version in order to have the chance to re-query the system for changes. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#11 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#2 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#11 (text+ko) ==== @@ -3,6 +3,28 @@ # All rights reserved. # Author: Victor Cruceru # +# Redistribution of this software and documentation 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 or documentation 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. +# CONTRIB=${.CURDIR}/../../../../contrib/bsnmp ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#2 (text+ko) ==== @@ -249,21 +249,6 @@ } void init_hrDevice_tbl_v(void) { - if ( hrState_g.dev_root != NULL ) { - syslog(LOG_ERR,"hrDeviceTable: attempt to re-initialization of devinfo."); - return; - } - if (devinfo_init() != 0) { - syslog(LOG_ERR,"hrDeviceTable: devinfo_init failed: %m"); - return; - - } - hrState_g.dev_root = devinfo_handle_to_device(DEVINFO_ROOT_DEVICE); - - if (hrState_g.dev_root == NULL) { - syslog(LOG_ERR,"hrDeviceTable: can't get the root device: %m"); - return; - } refresh_hrDevice_tbl_v(); } @@ -303,6 +288,23 @@ HR_DPRINTF((stderr, "%s: no refresh needed\n ",__func__)); return; } + if ( hrState_g.dev_root != NULL ) { + syslog(LOG_ERR,"hrDeviceTable: attempt to re-initialization of devinfo."); + return; + } + if (devinfo_init() != 0) { + syslog(LOG_ERR,"hrDeviceTable: devinfo_init failed: %m"); + return; + + } + hrState_g.dev_root = devinfo_handle_to_device(DEVINFO_ROOT_DEVICE); + + if (hrState_g.dev_root == NULL) { + syslog(LOG_ERR,"hrDeviceTable: can't get the root device: %m. Most likely you need to upgrade libdevinfo!"); + return; + } + + /*mark each entry as missing*/ TAILQ_FOREACH(entry, &hrState_g.hr_device_tbl, link) entry->flags &= ~HR_DEVICE_FOUND; @@ -324,6 +326,11 @@ hrState_g.hrDevice_tbl_age = time(NULL); + + devinfo_free(); + hrState_g.dev_root = NULL; + + HR_DPRINTF((stderr, "%s: refresh DONE\n ",__func__)); }