From owner-p4-projects Sun Dec 8 0:19:44 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 233B837B404; Sun, 8 Dec 2002 00:19:43 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C3C5237B401 for ; Sun, 8 Dec 2002 00:19:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 67DCE43E4A for ; Sun, 8 Dec 2002 00:19:42 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB88F8mV073956 for ; Sun, 8 Dec 2002 00:15:08 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB88F7OM073952 for perforce@freebsd.org; Sun, 8 Dec 2002 00:15:07 -0800 (PST) Date: Sun, 8 Dec 2002 00:15:07 -0800 (PST) Message-Id: <200212080815.gB88F7OM073952@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar Subject: PERFORCE change 22059 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22059 Change 22059 by marcel@marcel_vaio on 2002/12/08 00:15:04 Compile EFI applications with -fshort-wchar. EFI uses 16 bit Unicode, whereas our native wchar_t is 32 bit. Affected files ... .. //depot/projects/ia64/sys/boot/efi/Makefile.inc#9 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/Makefile.inc#9 (text+ko) ==== @@ -1,4 +1,4 @@ # $FreeBSD: src/sys/boot/efi/Makefile.inc,v 1.5 2002/07/20 03:52:37 peter Exp $ # Options used when building app-specific efi components -CFLAGS+= -ffreestanding -Wformat +CFLAGS+= -ffreestanding -fshort-wchar -Wformat To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Sun Dec 8 13:46:11 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6E1C37B404; Sun, 8 Dec 2002 13:46:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B55537B401 for ; Sun, 8 Dec 2002 13:46:09 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1648643E4A for ; Sun, 8 Dec 2002 13:46:09 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB8LfVmV062537 for ; Sun, 8 Dec 2002 13:41:31 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB8LfVCM062534 for perforce@freebsd.org; Sun, 8 Dec 2002 13:41:31 -0800 (PST) Date: Sun, 8 Dec 2002 13:41:31 -0800 (PST) Message-Id: <200212082141.gB8LfVCM062534@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar Subject: PERFORCE change 22077 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22077 Change 22077 by marcel@marcel_nfs on 2002/12/08 13:41:18 Suppress warning by casting the result of efi_get_table() before asigning to bi_hcdp. No functional change. Affected files ... .. //depot/projects/ia64/sys/boot/efi/libefi/bootinfo.c#9 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/libefi/bootinfo.c#9 (text+ko) ==== @@ -302,7 +302,7 @@ bi->bi_symtab = ssym; bi->bi_esymtab = esym; - bi->bi_hcdp = efi_get_table(&hcdp); /* Get the DIG64 HCDP table addr. */ + bi->bi_hcdp = (uint64_t)efi_get_table(&hcdp); /* DIG64 HCDP table addr. */ fpswa_init(&bi->bi_fpswa); /* find FPSWA interface */ /* find the last module in the chain */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Sun Dec 8 13:53:21 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28C7237B404; Sun, 8 Dec 2002 13:53:19 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B5CBE37B401 for ; Sun, 8 Dec 2002 13:53:18 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6DD0C43EA9 for ; Sun, 8 Dec 2002 13:53:18 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB8LmfmV063016 for ; Sun, 8 Dec 2002 13:48:41 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB8Lmeh9063013 for perforce@freebsd.org; Sun, 8 Dec 2002 13:48:40 -0800 (PST) Date: Sun, 8 Dec 2002 13:48:40 -0800 (PST) Message-Id: <200212082148.gB8Lmeh9063013@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar Subject: PERFORCE change 22078 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22078 Change 22078 by marcel@marcel_nfs on 2002/12/08 13:47:57 Change the prototype of main to: EFI_STATUS main(int argc, CHAR16 *argv[]); Add the prototype to efilib.h. That way the compiler will complain if main is defined differently. While in efilib.h, rename efi_init to efi_main and add a prototype for exit. Affected files ... .. //depot/projects/ia64/sys/boot/efi/include/efilib.h#3 edit .. //depot/projects/ia64/sys/boot/efi/loader/main.c#11 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/include/efilib.h#3 (text+ko) ==== @@ -32,4 +32,7 @@ extern EFI_RUNTIME_SERVICES *RS; void *efi_get_table(EFI_GUID *tbl); -void efi_init(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table); +void efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table); + +EFI_STATUS main(int argc, CHAR16 *argv[]); +void exit(EFI_STATUS status); ==== //depot/projects/ia64/sys/boot/efi/loader/main.c#11 (text+ko) ==== @@ -99,7 +99,7 @@ } EFI_STATUS -main(int argc, char *argv) +main(int argc, CHAR16 *argv[]) { EFI_LOADED_IMAGE *img; EFI_SIMPLE_NETWORK *net; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Sun Dec 8 15:10:18 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3179237B404; Sun, 8 Dec 2002 15:09:54 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B782B37B401 for ; Sun, 8 Dec 2002 15:09:53 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5EA9343E4A for ; Sun, 8 Dec 2002 15:09:52 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB8N5EmV091770 for ; Sun, 8 Dec 2002 15:05:14 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB8N5EHE091757 for perforce@freebsd.org; Sun, 8 Dec 2002 15:05:14 -0800 (PST) Date: Sun, 8 Dec 2002 15:05:14 -0800 (PST) Message-Id: <200212082305.gB8N5EHE091757@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar Subject: PERFORCE change 22080 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22080 Change 22080 by marcel@marcel_vaio on 2002/12/08 15:04:38 IFC @22079 Affected files ... .. //depot/projects/ia64/etc/periodic/daily/440.status-mailq#4 integrate .. //depot/projects/ia64/etc/periodic/daily/460.status-mail-rejects#3 integrate .. //depot/projects/ia64/etc/periodic/daily/470.status-named#3 integrate .. //depot/projects/ia64/etc/periodic/security/550.ipfwlimit#5 integrate .. //depot/projects/ia64/etc/periodic/security/650.ip6fwlimit#5 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/early-adopter/article.sgml#4 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/hardware/alpha/proc-alpha.sgml#10 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/hardware/common/dev.sgml#12 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/hardware/i386/article.sgml#4 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/installation/common/install.sgml#8 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/installation/common/upgrade.sgml#4 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/installation/i386/article.sgml#4 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/installation/sparc64/install.sgml#7 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/readme/article.sgml#7 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml#17 integrate .. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/i386/article.sgml#4 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/trouble.sgml#6 integrate .. //depot/projects/ia64/release/scripts/chkINDEX#2 integrate .. //depot/projects/ia64/release/scripts/mkpkghier#2 integrate .. //depot/projects/ia64/sbin/devd/Makefile#3 integrate .. //depot/projects/ia64/sbin/devd/devd-generic#2 integrate .. //depot/projects/ia64/sbin/devd/devd.c#2 delete .. //depot/projects/ia64/sbin/devd/devd.cc#1 branch .. //depot/projects/ia64/sbin/devd/devd.conf#3 integrate .. //depot/projects/ia64/sbin/devd/devd.conf.5#3 integrate .. //depot/projects/ia64/sbin/devd/devd.h#2 integrate .. //depot/projects/ia64/sbin/devd/parse.y#2 integrate .. //depot/projects/ia64/sbin/devd/token.l#2 integrate .. //depot/projects/ia64/sbin/fsck_ffs/fsutil.c#11 integrate .. //depot/projects/ia64/share/man/man4/smp.4#2 integrate .. //depot/projects/ia64/sys/boot/efi/include/efiapi.h#8 integrate .. //depot/projects/ia64/sys/boot/efi/libefi/efi_console.c#3 integrate .. //depot/projects/ia64/sys/boot/efi/loader/main.c#12 integrate .. //depot/projects/ia64/sys/compat/linux/linux_file.c#8 integrate .. //depot/projects/ia64/sys/dev/bktr/bktr_core.c#7 integrate .. //depot/projects/ia64/sys/ia64/conf/GENERIC#21 integrate .. //depot/projects/ia64/sys/ia64/include/bootinfo.h#7 integrate .. //depot/projects/ia64/sys/kern/vfs_subr.c#29 integrate .. //depot/projects/ia64/sys/modules/Makefile#30 integrate .. //depot/projects/ia64/sys/net/if_gre.h#4 integrate .. //depot/projects/ia64/sys/netinet/ip_gre.c#7 integrate .. //depot/projects/ia64/sys/netsmb/smb_smb.c#6 integrate Differences ... ==== //depot/projects/ia64/etc/periodic/daily/440.status-mailq#4 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/periodic/daily/440.status-mailq,v 1.8 2002/05/07 13:11:05 brian Exp $ +# $FreeBSD: src/etc/periodic/daily/440.status-mailq,v 1.9 2002/12/07 23:37:44 keramida Exp $ # # If there is a global system configuration file, suck it in. @@ -25,7 +25,7 @@ rc=$(case "$daily_status_mailq_shorten" in [Yy][Ee][Ss]) mailq | - perl -ne 'print if /^\s+\S+@/' | + egrep -e '^[[:space:]]+[^[:space:]]+@' | sort | uniq -c | sort -nr | @@ -45,7 +45,7 @@ rc=$(case "$daily_status_mailq_shorten" in [Yy][Ee][Ss]) mailq -Ac | - perl -ne 'print if /^\s+\S+@/' | + egrep -e '^[[:space:]]+[^[:space:]]+@' | sort | uniq -c | sort -nr | ==== //depot/projects/ia64/etc/periodic/daily/460.status-mail-rejects#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/periodic/daily/460.status-mail-rejects,v 1.14 2002/04/30 17:07:32 brian Exp $ +# $FreeBSD: src/etc/periodic/daily/460.status-mail-rejects,v 1.15 2002/12/07 23:37:44 keramida Exp $ # # If there is a global system configuration file, suck it in. @@ -51,8 +51,9 @@ done cat /var/log/maillog } | - perl -ne "print \"\$2\n\" - if (/reject=/ and /^$start.*ruleset=check_\S+,\s+arg1=(<[^@]+@)?([^>,]+).*reject=/o);" | + fgrep 'reject=' | + egrep -e "^$start.*ruleset=check_[^[:space:]]+,[[:space:]]+arg1=(<[^@]+@)?([^>,]+).*reject=.*" | + sed -e 's/.*arg1=//' -e 's/.*@//' -e 's/[>[:space:]].*$//' | sort -f | uniq -ic | sort -fnr | tee /dev/stderr | wc -l) [ $rc -gt 0 ] && rc=1 fi;; ==== //depot/projects/ia64/etc/periodic/daily/470.status-named#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/periodic/daily/470.status-named,v 1.3 2002/09/24 18:53:42 ache Exp $ +# $FreeBSD: src/etc/periodic/daily/470.status-named,v 1.4 2002/12/07 23:37:44 keramida Exp $ # # If there is a global system configuration file, suck it in. @@ -25,30 +25,30 @@ start=`date -v-1d '+%b %d' | sed 's/0\(.\)$/ \1/'` rc=$(catmsgs | - perl -ne 'print "$2 from $1\n" - if (/^'"$start"'.*named\[\d+\]: denied [AI]XFR from \[(.*)\]\.\d+ for "(.*)"/);' | - sort -f | uniq -ic | - perl -e ' - use Socket; + fgrep '^'"$start"'.*named\[[[:digit:]]\+\]: denied [AI]XFR from \[.*\]\.[[:digit:]]\+ for' | \ + sed -e 's/.*: denied [AI]XFR from \[\(.*\)\]\.[[:digit:]]* for "\(.*\)".*$/\2 from \1/' + sort -f | uniq -ic | ( + usedns=0 + if [ X"${daily_status_named_usedns}" != X"" ]; then + case $daily_status_named_usedns in + [yY][eE][sS]) usedns=1 ;; + esac + fi - while () { - if (/^.*from (.*)$/) { - $ip_addr = $1; - chomp; - if ($ARGV[0] =~ /^yes$/i) { - ($host) = gethostbyaddr(inet_aton($ip_addr), AF_INET); - } else { - $host = ""; - } - - if ($host) { - print "$_ ($host)\n"; - } else { - print "$_\n"; - } - } - } - ' $daily_status_named_usedns | tee /dev/stderr | wc -l) + while read line ;do + ipaddr=`echo "$line" | sed -e 's/^.*from //'` + if [ $usedns -eq 1 ]; then + name=`host "${ipaddr}" 2>/dev/null | \ + grep 'domain name pointer' | \ + sed -e 's/^.* //'` + fi + if [ X"${name}" != X"" ]; then + echo "${line} (${name})" + else + echo "${line}" + fi + done ) | \ + tee /dev/stderr | wc -l) [ $rc -gt 0 ] && rc=1 ;; ==== //depot/projects/ia64/etc/periodic/security/550.ipfwlimit#5 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/periodic/security/550.ipfwlimit,v 1.4 2002/08/25 04:09:17 cjc Exp $ +# $FreeBSD: src/etc/periodic/security/550.ipfwlimit,v 1.5 2002/12/07 23:37:44 keramida Exp $ # # Show ipfw rules which have reached the log limit @@ -45,8 +45,10 @@ TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` IPFW_LOG_LIMIT=`sysctl -n net.inet.ip.fw.verbose_limit 2> /dev/null` if [ $? -eq 0 ] && [ "${IPFW_LOG_LIMIT}" -ne 0 ]; then - ipfw -a l | grep " log " | perl -n -e \ - '/^\d+\s+(\d+)/; print if ($1 >= '$IPFW_LOG_LIMIT')' > ${TMP} + ipfw -a l | grep " log " | \ + grep '^[[:digit:]]\+[[:space:]]\+[[:digit:]]\+' | \ + awk -v limit="$IPFW_LOG_LIMIT" \ + '{if ($2 > limit) {print $0}}' > ${TMP} if [ -s "${TMP}" ]; then rc=1 echo "" ==== //depot/projects/ia64/etc/periodic/security/650.ip6fwlimit#5 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/periodic/security/650.ip6fwlimit,v 1.4 2002/08/25 04:09:17 cjc Exp $ +# $FreeBSD: src/etc/periodic/security/650.ip6fwlimit,v 1.5 2002/12/07 23:37:44 keramida Exp $ # # Show ip6fw rules which have reached the log limit @@ -45,8 +45,10 @@ TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` IP6FW_LOG_LIMIT=`sysctl -n net.inet6.ip6.fw.verbose_limit 2> /dev/null` if [ $? -eq 0 ] && [ "${IP6FW_LOG_LIMIT}" -ne 0 ]; then - ip6fw -a l | grep " log " | perl -n -e \ - '/^\d+\s+(\d+)/; print if ($1 >= '$IP6FW_LOG_LIMIT')' > ${TMP} + ip6fw -a l | grep " log " | \ + grep '^[[:digit:]]\+[[:space:]]\+[[:digit:]]\+' | \ + awk -v limit="$IPFW_LOG_LIMIT" \ + '{if ($2 > limit) {print $0}}' > ${TMP} if [ -s "${TMP}" ]; then rc=1 echo "" ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/early-adopter/article.sgml#4 (text+ko) ==== @@ -1,9 +1,9 @@ The &os; Release Engineering Team - $FreeBSD: src/release/doc/de_DE.ISO8859-1/early-adopter/article.sgml,v 1.5 2002/12/01 12:56:41 ue Exp $ + $FreeBSD: src/release/doc/de_DE.ISO8859-1/early-adopter/article.sgml,v 1.6 2002/12/07 22:32:30 ue Exp $ 2002 @@ -305,9 +305,9 @@ Die Dokumentation (wie z.B. das &os; Handbuch und der FAQ) sind teilweise noch nicht auf dem Stand von &os; 5.0. ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/hardware/alpha/proc-alpha.sgml#10 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1555,7 +1555,7 @@ device pcm - Die Audio-Hardware nutzt Port 0x530, IRQ 9 und DRQ 3. Sie + Die Audio-Hardware nutzt Port 0x530, IRQ 10 und DRQ 3. Sie müssen in device.hints zusätzlich noch flags 0x10011 angeben. ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/hardware/common/dev.sgml#12 (text+ko) ==== @@ -28,13 +28,13 @@ this file to fix "missed" conversions are likely to break the build. - $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/dev.sgml,v 1.47 2002/12/01 15:56:12 ue Exp $ - basiert auf: 1.117 + $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/dev.sgml,v 1.49 2002/12/07 21:07:59 ue Exp $ + basiert auf: 1.119 --> - $FreeBSD: src/release/doc/de_DE.ISO8859-1/hardware/common/dev.sgml,v 1.14 2002/12/01 16:20:37 ue Exp $ + $FreeBSD: src/release/doc/de_DE.ISO8859-1/hardware/common/dev.sgml,v 1.15 2002/12/07 22:32:30 ue Exp $ Unterstützte Geräte @@ -54,11 +54,11 @@ Festplatten-Controller - IDE/ATA Controller + IDE/ATA Controller (&man.ata.4; Treiber) - Acerlabs Aladdin + Acard ATP850 UDMA2, ATP860 UDMA4, ATP865 UDMA6 @@ -2529,7 +2529,7 @@ - Gigabit Ethernet Karten mit Broadcom BCM570x + Gigabit Ethernet Karten mit Broadcom BCM570x (&man.bge.4; Treiber) @@ -3920,7 +3920,7 @@ Bluetooth Geräte - PCCARD Host Kontroller (&man.ng.bt3c.4; + PCCARD Host Kontroller (&man.ng.bt3c.4; Treiber) @@ -3929,7 +3929,7 @@ - USB Host Kontroller (&man.ng.ubt.4; Treiber) + USB Host Kontroller (&man.ng.ubt.4; Treiber) 3Com 3CREB96 ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/hardware/i386/article.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ - + ]> ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/installation/common/install.sgml#8 (text+ko) ==== @@ -1,7 +1,7 @@ - + ]> ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/installation/sparc64/install.sgml#7 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -418,7 +418,7 @@ gibt, müssen Sie das Disk Label manuell erzeugen, wenn Sie &os;/&arch; &os; verwenden. Weitere Informationen zu diesem Thema können Sie dem FreeBSD + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/">FreeBSD Handbuch entnehmen. Bei &os;/&arch; muß ein Sun-kompatibles Label in das ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/readme/article.sgml#7 (text+ko) ==== @@ -1,8 +1,8 @@ Das &os; Projekt - $FreeBSD: src/release/doc/de_DE.ISO8859-1/readme/article.sgml,v 1.7 2002/11/02 11:20:26 ue Exp $ + $FreeBSD: src/release/doc/de_DE.ISO8859-1/readme/article.sgml,v 1.8 2002/12/07 22:32:31 ue Exp $ 2000 @@ -166,7 +166,7 @@ Eine Übersicht über die Firmen, die FreeBSD auf CDROM oder DVD vertreiben, finden Sie im Anhang Bezugsquellen + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/mirrors.html">Bezugsquellen für FreeBSD des Handbuches. @@ -180,7 +180,7 @@ Eine Liste von alternativen Bezugsquellen für &os; finden Sie im Kapitel FTP + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">FTP Server des Handbuchs und auf unseren Webseiten. Wir raten Ihnen dringend, einen Mirror in der näheren @@ -431,9 +431,9 @@ über &os;, die vom &os; Project verwaltet werden, sind das &os; Handbuch und der &os; FAQ. Die aktuellen Versionen des Handbuches + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/">Handbuches und der FAQ + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/faq/">FAQ sind immer auf der Webseite FreeBSD Dokumentation und allen Ihren Mirror-Sites @@ -455,7 +455,7 @@ Eine Liste zusätzlicher Bücher und Dokumentationen zu &os; finden Sie im Kapitel Bibliographie + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/bibliography.html">Bibliographie des Handbuchs. Da &os; ganz klar aus der UNIX-Welt stammt, enthalten auch andere Artikel und Bücher über UNIX-Systeme nützliche Informationen. Eine Auswahl ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml#17 (text+ko) ==== @@ -1,13 +1,13 @@ &os;/&arch; &release.current; Release Notes The FreeBSD Project - $FreeBSD: src/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml,v 1.23 2002/12/01 16:20:37 ue Exp $ + $FreeBSD: src/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml,v 1.24 2002/12/07 22:32:31 ue Exp $ 2000 @@ -76,9 +76,9 @@ Weitere Informationen, wie Sie diese (oder andere) &release.type; Distributionen von &os; erhalten können, finden Sie im Anhang Obtaining + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/mirrors.html">Obtaining FreeBSD des FreeBSD + url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/">FreeBSD Handbuchs. ]]> @@ -139,7 +139,7 @@ Der Treiber &man.agp.4; für AGP-Karten wurde hinzugefügt. &merged; - Bluetooth-Geräte werden jetzt + Bluetooth-Geräte werden jetzt unterstützt, dazu dient eine Reihe von Netgraph-Modulen (siehe &man.ng.bluetooth.4;). Zwei Module stellen Treiber für Bluetooth-Adapter bereit: Der Treiber &man.ng.bt3c.4; @@ -1092,7 +1092,7 @@ Sysctl-Variable kern.polling.user_frac wird der für Benutzerprozesse zur Verfügung stehende Anteil der CPU-Zeit eingestellt. Die ersten Geräte, die - Polling unterstützen, sind &man.dc.4;, &man.fxp.4;, + Polling unterstützen, sind &man.dc.4;, &man.fxp.4;, &man.nge.4;, &man.rl.4; und &man.sis.4;. Weitere Informationen finden Sie in der Onlinehilfe zu &man.polling.4;. &merged; @@ -1167,7 +1167,7 @@ Der neue Treiber &man.gre.4; unterstützt die Encapsulation von IP Paketen mt GRE (RFC 1701) und die minimale IP Encapsulation für Mobile IP (RFC - 2004). + 2004). &merged; Die Erzeugung von ICMP ECHO und TSTAMP Antworten kann jetzt beschränkt werden. Die den Beschränkungen @@ -1477,6 +1477,12 @@ Der Treiber &man.ata.4; unterstützt jetzt die Sil 0680 und VIA 8233/8235 Controller. &merged; + Der Treiber &man.ata.4; unterstützt jetzt auch die + Acard ATP850, ATP860 und ATP865 Controller. + + Der Treiber &man.ata.4; ist jetzt auch auf + PC98-Systemen verfügbar. + Der Treiber &man.cd.4; unterstützt jetzt Schreibzugriffe. Damit ist es möglich, DVD-RAM, PD und ähnliche Laufwerke, die als CDROM erkannt werden, zu @@ -1776,7 +1782,7 @@ gemountet werden. Eine erste Version des UFS2 Dateisystems steht jetzt zur - Verfügung. Einige der Neuerungen sind: + Verfügung. Einige der Neuerungen in UFS2 sind: @@ -1802,6 +1808,12 @@ werden. + + UFS1 bleibt das Standardformat, es ist allerdings + möglich, bei &man.newfs.8; und im Bildschirm + Partitioning von &man.sysinstall.8; UFS2 als + Option anzugeben. Alle 64-Bit Plattformen können auch + von UFS2 Dateisystemen booten. @@ -2502,6 +2514,9 @@ im Format &man.a.out.5; wurde aus dem Compiler und den zugehörigen Programmen entfernt. + &man.adduser.8; und &man.rmuser.8; sind jetzt &man.sh.1; + Skripte und nicht mehr Perl Skripte. + Wenn der erste Parameter von &man.ancontrol.8; und &man.wicontrol.8; nicht mit - einem beginnt, wird er als Namen eines Interfaces behandelt. &merged; @@ -2750,6 +2765,14 @@ jetzt vererbt und schließt einen ganzen Verzeichnisbaum aus. &merged; + &man.dump.8; unterstützt jetzt die Option + , um aktive UFS und UFS2 Dateisysteme + zuverlässiger bearbeiten zu können. Um ein + konsistenten dump-file zu erhalten, wird zunächst ein + Filesystem Snapshot erzeugt, auf dem &man.dump.8; dann arbeitet. + Wenn der Dump vollständig ist, wird der Snapshot wieder + gelöscht. + Der Option von &man.dump.8; verbraucht keinen zusätzlichen Parameter mehr. &merged; @@ -4331,7 +4354,7 @@ 8.3.3 aktualisiert. &merged; Binutils wurden auf eine - Vorversion von 2.13.1 mit Stand 11. Oktober 2002 + Vorversion von 2.13.2 mit Stand 27. Oktober 2002 aktualisiert. bzip2 1.0.2 wurde importiert, @@ -4345,9 +4368,8 @@ file wurde auf Version 3.39 aktualisiert. - gcc wurde auf einen - Zwischenversion von gcc 3.2.1 - mit Stand 9. Oktober 2002 aktualisiert. + gcc steht jetzt in der + Version 3.2.1 zur Verfügung. Das C++ ABI von gcc @@ -4380,7 +4402,7 @@ aktualisiert. Heimdal Kerberos wurde auf - Version 0.5.1 aktualisiert. + Version 0.5.1 aktualisiert. &merged; Die von &os; genutzte Version von IPFilter enthält jetzt auch @@ -4455,9 +4477,11 @@ Perl wurde aus dem &os; Basissystem entfernt. Es ist weiterhin möglich, die - Version aus der &os; Ports Collection oder das binäre - Package zu installieren. Durch diesen Schritt wird es in - Zukunft deutlich einfacher sein, neue Perl-Versionen zu + Version aus der &os; Ports Collection, das binäre Package + oder über den Punkt Perl + distribution im Menü Distributionen von + &man.sysinstall.8; zu installieren. Durch diesen Schritt wird + es in Zukunft deutlich einfacher sein, neue Perl-Versionen zu importieren und Verbesserungen einzubringen. Um das Basisystems von Perl-Abhängigkeiten zu befreien, wurden viele in Perl geschriebene Utilities durch C-Programme und @@ -4465,8 +4489,16 @@ existiert ein eigener Eintrag in den Release Notes). - Die Arbeiten zur Entfernung von Perl und Integration des - Packages sind noch nicht abgeschlossen. + Die Arbeiten zur Entfernung aller Perl-Skripte sind noch + nicht abgeschlossen. + + + + Die meisten der in &man.sysinstall.8; verfügbaren + Distributionen enthalten die neue Perl Distribution. Diese + Änderung wird daher für die meisten User + transparent sein, sie müssen lediglich Perl separat + aktualisieren. GNU ptx wurde aus dem @@ -4539,8 +4571,9 @@ CVS - cvs wurde auf Version - 1.11.2 aktualisiert. &merged; + cvs ist jetzt in der + Zwischenversion 1.11.2.1 mit Stand 1. Dezember 2002 + verfügbar. Der Standardwert der von &man.cvs.1; genutzten Variable CVS_RSH ist jetzt ssh und @@ -5010,12 +5043,22 @@ 7.1. &merged; Die von der Ports Collection erzeugten bzw. die auf den - FTP-Servern l bereitliegenden Pakete werden jetzt mit + FTP-Servern bereitliegenden Pakete werden jetzt mit &man.bzip2.1; statt &man.gzip.1; gepackt. Aus diesem Grund enden die Dateinamen jetzt mit .tbz statt .tgz. Die diversen Tools für die Arbeit mit Packages wurden für das neue Format aktualisiert. + + Die Ports Collection verwendet jetzt eine separate + Übersicht (/usr/ports/INDEX-5), die + von &os; &release.branch; genutzt wird. Der Hauptgrund + für die Änderung war das Problem, daß Pakete + in &os; &release.branch; Abhängigkeiten haben, die sie + in &os; 4-STABLE nicht haben (wie z.B. lang/perl5). Die jeweils aktuelle + Indexdatei heißt allerdings weiterhin + INDEX. ==== //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/i386/article.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ - + ]> ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/trouble.sgml#6 (text+ko) ==== @@ -1,5 +1,5 @@ @@ -34,6 +34,50 @@ + My system hangs while probing hardware during boot, or it + behaves strangely during install. + + + &os; 5.0 and above makes extensive use of the system ACPI + service on the i386 platform to aid in system configuration if it's + detected during boot. Unfortunately, some bugs still exist in both + the ACPI driver and within system motherboards and BIOS. The use + of ACPI can be disabled by unsetting the acpi_load + variable in the third stage boot loader: + + unset acpi_loader + + This is reset each time the system is booted, so it might be + necessary to set it permanently in the file + /boot/loader.conf. More inforation about the + boot loader can be found in the FreeBSD Handbook. + + + + + My legacy ISA device used to be recognized in previous versions + of &os;, but now it's not. What happened? + + + Some device drivers, like matcd, were removed over time due to + lack of maintainership or other reasons. Others still exist but + are disabled because of their intrusive hardware probe routines. + The following device drivers fall into this category and can + re-enabled from the third stage boot loader: aha, ahv, aic, bt, ed, + cs, sn, ie, fe, le, and lnc. To do this, stop the loader during + it's 10 second countdown and enter the following at the + prompt: + + unset hint.foo.0.disabled + + where foo is the name of the driver to re-enable. + This can be set permanently by editing the file + /boot/device.hints and removing the appropriate + disabled entry. + + + + I go to boot from the hard disk for the first time after installing &os;, the kernel loads and probes my hardware, but stops with messages like: ==== //depot/projects/ia64/release/scripts/chkINDEX#2 (text+ko) ==== @@ -1,6 +1,6 @@ #! /bin/sh # -# $FreeBSD: src/release/scripts/chkINDEX,v 1.2 2002/06/10 00:46:29 brian Exp $ +# $FreeBSD: src/release/scripts/chkINDEX,v 1.3 2002/12/08 18:31:03 murray Exp $ usage() { @@ -13,8 +13,8 @@ [ -f INDEX ] || usage "INDEX file not found" echo Checking for missing files -sed 's,^\([^|]*\)|.*,All/\1.tgz,' INDEX | xargs ls -l >/dev/null +sed 's,^\([^|]*\)|.*,All/\1.tbz,' INDEX | xargs ls -l >/dev/null echo Checking for missing dependents awk -F'|' '{print $9}' INDEX | sed 's/ /\ -/g' | sort -u | sed -e /^$/d -e 's/\(.*\)/All\/\1.tgz/' | xargs ls -l >/dev/null +/g' | sort -u | sed -e /^$/d -e 's/\(.*\)/All\/\1.tbz/' | xargs ls -l >/dev/null ==== //depot/projects/ia64/release/scripts/mkpkghier#2 (text+ko) ==== @@ -1,6 +1,6 @@ #! /bin/sh # -# $FreeBSD: src/release/scripts/mkpkghier,v 1.1 2002/06/06 00:18:49 brian Exp $ +# $FreeBSD: src/release/scripts/mkpkghier,v 1.2 2002/12/08 18:31:03 murray Exp $ usage() { @@ -20,14 +20,14 @@ echo Creating new hierarchy awk -F'|' '{ print $1 " " $7; }' INDEX | while read pkg dirs do - [ -f All/$pkg.tgz ] || { - echo "All/$pkg.tgz: Non-existent" >&2 + [ -f All/$pkg.tbz ] || { + echo "All/$pkg.tbz: Non-existent" >&2 continue } for dir in $dirs do mkdir -p $dir - [ -e $dir/$pkg.tgz ] && continue - ln -s ../All/$pkg.tgz $dir/$pkg.tgz + [ -e $dir/$pkg.tbz ] && continue + ln -s ../All/$pkg.tbz $dir/$pkg.tbz done done ==== //depot/projects/ia64/sbin/devd/Makefile#3 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/sbin/devd/Makefile,v 1.2 2002/11/14 10:00:01 tjr Exp $ +# $FreeBSD: src/sbin/devd/Makefile,v 1.3 2002/12/07 08:04:36 imp Exp $ -PROG= devd -SRCS= devd.c token.l parse.y y.tab.h +PROG_CXX=devd +SRCS= devd.cc token.l parse.y y.tab.h MAN= devd.8 devd.conf.5 -WARNS?= 5 +#WARNS?= 5 DPADD= ${LIBL} LDADD= -ll ==== //depot/projects/ia64/sbin/devd/devd-generic#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/sbin/devd/devd-generic,v 1.1 2002/10/20 22:15:17 imp Exp $ +# $FreeBSD: src/sbin/devd/devd-generic,v 1.2 2002/12/07 08:04:36 imp Exp $ # # Script called by devd(8) whenever a device appears or disappears. # ==== //depot/projects/ia64/sbin/devd/devd.conf#3 (text+ko) ==== @@ -1,21 +1,22 @@ -// $FreeBSD: src/sbin/devd/devd.conf,v 1.2 2002/11/18 21:02:29 jhb Exp $ -// -// Refer to devd.conf(5) and devd(8) man pages for the details on how to -// run and configure devd. -// +# $FreeBSD: src/sbin/devd/devd.conf,v 1.3 2002/12/07 08:04:36 imp Exp $ +# +# Refer to devd.conf(5) and devd(8) man pages for the details on how to +# run and configure devd. +# -// NB: All regular expressions have an implicit ^$ around them. +# NB: All regular expressions have an implicit ^$ around them. +# NB: device-name is shorthand for 'match device-name' options { - // Each directory directive adds a directory the list of directories - // that we scan for files. Files are read-in in the order that they - // are returned from readdir(3). The rule-sets are combined to - // create a DFA that's used to match events to actions. + # Each directory directive adds a directory the list of directories + # that we scan for files. Files are read-in in the order that they + # are returned from readdir(3). The rule-sets are combined to + # create a DFA that's used to match events to actions. directory "/etc/devd"; directory "/usr/local/etc/devd"; pid-file "/var/run/devd.pid"; - // Setup some shorthand for regex that we use later in the file. + # Setup some shorthand for regex that we use later in the file. set ethernet-nic-regex "(an|ar|aue|awi|bge|cm|cnw|cs|cue|dc|de|ed|el|em|ep|ex|\ fe|fxp|gem|gx|hme|ie|kue|lge|lnc|my|nge|pcn|ray|rl|\ @@ -25,15 +26,13 @@ stg|sym|wds)[0-9]+"; }; -// Note that the attach/detach with the highest value wins, so that one can -// override these general rules. +# Note that the attach/detach with the highest value wins, so that one can +# override these general rules. -// NB: device-name is shorthand for 'match device-name' - -// -// For ethernet like devices, the default is to run dhclient. Due to -// a historical accident, the name of this script it called pccard_ether -// +# +# For ethernet like devices, the default is to run dhclient. Due to +# a historical accident, the name of this script it called pccard_ether +# attach 0 { device-name "$ethernet-nic-regex"; action "/etc/pccard_ether $device-name start"; @@ -44,10 +43,10 @@ action "/etc/pccard_ether $device-name stop"; }; -// An entry like this might be in a different file, but is included here -// as an example of how to override things. Normally 'ed20' would match -// the above attach/detach stuff, but the value of 100 makes it -// ed20 is hard wired to 1.2.3.4 +# An entry like this might be in a different file, but is included here +# as an example of how to override things. Normally 'ed20' would match +# the above attach/detach stuff, but the value of 100 makes it +# ed20 is hard wired to 1.2.3.4 attach 100 { device-name "ed20"; action "ifconfig $device-name inet 1.2.3.4 netmask 0xffff0000"; @@ -56,26 +55,26 @@ device-name "ed20"; }; -// -// Rescan scsi device-names on attach, but not detach. -// +# +# Rescan scsi device-names on attach, but not detach. >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Sun Dec 8 15:37:32 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F87037B404; Sun, 8 Dec 2002 15:37:28 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A42CB37B401 for ; Sun, 8 Dec 2002 15:37:27 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D2A543EC5 for ; Sun, 8 Dec 2002 15:37:27 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB8NWnmV002507 for ; Sun, 8 Dec 2002 15:32:49 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB8NWnxH002504 for perforce@freebsd.org; Sun, 8 Dec 2002 15:32:49 -0800 (PST) Date: Sun, 8 Dec 2002 15:32:49 -0800 (PST) Message-Id: <200212082332.gB8NWnxH002504@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar Subject: PERFORCE change 22082 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22082 Change 22082 by marcel@marcel_nfs on 2002/12/08 15:32:34 Finish the option string parsing. First we normalize the option string to be in Unicode-16 This is a poor man's algorithm that merely casts. If the string was already in Unicode, we make a copy so that we can be sure we can modify it. Secondly, we count the number of words in the string. This does not deal with quoting or other shell-like features. If such is needed, it can be added. Lastly, we construct the argv vector. For now we hardcode argv[0] to point to L"loader.efi", but it would be really nice if we could construct a real pathname. That would allow if to determine from which file system we were loaded. Again, this functionality can be added seperately. Affected files ... .. //depot/projects/ia64/sys/boot/efi/libefi/libefi.c#3 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/libefi/libefi.c#3 (text+ko) ==== @@ -31,6 +31,7 @@ #include #include +#include EFI_HANDLE IH; EFI_SYSTEM_TABLE *ST; @@ -40,6 +41,24 @@ static EFI_PHYSICAL_ADDRESS heap; static UINTN heapsize; +static CHAR16 * +arg_skipsep(CHAR16 *argp) +{ + + while (*argp == ' ' || *argp == '\t') + argp++; + return (argp); +} + +static CHAR16 * +arg_skipword(CHAR16 *argp) +{ + + while (*argp && *argp != ' ' && *argp != '\t') + argp++; + return (argp); +} + void * efi_get_table(EFI_GUID *tbl) { @@ -65,8 +84,10 @@ efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) { static EFI_GUID image_protocol = LOADED_IMAGE_PROTOCOL; - EFI_LOADED_IMAGE *image; + EFI_LOADED_IMAGE *img; + CHAR16 *argp, *args, **argv; EFI_STATUS status; + int argc; IH = image_handle; ST = system_table; @@ -83,10 +104,67 @@ /* Use exit() from here on... */ - status = BS->HandleProtocol(IH, &image_protocol, (VOID**)&image); + status = BS->HandleProtocol(IH, &image_protocol, (VOID**)&img); if (status != EFI_SUCCESS) exit(status); - status = main(image->LoadOptionsSize, image->LoadOptions); + /* + * Pre-process the (optional) load options. If the option string + * is given as an ASCII string, we use a poor man's ASCII to + * Unicode-16 translation. The size of the option string as given + * to us includes the terminating null character. We assume the + * string is an ASCII string if strlen() plus the terminating + * '\0' is less than LoadOptionsSize. Even if all Unicode-16 + * characters have the upper 8 bits non-zero, the terminating + * null character will cause a one-off. + * If the string is already in Unicode-16, we make a copy so that + * we know we can always modify the string. + */ + if (img->LoadOptionsSize) { + if (img->LoadOptionsSize == strlen(img->LoadOptions) + 1) { + args = malloc(img->LoadOptionsSize << 1); + for (argc = 0; argc < img->LoadOptionsSize; argc++) + args[argc] = ((char*)img->LoadOptions)[argc]; + } else { + args = malloc(img->LoadOptionsSize); + memcpy(args, img->LoadOptions, img->LoadOptionsSize); + } + } else + args = NULL; + + /* + * Use a quick and dirty algorithm to build the argv vector. We + * first count the number of words. Then, after allocating the + * vector, we split the string up. We don't deal with quotes or + * other more advanced shell features. + */ + /* Part 1: count words. */ + argc = 1; /* The EFI program name. */ + argp = args; + while (argp != NULL && *argp != 0) { + argp = arg_skipsep(argp); + if (*argp == 0) + break; + argc++; + argp = arg_skipword(argp); + } + /* Part 2: build vector. */ + argv = malloc((argc + 1) * sizeof(CHAR16*)); + argv[0] = L"loader.efi"; /* XXX kludge. */ + argc = 1; + argp = args; + while (argp != NULL && *argp != 0) { + argp = arg_skipsep(argp); + if (*argp == 0) + break; + argv[argc++] = argp; + argp = arg_skipword(argp); + /* Terminate the words. */ + if (*argp != 0) + *argp++ = 0; + } + argv[argc] = NULL; + + status = main(argc, argv); exit(status); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Sun Dec 8 17:15:32 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D49D937B404; Sun, 8 Dec 2002 17:15:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 84D1237B401 for ; Sun, 8 Dec 2002 17:15:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9117543EA9 for ; Sun, 8 Dec 2002 17:15:28 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB91AomV037776 for ; Sun, 8 Dec 2002 17:10:50 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB91AoKq037767 for perforce@freebsd.org; Sun, 8 Dec 2002 17:10:50 -0800 (PST) Date: Sun, 8 Dec 2002 17:10:50 -0800 (PST) Message-Id: <200212090110.gB91AoKq037767@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett Subject: PERFORCE change 22086 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22086 Change 22086 by jmallett@jmallett_dalek on 2002/12/08 17:09:49 Fix 64-bit ELF in bfd. Tell GCC to use 64-bit longs, etc. Affected files ... .. //depot/projects/mips/contrib/gcc/config/mips/freebsd.h#4 edit .. //depot/projects/mips/gnu/usr.bin/binutils/libbfd/Makefile.mips#6 edit Differences ... ==== //depot/projects/mips/contrib/gcc/config/mips/freebsd.h#4 (text+ko) ==== @@ -1,5 +1,7 @@ -/* Definitions for PowerPC running FreeBSD using the ELF format +/* Definitions for MIPS running FreeBSD using the ELF format Copyright (C) 2001 Free Software Foundation, Inc. + + Based on definitions for PowerPC running FreeBSD using the ELF format Contributed by David E. O'Brien and BSDi. This file is part of GNU CC. @@ -57,6 +59,10 @@ #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (FreeBSD/MIPS ELF)"); +/* Define the target in terms of a bitmask (see mips.h for MASK_ defns). */ +#undef TARGET_ENDIAN_DEFAULT +#define TARGET_ENDIAN_DEFAULT (MASK_BIG_ENDIAN | MASK_LONG64 | MASK_64BIT) + /* Define the strings to put out for each section in the object file. */ #define SBSS_SECTION_ASM_OP "\t.section .sbss" #define TEXT_SECTION_ASM_OP "\t.text" /* instructions */ ==== //depot/projects/mips/gnu/usr.bin/binutils/libbfd/Makefile.mips#6 (text+ko) ==== @@ -16,16 +16,20 @@ elflink.c \ elfxx-mips.c \ elfxx-target.h -VECS+= bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec +VECS+= bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec # XXXMIPS Conditionalie on the MACHINE/MACHINE_ARCH targetry to decide -# whether elf{32,64}_{big,little}mips vectors. +# whether elf{32,64}_{big,little}mips vectors, but default to the likely +# least-common-denominator for machines we'll support - 32-bit ELF. .if ${TARGET_ARCH} == "mips" CFLAGS+= -DDEFAULT_VECTOR=bfd_elf32_tradbigmips_vec .endif CFLAGS+= -DHAVE_bfd_elf32_tradbigmips_vec \ + -DHAVE_bfd_elf32_tradlittlemips_vec \ -DHAVE_bfd_elf32_bigmips_vec \ -DHAVE_bfd_elf32_littlemips_vec \ + -DHAVE_bfd_elf64_tradbigmips_vec \ + -DHAVE_bfs_elf64_tradlittlemips_vec \ -DHAVE_bfd_elf64_bigmips_vec \ -DHAVE_bfd_elf64_littlemips_vec CLEANFILES+= elf32-target.h elf64-target.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Sun Dec 8 17:54:21 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2798037B404; Sun, 8 Dec 2002 17:54:19 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A528237B401 for ; Sun, 8 Dec 2002 17:54:18 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5CA0343EBE for ; Sun, 8 Dec 2002 17:54:18 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB91nemV050743 for ; Sun, 8 Dec 2002 17:49:40 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB91ndSF050740 for perforce@freebsd.org; Sun, 8 Dec 2002 17:49:39 -0800 (PST) Date: Sun, 8 Dec 2002 17:49:39 -0800 (PST) Message-Id: <200212090149.gB91ndSF050740@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett Subject: PERFORCE change 22090 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22090 Change 22090 by jmallett@jmallett_dalek on 2002/12/08 17:49:20 Fix typo. Really must generate these CFLAGS from the VECS some time. Affected files ... .. //depot/projects/mips/gnu/usr.bin/binutils/libbfd/Makefile.mips#7 edit Differences ... ==== //depot/projects/mips/gnu/usr.bin/binutils/libbfd/Makefile.mips#7 (text+ko) ==== @@ -29,7 +29,7 @@ -DHAVE_bfd_elf32_bigmips_vec \ -DHAVE_bfd_elf32_littlemips_vec \ -DHAVE_bfd_elf64_tradbigmips_vec \ - -DHAVE_bfs_elf64_tradlittlemips_vec \ + -DHAVE_bfd_elf64_tradlittlemips_vec \ -DHAVE_bfd_elf64_bigmips_vec \ -DHAVE_bfd_elf64_littlemips_vec CLEANFILES+= elf32-target.h elf64-target.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Sun Dec 8 20:28:34 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76B2E37B401; Sun, 8 Dec 2002 20:28:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0D58C37B404 for ; Sun, 8 Dec 2002 20:28:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 164E743ED1 for ; Sun, 8 Dec 2002 20:28:29 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB94NomV008086 for ; Sun, 8 Dec 2002 20:23:50 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB94Nnnm008083 for perforce@freebsd.org; Sun, 8 Dec 2002 20:23:49 -0800 (PST) Date: Sun, 8 Dec 2002 20:23:49 -0800 (PST) Message-Id: <200212090423.gB94Nnnm008083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar Subject: PERFORCE change 22096 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22096 Change 22096 by marcel@marcel_nfs on 2002/12/08 20:22:56 Tune the argument handling: apparently, the EFI shell passes the command as the first word in the option string. This is like Unix, but unlike the EFI boot manager. Thus, we need a way to determine if we're run from the EFI shell so that we can avoid adding the program name. This, however, is not a trivial thing to get right. The current change will make most of the cases work. One particular case that we miss is a boot option that loads an EFI image from disk and has options (arguments). This looks pretty much like how the shell would call us. At this time the first argument will not be our program name. There's a bug in the HP EFI implementation: when a program is run from the shell prompt (ie Shell>), the option list has some garbage at the end. For example: Shell> fs0:\boot\loader The Itaniium shell does not allow this (read: has a bug that causes it to not find the program). Affected files ... .. //depot/projects/ia64/sys/boot/efi/libefi/libefi.c#4 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/libefi/libefi.c#4 (text+ko) ==== @@ -87,7 +87,7 @@ EFI_LOADED_IMAGE *img; CHAR16 *argp, *args, **argv; EFI_STATUS status; - int argc; + int argc, addprog; IH = image_handle; ST = system_table; @@ -137,9 +137,28 @@ * first count the number of words. Then, after allocating the * vector, we split the string up. We don't deal with quotes or * other more advanced shell features. + * The EFI shell will pas the name of the image as the first + * word in the argument list. This does not happen if we're + * loaded by the boot manager. This is not so easy to figure + * out though. The ParentHandle is not always NULL, because + * there can be a function (=image) that will perform the task + * for the boot manager. */ - /* Part 1: count words. */ - argc = 1; /* The EFI program name. */ + /* Part 1: Figure out if we need to add our program name. */ + addprog = (args == NULL || img->ParentHandle == NULL || + img->FilePath == NULL) ? 1 : 0; + if (!addprog) { + addprog = + (DevicePathType(img->FilePath) != MEDIA_DEVICE_PATH || + DevicePathSubType(img->FilePath) != MEDIA_FILEPATH_DP || + DevicePathNodeLength(img->FilePath) <= + sizeof(FILEPATH_DEVICE_PATH)) ? 1 : 0; + if (!addprog) { + /* XXX todo. */ + } + } + /* Part 2: count words. */ + argc = (addprog) ? 1 : 0; argp = args; while (argp != NULL && *argp != 0) { argp = arg_skipsep(argp); @@ -148,10 +167,11 @@ argc++; argp = arg_skipword(argp); } - /* Part 2: build vector. */ + /* Part 3: build vector. */ argv = malloc((argc + 1) * sizeof(CHAR16*)); - argv[0] = L"loader.efi"; /* XXX kludge. */ - argc = 1; + argc = 0; + if (addprog) + argv[argc++] = L"loader.efi"; argp = args; while (argp != NULL && *argp != 0) { argp = arg_skipsep(argp); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Mon Dec 9 13:50: 1 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5EF0537B404; Mon, 9 Dec 2002 13:49:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 09CB637B401 for ; Mon, 9 Dec 2002 13:49:37 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0C26A43EC5 for ; Mon, 9 Dec 2002 13:49:36 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gB9LirmV079514 for ; Mon, 9 Dec 2002 13:44:53 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gB9LioSd079511 for perforce@freebsd.org; Mon, 9 Dec 2002 13:44:50 -0800 (PST) Date: Mon, 9 Dec 2002 13:44:50 -0800 (PST) Message-Id: <200212092144.gB9LioSd079511@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin Subject: PERFORCE change 22109 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22109 Change 22109 by jhb@jhb_laptop on 2002/12/09 13:44:50 IFC @22108. Affected files ... .. //depot/projects/smpng/sys/boot/efi/include/efiapi.h#5 integrate .. //depot/projects/smpng/sys/boot/efi/libefi/efi_console.c#2 integrate .. //depot/projects/smpng/sys/boot/efi/loader/main.c#7 integrate .. //depot/projects/smpng/sys/boot/libstand/libstand.3#2 integrate .. //depot/projects/smpng/sys/compat/linux/linux_file.c#14 integrate .. //depot/projects/smpng/sys/conf/NOTES#30 integrate .. //depot/projects/smpng/sys/conf/ldscript.ia64#4 integrate .. //depot/projects/smpng/sys/conf/newvers.sh#2 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/ahd_pci.c#5 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.reg#5 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.seq#5 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_osm.h#6 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_pci.c#5 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_osm.h#7 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_pci.c#7 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#27 integrate .. //depot/projects/smpng/sys/dev/ata/ata-card.c#5 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#23 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_core.c#8 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_os.c#9 integrate .. //depot/projects/smpng/sys/dev/drm/drm_memory.h#2 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.c#5 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci.c#4 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#5 integrate .. //depot/projects/smpng/sys/dev/firewire/if_fwe.c#3 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/ohci.c#19 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs.h#8 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#8 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vfsops.c#9 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#23 integrate .. //depot/projects/smpng/sys/i386/acpica/acpi_wakeup.c#13 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC.hints#4 integrate .. //depot/projects/smpng/sys/i386/isa/clock.c#20 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#26 integrate .. //depot/projects/smpng/sys/ia64/include/bootinfo.h#5 integrate .. //depot/projects/smpng/sys/kern/kern_mac.c#12 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#39 integrate .. //depot/projects/smpng/sys/modules/Makefile#40 integrate .. //depot/projects/smpng/sys/net/if_gre.h#4 integrate .. //depot/projects/smpng/sys/netinet/ip_gre.c#6 integrate .. //depot/projects/smpng/sys/netsmb/smb_smb.c#6 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#23 integrate .. //depot/projects/smpng/sys/pc98/i386/machdep.c#47 integrate .. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#10 integrate .. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#2 integrate .. //depot/projects/smpng/sys/security/mac_mls/mac_mls.c#10 integrate .. //depot/projects/smpng/sys/security/mac_none/mac_none.c#7 integrate .. //depot/projects/smpng/sys/security/mac_test/mac_test.c#7 integrate .. //depot/projects/smpng/sys/sparc64/pci/psycho.c#14 integrate .. //depot/projects/smpng/sys/sys/mac.h#11 integrate .. //depot/projects/smpng/sys/sys/mac_policy.h#10 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_alloc.c#17 integrate Differences ... ==== //depot/projects/smpng/sys/boot/efi/include/efiapi.h#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.4 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.5 2002/12/08 20:47:44 marcel Exp $ */ #ifndef _EFI_API_H #define _EFI_API_H @@ -658,6 +658,9 @@ #define SAL_SYSTEM_TABLE_GUID \ { 0xeb9d2d32, 0x2d88, 0x11d3, { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } +/* DIG64 Headless Console & Debug Port Table. */ +#define HCDP_TABLE_GUID \ + {0xf951938d,0x620b,0x42ef,{0x82,0x79,0xa8,0x4b,0x79,0x61,0x78,0x98}} typedef struct _EFI_CONFIGURATION_TABLE { EFI_GUID VendorGuid; ==== //depot/projects/smpng/sys/boot/efi/libefi/efi_console.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/boot/efi/libefi/efi_console.c,v 1.2 2001/06/16 05:56:13 obrien Exp $"; + "$FreeBSD: src/sys/boot/efi/libefi/efi_console.c,v 1.3 2002/12/08 19:46:11 marcel Exp $"; #endif /* not lint */ #include @@ -69,17 +69,23 @@ efi_cons_getchar() { EFI_INPUT_KEY key; + EFI_STATUS status; UINTN junk; - BS->WaitForEvent(1, &conin->WaitForKey, &junk); - conin->ReadKeyStroke(conin, &key); - return key.UnicodeChar; + /* Try to read a key stroke. We wait for one if none is pending. */ + status = conin->ReadKeyStroke(conin, &key); + if (status == EFI_NOT_READY) { + BS->WaitForEvent(1, &conin->WaitForKey, &junk); + status = conin->ReadKeyStroke(conin, &key); + } + return (key.UnicodeChar); } int efi_cons_poll() { - return BS->CheckEvent(conin->WaitForKey) == EFI_SUCCESS; + /* This can clear the signaled state. */ + return (BS->CheckEvent(conin->WaitForKey) == EFI_SUCCESS); } struct console efi_console = { ==== //depot/projects/smpng/sys/boot/efi/loader/main.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/boot/efi/loader/main.c,v 1.12 2002/11/24 19:45:05 marcel Exp $"; + "$FreeBSD: src/sys/boot/efi/loader/main.c,v 1.13 2002/12/08 20:04:00 marcel Exp $"; #endif /* not lint */ #include @@ -174,12 +174,16 @@ currdev.d_type = currdev.d_dev->dv_type; -#if 0 - /* Create arc-specific variables */ - bootfile = GetEnvironmentVariable(ARCENV_BOOTFILE); - if (bootfile) - setenv("bootfile", bootfile, 1); -#endif + /* + * Disable the watchdog timer. By default the boot manager sets + * the timer to 5 minutes before invoking a boot option. If we + * want to return to the boot manager, we have to disable the + * watchdog timer and since we're an interactive program, we don't + * want to wait until the user types "quit". The timer may have + * fired by then. We don't care if this fails. It does not prevent + * normal functioning in any way... + */ + BS->SetWatchdogTimer(0, 0, 0, NULL); env_setenv("currdev", EV_VOLATILE, efi_fmtdev(&currdev), efi_setcurrdev, env_nounset); ==== //depot/projects/smpng/sys/boot/libstand/libstand.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/sys/boot/libstand/libstand.3,v 1.21 2002/06/02 10:05:55 schweikh Exp $ +.\" $FreeBSD: src/sys/boot/libstand/libstand.3,v 1.22 2002/12/05 08:50:00 ru Exp $ .\" .Dd June 22, 1998 .Dt LIBSTAND 3 @@ -224,7 +224,8 @@ .Fa size characters into .Fa buf . -Line terminating characters are stripped, and the buffer is always nul +Line terminating characters are stripped, and the buffer is always +.Dv NUL terminated. Returns the number of characters in .Fa buf if successful, or -1 if a read error occurs. @@ -429,7 +430,9 @@ .Fn pager_output "char *lines" .Xc .Pp -Sends the lines in the nul-terminated buffer at +Sends the lines in the +.Dv NUL Ns +-terminated buffer at .Fa lines to the pager. Newline characters are counted in order to determine the number of lines being output (wrapped lines are not accounted for). ==== //depot/projects/smpng/sys/compat/linux/linux_file.c#14 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/linux/linux_file.c,v 1.71 2002/09/02 22:46:05 iedowse Exp $ + * $FreeBSD: src/sys/compat/linux/linux_file.c,v 1.72 2002/12/08 18:30:44 iedowse Exp $ */ #include "opt_compat.h" @@ -931,6 +931,8 @@ static int fcntl_common(struct thread *td, struct linux_fcntl64_args *args) { + struct l_flock linux_flock; + struct flock bsd_flock; struct file *fp; long arg; int error, result; @@ -977,6 +979,37 @@ arg |= O_ASYNC; return (kern_fcntl(td, args->fd, F_SETFL, arg)); + case LINUX_F_GETLK: + error = copyin((caddr_t)args->arg, &linux_flock, + sizeof(linux_flock)); + if (error) + return (error); + linux_to_bsd_flock(&linux_flock, &bsd_flock); + error = kern_fcntl(td, args->fd, F_GETLK, (intptr_t)&bsd_flock); + if (error) + return (error); + bsd_to_linux_flock(&bsd_flock, &linux_flock); + return (copyout(&linux_flock, (caddr_t)args->arg, + sizeof(linux_flock))); + + case LINUX_F_SETLK: + error = copyin((caddr_t)args->arg, &linux_flock, + sizeof(linux_flock)); + if (error) + return (error); + linux_to_bsd_flock(&linux_flock, &bsd_flock); + return (kern_fcntl(td, args->fd, F_SETLK, + (intptr_t)&bsd_flock)); + + case LINUX_F_SETLKW: + error = copyin((caddr_t)args->arg, &linux_flock, + sizeof(linux_flock)); + if (error) + return (error); + linux_to_bsd_flock(&linux_flock, &bsd_flock); + return (kern_fcntl(td, args->fd, F_SETLKW, + (intptr_t)&bsd_flock)); + case LINUX_F_GETOWN: return (kern_fcntl(td, args->fd, F_GETOWN, 0)); @@ -1005,48 +1038,12 @@ linux_fcntl(struct thread *td, struct linux_fcntl_args *args) { struct linux_fcntl64_args args64; - struct l_flock linux_flock; - struct flock bsd_flock; - int error; #ifdef DEBUG if (ldebug(fcntl)) printf(ARGS(fcntl, "%d, %08x, *"), args->fd, args->cmd); #endif - switch (args->cmd) { - case LINUX_F_GETLK: - error = copyin((caddr_t)args->arg, &linux_flock, - sizeof(linux_flock)); - if (error) - return (error); - linux_to_bsd_flock(&linux_flock, &bsd_flock); - error = kern_fcntl(td, args->fd, F_GETLK, (intptr_t)&bsd_flock); - if (error) - return (error); - bsd_to_linux_flock(&bsd_flock, &linux_flock); - return (copyout(&linux_flock, (caddr_t)args->arg, - sizeof(linux_flock))); - - case LINUX_F_SETLK: - error = copyin((caddr_t)args->arg, &linux_flock, - sizeof(linux_flock)); - if (error) - return (error); - linux_to_bsd_flock(&linux_flock, &bsd_flock); - return (kern_fcntl(td, args->fd, F_SETLK, - (intptr_t)&bsd_flock)); - - case LINUX_F_SETLKW: - error = copyin((caddr_t)args->arg, &linux_flock, - sizeof(linux_flock)); - if (error) - return (error); - linux_to_bsd_flock(&linux_flock, &bsd_flock); - return (kern_fcntl(td, args->fd, F_SETLKW, - (intptr_t)&bsd_flock)); - } - args64.fd = args->fd; args64.cmd = args->cmd; args64.arg = args->arg; @@ -1067,7 +1064,6 @@ #endif switch (args->cmd) { - case LINUX_F_GETLK: case LINUX_F_GETLK64: error = copyin((caddr_t)args->arg, &linux_flock, sizeof(linux_flock)); @@ -1081,7 +1077,6 @@ return (copyout(&linux_flock, (caddr_t)args->arg, sizeof(linux_flock))); - case LINUX_F_SETLK: case LINUX_F_SETLK64: error = copyin((caddr_t)args->arg, &linux_flock, sizeof(linux_flock)); @@ -1091,7 +1086,6 @@ return (kern_fcntl(td, args->fd, F_SETLK, (intptr_t)&bsd_flock)); - case LINUX_F_SETLKW: case LINUX_F_SETLKW64: error = copyin((caddr_t)args->arg, &linux_flock, sizeof(linux_flock)); ==== //depot/projects/smpng/sys/conf/NOTES#30 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1117 2002/11/26 17:32:39 rwatson Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1118 2002/12/09 03:38:03 rwatson Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -737,6 +737,9 @@ # # Enabling this will probably not give an overall speedup except for # special workloads. +# +# WARNING: Do not enable this, it is known to be broken, and will result +# in system instability, as well as possible data loss. options ENABLE_VFS_IOOPT # Cryptographically secure random number generator; /dev/[u]random ==== //depot/projects/smpng/sys/conf/ldscript.ia64#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.6 2002/10/19 19:32:21 marcel Exp $ */ +/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.8 2002/12/05 18:35:44 obrien Exp $ */ OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little") OUTPUT_ARCH(ia64) ENTRY(__start) ==== //depot/projects/smpng/sys/conf/newvers.sh#2 (text+ko) ==== @@ -32,11 +32,11 @@ # SUCH DAMAGE. # # @(#)newvers.sh 8.1 (Berkeley) 4/20/94 -# $FreeBSD: src/sys/conf/newvers.sh,v 1.47 2001/03/02 16:52:13 ru Exp $ +# $FreeBSD: src/sys/conf/newvers.sh,v 1.48 2002/12/05 05:27:49 murray Exp $ TYPE="FreeBSD" REVISION="5.0" -BRANCH="CURRENT" +BRANCH="RC" RELEASE="${REVISION}-${BRANCH}" VERSION="${TYPE} ${RELEASE}" ==== //depot/projects/smpng/sys/dev/aic7xxx/ahd_pci.c#5 (text+ko) ==== @@ -28,9 +28,9 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/ahd_pci.c#9 $ + * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/ahd_pci.c#10 $ * - * $FreeBSD: src/sys/dev/aic7xxx/ahd_pci.c,v 1.5 2002/12/01 07:52:35 scottl Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/ahd_pci.c,v 1.6 2002/12/04 22:51:29 scottl Exp $ */ #include @@ -150,14 +150,26 @@ int regs_type; int regs_id; int regs_id2; + int allow_memio; command = ahd_pci_read_config(ahd->dev_softc, PCIR_COMMAND, /*bytes*/1); regs = NULL; regs2 = NULL; regs_type = 0; regs_id = 0; + + /* Retrieve the per-device 'allow_memio' hint */ + if (resource_int_value(device_get_name(ahd->dev_softc), + device_get_unit(ahd->dev_softc), + "allow_memio", &allow_memio) != 0) { + if (bootverbose) + device_printf(ahd->dev_softc, + "Defaulting to MEMIO on\n"); + } + if ((command & PCIM_CMD_MEMEN) != 0 - && (ahd->bugs & AHD_PCIX_MMAPIO_BUG) == 0) { + && (ahd->bugs & AHD_PCIX_MMAPIO_BUG) == 0 + && allow_memio != 0) { regs_type = SYS_RES_MEMORY; regs_id = AHD_PCI_MEMADDR; ==== //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.reg#5 (text+ko) ==== @@ -37,9 +37,9 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/aic7xxx/aic79xx.reg,v 1.4 2002/12/01 08:13:37 scottl Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/aic79xx.reg,v 1.5 2002/12/04 22:51:29 scottl Exp $ */ -VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#55 $" +VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#56 $" /* * This file is processed by the aic7xxx_asm utility for use in assembling @@ -190,6 +190,7 @@ field CLRHWERRINT 0x80 /* Rev B or greater */ field CLRBRKADRINT 0x40 field CLRSWTMINT 0x20 + field CLRPCIINT 0x10 field CLRSCSIINT 0x08 field CLRSEQINT 0x04 field CLRCMDINT 0x02 @@ -1168,7 +1169,7 @@ * PCI Status for Target */ register TARGPCISTAT { - address 0x0A6 + address 0x0A7 access_mode RW modes M_CFG field DPE 0x80 ==== //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.seq#5 (text+ko) ==== @@ -37,10 +37,10 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/aic7xxx/aic79xx.seq,v 1.4 2002/12/01 08:13:37 scottl Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/aic79xx.seq,v 1.5 2002/12/05 00:47:27 scottl Exp $ */ -VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#72 $" +VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#73 $" PATCH_ARG_LIST = "struct ahd_softc *ahd" PREFIX = "ahd_" @@ -62,8 +62,9 @@ * interrupt collision on the hardware * setting of HWERR. */ - test ERROR, 0xFF jz . + 2; + test ERROR, 0xFF jz no_error_set; SET_SEQINTCODE(SAW_HWERR) +no_error_set: } SET_MODE(M_SCSI, M_SCSI) test SCSISEQ0, ENSELO|ENARBO jnz idle_loop_checkbus; @@ -937,8 +938,9 @@ /* * See if we attempted to deliver a message but the target ingnored us. */ - test SCB_CONTROL, MK_MESSAGE jz . + 2; + test SCB_CONTROL, MK_MESSAGE jz complete_nomsg; SET_SEQINTCODE(MKMSG_FAILED) +complete_nomsg: call queue_scb_completion; jmp await_busfree; ==== //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_osm.h#6 (text+ko) ==== @@ -30,9 +30,9 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aic79xx_osm.h#18 $ + * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aic79xx_osm.h#19 $ * - * $FreeBSD: src/sys/dev/aic7xxx/aic79xx_osm.h,v 1.7 2002/12/01 07:50:56 scottl Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/aic79xx_osm.h,v 1.8 2002/12/04 22:51:29 scottl Exp $ */ #ifndef _AIC79XX_FREEBSD_H_ @@ -239,8 +239,9 @@ static __inline void ahd_scb_timer_reset(struct scb *scb, u_int usec) { - callout_reset(scb->io_ctx->ccb_h.timeout_ch.callout, - (usec * hz)/1000000, ahd_timeout, scb); + untimeout(ahd_timeout, (caddr_t)scb, scb->io_ctx->ccb_h.timeout_ch); + scb->io_ctx->ccb_h.timeout_ch = + timeout(ahd_timeout, scb, (usec * hz)/1000000); } /*************************** Device Access ************************************/ ==== //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_pci.c#5 (text+ko) ==== @@ -38,9 +38,9 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * - * $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#54 $ + * $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#60 $ * - * $FreeBSD: src/sys/dev/aic7xxx/aic79xx_pci.c,v 1.5 2002/12/01 07:59:01 scottl Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/aic79xx_pci.c,v 1.6 2002/12/04 22:51:29 scottl Exp $ */ #ifdef __linux__ @@ -175,8 +175,8 @@ }, /* Generic chip probes for devices we don't know 'exactly' */ { - ID_AIC7901A & ID_ALL_MASK, - ID_ALL_MASK, + ID_AIC7901A & ID_DEV_VENDOR_MASK, + ID_DEV_VENDOR_MASK, "Adaptec AIC7901A Ultra320 SCSI adapter", ahd_aic7901A_setup }, @@ -378,7 +378,16 @@ int ahd_pci_test_register_access(struct ahd_softc *ahd) { - int i; + ahd_mode_state saved_modes; + int error; + uint8_t seqctl; + + saved_modes = ahd_save_modes(ahd); + error = EIO; + + /* Enable PCI error interrupt status */ + seqctl = ahd_inb(ahd, SEQCTL0); + ahd_outb(ahd, SEQCTL0, seqctl & ~FAILDIS); /* * First a simple test to see if any @@ -389,7 +398,7 @@ * use for this test. */ if (ahd_inb(ahd, HCNTRL) == 0xFF) - return (EIO); + goto fail; /* * Next create a situation where write combining @@ -398,19 +407,26 @@ * either, so look for data corruption and/or flaged * PCI errors. */ - for (i = 0; i < 16; i++) - ahd_outb(ahd, SRAM_BASE + i, i); + ahd_outl(ahd, SRAM_BASE, 0x5aa555aa); + if (ahd_inl(ahd, SRAM_BASE) != 0x5aa555aa) + goto fail; + + if ((ahd_inb(ahd, INTSTAT) & PCIINT) != 0) { + u_int targpcistat; + + ahd_set_modes(ahd, AHD_MODE_CFG, AHD_MODE_CFG); + targpcistat = ahd_inb(ahd, TARGPCISTAT); + if ((targpcistat & STA) != 0) + goto fail; + } - for (i = 0; i < 16; i++) - if (ahd_inb(ahd, SRAM_BASE + i) != i) - return (EIO); + error = 0; +fail: if ((ahd_inb(ahd, INTSTAT) & PCIINT) != 0) { - ahd_mode_state saved_modes; - u_int targpcistat; - u_int pci_status1; + u_int targpcistat; + u_int pci_status1; - saved_modes = ahd_save_modes(ahd); ahd_set_modes(ahd, AHD_MODE_CFG, AHD_MODE_CFG); targpcistat = ahd_inb(ahd, TARGPCISTAT); @@ -420,13 +436,12 @@ PCIR_STATUS + 1, /*bytes*/1); ahd_pci_write_config(ahd->dev_softc, PCIR_STATUS + 1, pci_status1, /*bytes*/1); - ahd_restore_modes(ahd, saved_modes); - - if ((targpcistat & STA) != 0) - return (EIO); + ahd_outb(ahd, CLRINT, CLRPCIINT); } - return (0); + ahd_restore_modes(ahd, saved_modes); + ahd_outb(ahd, SEQCTL0, seqctl); + return (error); } /* @@ -731,7 +746,7 @@ s = pci_status_strings[bit]; if (i == 7/*TARG*/ && bit == 3) - s = "%s: Signal Target Abort\n"; + s = "%s: Signaled Target Abort\n"; printf(s, ahd_name(ahd), pci_status_source[i]); } } @@ -741,6 +756,7 @@ ahd_pci_write_config(ahd->dev_softc, PCIR_STATUS + 1, pci_status1, /*bytes*/1); ahd_restore_modes(ahd, saved_modes); + ahd_outb(ahd, CLRINT, CLRPCIINT); ahd_unpause(ahd); } @@ -810,6 +826,7 @@ */ ahd_pci_write_config(ahd->dev_softc, PCIXR_STATUS, pcix_status, /*bytes*/2); + ahd_outb(ahd, CLRINT, CLRSPLTINT); ahd_restore_modes(ahd, saved_modes); } ==== //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_osm.h#7 (text+ko) ==== @@ -29,9 +29,9 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aic7xxx_osm.h#13 $ + * $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aic7xxx_osm.h#14 $ * - * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx_osm.h,v 1.19 2002/11/30 19:06:24 scottl Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx_osm.h,v 1.20 2002/12/04 22:51:29 scottl Exp $ */ #ifndef _AIC7XXX_FREEBSD_H_ @@ -251,8 +251,9 @@ static __inline void ahc_scb_timer_reset(struct scb *scb, u_int usec) { - callout_reset(scb->io_ctx->ccb_h.timeout_ch.callout, - (usec * hz)/1000000, ahc_timeout, scb); + untimeout(ahc_timeout, (caddr_t)scb, scb->io_ctx->ccb_h.timeout_ch); + scb->io_ctx->ccb_h.timeout_ch = + timeout(ahc_timeout, scb, (usec * hz)/1000000); } /*************************** Device Access ************************************/ ==== //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_pci.c#7 (text+ko) ==== @@ -39,9 +39,9 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * - * $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#52 $ + * $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#53 $ * - * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx_pci.c,v 1.20 2002/11/30 19:13:55 scottl Exp $ + * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx_pci.c,v 1.21 2002/12/04 22:51:29 scottl Exp $ */ #ifdef __linux__ @@ -1202,8 +1202,15 @@ int ahc_pci_test_register_access(struct ahc_softc *ahc) { - int i; - u_int status1; + int error; + u_int status1; + uint8_t seqctl; + + error = EIO; + + /* Enable PCI error interrupt status */ + seqctl = ahc_inb(ahc, SEQCTL); + ahc_outb(ahc, SEQCTL, seqctl & ~FAILDIS); /* * First a simple test to see if any @@ -1214,7 +1221,7 @@ * use for this test. */ if (ahc_inb(ahc, HCNTRL) == 0xFF) - return (EIO); + goto fail; /* * Next create a situation where write combining @@ -1223,25 +1230,33 @@ * either, so look for data corruption and/or flagged * PCI errors. */ - for (i = 0; i < 16; i++) - ahc_outb(ahc, SRAM_BASE + i, i); + ahc_outb(ahc, SRAM_BASE, 0xaa); + ahc_outb(ahc, SRAM_BASE + 1, 0x55); + ahc_outb(ahc, SRAM_BASE + 2, 0xa5); + ahc_outb(ahc, SRAM_BASE + 3, 0x5a); - for (i = 0; i < 16; i++) - if (ahc_inb(ahc, SRAM_BASE + i) != i) - return (EIO); + if ((ahc_inb(ahc, SRAM_BASE) != 0xaa) + || (ahc_inb(ahc, SRAM_BASE + 1) != 0x55) + || (ahc_inb(ahc, SRAM_BASE + 2) != 0xa5) + || (ahc_inb(ahc, SRAM_BASE + 3) != 0x5a)) + goto fail; status1 = ahc_pci_read_config(ahc->dev_softc, PCIR_STATUS + 1, /*bytes*/1); - if ((status1 & STA) != 0) { + if ((status1 & STA) != 0) + goto fail; - /* Silently clear any latched errors. */ - ahc_pci_write_config(ahc->dev_softc, PCIR_STATUS + 1, - status1, /*bytes*/1); - ahc_outb(ahc, CLRINT, CLRPARERR); - return (EIO); - } + error = 0; - return (0); +fail: + /* Silently clear any latched errors. */ + status1 = ahc_pci_read_config(ahc->dev_softc, + PCIR_STATUS + 1, /*bytes*/1); + ahc_pci_write_config(ahc->dev_softc, PCIR_STATUS + 1, + status1, /*bytes*/1); + ahc_outb(ahc, CLRINT, CLRPARERR); + ahc_outb(ahc, SEQCTL, seqctl); + return (error); } /* ==== //depot/projects/smpng/sys/dev/ata/ata-all.c#27 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.160 2002/12/03 20:19:37 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.161 2002/12/06 19:29:52 sos Exp $ */ #include "opt_ata.h" @@ -611,7 +611,9 @@ free(ata_delayed_attach, M_TEMP); ata_delayed_attach = NULL; } +#ifdef DEV_ATADISK ata_raid_attach(); +#endif } static void ==== //depot/projects/smpng/sys/dev/ata/ata-card.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-card.c,v 1.6 2002/09/20 18:08:57 phk Exp $ + * $FreeBSD: src/sys/dev/ata/ata-card.c,v 1.7 2002/12/06 19:29:53 sos Exp $ */ #include @@ -58,8 +58,18 @@ return (0); /* other devices might need to be matched here */ + return(ENXIO); +} + +static int +ata_pccard_intrnoop(struct ata_channel *ch) +{ + return 1; +} - return(ENXIO); +static void +ata_pccard_locknoop(struct ata_channel *ch, int type) +{ } static int @@ -106,6 +116,8 @@ ch->unit = 0; ch->flags |= (ATA_USE_16BIT | ATA_NO_SLAVE); + ch->intr_func = ata_pccard_intrnoop; + ch->lock_func = ata_pccard_locknoop; return ata_probe(dev); } ==== //depot/projects/smpng/sys/dev/ata/ata-disk.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.137 2002/12/03 20:19:37 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.138 2002/12/06 19:29:53 sos Exp $ */ #include "opt_ata.h" @@ -219,8 +219,10 @@ /* if this disk belongs to an ATA RAID dont print the probe */ if (ata_raiddisk_attach(adp)) adp->flags |= AD_F_RAID_SUBDISK; - else - ad_print(adp); + else { + if (atadev->driver) + ad_print(adp); + } } void ==== //depot/projects/smpng/sys/dev/bktr/bktr_core.c#8 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/bktr/bktr_core.c,v 1.123 2002/11/06 20:16:39 jhb Exp $ */ +/* $FreeBSD: src/sys/dev/bktr/bktr_core.c,v 1.124 2002/12/07 09:00:19 roger Exp $ */ /* * This is part of the Driver for Video Capture Cards (Frame grabbers) @@ -810,7 +810,6 @@ } - /* * Register the completed field * (For dual-field mode, require fields from the same frame) @@ -3087,7 +3086,7 @@ /* contruct sync : for video packet format */ /* sync, mode indicator packed data */ - *dma_prog++ = OP_SYNC | 1 << 15 | BKTR_FM1; + *dma_prog++ = OP_SYNC | BKTR_RESYNC | BKTR_FM1; *dma_prog++ = 0; /* NULL WORD */ b = cols; @@ -3103,7 +3102,7 @@ switch (i_flag) { case 1: /* sync vre */ - *dma_prog++ = OP_SYNC | 1 << 24 | BKTR_VRE; + *dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_VRE; *dma_prog++ = 0; /* NULL WORD */ *dma_prog++ = OP_JUMP; @@ -3112,7 +3111,7 @@ case 2: /* sync vro */ - *dma_prog++ = OP_SYNC | 1 << 24 | BKTR_VRO; + *dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_VRO; *dma_prog++ = 0; /* NULL WORD */ *dma_prog++ = OP_JUMP; *dma_prog++ = (u_long ) vtophys(bktr->dma_prog); @@ -3120,7 +3119,7 @@ case 3: /* sync vro */ - *dma_prog++ = OP_SYNC | 1 << 24 | 1 << 15 | BKTR_VRO; + *dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO; *dma_prog++ = 0; /* NULL WORD */ *dma_prog++ = OP_JUMP ; *dma_prog = (u_long ) vtophys(bktr->odd_dma_prog); @@ -3134,7 +3133,7 @@ dma_prog = (u_long * ) bktr->odd_dma_prog; /* sync vre */ - *dma_prog++ = OP_SYNC | 1 << 24 | 1 << 15 | BKTR_FM1; + *dma_prog++ = OP_SYNC | BKTR_RESYNC | BKTR_FM1; *dma_prog++ = 0; /* NULL WORD */ for (i = 0; i < (rows/interlace) ; i++) { @@ -3147,7 +3146,7 @@ } /* sync vro IRQ bit */ - *dma_prog++ = OP_SYNC | 1 << 24 | 1 << 15 | BKTR_VRE; + *dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE; *dma_prog++ = 0; /* NULL WORD */ *dma_prog++ = OP_JUMP ; *dma_prog++ = (u_long ) vtophys(bktr->dma_prog); ==== //depot/projects/smpng/sys/dev/bktr/bktr_os.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/bktr/bktr_os.c,v 1.30 2002/09/28 17:14:25 phk Exp $ */ +/* $FreeBSD: src/sys/dev/bktr/bktr_os.c,v 1.31 2002/12/09 09:04:09 roger Exp $ */ /* * This is part of the Driver for Video Capture Cards (Frame grabbers) @@ -494,20 +494,12 @@ /* The memory is retained by the bktr_mem module so we can unload and */ /* then reload the main bktr driver module */ - /* Unregister the /dev/bktrN, tunerN and vbiN devices */ + /* Unregister the /dev/bktrN, tunerN and vbiN devices, + * the aliases for unit 0 are automatically destroyed */ destroy_dev(bktr->vbidev); destroy_dev(bktr->tunerdev); destroy_dev(bktr->bktrdev); - /* If this is unit 0, then destroy the alias entries too */ -#if (__FreeBSD_version >=500000) - if (unit == 0) { - destroy_dev(bktr->vbidev_alias); - destroy_dev(bktr->tunerdev_alias); - destroy_dev(bktr->bktrdev_alias); - } -#endif - /* * Deallocate resources. */ ==== //depot/projects/smpng/sys/dev/drm/drm_memory.h#2 (text+ko) ==== @@ -28,7 +28,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drm_memory.h,v 1.2 2002/04/29 00:25:10 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_memory.h,v 1.4 2002/12/04 23:39:05 anholt Exp $ */ #define __NO_VERSION__ @@ -125,53 +125,10 @@ DRM(ram_used) = 0; } -/* drm_mem_info is called whenever a process reads /dev/drm/mem. */ -#ifdef __linux__ -static int DRM(_mem_info)(char *buf, char **start, off_t offset, - int request, int *eof, void *data) -{ - drm_mem_stats_t *pt; - int len = 0; - - if (offset > DRM_PROC_LIMIT) { - *eof = 1; - return 0; - } - - *eof = 0; - *start = &buf[offset]; - - DRM_PROC_PRINT(" total counts " - " | outstanding \n"); - DRM_PROC_PRINT("type alloc freed fail bytes freed" - " | allocs bytes\n\n"); - DRM_PROC_PRINT("%-9.9s %5d %5d %4d %10lu kB |\n", - "system", 0, 0, 0, - DRM(ram_available) << (PAGE_SHIFT - 10)); - DRM_PROC_PRINT("%-9.9s %5d %5d %4d %10lu kB |\n", - "locked", 0, 0, 0, DRM(ram_used) >> 10); - DRM_PROC_PRINT("\n"); - for (pt = DRM(mem_stats); pt->name; pt++) { - DRM_PROC_PRINT("%-9.9s %5d %5d %4d %10lu %10lu | %6d %10ld\n", - pt->name, - pt->succeed_count, - pt->free_count, - pt->fail_count, - pt->bytes_allocated, - pt->bytes_freed, - pt->succeed_count - pt->free_count, - (long)pt->bytes_allocated - - (long)pt->bytes_freed); - } - - if (len > request + offset) return request; >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Tue Dec 10 8:41: 0 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC6F937B404; Tue, 10 Dec 2002 08:40:58 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6403A37B401 for ; Tue, 10 Dec 2002 08:40:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 162E643EB2 for ; Tue, 10 Dec 2002 08:40:58 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBAGaBmV083286 for ; Tue, 10 Dec 2002 08:36:11 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBAGaB6Y083280 for perforce@freebsd.org; Tue, 10 Dec 2002 08:36:11 -0800 (PST) Date: Tue, 10 Dec 2002 08:36:11 -0800 (PST) Message-Id: <200212101636.gBAGaB6Y083280@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 Subject: PERFORCE change 22136 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22136 Change 22136 by rwatson@rwatson_tislabs on 2002/12/10 08:35:53 Tweak the way we special case the evil in the loopback interface to deal with improper mbuf header copying. Affected files ... .. //depot/projects/trustedbsd/mac/sys/net/if_loop.c#13 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/net/if_loop.c#13 (text+ko) ==== @@ -205,10 +205,6 @@ return (rt->rt_flags & RTF_BLACKHOLE ? 0 : rt->rt_flags & RTF_HOST ? EHOSTUNREACH : ENETUNREACH); } -#if 0 - /* - * XXXMAC: this needs to use M_COPY_PKTHDR(), among other things. - */ /* * KAME requires that the packet to be contiguous on the @@ -228,13 +224,18 @@ goto contiguousfail; } -#ifdef MAC - mac_create_mbuf_from_mbuf(m, n); -#endif m_copydata(m, 0, m->m_pkthdr.len, mtod(n, caddr_t)); n->m_pkthdr = m->m_pkthdr; n->m_len = m->m_pkthdr.len; SLIST_INIT(&m->m_pkthdr.tags); +#ifdef MAC + /* + * XXXMAC: Once we put labels in tags and proper + * primitives are used for relocating mbuf header + * data, this will no longer be required. + */ + mac_init_mbuf(m, M_WAITOK); +#endif m_freem(m); m = n; } @@ -242,7 +243,6 @@ contiguousfail: printf("looutput: mbuf allocation failed\n"); } -#endif ifp->if_opackets++; ifp->if_obytes += m->m_pkthdr.len; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Tue Dec 10 10:42:32 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1AB137B404; Tue, 10 Dec 2002 10:42:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4850637B401 for ; Tue, 10 Dec 2002 10:42:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 84B2343EA9 for ; Tue, 10 Dec 2002 10:42:28 -0800 (PST) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBAIbfmV026168 for ; Tue, 10 Dec 2002 10:37:41 -0800 (PST) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBAIbfqE026165 for perforce@freebsd.org; Tue, 10 Dec 2002 10:37:41 -0800 (PST) Date: Tue, 10 Dec 2002 10:37:41 -0800 (PST) Message-Id: <200212101837.gBAIbfqE026165@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin Subject: PERFORCE change 22140 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22140 Change 22140 by jhb@jhb_laptop on 2002/12/10 10:37:10 Add some hokie code to witness so that if we panic from spinning too long on a spin lock, we try to use witness info to determine where the other CPU acquired the lock in question. Affected files ... .. //depot/projects/smpng/sys/kern/kern_mutex.c#55 edit .. //depot/projects/smpng/sys/kern/subr_witness.c#66 edit .. //depot/projects/smpng/sys/sys/lock.h#23 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_mutex.c#55 (text+ko) ==== @@ -681,12 +681,18 @@ if (i < 60000000) DELAY(1); #ifdef DDB - else if (!db_active) + else if (!db_active) { #else - else + else { #endif - panic("spin lock %s held by %p for > 5 seconds", + printf("spin lock %s held by %p for > 5 seconds\n", m->mtx_object.lo_name, (void *)m->mtx_lock); +#ifdef WITNESS + witness_display_spinlock(&m->mtx_object, + mtx_owner(m)); +#endif + panic("spin lock held too long"); + } #ifdef __i386__ ia32_pause(); #endif ==== //depot/projects/smpng/sys/kern/subr_witness.c#66 (text+ko) ==== @@ -1399,6 +1399,28 @@ } /* + * This is a bit risky at best. We have call this when we have timed out + * acquiring a spin lock and are assuming that the other CPU is stuck with + * this lock held. So, we go groveling around in the other CPU's per-cpu + * data to try and find the lock instance for this spin lock to see when it + * was last acquired. + */ +void +witness_display_spinlock(struct lock_object *lock, struct thread *owner) +{ + struct lock_instance *instance; + struct pcpu *pc; + + if (owner->td_critnest == 0 || owner->td_kse != NULL || + owner->td_kse->ke_oncpu == NOCPU) + return; + pc = pcpu_find(owner->td_kse->ke_oncpu); + instance = find_instance(pc->pc_spinlocks, lock); + if (instance != NULL) + witness_list_lock(instance); +} + +/* * Calling this on td != curthread is bad unless we are in ddb. */ static int ==== //depot/projects/smpng/sys/sys/lock.h#23 (text+ko) ==== @@ -208,6 +208,7 @@ int witness_warn(int, struct lock_object *, const char *, int, const char *, ...); void witness_assert(struct lock_object *, int, const char *, int); +void witness_display_spinlock(struct lock_object *, struct thread *); int witness_line(struct lock_object *); const char *witness_file(struct lock_object *); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Tue Dec 10 10:46:38 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C90437B404; Tue, 10 Dec 2002 10:46:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E84BF37B401 for ; Tue, 10 Dec 2002 10:46:36 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 8245143EC2 for ; Tue, 10 Dec 2002 10:46:36 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 28084 invoked by uid 1000); 10 Dec 2002 18:46:37 -0000 Date: Tue, 10 Dec 2002 10:46:37 -0800 (PST) From: Nate Lawson To: John Baldwin Cc: Perforce Change Reviews Subject: Re: PERFORCE change 22140 for review In-Reply-To: <200212101837.gBAIbfqE026165@repoman.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, 10 Dec 2002, John Baldwin wrote: > http://perforce.freebsd.org/chv.cgi?CH=22140 > Change 22140 by jhb@jhb_laptop on 2002/12/10 10:37:10 > > Add some hokie code to witness so that if we panic from spinning > too long on a spin lock, we try to use witness info to determine > where the other CPU acquired the lock in question. Would it make sense to leave this code out if WITNESS_SKIPSPIN is enabled? -Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Tue Dec 10 11:57:38 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EF1537B401; Tue, 10 Dec 2002 11:57:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 207BB37B40D for ; Tue, 10 Dec 2002 11:57:35 -0800 (PST) Received: from mail.speakeasy.net (mail16.speakeasy.net [216.254.0.216]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63EDB43EDA for ; Tue, 10 Dec 2002 11:57:30 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 11009 invoked from network); 10 Dec 2002 19:57:35 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail16.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 10 Dec 2002 19:57:35 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.6/8.12.6) with ESMTP id gBAJvRuH063691; Tue, 10 Dec 2002 14:57:27 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Tue, 10 Dec 2002 14:57:29 -0500 (EST) From: John Baldwin To: Nate Lawson Subject: Re: PERFORCE change 22140 for review Cc: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 10-Dec-2002 Nate Lawson wrote: > On Tue, 10 Dec 2002, John Baldwin wrote: >> http://perforce.freebsd.org/chv.cgi?CH=22140 >> Change 22140 by jhb@jhb_laptop on 2002/12/10 10:37:10 >> >> Add some hokie code to witness so that if we panic from spinning >> too long on a spin lock, we try to use witness info to determine >> where the other CPU acquired the lock in question. > > Would it make sense to leave this code out if WITNESS_SKIPSPIN is enabled? No, because you can enable spin locks via a loader tunable. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Tue Dec 10 12:48:15 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22B8637B40F; Tue, 10 Dec 2002 12:48:02 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A9AFA37B401 for ; Tue, 10 Dec 2002 12:48:01 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F1B2D43E4A for ; Tue, 10 Dec 2002 12:48:00 -0800 (PST) (envelope-from green@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBAKhDmV072170 for ; Tue, 10 Dec 2002 12:43:13 -0800 (PST) (envelope-from green@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBAKhDYV072167 for perforce@freebsd.org; Tue, 10 Dec 2002 12:43:13 -0800 (PST) Date: Tue, 10 Dec 2002 12:43:13 -0800 (PST) Message-Id: <200212102043.gBAKhDYV072167@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to green@freebsd.org using -f From: Brian Feldman Subject: PERFORCE change 22143 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22143 Change 22143 by green@green_laptop_2 on 2002/12/10 12:42:31 Provide the full devfs path for a given object being created to any policies that request it. Bring policies incl. SEBSD in line with reality. Affected files ... .. //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_devs.c#11 edit .. //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_vfsops.c#15 edit .. //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_vnops.c#38 edit .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#369 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#191 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#48 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#152 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_none/mac_none.c#113 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#89 edit .. //depot/projects/trustedbsd/mac/sys/security/sebsd/sebsd.c#62 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#223 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#177 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_devs.c#11 (text+ko) ==== @@ -335,7 +335,8 @@ de = devfs_vmkdir(s, q - s, dd); #ifdef MAC mac_create_devfs_directory( - dm->dm_mount, s, q - s, de); + dm->dm_mount, s, q - s, de, + dev->si_name); #endif de->de_inode = dm->dm_inode++; TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); @@ -363,7 +364,8 @@ de->de_dirent->d_type = DT_CHR; } #ifdef MAC - mac_create_devfs_device(dm->dm_mount, dev, de); + mac_create_devfs_device(dm->dm_mount, dev, de, + dev->si_name); #endif *dep = de; de->de_dir = dd; ==== //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_vfsops.c#15 (text+ko) ==== @@ -97,7 +97,7 @@ fmp->dm_rootdir = devfs_vmkdir("(root)", 6, NULL); fmp->dm_rootdir->de_inode = 2; #ifdef MAC - mac_create_devfs_directory(mp, "", 0, fmp->dm_rootdir); + mac_create_devfs_directory(mp, "", 0, fmp->dm_rootdir, ""); #endif fmp->dm_basedir = fmp->dm_rootdir; devfs_rules_newmount(fmp, td); ==== //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_vnops.c#38 (text+ko) ==== @@ -90,21 +90,17 @@ * Construct the fully qualified path name relative to the mountpoint */ static char * -devfs_fqpn(char *buf, struct vnode *dvp, struct componentname *cnp) +devfs_fqpn(char *buf, ssize_t buflen, struct devfs_mount *dmp, + struct devfs_dirent *de, const char *name, size_t namelen) { int i; - struct devfs_dirent *de, *dd; - struct devfs_mount *dmp; - dmp = VFSTODEVFS(dvp->v_mount); - dd = dvp->v_data; - i = SPECNAMELEN; + i = buflen - 1; buf[i] = '\0'; - i -= cnp->cn_namelen; + i -= namelen; if (i < 0) return (NULL); - bcopy(cnp->cn_nameptr, buf + i, cnp->cn_namelen); - de = dd; + bcopy(name, buf + i, namelen); while (de != dmp->dm_basedir) { i--; if (i < 0) @@ -366,7 +362,8 @@ * OK, we didn't have an entry for the name we were asked for * so we try to see if anybody can create it on demand. */ - pname = devfs_fqpn(specname, dvp, cnp); + pname = devfs_fqpn(specname, sizeof(specname), dmp, de, + cnp->cn_nameptr, cnp->cn_namelen); if (pname == NULL) goto notfound; @@ -852,10 +849,17 @@ struct devfs_dirent *dd; struct devfs_dirent *de; struct devfs_mount *dmp; +#ifdef MAC + char *specname; +#endif error = suser(ap->a_cnp->cn_thread); if (error) - return(error); + return (error); +#ifdef MAC + specname = malloc(SPECNAMELEN + ap->a_cnp->cn_namelen + 1, M_DEVFS, + M_WAITOK); +#endif dmp = VFSTODEVFS(ap->a_dvp->v_mount); dd = ap->a_dvp->v_data; de = devfs_newdirent(ap->a_cnp->cn_nameptr, ap->a_cnp->cn_namelen); @@ -869,7 +873,10 @@ bcopy(ap->a_target, de->de_symlink, i); lockmgr(&dmp->dm_lock, LK_EXCLUSIVE, 0, curthread); #ifdef MAC - mac_create_devfs_symlink(ap->a_cnp->cn_cred, dmp->dm_mount, dd, de); + mac_create_devfs_symlink(ap->a_cnp->cn_cred, dmp->dm_mount, dd, de, + devfs_fqpn(specname, SPECNAMELEN + ap->a_cnp->cn_namelen + 1, + dmp, de, ap->a_cnp->cn_nameptr, ap->a_cnp->cn_namelen)); + free(specname, M_DEVFS); #endif TAILQ_INSERT_TAIL(&dd->de_dlist, de, de_list); devfs_allocv(de, ap->a_dvp->v_mount, ap->a_vpp, 0); ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#369 (text+ko) ==== @@ -2803,28 +2803,30 @@ } void -mac_create_devfs_device(struct mount *mp, dev_t dev, struct devfs_dirent *de) +mac_create_devfs_device(struct mount *mp, dev_t dev, struct devfs_dirent *de, + const char *fullpath) { - MAC_PERFORM(create_devfs_device, mp, dev, de, &de->de_label); + MAC_PERFORM(create_devfs_device, mp, dev, de, &de->de_label, + fullpath); } void mac_create_devfs_symlink(struct ucred *cred, struct mount *mp, - struct devfs_dirent *dd, struct devfs_dirent *de) + struct devfs_dirent *dd, struct devfs_dirent *de, const char *fullpath) { MAC_PERFORM(create_devfs_symlink, cred, mp, dd, &dd->de_label, de, - &de->de_label); + &de->de_label, fullpath); } void mac_create_devfs_directory(struct mount *mp, char *dirname, int dirnamelen, - struct devfs_dirent *de) + struct devfs_dirent *de, const char *fullpath) { MAC_PERFORM(create_devfs_directory, mp, dirname, dirnamelen, de, - &de->de_label); + &de->de_label, fullpath); } int ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#191 (text+ko) ==== @@ -828,20 +828,21 @@ */ static void mac_biba_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *devfs_dirent, struct label *label) + struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { struct mac_biba *mac_biba; int biba_type; mac_biba = SLOT(label); - if (strcmp(dev->si_name, "null") == 0 || - strcmp(dev->si_name, "zero") == 0 || - strcmp(dev->si_name, "random") == 0 || - strncmp(dev->si_name, "fd/", strlen("fd/")) == 0) + if (strcmp(fullpath, "null") == 0 || + strcmp(fullpath, "zero") == 0 || + strcmp(fullpath, "random") == 0 || + strncmp(fullpath, "fd/", strlen("fd/")) == 0) biba_type = MAC_BIBA_TYPE_EQUAL; else if (ptys_equal && - (strncmp(dev->si_name, "ttyp", strlen("ttyp")) == 0 || - strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0)) + (strncmp(fullpath, "ttyp", strlen("ttyp")) == 0 || + strncmp(fullpath, "ptyp", strlen("ptyp")) == 0)) biba_type = MAC_BIBA_TYPE_EQUAL; else biba_type = MAC_BIBA_TYPE_HIGH; @@ -850,7 +851,8 @@ static void mac_biba_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label) + int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { struct mac_biba *mac_biba; @@ -861,7 +863,7 @@ static void mac_biba_create_devfs_symlink(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel) + struct label *delabel, const char *fullpath) { struct mac_biba *source, *dest; ==== //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#48 (text+ko) ==== @@ -953,21 +953,22 @@ */ static void mac_lomac_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *devfs_dirent, struct label *label) + struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { struct mac_lomac *mac_lomac; int lomac_type; mac_lomac = SLOT(label); - if (strcmp(dev->si_name, "null") == 0 || - strcmp(dev->si_name, "zero") == 0 || - strcmp(dev->si_name, "random") == 0 || - strncmp(dev->si_name, "fd/", strlen("fd/")) == 0 || - strncmp(dev->si_name, "ttyv", strlen("ttyv")) == 0) + if (strcmp(fullpath, "null") == 0 || + strcmp(fullpath, "zero") == 0 || + strcmp(fullpath, "random") == 0 || + strncmp(fullpath, "fd/", strlen("fd/")) == 0 || + strncmp(fullpath, "ttyv", strlen("ttyv")) == 0) lomac_type = MAC_LOMAC_TYPE_EQUAL; else if (ptys_equal && - (strncmp(dev->si_name, "ttyp", strlen("ttyp")) == 0 || - strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0)) + (strncmp(fullpath, "ttyp", strlen("ttyp")) == 0 || + strncmp(fullpath, "ptyp", strlen("ptyp")) == 0)) lomac_type = MAC_LOMAC_TYPE_EQUAL; else lomac_type = MAC_LOMAC_TYPE_HIGH; @@ -976,7 +977,8 @@ static void mac_lomac_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label) + int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { struct mac_lomac *mac_lomac; @@ -987,7 +989,7 @@ static void mac_lomac_create_devfs_symlink(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel) + struct label *delabel, const char *fullpath) { struct mac_lomac *source, *dest; ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#152 (text+ko) ==== @@ -795,23 +795,24 @@ */ static void mac_mls_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *devfs_dirent, struct label *label) + struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { struct mac_mls *mac_mls; int mls_type; mac_mls = SLOT(label); - if (strcmp(dev->si_name, "null") == 0 || - strcmp(dev->si_name, "zero") == 0 || - strcmp(dev->si_name, "random") == 0 || - strncmp(dev->si_name, "fd/", strlen("fd/")) == 0) + if (strcmp(fullpath, "null") == 0 || + strcmp(fullpath, "zero") == 0 || + strcmp(fullpath, "random") == 0 || + strncmp(fullpath, "fd/", strlen("fd/")) == 0) mls_type = MAC_MLS_TYPE_EQUAL; - else if (strcmp(dev->si_name, "kmem") == 0 || - strcmp(dev->si_name, "mem") == 0) + else if (strcmp(fullpath, "kmem") == 0 || + strcmp(fullpath, "mem") == 0) mls_type = MAC_MLS_TYPE_HIGH; else if (ptys_equal && - (strncmp(dev->si_name, "ttyp", strlen("ttyp")) == 0 || - strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0)) + (strncmp(fullpath, "ttyp", strlen("ttyp")) == 0 || + strncmp(fullpath, "ptyp", strlen("ptyp")) == 0)) mls_type = MAC_MLS_TYPE_EQUAL; else mls_type = MAC_MLS_TYPE_LOW; @@ -820,7 +821,8 @@ static void mac_mls_create_devfs_directory(struct mount *mp, char *dirname, int dirnamelen, - struct devfs_dirent *devfs_dirent, struct label *label) + struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { struct mac_mls *mac_mls; @@ -831,7 +833,7 @@ static void mac_mls_create_devfs_symlink(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel) + struct label *delabel, const char *fullpath) { struct mac_mls *source, *dest; ==== //depot/projects/trustedbsd/mac/sys/security/mac_none/mac_none.c#113 (text+ko) ==== @@ -170,14 +170,16 @@ static void mac_none_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *devfs_dirent, struct label *label) + struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { } static void mac_none_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label) + int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { } @@ -185,7 +187,7 @@ static void mac_none_create_devfs_symlink(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel) + struct label *delabel, const char *fullpath) { } ==== //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#89 (text+ko) ==== @@ -548,14 +548,16 @@ static void mac_test_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *devfs_dirent, struct label *label) + struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { } static void mac_test_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label) + int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { } @@ -563,7 +565,7 @@ static void mac_test_create_devfs_symlink(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel) + struct label *delabel, const char *fullpath) { } ==== //depot/projects/trustedbsd/mac/sys/security/sebsd/sebsd.c#62 (text+ko) ==== @@ -401,7 +401,8 @@ static void sebsd_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *devfs_dirent, struct label *label) + struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { char *path; int rc; @@ -419,9 +420,9 @@ dirent_type_to_security_class(devfs_dirent->de_dirent->d_type); /* Obtain a SID based on the fstype, path, and class. */ - path = malloc(strlen(dev->si_name) + 2, M_SEBSD, M_ZERO | M_WAITOK); + path = malloc(strlen(fullpath) + 2, M_SEBSD, M_ZERO | M_WAITOK); path[0] = '/'; - strcpy(&path[1], dev->si_name); + strcpy(&path[1], fullpath); rc = security_genfs_sid(mp->mnt_vfc->vfc_name, path, dirent->sclass, &newsid); if (rc == 0) @@ -439,7 +440,8 @@ static void sebsd_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label) + int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label, + const char *fullpath) { char *path; int rc; @@ -456,10 +458,9 @@ dirent->sclass = SECCLASS_DIR; /* Obtain a SID based on the fstype, path, and class. */ - path = malloc(dirnamelen + 2, M_SEBSD, M_ZERO | M_WAITOK); + path = malloc(strlen(fullpath) + 2, M_SEBSD, M_ZERO | M_WAITOK); path[0] = '/'; - strncpy(&path[1], dirname, dirnamelen); - path[dirnamelen+1] = '\0'; + strcpy(&path[1], fullpath); rc = security_genfs_sid(mp->mnt_vfc->vfc_name, path, dirent->sclass, &newsid); if (rc == 0) @@ -478,18 +479,19 @@ static void sebsd_create_devfs_symlink(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel) + struct label *delabel, const char *fullpath) { -#if 0 +#ifdef FULLY /* TBD: path info not available (and the code below is broken) */ char *path; +#endif int rc; security_id_t newsid; struct vnode_security_struct *lnksec; struct vnode_security_struct *dirsec; - dirsec= SLOT(ddlabel); + dirsec = SLOT(ddlabel); lnksec = SLOT(delabel); /* Default to the filesystem SID. */ @@ -497,13 +499,6 @@ lnksec->task_sid = SECINITSID_KERNEL; lnksec->sclass = SECCLASS_LNK_FILE; - printf("%s: dirsec->sid=%d, de->de_symlink=%s\n", - __func__, dirsec->sid, de->de_symlink?de->de_symlink:"NULL"); - - if (dd->de_dirent) { - printf("%s: dd->de_dirent->d_name=%s\n", - __func__, dd->de_dirent->d_name?dd->de_dirent->d_name:"NULL"); - } #ifdef FLUFFY /* Obtain a SID based on the fstype, path, and class. */ path = malloc(strlen(dd->si_name) + 2, M_SEBSD, M_ZERO | M_WAITOK); @@ -523,7 +518,6 @@ } free(path, M_SEBSD); #endif /* FLUFFY */ -#endif /* 0 */ } static void ==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#223 (text+ko) ==== @@ -172,11 +172,12 @@ int mac_associate_vnode_extattr(struct mount *mp, struct vnode *vp); void mac_associate_vnode_singlelabel(struct mount *mp, struct vnode *vp); void mac_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *de); + struct devfs_dirent *de, const char *fullpath); void mac_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *de); + int dirnamelen, struct devfs_dirent *de, const char *fullpath); void mac_create_devfs_symlink(struct ucred *cred, struct mount *mp, - struct devfs_dirent *dd, struct devfs_dirent *de); + struct devfs_dirent *dd, struct devfs_dirent *de, + const char *fullpath); int mac_create_vnode_extattr(struct ucred *cred, struct mount *mp, struct vnode *dvp, struct vnode *vp, struct componentname *cnp); void mac_create_mount(struct ucred *cred, struct mount *mp); ==== //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#177 (text+ko) ==== @@ -143,14 +143,15 @@ struct label *fslabel, struct vnode *vp, struct label *vlabel); void (*mpo_create_devfs_device)(struct mount *mp, dev_t dev, - struct devfs_dirent *de, struct label *label); + struct devfs_dirent *de, struct label *label, + const char *fullpath); void (*mpo_create_devfs_directory)(struct mount *mp, char *dirname, int dirnamelen, struct devfs_dirent *de, - struct label *label); + struct label *label, const char *fullpath); void (*mpo_create_devfs_symlink)(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel); + struct label *delabel, const char *fullpath); int (*mpo_create_vnode_extattr)(struct ucred *cred, struct mount *mp, struct label *fslabel, struct vnode *dvp, struct label *dlabel, To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Tue Dec 10 13:59:31 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B08E37B404; Tue, 10 Dec 2002 13:59:30 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AC76D37B401 for ; Tue, 10 Dec 2002 13:59:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59E1943EB2 for ; Tue, 10 Dec 2002 13:59:29 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBALsfmV096978 for ; Tue, 10 Dec 2002 13:54:41 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBALsfKm096975 for perforce@freebsd.org; Tue, 10 Dec 2002 13:54:41 -0800 (PST) Date: Tue, 10 Dec 2002 13:54:41 -0800 (PST) Message-Id: <200212102154.gBALsfKm096975@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 Subject: PERFORCE change 22145 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22145 Change 22145 by rwatson@rwatson_tislabs on 2002/12/10 13:53:48 Variation on the KAME work-around theme. Since we only conditionally free mbuf labels, mark it as already free'd to avoid the dup free. An extra init could sleep. Affected files ... .. //depot/projects/trustedbsd/mac/sys/net/if_loop.c#14 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/net/if_loop.c#14 (text+ko) ==== @@ -234,7 +234,7 @@ * primitives are used for relocating mbuf header * data, this will no longer be required. */ - mac_init_mbuf(m, M_WAITOK); + m->m_pkthdr.label.l_flags &= ~MAC_FLAG_INITIALIZED; #endif m_freem(m); m = n; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message From owner-p4-projects Tue Dec 10 14:15:13 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 669F137B404; Tue, 10 Dec 2002 14:14:50 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0E8A537B401 for ; Tue, 10 Dec 2002 14:14:50 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 098B343EB2 for ; Tue, 10 Dec 2002 14:14:49 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBAMA1mV001215 for ; Tue, 10 Dec 2002 14:10:01 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBAMA0PY001178 for perforce@freebsd.org; Tue, 10 Dec 2002 14:10:00 -0800 (PST) Date: Tue, 10 Dec 2002 14:10:00 -0800 (PST) Message-Id: <200212102210.gBAMA0PY001178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar Subject: PERFORCE change 22146 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=22146 Change 22146 by marcel@marcel_vaio on 2002/12/10 14:09:18 IFC @22142 Affected files ... .. //depot/projects/ia64/lib/libc/stdio/wscanf.3#3 integrate .. //depot/projects/ia64/lib/libc/stdlib/getopt_long.3#2 integrate .. //depot/projects/ia64/lib/libc/stdlib/lsearch.3#2 integrate .. //depot/projects/ia64/lib/libc/string/wcscoll.3#2 integrate .. //depot/projects/ia64/lib/libc/string/wcswidth.3#2 integrate .. //depot/projects/ia64/lib/libc/string/wcsxfrm.3#2 integrate .. //depot/projects/ia64/lib/libc/uuid/uuid.3#2 integrate .. //depot/projects/ia64/lib/libc_r/man/pthread_attr_get_np.3#2 integrate .. //depot/projects/ia64/lib/libpthread/Makefile#3 integrate .. //depot/projects/ia64/lib/libpthread/test/Makefile#2 integrate .. //depot/projects/ia64/release/Makefile#28 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/install.sgml#8 integrate .. //depot/projects/ia64/release/scripts/driver-desc.awk#1 branch .. //depot/projects/ia64/release/scripts/print-cdrom-packages.sh#20 integrate .. //depot/projects/ia64/sbin/devfs/devfs.8#4 integrate .. //depot/projects/ia64/share/examples/cvsup/ports-supfile#3 integrate .. //depot/projects/ia64/share/man/man4/Makefile#26 integrate .. //depot/projects/ia64/share/man/man4/ahd.4#2 integrate .. //depot/projects/ia64/share/man/man4/aio.4#2 integrate .. //depot/projects/ia64/share/man/man4/atapicam.4#3 integrate .. //depot/projects/ia64/share/man/man4/crypto.4#2 integrate .. //depot/projects/ia64/share/man/man4/firewire.4#2 integrate .. //depot/projects/ia64/share/man/man4/fwe.4#2 integrate .. //depot/projects/ia64/share/man/man4/fwohci.4#2 integrate .. //depot/projects/ia64/share/man/man4/gbde.4#4 integrate .. //depot/projects/ia64/share/man/man4/gre.4#2 integrate .. //depot/projects/ia64/share/man/man4/hifn.4#2 integrate .. //depot/projects/ia64/share/man/man4/mac_biba.4#2 integrate .. //depot/projects/ia64/share/man/man4/mac_bsdextended.4#2 integrate .. //depot/projects/ia64/share/man/man4/mac_mls.4#2 integrate .. //depot/projects/ia64/share/man/man4/mac_none.4#1 branch .. //depot/projects/ia64/share/man/man4/mac_seeotheruids.4#1 branch .. //depot/projects/ia64/share/man/man4/mac_test.4#1 branch .. //depot/projects/ia64/share/man/man4/pccbb.4#2 integrate .. //depot/projects/ia64/share/man/man4/pst.4#2 integrate .. //depot/projects/ia64/share/man/man4/sbp.4#2 integrate .. //depot/projects/ia64/share/man/man4/smp.4#3 integrate .. //depot/projects/ia64/share/man/man4/targ.4#2 integrate .. //depot/projects/ia64/share/man/man4/ubsa.4#2 integrate .. //depot/projects/ia64/share/man/man4/ubsec.4#2 integrate .. //depot/projects/ia64/share/man/man4/usb.4#6 integrate .. //depot/projects/ia64/share/man/man4/uvisor.4#2 integrate .. //depot/projects/ia64/share/man/man7/ffs.7#5 integrate .. //depot/projects/ia64/share/man/man9/thread_exit.9#2 integrate .. //depot/projects/ia64/sys/alpha/alpha/vm_machdep.c#13 integrate .. //depot/projects/ia64/sys/boot/efi/Makefile.inc#10 integrate .. //depot/projects/ia64/sys/boot/efi/include/efilib.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/libefi/Makefile#7 integrate .. //depot/projects/ia64/sys/boot/efi/libefi/arch/ia64/start.S#5 integrate .. //depot/projects/ia64/sys/boot/efi/libefi/bootinfo.c#10 integrate .. //depot/projects/ia64/sys/boot/efi/libefi/libefi.c#5 integrate .. //depot/projects/ia64/sys/boot/efi/loader/main.c#13 integrate .. //depot/projects/ia64/sys/boot/efi/loader/version#6 integrate .. //depot/projects/ia64/sys/conf/NOTES#31 integrate .. //depot/projects/ia64/sys/dev/bktr/bktr_os.c#7 integrate .. //depot/projects/ia64/sys/dev/raidframe/rf_freebsdkintf.c#3 integrate .. //depot/projects/ia64/sys/dev/usb/ohci.c#13 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs.h#8 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs_devs.c#7 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs_vfsops.c#8 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs_vnops.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/vm_machdep.c#15 integrate .. //depot/projects/ia64/sys/ia64/ia64/vm_machdep.c#18 integrate .. //depot/projects/ia64/sys/kern/kern_exit.c#28 integrate .. //depot/projects/ia64/sys/kern/kern_fork.c#24 integrate .. //depot/projects/ia64/sys/kern/kern_mac.c#14 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#23 integrate .. //depot/projects/ia64/sys/kern/kern_thread.c#21 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/vm_machdep.c#13 integrate .. //depot/projects/ia64/sys/security/mac_biba/mac_biba.c#10 integrate .. //depot/projects/ia64/sys/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/ia64/sys/security/mac_mls/mac_mls.c#9 integrate .. //depot/projects/ia64/sys/security/mac_none/mac_none.c#7 integrate .. //depot/projects/ia64/sys/security/mac_seeotheruids/mac_seeotheruids.c#4 integrate .. //depot/projects/ia64/sys/security/mac_test/mac_test.c#7 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/vm_machdep.c#13 integrate .. //depot/projects/ia64/sys/sys/mac.h#12 integrate .. //depot/projects/ia64/sys/sys/mac_policy.h#10 integrate .. //depot/projects/ia64/sys/sys/pcpu.h#7 integrate .. //depot/projects/ia64/sys/sys/proc.h#40 integrate .. //depot/projects/ia64/usr.bin/gprof/gprof.h#6 integrate .. //depot/projects/ia64/usr.bin/xlint/lint1/param.h#3 integrate .. //depot/projects/ia64/usr.sbin/adduser/rmuser.sh#2 integrate .. //depot/projects/ia64/usr.sbin/rpcbind/rpcbind.c#6 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/menus.c#20 integrate Differences ... ==== //depot/projects/ia64/lib/libc/stdio/wscanf.3#3 (text+ko) ==== @@ -35,7 +35,7 @@ .\" .\" @(#)scanf.3 8.2 (Berkeley) 12/11/93 .\" FreeBSD: src/lib/libc/stdio/scanf.3,v 1.17 2002/05/30 09:53:47 ru Exp -.\" $FreeBSD: src/lib/libc/stdio/wscanf.3,v 1.4 2002/12/04 18:57:45 ru Exp $ +.\" $FreeBSD: src/lib/libc/stdio/wscanf.3,v 1.5 2002/12/09 14:11:37 ru Exp $ .\" .Dd September 22, 2002 .Dt WSCANF 3 @@ -403,11 +403,11 @@ some implementations of .Fn wscanf use -.Dq A-Z +.Dq Li A-Z to represent the range of characters between -.Dq A +.Ql A and -.Dq Z . +.Ql Z . The string ends with the appearance of a character not in the (or, with a circumflex, in) set or when the field width runs out. @@ -492,7 +492,7 @@ .Xr scanf 3 , .Fn wscanf does not support the -.Dq A-Z +.Dq Li A-Z notation for specifying character ranges with the character class conversion .Pq Sq Cm %[ . ==== //depot/projects/ia64/lib/libc/stdlib/getopt_long.3#2 (text+ko) ==== @@ -1,5 +1,4 @@ .\" $NetBSD: getopt_long.3,v 1.8 2002/06/03 12:01:43 wiz Exp $ -.\" $FreeBSD: src/lib/libc/stdlib/getopt_long.3,v 1.1 2002/09/29 04:14:37 eric Exp $ .\" .\" Copyright (c) 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -33,6 +32,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getopt.3 8.5 (Berkeley) 4/27/95 +.\" $FreeBSD: src/lib/libc/stdlib/getopt_long.3,v 1.2 2002/12/09 13:54:29 ru Exp $ .\" .Dd April 1, 2000 .Dt GETOPT_LONG 3 @@ -43,23 +43,29 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS -.Fd #include \*[Lt]getopt.h\*[Gt] +.In getopt.h .Ft int -.Fn getopt_long "int argc" "char * const *argv" "const char *optstring" "struct option *long options" "int *index" +.Fo getopt_long +.Fa "int argc" "char * const *argv" "const char *optstring" +.Fa "struct option *long options" "int *index" +.Fc .Sh DESCRIPTION The .Fn getopt_long function is similar to .Xr getopt 3 -but it accepts options in two forms: words and characters. The +but it accepts options in two forms: words and characters. +The .Fn getopt_long -function provides a superset of of the functionality of +function provides a superset of the functionality of .Xr getopt 3 . .Fn getopt_long -can be used in two ways. In the first way, every long option understood +can be used in two ways. +In the first way, every long option understood by the program has a corresponding short option, and the option structure is only used to translate from long options to short -options. When used in this fashion, +options. +When used in this fashion, .Fn getopt_long behaves identically to .Xr getopt 3 . @@ -67,32 +73,35 @@ with the minimum of rewriting. .Pp In the second mechanism, a long option sets a flag in the -.Fa option +.Vt option structure passed, or will store a pointer to the command line argument in the -.Fa option -structure passed to it for options that take arguments. Additionally, +.Vt option +structure passed to it for options that take arguments. +Additionally, the long option's argument may be specified as a single argument with -an equal sign, e.g. -.Bd -literal -myprogram --myoption=somevalue -.Ed +an equal sign, e.g., +.Pp +.Dl "myprogram --myoption=somevalue" .Pp -When a long option is processed the call to +When a long option is processed, the call to .Fn getopt_long -will return 0. For this reason, long option processing without +will return 0. +For this reason, long option processing without shortcuts is not backwards compatible with .Xr getopt 3 . .Pp It is possible to combine these methods, providing for long options -processing with short option equivalents for some options. Less +processing with short option equivalents for some options. +Less frequently used options would be processed as long options only. .Pp The .Fn getopt_long call requires a structure to be initialized describing the long -options. The structure is: -.Bd -literal +options. +The structure is: +.Bd -literal -offset indent struct option { char *name; int has_arg; @@ -102,34 +111,43 @@ .Ed .Pp The -.Fa name +.Va name field should contain the option name without the leading double dash. .Pp The -.Fa has_arg +.Va has_arg field should be one of: -.Bl -tag -width "optional_argument" -.It Li no_argument -no argument to the option is expect. -.It Li required_argument -an argument to the option is required. +.Pp +.Bl -tag -width ".Dv optional_argument" -offset indent -compact +.It Dv no_argument +no argument to the option is expect +.It Dv required_argument +an argument to the option is required .It Li optional_argument an argument to the option may be presented. .El .Pp If -.Fa flag -is non-NULL, then the integer pointed to by it will be set to the +.Va flag +is not +.Dv NULL , +then the integer pointed to by it will be set to the value in the -.Fa val -field. If the -.Fa flag -field is NULL, then the -.Fa val -field will be returned. Setting -.Fa flag -to NULL and setting -.Fa val +.Va val +field. +If the +.Va flag +field is +.Dv NULL , +then the +.Va val +field will be returned. +Setting +.Va flag +to +.Dv NULL +and setting +.Va val to the corresponding short option will make this function act just like .Xr getopt 3 . @@ -175,101 +193,206 @@ argv += optind; .Ed .Sh IMPLEMENTATION DIFFERENCES -This section describes differences to the GNU implementation +This section describes differences to the +.Tn GNU +implementation found in glibc-2.1.3: -.Bl -tag -width "xxx" -.It Li o -handling of - as first char of option string in presence of -environment variable POSIXLY_CORRECT: -.Bl -tag -width "NetBSD" -.It Li GNU -ignores POSIXLY_CORRECT and returns non-options as +.Bl -bullet +.It +Handling of +.Ql - +as first char of option string in presence of +environment variable +.Ev POSIXLY_CORRECT : +.Bl -tag -width ".Nx" +.It Tn GNU +ignores +.Ev POSIXLY_CORRECT +and returns non-options as arguments to option '\e1'. -.It Li NetBSD -honors POSIXLY_CORRECT and stops at the first non-option. +.It Nx +honors +.Ev POSIXLY_CORRECT +and stops at the first non-option. .El -.It Li o -handling of :: in options string in presence of POSIXLY_CORRECT: -.Bl -tag -width "NetBSD" -.It Li Both -GNU and NetBSD ignore POSIXLY_CORRECT here and take :: to +.It +Handling of +.Ql :: +in options string in presence of +.Ev POSIXLY_CORRECT : +.Bl -tag -width ".Nx" +.It Both +.Tn GNU +and +.Nx +ignore +.Ev POSIXLY_CORRECT +here and take +.Ql :: +to mean the preceding option takes an optional argument. .El -.It Li o -return value in case of missing argument if first character -(after + or -) in option string is not ':': -.Bl -tag -width "NetBSD" -.It Li GNU -returns '?' -.It NetBSD -returns ':' (since NetBSD's getopt does). +.It +Return value in case of missing argument if first character +(after +.Ql + +or +.Ql - ) +in option string is not +.Ql \&: : +.Bl -tag -width ".Nx" +.It Tn GNU +returns +.Ql \&? +.It Nx +returns +.Ql \&: +(since +.Nx Ns 's +.Fn getopt +does). .El -.It Li o -handling of --a in getopt: -.Bl -tag -width "NetBSD" -.It Li GNU -parses this as option '-', option 'a'. -.It Li NetBSD -parses this as '--', and returns -1 (ignoring the a). (Because -the original getopt does.) +.It +Handling of +.Ql --a +in getopt: +.Bl -tag -width ".Nx" +.It Tn GNU +parses this as option +.Ql - , +option +.Ql a . +.It Nx +parses this as +.Ql -- , +and returns \-1 (ignoring the +.Ql a ) . +(Because the original +.Fn getopt +does.) .El -.It Li o -setting of optopt for long options with flag != NULL: -.Bl -tag -width "NetBSD" -.It Li GNU -sets optopt to val. -.It Li NetBSD -sets optopt to 0 (since val would never be returned). +.It +Setting of +.Va optopt +for long options with +.Va flag +!= +.Dv NULL : +.Bl -tag -width ".Nx" +.It Tn GNU +sets +.Va optopt +to +.Va val . +.It Nx +sets +.Va optopt +to 0 (since +.Va val +would never be returned). .El -.It Li o -handling of -W with W; in option string in getopt (not getopt_long): -.Bl -tag -width "NetBSD" -.It Li GNU +.It +Handling of +.Ql -W +with +.Ql W ; +in option string in +.Fn getopt +(not +.Fn getopt_long ) : +.Bl -tag -width ".Nx" +.It Tn GNU causes a segfault. -.It Li NetBSD -returns -1, with optind pointing past the argument of -W -(as if `-W arg' were `--arg', and thus '--' had been found). +.It Nx +returns \-1, with +.Va optind +pointing past the argument of +.Ql -W +(as if +.Ql "-W arg" +were +.Ql --arg , +and thus +.Ql -- +had been found). .\" How should we treat W; in the option string when called via .\" getopt? Ignore the ';' or treat it as a ':'? Issue a warning? .El -.It Li o -setting of optarg for long options without an argument that are -invoked via -W (W; in option string): -.Bl -tag -width "NetBSD" -.It Li GNU -sets optarg to the option name (the argument of -W). -.It Li NetBSD -sets optarg to NULL (the argument of the long option). +.It +Setting of +.Va optarg +for long options without an argument that are +invoked via +.Ql -W +.Ql ( W ; +in option string): +.Bl -tag -width ".Nx" +.It Tn GNU +sets +.Va optarg +to the option name (the argument of +.Ql -W ) . +.It Nx +sets +.Va optarg +to +.Dv NULL +(the argument of the long option). .El -.It Li o -handling of -W with an argument that is not (a prefix to) a known -long option (W; in option string): -.Bl -tag -width "NetBSD" -.It Li GNU -returns -W with optarg set to the unknown option. -.It Li NetBSD -treats this as an error (unknown option) and returns '?' with -optopt set to 0 and optarg set to NULL (as GNU's man page -documents). +.It +Handling of +.Ql -W +with an argument that is not (a prefix to) a known +long option +.Ql ( W ; +in option string): +.Bl -tag -width ".Nx" +.It Tn GNU +returns +.Ql -W +with +.Va optarg +set to the unknown option. +.It Nx +treats this as an error (unknown option) and returns +.Ql \&? +with +.Va optopt +set to 0 and +.Va optarg +set to +.Dv NULL +(as +.Tn GNU Ns 's +man page documents). .El -.It Li o +.It The error messages are different. -.It Li o -NetBSD does not permute the argument vector at the same points in -the calling sequence as GNU does. The aspects normally used by -the caller (ordering after -1 is returned, value of optind relative -to current positions) are the same, though. (We do fewer variable -swaps.) +.It +.Nx +does not permute the argument vector at the same points in +the calling sequence as +.Tn GNU +does. +The aspects normally used by +the caller (ordering after \-1 is returned, value of +.Va optind +relative +to current positions) are the same, though. +(We do fewer variable swaps.) .El .Sh SEE ALSO .Xr getopt 3 .Sh HISTORY The .Fn getopt_long -function first appeared in GNU libiberty. The first +function first appeared in +.Tn GNU +libiberty. +The first .Nx implementation appeared in 1.5. .Sh BUGS -The implementation, can completelely replace +The implementation can completely replace .Xr getopt 3 , but right now we are using separate code. ==== //depot/projects/ia64/lib/libc/stdlib/lsearch.3#2 (text+ko) ==== @@ -4,9 +4,9 @@ .\" All rights reserved. .\" .\" As long as the above copyright statement and this notice remain -.\" unchanged, you can do what ever you want with this file. +.\" unchanged, you can do what ever you want with this file. .\" -.\" $FreeBSD: src/lib/libc/stdlib/lsearch.3,v 1.1 2002/10/16 14:29:22 robert Exp $ +.\" $FreeBSD: src/lib/libc/stdlib/lsearch.3,v 1.2 2002/12/09 13:14:15 ru Exp $ .\" .Dd October 11, 2002 .Dt LSEARCH 3 @@ -19,14 +19,17 @@ .Lb libc .Sh SYNOPSIS .In search.h -.Ft void * -.Fn lsearch "const void *key" "void *base" "size_t *nelp" "size_t width" \ - "int (*compar)(const void *, const void *)" -.Ft void * -.Fn lfind "const void *key" "const void *base" "size_t *nelp" "size_t width" \ - "int (*compar)(const void *, const void *)" +.Ft "void *" +.Fo lsearch +.Fa "const void *key" "void *base" "size_t *nelp" "size_t width" +.Fa "int \*[lp]*compar\*[rp]\*[lp]const void *, const void *\*[rp]" +.Fc +.Ft "void *" +.Fo lfind +.Fa "const void *key" "const void *base" "size_t *nelp" "size_t width" +.Fa "int \*[lp]*compar\*[rp]\*[lp]const void *, const void *\*[rp]" +.Fc .Sh DESCRIPTION -.Pp The .Fn lsearch and @@ -36,13 +39,13 @@ .Pp .Fa key points to an element that matches the one that is searched. -The array's address in memory is denoted by the +The array's address in memory is denoted by the .Fa base argument. -The width of one element (i.e. the size as returned by +The width of one element (i.e., the size as returned by .Fn sizeof ) -is passed as the -.Fa width +is passed as the +.Fa width argument. The number of valid elements contained in the array (not the number of elements the array has space reserved for) is given in the integer pointed @@ -51,10 +54,10 @@ The .Fa compar argument points to a function which compares its two arguments and returns -zero if they are matching and non-zero otherwise. +zero if they are matching, and non-zero otherwise. .Pp -If no matching element was found in the array, -.Fn lsearch +If no matching element was found in the array, +.Fn lsearch copies .Fa key into the position after the last element and increments the ==== //depot/projects/ia64/lib/libc/string/wcscoll.3#2 (text+ko) ==== @@ -34,8 +34,8 @@ .\" SUCH DAMAGE. .\" .\" @(#)strcoll.3 8.1 (Berkeley) 6/4/93 -.\" FreeBSD: src/lib/libc/string/strcoll.3,v 1.11 2001/10/01 16:09:00 ru Exp -.\" $FreeBSD: src/lib/libc/string/wcscoll.3,v 1.1 2002/10/04 03:18:26 tjr Exp $ +.\" FreeBSD: src/lib/libc/string/strcoll.3,v 1.11 2001/10/01 16:09:00 ru Exp +.\" $FreeBSD: src/lib/libc/string/wcscoll.3,v 1.2 2002/12/09 14:04:05 ru Exp $ .\" .Dd October 4, 2002 .Dt WCSCOLL 3 ==== //depot/projects/ia64/lib/libc/string/wcswidth.3#2 (text+ko) ==== @@ -22,8 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/string/wcswidth.3,v 1.1 2002/08/20 03:40:45 tjr Exp $ -.Dd August 8, 1999 +.\" $FreeBSD: src/lib/libc/string/wcswidth.3,v 1.2 2002/12/09 14:04:05 ru Exp $ +.\" +.Dd August 20, 2002 .Dt WCSWIDTH 3 .Os .Sh NAME @@ -49,7 +50,7 @@ function returns 0 if .Fa pwcs is an empty string (L""), --1 if a non-printing wide character is encountered, +\-1 if a non-printing wide character is encountered, otherwise it returns the number of column positions occupied. .Sh SEE ALSO .Xr iswprint 3 , ==== //depot/projects/ia64/lib/libc/string/wcsxfrm.3#2 (text+ko) ==== @@ -34,8 +34,8 @@ .\" SUCH DAMAGE. .\" .\" @(#)strxfrm.3 8.1 (Berkeley) 6/4/93 -.\" FreeBSD: src/lib/libc/string/strxfrm.3,v 1.16 2002/09/06 11:24:06 tjr Exp -.\" $FreeBSD: src/lib/libc/string/wcsxfrm.3,v 1.1 2002/10/04 03:18:26 tjr Exp $ +.\" FreeBSD: src/lib/libc/string/strxfrm.3,v 1.16 2002/09/06 11:24:06 tjr Exp +.\" $FreeBSD: src/lib/libc/string/wcsxfrm.3,v 1.2 2002/12/09 14:04:05 ru Exp $ .\" .Dd October 4, 2002 .Dt WCSXFRM 3 @@ -69,7 +69,9 @@ (it helps to determine an actual size needed for transformation), .Fa dst -is permitted to be a NULL pointer. +is permitted to be a +.Dv NULL +pointer. .Pp Comparing two strings using .Fn wcscmp @@ -91,8 +93,8 @@ .Sh SEE ALSO .Xr setlocale 3 , .Xr strxfrm 3 , -.Xr wcscoll 3 , -.Xr wcscmp 3 +.Xr wcscmp 3 , +.Xr wcscoll 3 .Sh STANDARDS The .Fn wcsxfrm @@ -117,7 +119,7 @@ always equivalent to comparison with .Fn wcscoll ; .Fn wcsxfrm -only stores information about primary collation weights into +only stores information about primary collation weights into .Fa dst , whereas .Fn wcscoll ==== //depot/projects/ia64/lib/libc/uuid/uuid.3#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/libc/uuid/uuid.3,v 1.1 2002/10/30 03:51:00 marcel Exp $ +.\" $FreeBSD: src/lib/libc/uuid/uuid.3,v 1.2 2002/12/09 12:47:18 ru Exp $ .\" .Dd October 29, 2002 .Dt UUID 3 @@ -77,9 +77,10 @@ The successful or unsuccessful completion of the function is returned in the .Fa status -parameter. Possible values are: +parameter. +Possible values are: .Pp -.Bl -tag -width uuid_s_invalid_string_uuid +.Bl -tag -width ".Dv uuid_s_invalid_string_uuid" .It Dv uuid_s_ok The function completed successfully. .It Dv uuid_s_bad_version ==== //depot/projects/ia64/lib/libc_r/man/pthread_attr_get_np.3#2 (text+ko) ==== @@ -1,6 +1,6 @@ .\" Copyright (c) 2002 Alexey Zelkin .\" All rights reserved. -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -9,7 +9,7 @@ .\" 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 @@ -22,7 +22,8 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc_r/man/pthread_attr_get_np.3,v 1.1 2002/10/26 15:04:29 phantom Exp $ +.\" $FreeBSD: src/lib/libc_r/man/pthread_attr_get_np.3,v 1.2 2002/12/09 12:41:29 ru Exp $ +.\" .Dd October 26, 2002 .Dt PTHREAD_ATTR_GET_NP 3 .Os @@ -44,11 +45,12 @@ is supposed to be used in conjunction with .Fn pthread_attr_get* functions to retrive individual values from -.Ft pthread_attr_t -structure. Parameter +.Vt pthread_attr_t +structure. +Parameter .Fa dst should point to allocated memory area big enough to fit this structure. -It's HIGHLY RECOMENDED to use +It is HIGHLY RECOMMENDED to use .Xr pthread_attr_init 3 function to allocate attribute storage. .Sh EXAMPLES @@ -77,19 +79,17 @@ .Bl -tag -width Er .It Bq Er EINVAL Invalid value for one of given parameters. -.El -.Bl -tag -width Er -.It Bq Er ESRCH +.It Bq Er ESRC No thread could be found corresponding to that specified by the given thread ID. .El .Sh SEE ALSO -.Xr pthread_attr_init 3 , .Xr pthread_attr_destroy 3 , -.Xr pthread_attr_getstacksize 3 , -.Xr pthread_attr_getstackaddr 3 , .Xr pthread_attr_getdetachstate 3 , .Xr pthread_attr_getinheritsched 3 , .Xr pthread_attr_getschedparam 3 , .Xr pthread_attr_getschedpolicy 3 , -.Xr pthread_attr_getscope 3 +.Xr pthread_attr_getscope 3 , +.Xr pthread_attr_getstackaddr 3 , +.Xr pthread_attr_getstacksize 3 , +.Xr pthread_attr_init 3 ==== //depot/projects/ia64/lib/libpthread/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libpthread/Makefile,v 1.34 2002/09/28 00:25:31 peter Exp $ +# $FreeBSD: src/lib/libpthread/Makefile,v 1.35 2002/12/08 22:43:31 deischen 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 @@ -7,8 +7,8 @@ # To included legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS # (for system call stubs) to CFLAGS below. -DSYSLIBC_SCCS affects just the # system call stubs. -LIB=pthread -SHLIB_MAJOR= 5 +LIB=kse +SHLIB_MAJOR= 1 CFLAGS+=-DPTHREAD_KERNEL -D_THREAD_SAFE CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \ -I${.CURDIR}/../../include ==== //depot/projects/ia64/lib/libpthread/test/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/lib/libpthread/test/Makefile,v 1.10 2002/09/16 19:29:34 mini Exp $ +# $FreeBSD: src/lib/libpthread/test/Makefile,v 1.11 2002/12/08 22:43:31 deischen Exp $ # # Automated test suite for libpthread (pthreads). # @@ -26,7 +26,7 @@ LDFLAGS_A := -static LDFLAGS_P := -pg LDFLAGS_S := -LIBS := -lpthread +LIBS := -lkse # Flags passed to verify. "-v" or "-u" may be useful. VFLAGS := ==== //depot/projects/ia64/release/Makefile#28 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.732 2002/12/03 04:02:13 des Exp $ +# $FreeBSD: src/release/Makefile,v 1.735 2002/12/10 16:35:44 bmah Exp $ # # make release CHROOTDIR=/some/dir BUILDNAME=somename CVSROOT=/cvs/dir \ # [ RELEASETAG=tag ] @@ -788,6 +788,10 @@ ${MNT} ${FIXITSIZE} ${RD}/fixitfd ${FIXITINODE} ${FIXITLABEL} # Do our last minute floppies directory setup in a convenient place. .if !defined(NODOC) +.if ${TARGET} == "i386" + @(cd ${RD}/driversfd; awk -f ${.CURDIR}/scripts/driver-desc.awk \ + *.dsc >> ${RD}/floppies/DRIVERS.TXT) +.endif @cp ${RND}/${RELNOTES_LANG}/installation/${TARGET}/article.txt \ ${RD}/floppies/README.TXT @(cd ${RD}/floppies; md5 README.TXT *.flp > CHECKSUM.MD5) @@ -888,12 +892,12 @@ @if [ -r ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ]; then \ echo "Creating ISO images..."; \ sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ - fbsd_miniinst ${CD}/miniinst.iso ${CD_DISC1}; \ + fbsd_miniinst ${CD}/${BUILDNAME}-${TARGET}-miniinst.iso ${CD_DISC1}; \ sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ - fbsd_livefs ${CD}/disc2.iso ${CD_DISC2}; \ + fbsd_livefs ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2}; \ if [ "x${CD_EXTRA_BITS}" != "x" ]; then \ sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ - fbsd_boot ${CD}/disc1.iso ${CD_DISC1} ${CD_EXTRA_BITS} \ + fbsd_boot ${CD}/${BUILDNAME}-${TARGET}-disc1.iso ${CD_DISC1} ${CD_EXTRA_BITS} \ && false; \ fi \ else \ ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/install.sgml#8 (text+ko) ==== @@ -1,6 +1,6 @@