From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1520716A4FB; Tue, 21 Nov 2006 16:16:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9D0EE16A4C2 for ; Tue, 21 Nov 2006 16:16:35 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2802743DB0 for ; Tue, 21 Nov 2006 16:16:09 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGLQh045069 for ; Tue, 21 Nov 2006 16:16:21 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGL7l045066 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:21 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 16:16:21 GMT Message-Id: <200611211616.kALGGL7l045066@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110186 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=110186 Change 110186 by sam@sam_ebb on 2006/11/18 05:37:20 Analog Devices AD7418 sensor support (temp+voltage) Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 (text+ko) ==== @@ -1,5 +1,6 @@ #$FreeBSD$ arm/xscale/ixp425/avila_machdep.c standard arm/xscale/ixp425/avila_ata.c optional ata_avila +arm/xscale/ixp425/ad7418.c optional adc_avila arm/xscale/ixp425/ds1672.c optional rtc_avila arm/xscale/ixp425/ixdp425_pci.c optional pci From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28DDC16A4D8; Tue, 21 Nov 2006 16:16:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CB04F16A4A0 for ; Tue, 21 Nov 2006 16:16:38 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E556243DAA for ; Tue, 21 Nov 2006 16:16:07 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGLHe045063 for ; Tue, 21 Nov 2006 16:16:21 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGKIq045059 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:20 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 16:16:20 GMT Message-Id: <200611211616.kALGGKIq045059@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110185 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=110185 Change 110185 by sam@sam_ebb on 2006/11/18 04:05:44 o add transfer method for use by chips on the avila board o add avila chips for now; cleanup to follow Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 (text+ko) ==== @@ -69,6 +69,8 @@ DEVMETHOD(bus_driver_added, bus_generic_driver_added), DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(iicbus_transfer, iicbus_transfer_gen), + { 0, 0 } }; @@ -140,6 +142,8 @@ #endif device_add_child(dev, "ic", -1); device_add_child(dev, "iicsmb", -1); + device_add_child(dev, "ds1672", -1); + device_add_child(dev, "ad7418", -1); /* attach any known device */ device_add_child(dev, "iic", -1); bus_generic_attach(dev); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 670C016A5B9; Tue, 21 Nov 2006 16:16:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CC50C16A4C2 for ; Tue, 21 Nov 2006 16:16:38 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D34F43D8D for ; Tue, 21 Nov 2006 16:16:12 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGLxR045076 for ; Tue, 21 Nov 2006 16:16:21 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGLnU045073 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:21 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 16:16:21 GMT Message-Id: <200611211616.kALGGLnU045073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110187 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=110187 Change 110187 by sam@sam_ebb on 2006/11/18 05:38:02 add rtc and sensors Affected files ... .. //depot/projects/arm/src/sys/arm/conf/AVILA#8 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/AVILA#8 (text+ko) ==== @@ -85,6 +85,8 @@ device ixpiic device ixpwdog # watchdog timer +device rtc_avila # DS1762 on I2C bus +device adc_avila # AD7418 on I2C bus device ata device ata_avila # Gateworks CF/IDE support From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9FA4E16A62F; Tue, 21 Nov 2006 16:16:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 640EA16A625 for ; Tue, 21 Nov 2006 16:16:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86B2043D55 for ; Tue, 21 Nov 2006 16:16:16 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGTjr045159 for ; Tue, 21 Nov 2006 16:16:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGSa3045156 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:28 GMT Message-Id: <200611211616.kALGGSa3045156@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110202 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=110202 Change 110202 by rwatson@rwatson_fledge on 2006/11/18 09:42:17 Add encoding and decoding routines for process64_ex, process32_ex, subject64_ex token types. Submitted by: Diego Giagio Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#45 edit .. //depot/projects/trustedbsd/openbsm/README#22 edit .. //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 edit .. //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#45 (text+ko) ==== @@ -5,6 +5,8 @@ - Countless man page fixes. - praudit XML support via "praudit -x". - audit.log.5 expanded to include additional BSM token types. +- Added encoding and decoding routines for process64_ex, process32_ex, and + subject32_ex tokens. OpenBSM 1.0 alpha 12 @@ -272,4 +274,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#44 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#45 $ ==== //depot/projects/trustedbsd/openbsm/README#22 (text+ko) ==== @@ -78,6 +78,7 @@ Martin Englund Ruslan Ermilov Martin Voros + Diego Giagio In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -99,4 +100,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#21 $ +$P4: //depot/projects/trustedbsd/openbsm/README#22 $ ==== //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#23 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -246,6 +246,8 @@ token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); +token_t *au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm); #if !defined(KERNEL) && !defined(_KERNEL) token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod); ==== //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#31 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 $ */ #ifndef _LIBBSM_H_ @@ -164,6 +164,12 @@ u_int32_t addr[4]; } au_tidaddr32_t; +typedef struct au_tidaddr64 { + u_int64_t port; + u_int32_t type; + u_int32_t addr[4]; +} au_tidaddr64_t; + /* * argument # 1 byte * argument value 4 bytes/8 bytes (32-bit/64-bit value) @@ -483,6 +489,17 @@ au_tidaddr32_t tid; } au_proc32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_proc64ex_t; + /* * error status 1 byte * return value 4 bytes/8 bytes (32-bit/64-bit value) @@ -616,6 +633,17 @@ au_tidaddr32_t tid; } au_subject32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_subject64ex_t; + /* * text length 2 bytes * text N bytes + 1 terminating NULL byte @@ -675,8 +703,9 @@ au_opaque_t opaque; au_path_t path; au_proc32_t proc32; + au_proc32ex_t proc32_ex; au_proc64_t proc64; - au_proc32ex_t proc32_ex; + au_proc64ex_t proc64_ex; au_ret32_t ret32; au_ret64_t ret64; au_seq_t seq; @@ -685,8 +714,9 @@ au_socketinet32_t sockinet32; au_socketunix_t sockunix; au_subject32_t subj32; + au_subject32ex_t subj32_ex; au_subject64_t subj64; - au_subject32ex_t subj32_ex; + au_subject64ex_t subj64_ex; au_text_t text; au_kevent_t kevent; au_invalid_t invalid; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 (text+ko) ==== @@ -32,7 +32,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#42 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 $ */ #include @@ -333,6 +333,14 @@ fprintf(fp, "/>"); break; + case AUT_PROCESS64: + fprintf(fp, "/>"); + break; + + case AUT_PROCESS64_EX: + fprintf(fp, "/>"); + break; + case AUT_RETURN32: fprintf(fp, "/>"); break; @@ -369,6 +377,10 @@ fprintf(fp, "/>"); break; + case AUT_SUBJECT64_EX: + fprintf(fp, "/>"); + break; + case AUT_TEXT: fprintf(fp, ""); break; @@ -488,6 +500,14 @@ fprintf(fp, ""); break; @@ -2530,7 +2554,133 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * machine id 4 bytes + */ static int +fetch_process64_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64.tid.port, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64.tid.addr, + sizeof(tok->tt.proc64.tid.addr), tok->len, err); + if (err) + return (-1); + + return (0); +} + +static void +print_process64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_ip_address(fp, tok->tt.proc64.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_delim(fp, del); + print_ip_address(fp, tok->tt.proc64.tid.addr); + } +} + +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 4 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int fetch_process32ex_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; @@ -2646,6 +2796,135 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 8 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int +fetch_process64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.proc64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64_ex.tid.addr[0], + sizeof(tok->tt.proc64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.proc64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.proc64_ex.tid.addr, + sizeof(tok->tt.proc64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_process64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + } +} + /* * errno 1 byte * return value 4 bytes @@ -3290,6 +3569,134 @@ } /* + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * type 4 bytes + * machine id 16 bytes + */ +static int +fetch_subject64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.subj64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.subj64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.subj64_ex.tid.addr[0], + sizeof(tok->tt.subj64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.subj64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.subj64_ex.tid.addr, + sizeof(tok->tt.subj64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_subject64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "subject_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.subj64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.subj64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.subj64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + } +} + +/* * size 2 bytes * data size bytes */ @@ -3533,6 +3940,12 @@ case AUT_PROCESS32_EX: return (fetch_process32ex_tok(tok, buf, len)); + case AUT_PROCESS64: + return (fetch_process64_tok(tok, buf, len)); + + case AUT_PROCESS64_EX: + return (fetch_process64ex_tok(tok, buf, len)); + case AUT_RETURN32: return (fetch_return32_tok(tok, buf, len)); @@ -3554,11 +3967,14 @@ case AUT_SUBJECT32: return (fetch_subject32_tok(tok, buf, len)); + case AUT_SUBJECT32_EX: + return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64: return (fetch_subject64_tok(tok, buf, len)); - case AUT_SUBJECT32_EX: - return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64_EX: + return (fetch_subject64ex_tok(tok, buf, len)); case AUT_TEXT: return (fetch_text_tok(tok, buf, len)); @@ -3682,6 +4098,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3718,6 +4142,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3840,6 +4268,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_XML); return; @@ -3876,6 +4312,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_XML); return; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#52 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ */ #include @@ -212,9 +212,46 @@ token_t * au_to_attr64(struct vnode_au_info *vni) { + token_t *t; + u_char *dptr = NULL; + u_int16_t pad0_16 = 0; + u_int16_t pad0_32 = 0; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 2 * sizeof(u_int16_t) + + 3 * sizeof(u_int32_t) + sizeof(u_int64_t) * 2); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_ATTR64); + + /* + * Darwin defines the size for the file mode + * as 2 bytes; BSM defines 4 so pad with 0 + */ + ADD_U_INT16(dptr, pad0_16); + ADD_U_INT16(dptr, vni->vn_mode); + + ADD_U_INT32(dptr, vni->vn_uid); + ADD_U_INT32(dptr, vni->vn_gid); + ADD_U_INT32(dptr, vni->vn_fsid); - errno = ENOTSUP; - return (NULL); + /* + * Some systems use 32-bit file ID's, other's use 64-bit file IDs. + * Attempt to handle both, and let the compiler sort it out. If we + * could pick this out at compile-time, it would be better, so as to + * avoid the else case below. + */ + if (sizeof(vni->vn_fileid) == sizeof(uint32_t)) { + ADD_U_INT32(dptr, pad0_32); + ADD_U_INT32(dptr, vni->vn_fileid); + } else if (sizeof(vni->vn_fileid) == sizeof(uint64_t)) + ADD_U_INT64(dptr, vni->vn_fileid); + else + ADD_U_INT64(dptr, 0LL); + + ADD_U_INT64(dptr, vni->vn_dev); + + return (t); } token_t * @@ -654,9 +691,26 @@ __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 8 * sizeof(u_int32_t) + + sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -727,9 +781,42 @@ au_to_process64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -944,9 +1031,26 @@ au_to_subject64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 7 * sizeof(u_int32_t) + + sizeof(u_int64_t) + sizeof(u_int32_t)); + if (t == NULL) + return (NULL); - errno = ENOTSUP; - return (NULL); + ADD_U_CHAR(dptr, AUT_SUBJECT64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); + + return (t); } token_t * @@ -1016,9 +1120,42 @@ au_to_subject64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_SUBJECT64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -1166,6 +1303,33 @@ return (t); } +token_t * +au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm) +{ + token_t *t; + u_char *dptr = NULL; + u_int32_t timems; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int32_t) + + sizeof(u_char) + 2 * sizeof(u_int16_t) + 2 * sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_HEADER64); + ADD_U_INT32(dptr, rec_size); + ADD_U_CHAR(dptr, AUDIT_HEADER_VERSION_OPENBSM); + ADD_U_INT16(dptr, e_type); + ADD_U_INT16(dptr, e_mod); + + timems = tm.tv_usec/1000; + /* Add the timestamp */ + ADD_U_INT64(dptr, tm.tv_sec); + ADD_U_INT64(dptr, timems); /* We need time in ms. */ + + return (t); +} + #if !defined(KERNEL) && !defined(_KERNEL) token_t * au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod) @@ -1181,9 +1345,11 @@ au_to_header64(__unused int rec_size, __unused au_event_t e_type, __unused au_emod_t e_mod) { + struct timeval tm; - errno = ENOTSUP; - return (NULL); + if (gettimeofday(&tm, NULL) == -1) + return (NULL); + return (au_to_header64_tm(rec_size, e_type, e_mod, tm)); } token_t * From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0AAF216A565; Tue, 21 Nov 2006 16:16:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B9AF016A52F for ; Tue, 21 Nov 2006 16:16:47 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 462E743D7F for ; Tue, 21 Nov 2006 16:16:12 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGKHI045049 for ; Tue, 21 Nov 2006 16:16:20 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGJI0045046 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:19 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 21 Nov 2006 16:16:19 GMT Message-Id: <200611211616.kALGGJI0045046@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 110183 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=110183 Change 110183 by mjacob@newisp on 2006/11/18 03:35:24 Make the SAN login/logout stuff more common between different chipsets and provied an isp_control entry point so that the outer layers can do PLOGI/LOGO explicitly. Add MS IOCB support. This completes the cycle for base support for SMI-S. Affected files ... .. //depot/projects/newisp/dev/bge/if_bge.c#10 edit .. //depot/projects/newisp/dev/isp/isp.c#38 edit .. //depot/projects/newisp/dev/isp/isp_library.c#21 edit .. //depot/projects/newisp/dev/isp/isp_library.h#13 edit .. //depot/projects/newisp/dev/isp/ispmbox.h#14 edit .. //depot/projects/newisp/dev/isp/ispvar.h#17 edit Differences ... ==== //depot/projects/newisp/dev/bge/if_bge.c#10 (text+ko) ==== @@ -2499,12 +2499,6 @@ } } - /* - * Write the magic number to the firmware mailbox at 0xb50 - * so that the driver can synchronize with the firmware. - */ - bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); - /* Issue global reset */ bge_writereg_ind(sc, BGE_MISC_CFG, reset); @@ -2541,6 +2535,11 @@ CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); /* + * Prevent PXE restart: write a magic number to the + * general communications memory at 0xB50. + */ + bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); + /* * Poll the value location we just wrote until * we see the 1's complement of the magic number. * This indicates that the firmware initialization ==== //depot/projects/newisp/dev/isp/isp.c#38 (text+ko) ==== @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/newisp/dev/isp/isp_library.c#21 (text) ==== @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/newisp/dev/isp/isp_library.h#13 (text) ==== @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/newisp/dev/isp/ispmbox.h#14 (text+ko) ==== @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/newisp/dev/isp/ispvar.h#17 (text+ko) ==== @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8AFD616A835; Tue, 21 Nov 2006 16:16:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 104AF16A57A for ; Tue, 21 Nov 2006 16:16:48 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 183F143D8F for ; Tue, 21 Nov 2006 16:16:02 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGJo2045043 for ; Tue, 21 Nov 2006 16:16:19 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGJ30045040 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:19 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 16:16:19 GMT Message-Id: <200611211616.kALGGJ30045040@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=110182 Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 Get it working: o slave address in avila docs is correct; don't believe what linux print probes, it's the 7-bit address >> 1 o correct set method to send register pointer before 4 bytes of data in a single transaction Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 (text+ko) ==== @@ -54,8 +54,7 @@ #define IIC_M_WR 0 /* write operation */ -/* NB: Gateworks doc say this is 0x80 but Linux uses 0x68 */ -#define DS1672_ADDR 0x68 /* slave address */ +#define DS1672_ADDR 0xd0 /* slave address */ #define DS1672_COUNTER 0 /* counter (bytes 0-3) */ #define DS1672_CTRL 4 /* control (1 byte) */ @@ -89,7 +88,7 @@ static int ds1672_gettime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; + uint8_t addr[1] = { DS1672_COUNTER }; uint8_t secs[4]; struct iic_msg msgs[2] = { { DS1672_ADDR, IIC_M_WR, 1, addr }, @@ -110,19 +109,18 @@ static int ds1672_settime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; - uint8_t secs[4]; - struct iic_msg msgs[2] = { - { DS1672_ADDR, IIC_M_WR, 1, addr }, - { DS1672_ADDR, IIC_M_WR, 4, secs }, + /* NB: register pointer precedes actual data */ + uint8_t data[5] = { DS1672_COUNTER }; + struct iic_msg msgs[1] = { + { DS1672_ADDR, IIC_M_WR, 5, data }, }; - secs[1] = (ts->tv_sec >> 0) & 0xff; - secs[2] = (ts->tv_sec >> 8) & 0xff; - secs[3] = (ts->tv_sec >> 16) & 0xff; - secs[4] = (ts->tv_sec >> 24) & 0xff; + data[1] = (ts->tv_sec >> 0) & 0xff; + data[2] = (ts->tv_sec >> 8) & 0xff; + data[3] = (ts->tv_sec >> 16) & 0xff; + data[4] = (ts->tv_sec >> 24) & 0xff; - return iicbus_transfer(dev, msgs, 2); + return iicbus_transfer(dev, msgs, 1); } static device_method_t ds1672_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AF3316A8A1; Tue, 21 Nov 2006 16:16:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 50D4516A7EC for ; Tue, 21 Nov 2006 16:16:48 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B253F43DBF for ; Tue, 21 Nov 2006 16:16:12 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGOKl045123 for ; Tue, 21 Nov 2006 16:16:24 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGOwN045120 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:24 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:16:24 GMT Message-Id: <200611211616.kALGGOwN045120@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=110194 Change 110194 by imp@imp_lighthouse on 2006/11/18 08:03:24 Move almost all of the atmel specific stuff to the *board.c files. This should allow us to be in a good position to also support booting off CF. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 (text+ko) ==== @@ -26,3 +26,4 @@ void Update(void); void board_init(void); +int drvread(void *, unsigned, unsigned); ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 (text+ko) ==== @@ -26,9 +26,7 @@ #include -#include "emac.h" #include "lib.h" -#include "sd-card.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ @@ -96,7 +94,6 @@ static int parse(void); static int xfsread(ino_t, void *, size_t); static int dskread(void *, unsigned, unsigned); -static int drvread(void *, unsigned, unsigned); #include "ufsread.c" @@ -148,9 +145,6 @@ ino_t ino; board_init(); - EMAC_Init(); - sdcard_init(); - EMAC_SetMACAddress(mac); dmadat = (void *)(0x20000000 + (16 << 20)); /* Process configuration file */ @@ -304,12 +298,3 @@ } return drvread(buf, dsk_start + lba, nblk); } - -static int -drvread(void *buf, unsigned lba, unsigned nblk) -{ - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); - return (MCI_read((char *)buf, lba << 9, nblk << 9)); -} ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 (text+ko) ==== @@ -31,6 +31,7 @@ #include "emac.h" #include "lib.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -57,4 +58,16 @@ { InitEEPROM(); MacFromEE(); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); +} + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 (text+ko) ==== @@ -7,6 +7,7 @@ #include "lib.h" #include "ee.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -133,6 +134,19 @@ printf("mac\n"); MacFromEE(); printf("EEEEEE\n"); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); + } #include "../bootspi/ee.c" + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); +} From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 08F5F16A908; Tue, 21 Nov 2006 16:16:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7455B16A824 for ; Tue, 21 Nov 2006 16:16:48 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50E6943DA4 for ; Tue, 21 Nov 2006 16:16:12 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGMF4045082 for ; Tue, 21 Nov 2006 16:16:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGM8j045079 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:22 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 16:16:22 GMT Message-Id: <200611211616.kALGGM8j045079@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110188 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=110188 Change 110188 by sam@sam_ebb on 2006/11/18 06:07:56 Interlock data updates to avoid scrambling i2c accesses. We remove the delay after a channel change as it doesn't seem needed and doing so insures we don't sleep (and release the mutex) while doing an update. If we need to bring back the delay then we need to handle sleeping; probably by moving the update time setting up. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 (text+ko) ==== @@ -67,6 +67,7 @@ struct ad7418_softc { device_t sc_dev; + struct mtx sc_mtx; int sc_curchan; /* current channel */ int sc_curtemp; int sc_curvolt; @@ -116,6 +117,7 @@ int conf; sc->sc_dev = dev; + mtx_init(&sc->sc_mtx, "ad7418", "ad7418", MTX_DEF); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "temp", CTLTYPE_INT | CTLFLAG_RD, sc, 0, @@ -165,7 +167,18 @@ ad7418_write_1(sc->sc_dev, AD7418_CONF, (ad7418_read_1(sc->sc_dev, AD7418_CONF) &~ AD7418_CONF_CHAN)|chan); sc->sc_curchan = chan; - tsleep(sc, 0, "ad7418", 1); /* XXX 1 tick should be 'nuf */ +#if 0 + /* + * NB: Linux driver delays here but chip data sheet + * says nothing and things appear to work fine w/o + * a delay on channel change. If this is enabled + * be sure to account for losing the mutex below + * in ad7418_update. + */ + mtx_assert(&sc->sc_mtx, MA_OWNED); + /* let channel change settle, 1 tick should be 'nuf (need ~1ms) */ + msleep(sc, &sc->sc_mtx, 0, "ad7418", 1); +#endif } static int @@ -187,6 +200,7 @@ { int v; + mtx_lock(&sc->sc_mtx); /* NB: no point in updating any faster than the chip */ if (ticks - sc->sc_lastupdate > hz) { ad7418_set_channel(sc, AD7418_CHAN_TEMP); @@ -199,6 +213,7 @@ sc->sc_curvolt = v; sc->sc_lastupdate = ticks; } + mtx_unlock(&sc->sc_mtx); } static device_method_t ad7418_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1362416A90F; Tue, 21 Nov 2006 16:16:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 79F9916A82C for ; Tue, 21 Nov 2006 16:16:48 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id DBB1E43D4C for ; Tue, 21 Nov 2006 16:16:14 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGRaR045135 for ; Tue, 21 Nov 2006 16:16:27 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGQCv045132 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:26 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:16:26 GMT Message-Id: <200611211616.kALGGQCv045132@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=110196 Change 110196 by imp@imp_lighthouse on 2006/11/18 08:36:39 remove a little debugging. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 (text+ko) ==== @@ -172,14 +172,11 @@ xputchar('\n'); autoboot = 0; c = 0; - printf("cmd is '%s'\n", cmd); if (parse()) xputchar('\a'); #ifdef XMODEM_DL else if (*cmd == '*') - Update(); - else if (*cmd == '#') - reset(); + Update(); #endif else load(); @@ -263,7 +260,6 @@ struct dos_partition *dp; struct disklabel *d; char *sec; - int i; if (!dsk_meta) { sec = dmadat->secbuf; @@ -271,16 +267,12 @@ if (drvread(sec, DOSBBSECTOR, 1)) return -1; dp = (void *)(sec + DOSPARTOFF); - for (i = 0; i < NDOSPART; i++) { - if (dp[i].dp_typ == DOSPTYP_386BSD) - break; - } - if (i == NDOSPART) + if (dp[0].dp_typ != DOSPTYP_386BSD) return -1; // Although dp_start is aligned within the disk partition structure, // DOSPARTOFF is 446, which is only word (2) aligned, not longword (4) // aligned. Cope by using memcpy to fetch the start of this partition. - memcpy(&dsk_start, &dp[i].dp_start, 4); + memcpy(&dsk_start, &dp[0].dp_start, 4); if (drvread(sec, dsk_start + LABELSECTOR, 1)) return -1; d = (void *)(sec + LABELOFFSET); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DD9A16A9E6; Tue, 21 Nov 2006 16:16:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 83B6A16A833 for ; Tue, 21 Nov 2006 16:16:48 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5012943D86 for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGVYi045206 for ; Tue, 21 Nov 2006 16:16:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGVkQ045198 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:31 GMT Message-Id: <200611211616.kALGGVkQ045198@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=110209 Change 110209 by rwatson@rwatson_fledge on 2006/11/18 11:18:02 Generate test tokens for process64 and process64_ex tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#5 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ */ /* @@ -435,6 +435,78 @@ write_record(directory, record_filename, process32ex_token, AUE_NULL); } +static au_id_t process64_auid = 0x12345678; +static uid_t process64_euid = 0x01234567; +static gid_t process64_egid = 0x23456789; +static uid_t process64_ruid = 0x98765432; +static gid_t process64_rgid = 0x09876543; +static pid_t process64_pid = 0x13243546; +static au_asid_t process64_sid = 0x97867564; +static au_tid_t process64_tid = { 0x16593746 }; +static au_tid_addr_t process64_tid_addr = { 0x16593746 }; + +static void +generate_process64_token(const char *directory, const char *token_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64"); + write_token(directory, token_filename, process64_token); +} + +static void +generate_process64_record(const char *directory, const char *record_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_ti_process64"); + write_record(directory, record_filename, process64_token, AUE_NULL); +} + +static void +generate_process64ex_token(const char *directory, const char *token_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_token(directory, token_filename, process64ex_token); +} + +static void +generate_process64ex_record(const char *directory, const char *record_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_record(directory, record_filename, process64ex_token, AUE_NULL); +} + static char return32_status = 0xd7; static uint32_t return32_ret = 0x12345678; @@ -815,6 +887,8 @@ generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); generate_process32_token(directory, "process32_token"); generate_process32ex_token(directory, "process32ex_token"); + generate_process64_token(directory, "process64_token"); + generate_process64ex_token(directory, "process64ex_token"); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -841,6 +915,8 @@ AU_IPv6); generate_process32_record(directory, "process32_record"); generate_process32ex_record(directory, "process32ex_record"); + generate_process64_record(directory, "process64_record"); + generate_process64ex_record(directory, "process64ex_record"); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4B8216AA56; Tue, 21 Nov 2006 16:16:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0C05516A90C for ; Tue, 21 Nov 2006 16:16:51 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 51B7543D8B for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGXfY045240 for ; Tue, 21 Nov 2006 16:16:33 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGWCu045237 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:32 GMT Message-Id: <200611211616.kALGGWCu045237@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=110213 Change 110213 by rwatson@rwatson_fledge on 2006/11/18 12:02:30 Add new reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_record#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_token#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv6#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D488316AB11; Tue, 21 Nov 2006 16:16:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B287F16A9FD for ; Tue, 21 Nov 2006 16:16:54 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3589643D62 for ; Tue, 21 Nov 2006 16:16:15 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGR8b045147 for ; Tue, 21 Nov 2006 16:16:27 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGR9m045144 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:27 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:16:27 GMT Message-Id: <200611211616.kALGGR9m045144@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=110198 Change 110198 by imp@imp_lighthouse on 2006/11/18 08:52:08 Space optimized divsi implementation. Now all I gotta do is find out where it really came from. This puts us below 8k for boot2! Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/divsi3.c#1 add Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 (text+ko) ==== @@ -8,7 +8,7 @@ putchar.c printf.c reset.c spi_flash.c xmodem.c \ sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \ memset.c memcmp.c -SRCS+=ashldi3.c divsi3.S +SRCS+=ashldi3.c divsi3.c NO_MAN= .if ${MK_TAG_LIST} != "no" From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5051616ABB9; Tue, 21 Nov 2006 16:16:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A919F16AB89 for ; Tue, 21 Nov 2006 16:16:55 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 500A743D68 for ; Tue, 21 Nov 2006 16:16:15 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGRgB045141 for ; Tue, 21 Nov 2006 16:16:27 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGRab045138 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:27 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:16:27 GMT Message-Id: <200611211616.kALGGRab045138@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110197 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=110197 Change 110197 by imp@imp_lighthouse on 2006/11/18 08:41:33 Move MAC Save 82 byes by eliminating the spinner. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 (text+ko) ==== @@ -82,8 +82,6 @@ RBX_VERBOSE }; -unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; - unsigned dsk_start; static char cmd[512]; static char kname[1024]; ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; static void MacFromEE() @@ -66,8 +66,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 (text+ko) ==== @@ -9,11 +9,10 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; #define KLUDGE_STRAP #define TSC_FPGA -#define XMODEM_DL #ifdef TSC_FPGA #include "at91rm9200.h" @@ -129,11 +128,8 @@ SPI_InitFlash(); fpga_load(); #endif - printf("EEinit\n"); EEInit(); - printf("mac\n"); MacFromEE(); - printf("EEEEEE\n"); EMAC_Init(); sdcard_init(); EMAC_SetMACAddress(mac); @@ -145,8 +141,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3FB416AC20; Tue, 21 Nov 2006 16:16:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BAE5716AB9A for ; Tue, 21 Nov 2006 16:16:55 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id F138743D90 for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGUJG045189 for ; Tue, 21 Nov 2006 16:16:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGUaX045186 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:30 GMT Message-Id: <200611211616.kALGGUaX045186@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110207 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=110207 Change 110207 by rwatson@rwatson_fledge on 2006/11/18 11:12:21 Remove now unnecessary __unused qualifiers on arguments to process token generation. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ */ #include @@ -687,9 +687,8 @@ } token_t * -au_to_process64(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { token_t *t; u_char *dptr = NULL; @@ -714,9 +713,8 @@ } token_t * -au_to_process(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { return (au_to_process32(auid, euid, egid, ruid, rgid, pid, sid, From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 135D616AC98; Tue, 21 Nov 2006 16:16:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E603416ABAC for ; Tue, 21 Nov 2006 16:16:55 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0345943D98 for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGYwr045258 for ; Tue, 21 Nov 2006 16:16:34 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGXgt045255 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:33 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 16:16:33 GMT Message-Id: <200611211616.kALGGXgt045255@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110216 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=110216 Change 110216 by rdivacky@rdivacky_witten on 2006/11/18 13:55:33 Redo the checking for 2.6 emulation. We now cache the value of use26 and replace calls to linux_get_osrelease() + parsing with a call to linux_use26(). Typical path is lockless now. This commit also lets linux_chroot compile. This is untested version commited to let IFC proceed. Pointed out by: kib Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 (text+ko) ==== @@ -52,6 +52,7 @@ char pr_osname[LINUX_MAX_UTSNAME]; char pr_osrelease[LINUX_MAX_UTSNAME]; int pr_oss_version; + int pr_use_linux26; /* flag to determine whether to use 2.6 emulation */ }; SYSCTL_NODE(_compat, OID_AUTO, linux, CTLFLAG_RW, 0, @@ -82,6 +83,7 @@ "Linux kernel OS name"); static char linux_osrelease[LINUX_MAX_UTSNAME] = "2.4.2"; +static int linux_use_linux26 = 0; static int linux_sysctl_osrelease(SYSCTL_HANDLER_ARGS) @@ -227,19 +229,45 @@ } int +linux_use26(struct thread *td) +{ + struct prison *pr; + struct linux_prison *lpr; + int use26 = 0; /* defaults to off */ + + pr = td->td_ucred->cr_prison; + if (pr != NULL) { + mtx_lock(&pr->pr_mtx); + if (pr->pr_linux != NULL) { + lpr = (struct linux_prison *)pr->pr_linux; + use26 = lpr->pr_use_linux26; + } + mtx_unlock(&pr->pr_mtx); + } else + use26 = linux_use_linux26; + + return (use26); +} + +int linux_set_osrelease(struct thread *td, char *osrelease) { struct prison *pr; struct linux_prison *lpr; + int use26; + use26 = (strlen(osrelease) >= 3 && osrelease[2] == '6'); + pr = linux_get_prison(td); if (pr != NULL) { lpr = (struct linux_prison *)pr->pr_linux; strcpy(lpr->pr_osrelease, osrelease); + lpr->pr_use_linux26 = use26; mtx_unlock(&pr->pr_mtx); } else { mtx_lock(&osname_lock); strcpy(linux_osrelease, osrelease); + linux_use_linux26 = use26; mtx_unlock(&osname_lock); } ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 (text+ko) ==== @@ -40,4 +40,6 @@ int linux_get_oss_version(struct thread *td); int linux_set_oss_version(struct thread *td, int oss_version); +int linux_use26(struct thread *td); + #endif /* _LINUX_MIB_H_ */ ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 (text+ko) ==== @@ -1407,15 +1407,13 @@ linux_getpid(struct thread *td, struct linux_getpid_args *args) { struct linux_emuldata *em; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getpid)) printf(ARGS(getpid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; @@ -1445,15 +1443,13 @@ { struct linux_emuldata *em; struct proc *p, *pp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getppid)) printf(ARGS(getppid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] != '6') { + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; PROC_UNLOCK(td->td_proc); @@ -1581,15 +1577,13 @@ { struct linux_emuldata *em, *td_em, *tmp_em; struct proc *sp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(exit_group)) printf(ARGS(exit_group, "%i"), args->error_code); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { td_em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(td_em != NULL, ("exit_group: emuldata not found.\n")); @@ -1676,5 +1670,5 @@ int linux_chroot(struct thread *td, struct linux_chroot_args *args) { - return (chroot(td, args)); + return (chroot(td, (struct chroot_args *) args)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 263EE16AD10; Tue, 21 Nov 2006 16:16:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 27F9516ABB3 for ; Tue, 21 Nov 2006 16:16:56 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id EFA1743D8D for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGVt4045195 for ; Tue, 21 Nov 2006 16:16:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGUpG045192 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:30 GMT Message-Id: <200611211616.kALGGUpG045192@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110208 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=110208 Change 110208 by rwatson@rwatson_fledge on 2006/11/18 11:17:09 When generating process*_ex() variants, make sure to write out addresses in the byte order they are presented to the function, as addresses will already be in network byte order. The u_int32_t encoding macros will convert from native to network byte order, which is not required if they are already in network byte order. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 $ */ #include @@ -765,11 +765,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); @@ -807,11 +807,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT64(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:16:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2DFDC16AD13; Tue, 21 Nov 2006 16:16:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4441016ABB7 for ; Tue, 21 Nov 2006 16:16:56 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D27643D92 for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGWLv045234 for ; Tue, 21 Nov 2006 16:16:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGW6e045231 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:32 GMT Message-Id: <200611211616.kALGGW6e045231@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110212 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:16:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=110212 Change 110212 by rwatson@rwatson_fledge on 2006/11/18 11:58:19 Remove pre-ipv4/ipv6 ex reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record#2 delete .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 01CBF16AE05; Tue, 21 Nov 2006 16:16:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8048316ABDC for ; Tue, 21 Nov 2006 16:16:56 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 00DA543D7B for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGWnp045228 for ; Tue, 21 Nov 2006 16:16:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGWf8045221 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:32 GMT Message-Id: <200611211616.kALGGWf8045221@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=110211 Change 110211 by rwatson@rwatson_fledge on 2006/11/18 11:52:56 When generating process*ex tokens and records, generate both sample IPv4 and IPv6 files, replicating logic from subject32ex code. Free buffers when done in subject32ex. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ */ /* @@ -335,6 +335,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_token(directory, buf, subject32ex_token); + free(buf); } static void @@ -361,6 +362,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_record(directory, record_filename, subject32ex_token, AUE_NULL); + free(buf); } static au_id_t process32_auid = 0x12345678; @@ -404,28 +406,49 @@ } static void -generate_process32ex_token(const char *directory, const char *token_filename) +generate_process32ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_token(directory, token_filename, process32ex_token); + write_token(directory, buf, process32ex_token); + free(buf); } static void -generate_process32ex_record(const char *directory, const char *record_filename) +generate_process32ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, @@ -433,6 +456,7 @@ if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); write_record(directory, record_filename, process32ex_token, AUE_NULL); + free(buf); } static au_id_t process64_auid = 0x12345678; @@ -476,12 +500,22 @@ } static void -generate_process64ex_token(const char *directory, const char *token_filename) +generate_process64ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -489,15 +523,26 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_token(directory, token_filename, process64ex_token); + free(buf); } static void -generate_process64ex_record(const char *directory, const char *record_filename) +generate_process64ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -505,6 +550,7 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_record(directory, record_filename, process64ex_token, AUE_NULL); + free(buf); } static char return32_status = 0xd7; @@ -883,12 +929,20 @@ generate_ipc_token(directory, "ipc_token"); generate_path_token(directory, "path_token"); generate_subject32_token(directory, "subject32_token"); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv4); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv4); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv6); generate_process32_token(directory, "process32_token"); - generate_process32ex_token(directory, "process32ex_token"); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv4); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv6); generate_process64_token(directory, "process64_token"); - generate_process64ex_token(directory, "process64ex_token"); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv4); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv6); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -914,9 +968,15 @@ generate_subject32ex_record(directory, "subject32ex_record", AU_IPv6); generate_process32_record(directory, "process32_record"); - generate_process32ex_record(directory, "process32ex_record"); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv4); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv6); generate_process64_record(directory, "process64_record"); - generate_process64ex_record(directory, "process64ex_record"); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv4); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv6); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C13C16AE92; Tue, 21 Nov 2006 16:16:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C84E416AB88 for ; Tue, 21 Nov 2006 16:16:56 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0DD9A43DA0 for ; Tue, 21 Nov 2006 16:16:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGZBS045279 for ; Tue, 21 Nov 2006 16:16:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGZP3045275 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 16:16:35 GMT Message-Id: <200611211616.kALGGZP3045275@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110219 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=110219 Change 110219 by rwatson@rwatson_fledge on 2006/11/18 16:48:14 When generating variants of the same token or record using IPv4 or IPv6 addresses, use the generated string with the address type for the target filename. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 $ */ /* @@ -455,7 +455,7 @@ process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_record(directory, record_filename, process32ex_token, AUE_NULL); + write_record(directory, buf, process32ex_token, AUE_NULL); free(buf); } @@ -522,7 +522,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_token(directory, token_filename, process64ex_token); + write_token(directory, buf, process64ex_token); free(buf); } @@ -549,7 +549,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_record(directory, record_filename, process64ex_token, AUE_NULL); + write_record(directory, buf, process64ex_token, AUE_NULL); free(buf); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D048B16AF27; Tue, 21 Nov 2006 16:17:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 16D7916AE77 for ; Tue, 21 Nov 2006 16:17:00 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D237943D4C for ; Tue, 21 Nov 2006 16:16:28 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGfQO045308 for ; Tue, 21 Nov 2006 16:16:41 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGajF045302 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:36 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 16:16:36 GMT Message-Id: <200611211616.kALGGajF045302@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=110223 Change 110223 by sam@sam_ebb on 2006/11/18 18:43:31 IFC @ 110222 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#12 integrate .. //depot/projects/arm/src/UPDATING#8 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_private.h#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 integrate .. //depot/projects/arm/src/release/Makefile#7 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 integrate .. //depot/projects/arm/src/release/scripts/package-split.py#4 integrate .. //depot/projects/arm/src/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/arm/src/sbin/mount/mount.c#4 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#4 integrate .. //depot/projects/arm/src/share/man/man4/uark.4#1 branch .. //depot/projects/arm/src/share/man/man4/ucom.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhid.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhidev.4#2 delete .. //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 integrate .. //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 integrate .. //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#17 integrate .. //depot/projects/arm/src/sys/amd64/include/reg.h#3 integrate .. //depot/projects/arm/src/sys/arm/arm/nexus.c#5 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#13 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0/Makefile#11 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/Makefile#10 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/main.c#15 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/Makefile#9 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#23 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#21 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#19 integrate .. //depot/projects/arm/src/sys/boot/i386/loader/main.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#19 integrate .. //depot/projects/arm/src/sys/conf/files.sun4v#4 integrate .. //depot/projects/arm/src/sys/ddb/db_watch.c#3 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.c#15 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bce.c#12 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp.c#14 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.c#8 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/arm/src/sys/dev/isp/ispmbox.h#8 integrate .. //depot/projects/arm/src/sys/dev/isp/ispvar.h#13 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi.c#11 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#27 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#18 integrate .. //depot/projects/arm/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/arm/src/sys/dev/pci/pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/syscons/syscons.c#12 integrate .. //depot/projects/arm/src/sys/fs/procfs/procfs_ioctl.c#5 integrate .. //depot/projects/arm/src/sys/i386/i386/db_trace.c#9 integrate .. //depot/projects/arm/src/sys/i386/i386/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/io_apic.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#21 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#24 integrate .. //depot/projects/arm/src/sys/i386/include/reg.h#4 integrate .. //depot/projects/arm/src/sys/kern/kern_condvar.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_synch.c#14 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#11 integrate .. //depot/projects/arm/src/sys/kern/sysv_msg.c#6 integrate .. //depot/projects/arm/src/sys/net/ethernet.h#3 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_node.c#8 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/autoconf.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/identcpu.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/mem.c#3 integrate .. //depot/projects/arm/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/arm/src/sys/sun4v/include/tte_hash.h#3 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/pmap.c#5 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tte_hash.c#3 integrate .. //depot/projects/arm/src/sys/sys/sleepqueue.h#3 integrate .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/arm/src/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/arm/src/tools/tools/nanobsd/FlashDevice.sub#3 integrate .. //depot/projects/arm/src/usr.sbin/Makefile#9 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.1#3 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.c#3 integrate .. //depot/projects/arm/src/usr.sbin/route6d/route6d.c#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/config.c#3 integrate .. //depot/projects/arm/src/usr.sbin/wpa/Makefile#2 integrate .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/arm/src/UPDATING#8 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/arm/src/lib/libarchive/archive.h.in#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/arm/src/lib/libarchive/archive_private.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/arm/src/release/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.988 2006/11/13 19:13:39 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1919,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/arm/src/release/scripts/package-split.py#4 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/arm/src/sbin/mount/mount.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/arm/src/share/man/man4/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/arm/src/share/man/man4/ucom.4#2 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/arm/src/share/man/man4/uhid.4#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.77 2006/11/15 19:53:47 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,7 +200,7 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, int access, struct dbreg *d); int amd64_clr_watch(int watchnum, struct dbreg *d); @@ -538,12 +538,11 @@ int access; struct dbreg *d; { - int i; - unsigned int mask; + int i, len; if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; @@ -563,25 +562,34 @@ } /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -596,7 +604,7 @@ if (watchnum < 0 || watchnum >= 4) return (-1); - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); DBREG_DRX(d, watchnum) = 0; return (0); @@ -615,25 +623,26 @@ avail = 0; for(i = 0; i < 4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - if (avail * 4 < size) + if (avail * 8 < size) return (-1); - for (i = 0; i < 4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } @@ -648,13 +657,13 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); for(i = 0; i < 4; i++) { - if (d.dr[7] & (3 << (i*2))) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); @@ -668,8 +677,7 @@ } -static -char * +static const char * watchtype_str(type) int type; { @@ -691,17 +699,21 @@ fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); for (i = 0; i < 4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } ==== //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC4F016A5FA; Tue, 21 Nov 2006 16:17:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4D68116A5A7 for ; Tue, 21 Nov 2006 16:17:18 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABC4143DA8 for ; Tue, 21 Nov 2006 16:16:42 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGxjh045522 for ; Tue, 21 Nov 2006 16:16:59 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGwKx045518 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:58 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 16:16:58 GMT Message-Id: <200611211616.kALGGwKx045518@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110252 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=110252 Change 110252 by marcel@marcel_nfs on 2006/11/19 20:25:24 IFC @110251 Affected files ... .. //depot/projects/ia64/share/man/man9/Makefile#64 integrate .. //depot/projects/ia64/share/man/man9/cr_cansee.9#1 branch .. //depot/projects/ia64/share/man/man9/p_candebug.9#4 integrate .. //depot/projects/ia64/share/man/man9/p_cansee.9#1 branch .. //depot/projects/ia64/share/mk/bsd.own.mk#17 integrate .. //depot/projects/ia64/share/mk/bsd.port.mk#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 integrate .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 integrate Differences ... ==== //depot/projects/ia64/share/man/man9/Makefile#64 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.284 2006/11/11 08:59:34 ru Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.285 2006/11/19 13:35:03 ceri Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -41,6 +41,7 @@ config_intrhook.9 \ contigmalloc.9 \ copy.9 \ + cr_cansee.9 \ critical_enter.9 \ cr_seeothergids.9 \ cr_seeotheruids.9 \ @@ -157,6 +158,7 @@ panic.9 \ pbuf.9 \ p_candebug.9 \ + p_cansee.9 \ pci.9 \ pfil.9 \ pfind.9 \ ==== //depot/projects/ia64/share/man/man9/p_candebug.9#4 (text+ko) ==== @@ -25,9 +25,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.5 2006/11/19 13:36:04 ceri Exp $ .\" -.Dd November 18, 2006 +.Dd November 19, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME @@ -129,10 +129,10 @@ The MAC subsystem denied debuggability. .El .Sh SEE ALSO -.Xr intro 2 , .Xr jail 2 , .Xr sysctl 8 , .Xr cr_seeothergids 9 , .Xr cr_seeotheruids 9 , .Xr mac 9 , +.Xr p_cansee 9 , .Xr prison_check 9 ==== //depot/projects/ia64/share/mk/bsd.own.mk#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # Binaries BINOWN?= root @@ -170,6 +172,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -448,5 +451,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/ia64/share/mk/bsd.port.mk#5 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.90 2006/10/19 19:46:49 rink Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.91 2006/11/18 22:43:20 rodrigc Exp $"); #include #include @@ -343,6 +343,7 @@ } signal(SIGHUP, huphandler); signal(SIGTERM, terminate); + signal(SIGPIPE, SIG_IGN); pidfile_write(pfh); ==== //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.107 2006/02/28 21:49:32 jhb Exp $ + * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.108 2006/11/19 08:12:54 kensmith Exp $ */ #include @@ -692,25 +692,6 @@ if (id->installed == 1) return DITEM_SUCCESS; - /* - * Prompt user if the package is not available on the current volume. - */ - - if(mediaDevice->type == DEVICE_TYPE_CDROM) { - while (id->volume != dev->volume) { - if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" - "Would you like to switch discs now?\n", dev->volume, - id->name, id->volume)) { - DEVICE_SHUTDOWN(mediaDevice); - msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", - dev->volume, id->volume); - DEVICE_INIT(mediaDevice); - } else { - return DITEM_FAILURE; - } - } - } - if (id && id->deps && strlen(id->deps)) { char t[2048 * 8], *cp, *cp2; @@ -742,6 +723,21 @@ } /* Done with the deps? Load the real m'coy */ if (DITEM_STATUS(status) == DITEM_SUCCESS) { + /* Prompt user if the package is not available on the current volume. */ + if(mediaDevice->type == DEVICE_TYPE_CDROM) { + while (id->volume != dev->volume) { + if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" + "Would you like to switch discs now?\n", dev->volume, + id->name, id->volume)) { + DEVICE_SHUTDOWN(mediaDevice); + msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", + dev->volume, id->volume); + DEVICE_INIT(mediaDevice); + } else { + return DITEM_FAILURE; + } + } + } status = package_extract(dev, who->name, depended); if (DITEM_STATUS(status) == DITEM_SUCCESS) id->installed = 1; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 178E616AE69; Tue, 21 Nov 2006 16:17:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E8ED916AB67 for ; Tue, 21 Nov 2006 16:17:18 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 738C943DA3 for ; Tue, 21 Nov 2006 16:16:40 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGvBR045483 for ; Tue, 21 Nov 2006 16:16:57 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGumi045479 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:56 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 16:16:56 GMT Message-Id: <200611211616.kALGGumi045479@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=110247 Change 110247 by rdivacky@rdivacky_witten on 2006/11/19 16:46:00 Attempt to fix the mismerge of p4 integrate. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 (text+ko) ==== @@ -1413,11 +1413,6 @@ printf(ARGS(getpid, "")); #endif -#ifdef DEBUG - if (ldebug(getpid)) - printf(ARGS(getpid, "")); -#endif - if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1454,11 +1449,6 @@ printf(ARGS(getppid, "")); #endif -#ifdef DEBUG - if (ldebug(getppid)) - printf(ARGS(getppid, "")); -#endif - if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1505,10 +1495,6 @@ int linux_getgid(struct thread *td, struct linux_getgid_args *args) { -#ifdef DEBUG - if (ldebug(getgid)) - printf(ARGS(getgid, "")); -#endif #ifdef DEBUG if (ldebug(getgid)) @@ -1522,10 +1508,6 @@ int linux_getuid(struct thread *td, struct linux_getuid_args *args) { -#ifdef DEBUG - if (ldebug(getuid)) - printf(ARGS(getuid, "")); -#endif #ifdef DEBUG if (ldebug(getuid)) From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E79D116A5C5; Tue, 21 Nov 2006 16:17:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0B3C416ADF0 for ; Tue, 21 Nov 2006 16:17:19 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5375543D64 for ; Tue, 21 Nov 2006 16:16:38 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGqhO045423 for ; Tue, 21 Nov 2006 16:16:52 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGqic045420 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:52 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:16:52 GMT Message-Id: <200611211616.kALGGqic045420@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110239 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=110239 Change 110239 by imp@imp_lighthouse on 2006/11/19 05:07:47 Compile fix Obtained from: sam Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91.c#23 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91.c#23 (text+ko) ==== @@ -69,7 +69,7 @@ } static void -at91_bs_unmap(void *t, bus_size_t size) +at91_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size) { vm_offset_t va, endva; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2697A16A5DD; Tue, 21 Nov 2006 16:17:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E03BF16A5A9 for ; Tue, 21 Nov 2006 16:17:19 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8135343D68 for ; Tue, 21 Nov 2006 16:16:37 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGpmK045404 for ; Tue, 21 Nov 2006 16:16:51 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGlCN045386 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:47 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 16:16:47 GMT Message-Id: <200611211616.kALGGlCN045386@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=110236 Change 110236 by marcel@marcel_cluster on 2006/11/19 00:33:02 IFC @110235 Affected files ... .. //depot/projects/ia64/ObsoleteFiles.inc#13 integrate .. //depot/projects/ia64/UPDATING#92 integrate .. //depot/projects/ia64/lib/libarchive/archive.h.in#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_private.h#11 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 integrate .. //depot/projects/ia64/lib/libarchive/archive_write.c#12 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 integrate .. //depot/projects/ia64/release/Makefile#101 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 integrate .. //depot/projects/ia64/release/scripts/package-split.py#9 integrate .. //depot/projects/ia64/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/ia64/sbin/mount/mount.c#30 integrate .. //depot/projects/ia64/share/man/man4/Makefile#98 integrate .. //depot/projects/ia64/share/man/man4/uark.4#1 branch .. //depot/projects/ia64/share/man/man4/ucom.4#7 integrate .. //depot/projects/ia64/share/man/man4/uhid.4#6 integrate .. //depot/projects/ia64/share/man/man4/uhidev.4#4 delete .. //depot/projects/ia64/share/man/man9/p_candebug.9#3 integrate .. //depot/projects/ia64/share/man/man9/sleepqueue.9#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_trace.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/intr_machdep.c#15 integrate .. //depot/projects/ia64/sys/amd64/amd64/io_apic.c#12 integrate .. //depot/projects/ia64/sys/amd64/amd64/local_apic.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#43 integrate .. //depot/projects/ia64/sys/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/ia64/sys/amd64/amd64/nexus.c#18 integrate .. //depot/projects/ia64/sys/amd64/include/apicvar.h#13 integrate .. //depot/projects/ia64/sys/amd64/include/intr_machdep.h#9 integrate .. //depot/projects/ia64/sys/amd64/include/pmap.h#23 integrate .. //depot/projects/ia64/sys/amd64/include/reg.h#6 integrate .. //depot/projects/ia64/sys/amd64/pci/pci_bus.c#16 integrate .. //depot/projects/ia64/sys/arm/arm/nexus.c#8 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/iq31244_machdep.c#15 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/boot2.c#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/Makefile#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/Makefile#5 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/ia64/sys/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/ia64/sys/boot/i386/loader/main.c#15 integrate .. //depot/projects/ia64/sys/compat/linux/linux_emul.c#4 integrate .. //depot/projects/ia64/sys/compat/linux/linux_getcwd.c#20 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.c#50 integrate .. //depot/projects/ia64/sys/conf/NOTES#112 integrate .. //depot/projects/ia64/sys/conf/files#151 integrate .. //depot/projects/ia64/sys/conf/files.amd64#42 integrate .. //depot/projects/ia64/sys/conf/files.i386#81 integrate .. //depot/projects/ia64/sys/conf/files.pc98#68 integrate .. //depot/projects/ia64/sys/conf/files.sun4v#5 integrate .. //depot/projects/ia64/sys/ddb/db_watch.c#9 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_acpi.c#19 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_pci.c#12 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.c#71 integrate .. //depot/projects/ia64/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/ia64/sys/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#57 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#37 integrate .. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#69 integrate .. //depot/projects/ia64/sys/dev/isp/isp.c#32 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#35 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.h#28 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.h#3 integrate .. //depot/projects/ia64/sys/dev/isp/isp_pci.c#34 integrate .. //depot/projects/ia64/sys/dev/isp/isp_stds.h#2 integrate .. //depot/projects/ia64/sys/dev/isp/ispmbox.h#18 integrate .. //depot/projects/ia64/sys/dev/isp/ispvar.h#26 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_ioctl.h#3 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_linux.c#2 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.c#16 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.h#15 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#12 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_pci.c#25 integrate .. //depot/projects/ia64/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#62 integrate .. //depot/projects/ia64/sys/dev/pci/pci_if.m#7 integrate .. //depot/projects/ia64/sys/dev/pci/pci_pci.c#33 integrate .. //depot/projects/ia64/sys/dev/pci/pci_private.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_if.m#5 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_private.h#8 integrate .. //depot/projects/ia64/sys/dev/pci/pcireg.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcivar.h#18 integrate .. //depot/projects/ia64/sys/dev/syscons/syscons.c#44 integrate .. //depot/projects/ia64/sys/dev/usb/uark.c#1 branch .. //depot/projects/ia64/sys/dev/usb/usbdevs#79 integrate .. //depot/projects/ia64/sys/fs/procfs/procfs_ioctl.c#13 integrate .. //depot/projects/ia64/sys/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/ia64/sys/i386/i386/db_trace.c#25 integrate .. //depot/projects/ia64/sys/i386/i386/intr_machdep.c#14 integrate .. //depot/projects/ia64/sys/i386/i386/io_apic.c#13 integrate .. //depot/projects/ia64/sys/i386/i386/local_apic.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#75 integrate .. //depot/projects/ia64/sys/i386/i386/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/i386/i386/msi.c#1 branch .. //depot/projects/ia64/sys/i386/i386/nexus.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/pmap.c#98 integrate .. //depot/projects/ia64/sys/i386/include/apicvar.h#14 integrate .. //depot/projects/ia64/sys/i386/include/intr_machdep.h#10 integrate .. //depot/projects/ia64/sys/i386/include/pmap.h#31 integrate .. //depot/projects/ia64/sys/i386/include/reg.h#8 integrate .. //depot/projects/ia64/sys/i386/pci/pci_bus.c#29 integrate .. //depot/projects/ia64/sys/ia64/ia64/genassym.c#22 integrate .. //depot/projects/ia64/sys/ia64/ia64/interrupt.c#44 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#123 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#44 integrate .. //depot/projects/ia64/sys/ia64/include/kdb.h#4 integrate .. //depot/projects/ia64/sys/ia64/include/pcpu.h#6 integrate .. //depot/projects/ia64/sys/kern/kern_condvar.c#34 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#67 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#38 integrate .. //depot/projects/ia64/sys/kern/subr_sleepqueue.c#16 integrate .. //depot/projects/ia64/sys/kern/sysv_msg.c#24 integrate .. //depot/projects/ia64/sys/modules/Makefile#100 integrate .. //depot/projects/ia64/sys/modules/uark/Makefile#1 branch .. //depot/projects/ia64/sys/net/ethernet.h#9 integrate .. //depot/projects/ia64/sys/net/if_ethersubr.c#53 integrate .. //depot/projects/ia64/sys/netinet/ip_fw2.c#62 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_node.c#24 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#53 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/autoconf.c#9 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/identcpu.c#13 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/mem.c#14 integrate .. //depot/projects/ia64/sys/sun4v/conf/NOTES#4 integrate .. //depot/projects/ia64/sys/sun4v/include/asmacros.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/exception.S#4 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/pmap.c#6 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/ia64/sys/sys/elf_common.h#8 integrate .. //depot/projects/ia64/sys/sys/lock_profile.h#4 integrate .. //depot/projects/ia64/sys/sys/mbuf.h#46 integrate .. //depot/projects/ia64/sys/sys/sleepqueue.h#7 integrate .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/ia64/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/ia64/tools/tools/nanobsd/FlashDevice.sub#7 integrate .. //depot/projects/ia64/usr.sbin/Makefile#81 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.1#8 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.c#9 integrate .. //depot/projects/ia64/usr.sbin/route6d/route6d.c#7 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/config.c#30 integrate .. //depot/projects/ia64/usr.sbin/wpa/Makefile#3 integrate .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#5 integrate Differences ... ==== //depot/projects/ia64/ObsoleteFiles.inc#13 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/ia64/UPDATING#92 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/ia64/lib/libarchive/archive.h.in#10 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/ia64/lib/libarchive/archive_private.h#11 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.44 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.45 2006/11/13 16:50:18 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -497,7 +497,12 @@ if (tar->entry_bytes_remaining > 0) { bytes_read = (a->compression_read_ahead)(a, buff, 1); - if (bytes_read <= 0) + if (bytes_read == 0) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Truncated tar archive"); + return (ARCHIVE_FATAL); + } + if (bytes_read < 0) return (ARCHIVE_FATAL); if (bytes_read > tar->entry_bytes_remaining) bytes_read = tar->entry_bytes_remaining; ==== //depot/projects/ia64/lib/libarchive/archive_write.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/ia64/release/Makefile#101 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.987 2006/11/13 01:44:20 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1538,6 +1543,11 @@ The &man.time.1; utility now prints the time that a given command has been running if sent a SIGINFO signal. + The &man.traceroute.8; program now supports + a flag, which causes it to display the + differences between the sent and received + packets. &merged; + The &man.traceroute.8; utility now supports a option, which sets a fixed destination port for probe packets. This can be useful for tracing behind @@ -1914,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/ia64/release/scripts/package-split.py#9 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/ia64/sbin/mount/mount.c#30 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/ia64/share/man/man4/Makefile#98 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/ia64/share/man/man4/ucom.4#7 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/ia64/share/man/man4/uhid.4#6 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/ia64/share/man/man9/p_candebug.9#3 (text+ko) ==== @@ -25,15 +25,16 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.3 2004/07/06 07:26:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ .\" -.Dd November 11, 2003 +.Dd November 18, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME .Nm p_candebug .Nd determine debuggability of a process .Sh SYNOPSIS +.In sys/param.h .In sys/proc.h .Ft int .Fn p_candebug "struct thread *td" "struct proc *p" ==== //depot/projects/ia64/share/man/man9/sleepqueue.9#7 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.30 2005/03/30 22:57:41 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.31 2006/11/13 21:14:54 jhb Exp $"); /* * Instruction disassembler. @@ -84,6 +84,7 @@ #define Ib 21 /* byte immediate, unsigned */ #define Ibs 22 /* byte immediate, signed */ #define Iw 23 /* word immediate, unsigned */ +#define Ilq 24 /* long/quad immediate, unsigned */ #define O 25 /* direct address */ #define Db 26 /* byte displacement from EIP */ #define Dl 27 /* long displacement from EIP */ @@ -351,7 +352,6 @@ 0, 0, 0, - 0, db_inst_0f8x, db_inst_0f9x, db_inst_0fax, @@ -752,14 +752,14 @@ /*b6*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, /*b7*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, -/*b8*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*b9*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*ba*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bb*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bc*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bd*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*be*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bf*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, +/*b8*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*b9*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*ba*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bb*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bc*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bd*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*be*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bf*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, /*c0*/ { "", TRUE, BYTE, op2(Ib, E), db_Grp2 }, /*c1*/ { "", TRUE, LONG, op2(Ib, E), db_Grp2 }, @@ -854,17 +854,6 @@ int ss; }; -static const char * const db_index_reg_16[8] = { - "%bx,%si", - "%bx,%di", - "%bp,%si", - "%bp,%di", - "%si", - "%di", - "%bp", - "%bx" -}; - static const char * const db_reg[2][4][16] = { {{"%al", "%cl", "%dl", "%bl", "%ah", "%ch", "%dh", "%bh", @@ -927,7 +916,7 @@ int regmodrm; struct i_addr * addrp; /* out */ { - int mod, rm, sib, index, disp; + int mod, rm, sib, index, disp, size, have_sib; mod = f_mod(rex, regmodrm); rm = f_rm(rex, regmodrm); @@ -940,68 +929,49 @@ addrp->is_reg = FALSE; addrp->index = 0; - if (short_addr) { - addrp->index = 0; - addrp->ss = 0; - switch (mod) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:17:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69D3116A62D; Tue, 21 Nov 2006 16:17:20 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 19CDE16A6BD for ; Tue, 21 Nov 2006 16:17:19 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8216C43D8C for ; Tue, 21 Nov 2006 16:16:39 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGGsJ7045444 for ; Tue, 21 Nov 2006 16:16:54 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGrVd045441 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:53 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 16:16:53 GMT Message-Id: <200611211616.kALGGrVd045441@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110242 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:17:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=110242 Change 110242 by rdivacky@rdivacky_witten on 2006/11/19 09:59:09 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 integrate .. //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/genassym.c#3 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/kdb.h#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/ethernet.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/autoconf.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/identcpu.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/mem.c#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/conf/NOTES#6 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/tlb.c#2 delete Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.25 2006/10/22 11:52:11 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.27 2006/11/18 17:27:39 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -426,7 +426,7 @@ #ifdef DEBUG if (ldebug(getcwd)) - printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); + printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); #endif len = args->bufsize; ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.194 2006/11/15 10:01:06 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.197 2006/11/18 14:37:54 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -118,7 +118,7 @@ l_ulong totalbig; l_ulong freebig; l_uint mem_unit; - char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* Pads structure */ + char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* padding */ }; int linux_sysinfo(struct thread *td, struct linux_sysinfo_args *args) @@ -1413,6 +1413,11 @@ printf(ARGS(getpid, "")); #endif +#ifdef DEBUG + if (ldebug(getpid)) + printf(ARGS(getpid, "")); +#endif + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1449,6 +1454,11 @@ printf(ARGS(getppid, "")); #endif +#ifdef DEBUG + if (ldebug(getppid)) + printf(ARGS(getppid, "")); +#endif + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1500,6 +1510,11 @@ printf(ARGS(getgid, "")); #endif +#ifdef DEBUG + if (ldebug(getgid)) + printf(ARGS(getgid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_rgid; return (0); } @@ -1512,6 +1527,11 @@ printf(ARGS(getuid, "")); #endif +#ifdef DEBUG + if (ldebug(getuid)) + printf(ARGS(getuid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_ruid; return (0); } ==== //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.4 2006/11/13 01:02:18 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.6 2006/11/18 07:24:56 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -37,20 +37,18 @@ libkern/ffsl.c standard libkern/fls.c standard libkern/flsl.c standard -sun4v/sun4v/autoconf.c standard +sparc64/sparc64/autoconf.c standard sun4v/sun4v/bus_machdep.c standard -sun4v/sun4v/clock.c standard -sun4v/sun4v/counter.c standard -sun4v/sun4v/db_disasm.c optional ddb +sparc64/sparc64/clock.c standard +sparc64/sparc64/counter.c standard +sparc64/sparc64/db_disasm.c optional ddb sun4v/sun4v/db_interface.c optional ddb sun4v/sun4v/db_trace.c optional ddb sun4v/sun4v/db_hwwatch.c optional ddb sun4v/sun4v/dump_machdep.c standard -sun4v/sun4v/elf_machdep.c standard +sparc64/sparc64/elf_machdep.c standard sun4v/sun4v/exception.S standard no-obj -sun4v/sun4v/eeprom.c optional eeprom ebus | eeprom fhc | \ - eeprom sbus -sun4v/sun4v/gdb_machdep.c optional gdb +sparc64/sparc64/gdb_machdep.c optional gdb sun4v/sun4v/hv_pci.c optional pci sun4v/sun4v/trap_trace.S optional trap_tracing sparc64/pci/ofw_pci.c optional pci @@ -63,27 +61,27 @@ sun4v/sun4v/hvcons.c standard sun4v/sun4v/hcall.S standard sun4v/sun4v/hviommu.c standard -sun4v/sun4v/identcpu.c standard -sun4v/sun4v/in_cksum.c optional inet +sparc64/sparc64/identcpu.c standard +sparc64/sparc64/in_cksum.c optional inet sun4v/sun4v/interrupt.S standard no-obj sun4v/sun4v/intr_machdep.c standard sun4v/sun4v/locore.S standard no-obj sun4v/sun4v/machdep.c standard -sun4v/sun4v/mem.c optional mem +sparc64/sparc64/mem.c optional mem sun4v/sun4v/mp_exception.S optional smp sun4v/sun4v/mp_locore.S optional smp sun4v/sun4v/mp_machdep.c optional smp sun4v/sun4v/nexus.c standard sun4v/sun4v/t1_copy.S standard -sun4v/sun4v/ofw_bus.c standard -sun4v/sun4v/ofw_machdep.c standard +sparc64/sparc64/ofw_bus.c standard +sparc64/sparc64/ofw_machdep.c standard sun4v/sun4v/pmap.c standard -sun4v/sun4v/prof_machdep.c optional profiling-routine -sun4v/sun4v/rwindow.c standard +sparc64/sparc64/prof_machdep.c optional profiling-routine +sparc64/sparc64/rwindow.c standard sun4v/sun4v/rtc.c standard sun4v/sun4v/simdisk.c optional simulator sun4v/sun4v/support.S standard -sun4v/sun4v/sys_machdep.c standard +sparc64/sparc64/sys_machdep.c standard sun4v/sun4v/swtch.S standard sun4v/sun4v/tsb.c standard sun4v/sun4v/tte.c standard ==== //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.164 2006/11/15 20:04:56 jhb Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.165 2006/11/18 23:18:43 csjp Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -248,7 +248,6 @@ static void em_update_link_status(struct adapter *); static int em_get_buf(struct adapter *, int); static void em_enable_vlans(struct adapter *); -static void em_disable_vlans(struct adapter *); static int em_encap(struct adapter *, struct mbuf **); static void em_smartspeed(struct adapter *); static int em_82547_fifo_workaround(struct adapter *, int); @@ -761,7 +760,7 @@ } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting. */ adapter->watchdog_timer = EM_TX_TIMEOUT; @@ -1507,45 +1506,6 @@ } /* - * When operating in promiscuous mode, hardware stripping of the - * VLAN tag on receive is disabled. This should not prevent us - * from doing hardware insertion of the VLAN tag here as that - * is controlled by the dma descriptor flags and not the receive - * tag strip setting. Unfortunatly this hardware switches the - * VLAN encapsulation type from 802.1q to ISL when stripping om - * receive is disabled. This means we have to add the vlan - * encapsulation here in the driver, since it will have come down - * from the VLAN layer with a tag instead of a VLAN header. - */ - if ((m_head->m_flags & M_VLANTAG) && adapter->em_insert_vlan_header) { - struct ether_vlan_header *evl; - struct ether_header eh; - - m_head = m_pullup(m_head, sizeof(eh)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - eh = *mtod(m_head, struct ether_header *); - M_PREPEND(m_head, sizeof(*evl), M_DONTWAIT); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - m_head = m_pullup(m_head, sizeof(*evl)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - evl = mtod(m_head, struct ether_vlan_header *); - bcopy(&eh, evl, sizeof(*evl)); - evl->evl_proto = evl->evl_encap_proto; - evl->evl_encap_proto = htons(ETHERTYPE_VLAN); - evl->evl_tag = htons(m_head->m_pkthdr.ether_vtag); - *m_headp = m_head; - } - - /* * TSO workaround: * If an mbuf contains only the IP and TCP header we have * to pull 4 bytes of data into it. @@ -1915,29 +1875,16 @@ if (ifp->if_flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - /* - * Disable VLAN stripping in promiscous mode. - * This enables bridging of vlan tagged frames to occur - * and also allows vlan tags to be seen in tcpdump. - * XXX: This is a bit bogus as tcpdump may be used - * w/o promisc mode as well. - */ - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_disable_vlans(adapter); - adapter->em_insert_vlan_header = 1; } else if (ifp->if_flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; reg_rctl &= ~E1000_RCTL_UPE; E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - adapter->em_insert_vlan_header = 0; - } else - adapter->em_insert_vlan_header = 0; + } } static void em_disable_promisc(struct adapter *adapter) { - struct ifnet *ifp = adapter->ifp; uint32_t reg_rctl; reg_rctl = E1000_READ_REG(&adapter->hw, RCTL); @@ -1945,10 +1892,6 @@ reg_rctl &= (~E1000_RCTL_UPE); reg_rctl &= (~E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_enable_vlans(adapter); - adapter->em_insert_vlan_header = 0; } @@ -2429,7 +2372,7 @@ */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -3816,16 +3759,6 @@ } static void -em_disable_vlans(struct adapter *adapter) -{ - uint32_t ctrl; - - ctrl = E1000_READ_REG(&adapter->hw, CTRL); - ctrl &= ~E1000_CTRL_VME; - E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); -} - -static void em_enable_intr(struct adapter *adapter) { E1000_WRITE_REG(&adapter->hw, IMS, (IMS_ENABLE_MASK)); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.131 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.132 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 (text) ==== @@ -32,7 +32,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.9 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.10 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.4 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.5 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Qlogic Host Adapter Library Functions * @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * FreeBSD Version. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.126 2006/11/17 17:32:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.127 2006/11/18 03:53:16 mjacob Exp $"); #include #include @@ -1057,7 +1057,6 @@ cmd &= ~PCIM_CMD_INTX_DISABLE; } -#ifdef WE_KNEW_WHAT_WE_WERE_DOING if (IS_24XX(isp)) { int reg; @@ -1089,11 +1088,6 @@ pci_write_config(dev, reg, 2, pectl); } } -#else - if (IS_24XX(isp)) { - cmd &= ~PCIM_CMD_INTX_DISABLE; - } -#endif pci_write_config(dev, PCIR_COMMAND, cmd, 2); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.2 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.3 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * ==== //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.54 2006/11/16 00:39:56 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.55 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.79 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.80 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Soft Definitions for for Qlogic ISP SCSI adapters. * @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); ==== //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.22 2006/11/14 16:48:00 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.23 2006/11/18 07:33:53 scottl Exp $"); #include "opt_mfi.h" @@ -57,7 +57,6 @@ static int mfi_alloc_commands(struct mfi_softc *); static void mfi_release_command(struct mfi_command *cm); static int mfi_comms_init(struct mfi_softc *); -static int mfi_polled_command(struct mfi_softc *, struct mfi_command *); static int mfi_wait_command(struct mfi_softc *, struct mfi_command *); static int mfi_get_controller_info(struct mfi_softc *); static int mfi_get_log_state(struct mfi_softc *, @@ -91,7 +90,7 @@ SYSCTL_INT(_hw_mfi, OID_AUTO, event_locale, CTLFLAG_RW, &mfi_event_locale, 0, "event message locale"); -static int mfi_event_class = MFI_EVT_CLASS_DEBUG; +static int mfi_event_class = 10; TUNABLE_INT("hw.mfi.event_class", &mfi_event_class); SYSCTL_INT(_hw_mfi, OID_AUTO, event_class, CTLFLAG_RW, &mfi_event_class, 0, "event message class"); @@ -546,8 +545,10 @@ init->header.cmd = MFI_CMD_INIT; init->header.data_len = sizeof(struct mfi_init_qinfo); init->qinfo_new_addr_lo = cm->cm_frame_busaddr + MFI_FRAME_SIZE; + cm->cm_data = NULL; + cm->cm_flags = MFI_CMD_POLLED; - if ((error = mfi_polled_command(sc, cm)) != 0) { + if ((error = mfi_mapcmd(sc, cm)) != 0) { device_printf(sc->mfi_dev, "failed to send init command\n"); mtx_unlock(&sc->mfi_io_lock); return (error); @@ -574,15 +575,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Controller info buffer map failed\n"); - free(ci, M_MFIBUF); - mfi_release_command(cm); - mtx_unlock(&sc->mfi_io_lock); - return (error); - } - - /* It's ok if this fails, just use default info instead */ - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get controller info\n"); sc->mfi_max_io = (sc->mfi_max_sge - 1) * PAGE_SIZE / MFI_SECTOR_LEN; @@ -620,11 +612,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Log state buffer map failed\n"); - goto out; - } - - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get log state\n"); goto out; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:18:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC85816A724; Tue, 21 Nov 2006 16:18:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB14C16A701 for ; Tue, 21 Nov 2006 16:18:15 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E01243DC2 for ; Tue, 21 Nov 2006 16:16:53 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGH16m045548 for ; Tue, 21 Nov 2006 16:17:01 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGH1Si045545 for perforce@freebsd.org; Tue, 21 Nov 2006 16:17:01 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 16:17:01 GMT Message-Id: <200611211617.kALGH1Si045545@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110255 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:18:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=110255 Change 110255 by marcel@marcel_cluster on 2006/11/19 20:34:38 keep an accurate version history. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/version#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/efi/version#2 (text+ko) ==== @@ -1,14 +1,6 @@ -$FreeBSD: src/sys/boot/i386/loader/version,v 1.8 2001/12/11 00:49:33 jhb Exp $ +$FreeBSD$ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. -1.1: New calling conventions for fopen. -1.0: New semantics for finding the kernel, new boot. -0.8: Set/getenv & cia, copyin/out. -0.7: Supports large KVM -0.6: Increased dictionary size -- supports loader.4th -0.5: First release version -0.2: Initial integration with BTX -0.1: Initial i386 version, inspiration and some structure from the - NetBSD version. +0.1: Initial i386 version. Derived from ia64. From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:18:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C18B16A7B3; Tue, 21 Nov 2006 16:18:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0C88916A752 for ; Tue, 21 Nov 2006 16:18:16 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5003743DB3 for ; Tue, 21 Nov 2006 16:16:53 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGH1gn045542 for ; Tue, 21 Nov 2006 16:17:01 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGH1mn045538 for perforce@freebsd.org; Tue, 21 Nov 2006 16:17:01 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 16:17:01 GMT Message-Id: <200611211617.kALGH1mn045538@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110254 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:18:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=110254 Change 110254 by marcel@marcel_cluster on 2006/11/19 20:31:11 Remove loader.rc and help.i386.They will be made and installed as part of the standard loader. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/help.i386#2 delete .. //depot/projects/ia64/sys/boot/i386/efi/loader.rc#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:18:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F1E9C16A826; Tue, 21 Nov 2006 16:18:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 15EAB16A765 for ; Tue, 21 Nov 2006 16:18:16 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50CA343D5A for ; Tue, 21 Nov 2006 16:16:55 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGH6kE045629 for ; Tue, 21 Nov 2006 16:17:06 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGH60r045626 for perforce@freebsd.org; Tue, 21 Nov 2006 16:17:06 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 16:17:06 GMT Message-Id: <200611211617.kALGH60r045626@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:18:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=110267 Change 110267 by marcel@marcel_nfs on 2006/11/20 00:07:25 Recurse into the efi directory. Affected files ... .. //depot/projects/ia64/sys/boot/i386/Makefile#8 edit .. //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/Makefile#8 (text+ko) ==== @@ -1,6 +1,6 @@ # $FreeBSD: src/sys/boot/i386/Makefile,v 1.20 2003/12/08 19:02:06 obrien Exp $ -SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader +SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader efi # special boot programs, 'self-extracting boot2+loader' SUBDIR+= pxeldr ==== //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 (text+ko) ==== @@ -1,5 +1,7 @@ # $FreeBSD$ +NO_MAN= + .include PROG= loader.sym @@ -27,21 +29,15 @@ .include "${.CURDIR}/../../common/Makefile.inc" CFLAGS+= -I${.CURDIR}/../../common -.PATH: ${.CURDIR}/../../forth -FILES= loader.efi loader.help loader.4th support.4th loader.conf +FILES= loader.efi FILESMODE_loader.efi= ${BINMODE} -FILESDIR_loader.conf= /boot/defaults - -.if !exists(${DESTDIR}/boot/loader.rc) -FILES+= loader.rc -.endif LDSCRIPT= ${.CURDIR}/ldscript.ia32 LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic ${PROG}: ${LDSCRIPT} -CLEANFILES= vers.c loader.efi loader.help +CLEANFILES= vers.c loader.efi NEWVERSWHAT= "EFI loader" ia32 @@ -60,10 +56,6 @@ -j .rela.dyn -j .reloc -j .sdata -j .text \ --target=efi-app-ia32 ${.ALLSRC} ${.TARGET} -loader.help: help.common help.i386 - cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \ - > ${.TARGET} - LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a LIBI386= ${.OBJDIR}/../libi386/libi386.a From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:18:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D742016A721; Tue, 21 Nov 2006 16:18:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8494416A7AE for ; Tue, 21 Nov 2006 16:18:16 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4FFE343DB1 for ; Tue, 21 Nov 2006 16:16:53 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGH1tw045532 for ; Tue, 21 Nov 2006 16:17:01 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGGxpI045525 for perforce@freebsd.org; Tue, 21 Nov 2006 16:16:59 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 16:16:59 GMT Message-Id: <200611211616.kALGGxpI045525@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:18:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=110253 Change 110253 by marcel@marcel_nfs on 2006/11/19 20:28:04 IFC @110251 Affected files ... .. //depot/projects/uart/amd64/amd64/db_trace.c#13 integrate .. //depot/projects/uart/amd64/amd64/intr_machdep.c#11 integrate .. //depot/projects/uart/amd64/amd64/io_apic.c#10 integrate .. //depot/projects/uart/amd64/amd64/machdep.c#24 integrate .. //depot/projects/uart/amd64/amd64/msi.c#2 integrate .. //depot/projects/uart/amd64/include/reg.h#3 integrate .. //depot/projects/uart/arm/arm/nexus.c#7 integrate .. //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 integrate .. //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 integrate .. //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/uart/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/uart/boot/i386/loader/main.c#10 integrate .. //depot/projects/uart/boot/ia64/common/copy.c#2 integrate .. //depot/projects/uart/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/uart/compat/linux/linux_emul.c#3 integrate .. //depot/projects/uart/compat/linux/linux_getcwd.c#10 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#20 integrate .. //depot/projects/uart/conf/NOTES#45 integrate .. //depot/projects/uart/conf/files#77 integrate .. //depot/projects/uart/conf/files.sun4v#3 integrate .. //depot/projects/uart/ddb/db_watch.c#4 integrate .. //depot/projects/uart/dev/ata/ata-all.c#24 integrate .. //depot/projects/uart/dev/bce/if_bce.c#6 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/uart/dev/em/if_em.c#26 integrate .. //depot/projects/uart/dev/em/if_em.h#22 integrate .. //depot/projects/uart/dev/isp/isp.c#17 integrate .. //depot/projects/uart/dev/isp/isp_library.c#7 integrate .. //depot/projects/uart/dev/isp/isp_library.h#4 integrate .. //depot/projects/uart/dev/isp/isp_pci.c#18 integrate .. //depot/projects/uart/dev/isp/isp_stds.h#2 integrate .. //depot/projects/uart/dev/isp/ispmbox.h#10 integrate .. //depot/projects/uart/dev/isp/ispvar.h#15 integrate .. //depot/projects/uart/dev/mfi/mfi.c#9 integrate .. //depot/projects/uart/dev/mpt/mpt.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt.h#19 integrate .. //depot/projects/uart/dev/mpt/mpt_cam.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt_pci.c#24 integrate .. //depot/projects/uart/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/uart/dev/pci/pci.c#27 integrate .. //depot/projects/uart/dev/syscons/syscons.c#18 integrate .. //depot/projects/uart/dev/usb/uark.c#1 branch .. //depot/projects/uart/dev/usb/usbdevs#28 integrate .. //depot/projects/uart/fs/procfs/procfs_ioctl.c#6 integrate .. //depot/projects/uart/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/uart/i386/i386/db_trace.c#13 integrate .. //depot/projects/uart/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/uart/i386/i386/io_apic.c#11 integrate .. //depot/projects/uart/i386/i386/machdep.c#27 integrate .. //depot/projects/uart/i386/i386/msi.c#2 integrate .. //depot/projects/uart/i386/i386/pmap.c#45 integrate .. //depot/projects/uart/i386/include/reg.h#4 integrate .. //depot/projects/uart/ia64/ia64/genassym.c#10 integrate .. //depot/projects/uart/ia64/ia64/interrupt.c#14 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#28 integrate .. //depot/projects/uart/ia64/ia64/mp_machdep.c#12 integrate .. //depot/projects/uart/ia64/include/kdb.h#4 integrate .. //depot/projects/uart/ia64/include/pcpu.h#4 integrate .. //depot/projects/uart/kern/kern_condvar.c#7 integrate .. //depot/projects/uart/kern/kern_synch.c#19 integrate .. //depot/projects/uart/kern/subr_sleepqueue.c#12 integrate .. //depot/projects/uart/kern/sysv_msg.c#11 integrate .. //depot/projects/uart/modules/Makefile#43 integrate .. //depot/projects/uart/modules/uark/Makefile#1 branch .. //depot/projects/uart/net/ethernet.h#3 integrate .. //depot/projects/uart/net/if_ethersubr.c#19 integrate .. //depot/projects/uart/nfsclient/nfs_node.c#14 integrate .. //depot/projects/uart/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/uart/sparc64/sparc64/autoconf.c#4 integrate .. //depot/projects/uart/sparc64/sparc64/identcpu.c#6 integrate .. //depot/projects/uart/sparc64/sparc64/mem.c#5 integrate .. //depot/projects/uart/sun4v/conf/NOTES#3 integrate .. //depot/projects/uart/sun4v/include/asmacros.h#2 integrate .. //depot/projects/uart/sun4v/include/cache.h#2 integrate .. //depot/projects/uart/sun4v/include/pcpu.h#2 integrate .. //depot/projects/uart/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/uart/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/uart/sun4v/sun4v/clock.c#2 delete .. //depot/projects/uart/sun4v/sun4v/counter.c#2 delete .. //depot/projects/uart/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/uart/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/uart/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/exception.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/uart/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/mem.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/uart/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/uart/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/uart/sys/sleepqueue.h#4 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/db_trace.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,10 +200,10 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, - int access, struct dbreg * d); -int amd64_clr_watch(int watchnum, struct dbreg * d); + int access, struct dbreg *d); +int amd64_clr_watch(int watchnum, struct dbreg *d); /* * Figure out how many arguments were passed into the frame at "fp". @@ -536,21 +536,20 @@ unsigned long watchaddr; int size; int access; - struct dbreg * d; + struct dbreg *d; { - int i; - unsigned int mask; - + int i, len; + if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; else return (-1); } - + switch (access) { case DBREG_DR7_EXEC: size = 1; /* size must be 1 for an execution breakpoint */ @@ -558,29 +557,39 @@ case DBREG_DR7_WRONLY: case DBREG_DR7_RDWR: break; - default : return (-1); + default: + return (-1); } - + /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ - DBREG_DRX(d,watchnum) = watchaddr; + DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -589,15 +598,15 @@ int amd64_clr_watch(watchnum, d) int watchnum; - struct dbreg * d; + struct dbreg *d; { if (watchnum < 0 || watchnum >= 4) return (-1); - - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); - DBREG_DRX(d,watchnum) = 0; - + + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); + DBREG_DRX(d, watchnum) = 0; + return (0); } @@ -607,38 +616,38 @@ db_expr_t addr; db_expr_t size; { - int avail, wsize; - int i; struct dbreg d; - + int avail, i, wsize; + fill_dbregs(NULL, &d); - + avail = 0; - for(i=0; i<4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + for(i = 0; i < 4; i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - - if (avail*4 < size) + + if (avail * 8 < size) return (-1); - - for (i=0; i<4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; - amd64_set_watch(i, addr, wsize, + amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } - + set_dbregs(NULL, &d); - + return(0); } @@ -648,28 +657,27 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); - for(i=0; i<4; i++) { - if (d.dr[7] & (3 << (i*2))) { - if ((DBREG_DRX((&d), i) >= addr) && + for(i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); - + } } - + set_dbregs(NULL, &d); - + return(0); } -static -char * +static const char * watchtype_str(type) int type; { @@ -685,30 +693,33 @@ void db_md_list_watchpoints() { - int i; struct dbreg d; + int i, len, type; fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); - for (i=0; i<4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - unsigned type, len; - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } - + db_printf("\ndebug register values:\n"); - for (i=0; i<8; i++) { + for (i = 0; i < 8; i++) { db_printf(" dr%d 0x%016lx\n", i, DBREG_DRX((&d), i)); } db_printf("\n"); ==== //depot/projects/uart/amd64/amd64/intr_machdep.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/uart/amd64/amd64/io_apic.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.25 2006/10/10 23:23:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.26 2006/11/17 16:41:03 jhb Exp $"); #include "opt_isa.h" @@ -512,13 +512,6 @@ * be routed to other CPUs later after they are enabled. */ intpin->io_cpu = PCPU_GET(apic_id); - if (bootverbose && intpin->io_irq != IRQ_DISABLED) { - printf("ioapic%u: intpin %d -> ", io->io_id, i); - ioapic_print_irq(intpin); - printf(" (%s, %s)\n", intpin->io_edgetrigger ? - "edge" : "level", intpin->io_activehi ? "high" : - "low"); - } value = ioapic_read(apic, IOAPIC_REDTBL_LO(i)); ioapic_write(apic, IOAPIC_REDTBL_LO(i), value | IOART_INTMSET); } @@ -583,6 +576,8 @@ return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); + if (io->io_pins[pin].io_bus == bus_type) + return (0); io->io_pins[pin].io_bus = bus_type; if (bootverbose) printf("ioapic%u: intpin %d bus %s\n", io->io_id, pin, @@ -666,13 +661,17 @@ ioapic_set_polarity(void *cookie, u_int pin, enum intr_polarity pol) { struct ioapic *io; + int activehi; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || pol == INTR_POLARITY_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); - io->io_pins[pin].io_activehi = (pol == INTR_POLARITY_HIGH); + activehi = (pol == INTR_POLARITY_HIGH); + if (io->io_pins[pin].io_activehi == activehi) + return (0); + io->io_pins[pin].io_activehi = activehi; if (bootverbose) printf("ioapic%u: intpin %d polarity: %s\n", io->io_id, pin, pol == INTR_POLARITY_HIGH ? "high" : "low"); @@ -683,13 +682,17 @@ ioapic_set_triggermode(void *cookie, u_int pin, enum intr_trigger trigger) { struct ioapic *io; + int edgetrigger; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); - io->io_pins[pin].io_edgetrigger = (trigger == INTR_TRIGGER_EDGE); + return (EINVAL); + edgetrigger = (trigger == INTR_TRIGGER_EDGE); + if (io->io_pins[pin].io_edgetrigger == edgetrigger) + return (0); + io->io_pins[pin].io_edgetrigger = edgetrigger; if (bootverbose) printf("ioapic%u: intpin %d trigger: %s\n", io->io_id, pin, trigger == INTR_TRIGGER_EDGE ? "edge" : "level"); ==== //depot/projects/uart/amd64/amd64/machdep.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.660 2006/11/07 21:57:18 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.663 2006/11/17 20:27:01 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1692,7 +1692,6 @@ { struct pcb *pcb; int i; - u_int64_t mask1, mask2; if (td == NULL) { load_dr0(dbregs->dr[0]); @@ -1709,10 +1708,13 @@ * TRCTRAP or a general protection fault right here. * Upper bits of dr6 and dr7 must not be set */ - for (i = 0, mask1 = 0x3<<16, mask2 = 0x2<<16; i < 8; - i++, mask1 <<= 2, mask2 <<= 2) - if ((dbregs->dr[7] & mask1) == mask2) + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ACCESS(dbregs->dr[7], i) == 0x02) + return (EINVAL); + if (td->td_frame->tf_cs == _ucode32sel && + DBREG_DR7_LEN(dbregs->dr[7], i) == DBREG_DR7_LEN_8) return (EINVAL); + } if ((dbregs->dr[6] & 0xffffffff00000000ul) != 0 || (dbregs->dr[7] & 0xffffffff00000000ul) != 0) return (EINVAL); @@ -1733,22 +1735,22 @@ * from within kernel mode? */ - if (dbregs->dr[7] & 0x3) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 0)) { /* dr0 is enabled */ if (dbregs->dr[0] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<2) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 1)) { /* dr1 is enabled */ if (dbregs->dr[1] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<4) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 2)) { /* dr2 is enabled */ if (dbregs->dr[2] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<6) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 3)) { /* dr3 is enabled */ if (dbregs->dr[3] >= VM_MAXUSER_ADDRESS) return (EINVAL); @@ -1832,9 +1834,8 @@ addr[nbp++] = (caddr_t)rdr3(); } - for (i=0; i -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.1 2006/11/13 22:23:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.2 2006/11/15 18:40:00 jhb Exp $"); #include #include @@ -315,7 +315,7 @@ /* We need count - cnt more sources starting at index 'cnt'. */ *newirq = cnt; *newcount = count - cnt; - for (j = 0; j < *newirq; j++) { + for (j = 0; j < *newcount; j++) { /* Create a new MSI source. */ msi = malloc(sizeof(struct msi_intsrc), M_MSI, ==== //depot/projects/uart/amd64/include/reg.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)reg.h 5.5 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/reg.h,v 1.35 2004/04/05 23:55:14 imp Exp $ + * $FreeBSD: src/sys/amd64/include/reg.h,v 1.38 2006/11/17 20:27:01 jhb Exp $ */ #ifndef _MACHINE_REG_H_ @@ -92,11 +92,26 @@ /* Index 8-15: reserved */ }; -#define DBREG_DR7_EXEC 0x00 /* break on execute */ -#define DBREG_DR7_WRONLY 0x01 /* break on write */ -#define DBREG_DR7_RDWR 0x03 /* break on read or write */ -#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by - register number */ +#define DBREG_DR7_LOCAL_ENABLE 0x01 +#define DBREG_DR7_GLOBAL_ENABLE 0x02 +#define DBREG_DR7_LEN_1 0x00 /* 1 byte length */ +#define DBREG_DR7_LEN_2 0x01 +#define DBREG_DR7_LEN_4 0x03 +#define DBREG_DR7_LEN_8 0x02 +#define DBREG_DR7_EXEC 0x00 /* break on execute */ +#define DBREG_DR7_WRONLY 0x01 /* break on write */ +#define DBREG_DR7_RDWR 0x03 /* break on read or write */ +#define DBREG_DR7_MASK(i) ((u_long)0xf << ((i) * 4 + 16) | 0x3 << (i) * 2) +#define DBREG_DR7_SET(i, len, access, enable) \ + ((u_long)((len) << 2 | (access)) << ((i) * 4 + 16) | (enable) << (i) * 2) +#define DBREG_DR7_GD 0x2000 +#define DBREG_DR7_ENABLED(d, i) (((d) & 0x3 << (i) * 2) != 0) +#define DBREG_DR7_ACCESS(d, i) ((d) >> ((i) * 4 + 16) & 0x3) +#define DBREG_DR7_LEN(d, i) ((d) >> ((i) * 4 + 18) & 0x3) + +#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by + register number */ + #ifdef _KERNEL /* * XXX these interfaces are MI, so they should be declared in a MI place. ==== //depot/projects/uart/arm/arm/nexus.c#7 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.9 2006/10/25 21:11:46 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.10 2006/11/17 11:56:56 cognet Exp $"); #include #include @@ -142,7 +142,7 @@ int i; for (i = rman_get_start(r); i <= rman_get_end(r); i++) - arm_mask_irq(rman_get_start(r)); + arm_mask_irq(i); error = arm_remove_irqhandler(ih); return (error); } ==== //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.3 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.4 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -474,7 +474,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.24 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.25 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -477,7 +477,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 (text) ==== @@ -1,11 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.4 2006/08/18 20:26:54 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ + +.PATH: ${.CURDIR}/../libat91 P=boot0 FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 (text) ==== @@ -1,12 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.2 2006/08/16 23:14:52 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0iic FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include + +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0iic/main.c,v 1.3 2006/11/09 19:55:25 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0iic/main.c,v 1.4 2006/11/16 00:49:50 imp Exp $ */ #include "at91rm9200.h" @@ -32,12 +32,19 @@ main(void) { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ + int len, sec; - while (xmodem_rx(addr) == -1) + printf("\nSend data to be written into EEPROM\n"); + while ((len = xmodem_rx(addr)) == -1) + continue; + sec = GetSeconds() + 1; + while (sec >= GetSeconds()) continue; + printf("\nWriting EEPROM from 0x%x to addr 0, 0x%x bytes\n", addr, + len); InitEEPROM(); - printf("Writing EEPROM from 0x%x to addr 0\n", addr); - WriteEEPROM(0, addr, 8192); - printf("Write complete. Press reset\n"); + printf("init done\n"); + WriteEEPROM(0, addr, len); + printf("\nWrote %d bytes. Press reset\n", len); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 (text) ==== @@ -1,13 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.2 2006/08/16 23:18:07 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0spi FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0spi/main.c,v 1.3 2006/10/21 22:43:07 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0spi/main.c,v 1.4 2006/11/16 00:48:53 imp Exp $ */ #include "at91rm9200.h" @@ -29,21 +29,23 @@ #include "at91rm9200_lowlevel.h" #include "spi_flash.h" -#define OFFSET 0 +#define LOADER_OFFSET 0 +#define FPGA_OFFSET (15 * FLASH_PAGE_SIZE) +#define OFFSET LOADER_OFFSET int main(void) { int len, i, j, off; - char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ - char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ + char *addr = (char *)SDRAM_BASE + (1 << 20); /* download at + 1MB */ + char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* readback to + 2MB */ + char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* extra copy at + 3MB */ SPI_InitFlash(); printf("Waiting for data\n"); while ((len = xmodem_rx(addr)) == -1) continue; - printf("\nDownloaded %u bytes.\n", len); + // Need extra copy at addr3 memcpy(addr3, addr, (len + FLASH_PAGE_SIZE - 1) / FLASH_PAGE_SIZE * FLASH_PAGE_SIZE); printf("Writing %u bytes to flash at %u\n", len, OFFSET); for (i = 0; i < len; i+= FLASH_PAGE_SIZE) { @@ -57,5 +59,6 @@ if (j >= 10) printf("Bad Readback at %u\n", i); } + printf("Done\n"); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 (text+ko) ==== @@ -1,19 +1,16 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.2 2006/11/09 20:07:26 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.3 2006/11/16 00:48:04 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 ${.CURDIR}/../bootspi P=boot2 FILES=${P} -SRCS=arm_init.S boot2.c ${BOOT_FLAVOR}_board.c +SRCS=arm_init.S boot2.c ${BOOT_FLAVOR:L}_board.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include -.if ${BOOT_FLAVOR} == "tsc" -SRCS+=ee.c -.endif .if ${BOOT_FLAVOR} == "kb920x" CFLAGS+=-DBOOT_IIC .endif ==== //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.2 2006/11/09 20:07:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.3 2006/11/16 00:47:31 imp Exp $"); #include #include @@ -29,7 +29,6 @@ #include "emac.h" #include "lib.h" #include "sd-card.h" -#include "ee.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ ==== //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.4 2006/11/09 20:23:51 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootiic FILES=${P} @@ -11,4 +11,4 @@ .include -CFLAGS += -DBOOT_IIC +CFLAGS += -DBOOT_IIC -DBOOT_COMMANDS ==== //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.5 2006/11/09 20:45:22 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.6 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootspi FILES=${P} @@ -14,3 +14,4 @@ .if ${MK_FPGA} == "yes" CFLAGS += -DTSC_FPGA .endif +CFLAGS += -DBOOT_COMMANDS ==== //depot/projects/uart/boot/i386/loader/main.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.38 2006/11/02 01:23:18 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.39 2006/11/16 13:32:30 ru Exp $"); /* * MD bootstrap main() and assorted miscellaneous @@ -191,7 +191,7 @@ extract_currdev(void) { struct i386_devdesc new_currdev; - int major, biosdev = -1; + int biosdev = -1; /* Assume we are booting from a BIOS disk by default */ new_currdev.d_dev = &biosdisk; @@ -222,7 +222,6 @@ B_CONTROLLER(initial_bootdev) - 1; new_currdev.d_kind.biosdisk.partition = B_PARTITION(initial_bootdev); biosdev = initial_bootinfo->bi_bios_dev; - major = B_TYPE(initial_bootdev); /* * If we are booted by an old bootstrap, we have to guess at the BIOS ==== //depot/projects/uart/boot/ia64/common/copy.c#2 (text+ko) ==== @@ -25,18 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include #include "libia64.h" -#define LDR_LOG2_PGSZ 20 - -uint64_t *ia64_pgtbl; -uint32_t ia64_pgtblsz; - static void * va2pa(vm_offset_t va, size_t *len) { ==== //depot/projects/uart/boot/ia64/common/libia64.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/uart/compat/linux/linux_emul.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9498816AA64; Tue, 21 Nov 2006 16:20:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 71C3A16AA5F for ; Tue, 21 Nov 2006 16:20:07 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB76043DF0 for ; Tue, 21 Nov 2006 16:18:45 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGIxY5045818 for ; Tue, 21 Nov 2006 16:18:59 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGIvk6045813 for perforce@freebsd.org; Tue, 21 Nov 2006 16:18:57 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:18:57 GMT Message-Id: <200611211618.kALGIvk6045813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=110281 Change 110281 by imp@imp_paco-paco on 2006/11/20 05:58:36 IFC @@110280 (-i for extra goodness) Affected files ... .. //depot/projects/arm/src/gnu/usr.bin/cc/cc_tools/arm-freebsd.h.diff#2 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_mci.c#26 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_mcireg.h#7 integrate .. //depot/projects/arm/src/sys/arm/conf/AVILA#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#12 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#6 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#25 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#7 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#19 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#7 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#16 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#7 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#6 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/Makefile#15 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#31 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.c#5 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.h#2 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/arm_init.S#5 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcmp.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcpy.c#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/memset.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcmp.c#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcpy.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcvt.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strlen.c#3 integrate .. //depot/projects/arm/src/sys/dev/mmc/bridge.h#6 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmc.c#22 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcbr_if.m#6 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcbrvar.h#4 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcbus_if.m#6 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcreg.h#15 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcsd.c#11 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcvar.h#2 integrate .. //depot/projects/arm/src/sys/kern/kern_resource.c#12 integrate Differences ... ==== //depot/projects/arm/src/gnu/usr.bin/cc/cc_tools/arm-freebsd.h.diff#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/at91/at91_mci.c#26 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/at91/at91_mcireg.h#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/conf/AVILA#9 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#12 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#25 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#9 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#19 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#16 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#9 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/Makefile#15 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.1 2006/04/19 17:16:48 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.3 2006/11/16 00:48:04 imp Exp $ .PATH: ${.CURDIR}/../libat91 ${.CURDIR}/../bootspi ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#31 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.79 2005/11/03 07:35:36 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.3 2006/11/16 00:47:31 imp Exp $"); #include #include ==== //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.c#5 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/arm_init.S#5 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcmp.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcpy.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/memset.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcmp.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcpy.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcvt.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strlen.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/bridge.h#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmc.c#22 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcbr_if.m#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcbrvar.h#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcbus_if.m#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcreg.h#15 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcsd.c#11 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcvar.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/kern/kern_resource.c#12 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.162 2006/11/06 13:42:00 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.163 2006/11/20 05:50:59 davidxu Exp $"); #include "opt_compat.h" @@ -545,6 +545,7 @@ rtp_to_pri(struct rtprio *rtp, struct thread *td) #endif { + u_char newpri; mtx_assert(&sched_lock, MA_OWNED); if (rtp->prio > RTP_PRIO_MAX) @@ -552,23 +553,23 @@ switch (RTP_PRIO_BASE(rtp->type)) { case RTP_PRIO_REALTIME: #ifdef KSE - kg->kg_user_pri = PRI_MIN_REALTIME + rtp->prio; + newpri = PRI_MIN_REALTIME + rtp->prio; #else - td->td_user_pri = PRI_MIN_REALTIME + rtp->prio; + newpri = PRI_MIN_REALTIME + rtp->prio; #endif break; case RTP_PRIO_NORMAL: #ifdef KSE - kg->kg_user_pri = PRI_MIN_TIMESHARE + rtp->prio; + newpri = PRI_MIN_TIMESHARE + rtp->prio; #else - td->td_user_pri = PRI_MIN_TIMESHARE + rtp->prio; + newpri = PRI_MIN_TIMESHARE + rtp->prio; #endif break; case RTP_PRIO_IDLE: #ifdef KSE - kg->kg_user_pri = PRI_MIN_IDLE + rtp->prio; + newpri = PRI_MIN_IDLE + rtp->prio; #else - td->td_user_pri = PRI_MIN_IDLE + rtp->prio; + newpri = PRI_MIN_IDLE + rtp->prio; #endif break; default: @@ -576,11 +577,13 @@ } #ifdef KSE sched_class(kg, rtp->type); + sched_user_prio(kg, newpri); if (curthread->td_ksegrp == kg) { sched_prio(curthread, kg->kg_user_pri); /* XXX dubious */ } #else sched_class(td, rtp->type); /* XXX fix */ + sched_user_prio(td, newpri); if (curthread == td) sched_prio(curthread, td->td_user_pri); /* XXX dubious */ #endif @@ -603,23 +606,23 @@ #endif case PRI_REALTIME: #ifdef KSE - rtp->prio = kg->kg_user_pri - PRI_MIN_REALTIME; + rtp->prio = kg->kg_base_user_pri - PRI_MIN_REALTIME; #else - rtp->prio = td->td_user_pri - PRI_MIN_REALTIME; + rtp->prio = td->td_base_user_pri - PRI_MIN_REALTIME; #endif break; case PRI_TIMESHARE: #ifdef KSE - rtp->prio = kg->kg_user_pri - PRI_MIN_TIMESHARE; + rtp->prio = kg->kg_base_user_pri - PRI_MIN_TIMESHARE; #else - rtp->prio = td->td_user_pri - PRI_MIN_TIMESHARE; + rtp->prio = td->td_base_user_pri - PRI_MIN_TIMESHARE; #endif break; case PRI_IDLE: #ifdef KSE - rtp->prio = kg->kg_user_pri - PRI_MIN_IDLE; + rtp->prio = kg->kg_base_user_pri - PRI_MIN_IDLE; #else - rtp->prio = td->td_user_pri - PRI_MIN_IDLE; + rtp->prio = td->td_base_user_pri - PRI_MIN_IDLE; #endif break; default: From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88D2516AAF1; Tue, 21 Nov 2006 16:20:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 660CB16AA79 for ; Tue, 21 Nov 2006 16:20:17 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B20643DBE for ; Tue, 21 Nov 2006 16:18:47 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ0DZ045833 for ; Tue, 21 Nov 2006 16:19:00 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ0hR045828 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:00 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:19:00 GMT Message-Id: <200611211619.kALGJ0hR045828@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110283 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=110283 Change 110283 by imp@imp_paco-paco on 2006/11/20 06:36:53 Bring in the most trivial diffs Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#13 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#26 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#10 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#8 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#20 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#5 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#8 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#17 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#10 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#5 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#5 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#8 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#7 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#13 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Compact Flash Support for the Avila Gateworks XScale boards. ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#9 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#9 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.ixp425,v 1.1 2006/11/19 23:55:23 sam Exp $ arm/arm/cpufunc_asm_xscale.S standard arm/arm/irq_dispatch.S standard arm/xscale/ixp425/ixp425.c standard @@ -16,7 +16,8 @@ arm/xscale/ixp425/ixp425_a4x_io.S optional uart dev/uart/uart_dev_ns8250.c optional uart # -# NPE-based Ethernet support (requires qmgr also) +# NPE-based Ethernet support (requires qmgr also). Note the +# firmware images must be downloaded from the Intel web site. # arm/xscale/ixp425/if_npe.c optional npe arm/xscale/ixp425/ixp425_npe.c optional npe ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#26 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -1668,5 +1668,6 @@ DRIVER_MODULE(npe, ixp, npe_driver, npe_devclass, 0, 0); DRIVER_MODULE(miibus, npe, miibus_driver, miibus_devclass, 0, 0); +MODULE_DEPEND(npe, ixpqmgr, 1, 1, 1); MODULE_DEPEND(npe, miibus, 1, 1, 1); MODULE_DEPEND(npe, ether, 1, 1, 1); ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#10 (text+ko) ==== @@ -25,6 +25,8 @@ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. + * + * $FreeBSD: src/sys/arm/xscale/ixp425/if_npereg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ /* ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixdp425_pci.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#4 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. */ -/* $FreeBSD$ */ +/* $FreeBSD: src/sys/arm/xscale/ixp425/ixdp425reg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ #ifndef _IXDP425REG_H_ #define _IXDP425REG_H_ /* GPIOs */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#20 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#3 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_a4x_io.S,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * bus_space I/O functions with offset*4 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#4 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_a4x_space.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_intr.h,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_mem.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#9 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Intel XScale Network Processing Engine (NPE) support. @@ -99,7 +99,7 @@ #include #include -#include +#include #include struct ixpnpe_softc { ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#8 (text+ko) ==== @@ -20,6 +20,8 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npevar.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ #ifndef _IXP425_NPEVAR_H_ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#17 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_pci.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#3 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_pci_asm.S,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#10 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_pci_space.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * bus_space PCI functions for ixp425 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Intel XScale Queue Manager support. ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#3 (text+ko) ==== @@ -25,6 +25,8 @@ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. + * + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ /*- ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_space.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * bus_space I/O functions for ixp425 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_timer.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#4 (text+ko) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_wdog.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * IXP425 Watchdog Timer Support. ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#8 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#9 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#3 (text+ko) ==== @@ -1,5 +1,5 @@ #GW2348-4 board configuration -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/std.avila,v 1.1 2006/11/19 23:55:23 sam Exp $ include "../xscale/ixp425/std.ixp425" files "../xscale/ixp425/files.avila" makeoptions KERNPHYSADDR=0x10200000 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#4 (text+ko) ==== @@ -1,5 +1,5 @@ #XScale IXP425 generic configuration -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/std.ixp425,v 1.1 2006/11/19 23:55:23 sam Exp $ files "../xscale/ixp425/files.ixp425" include "../xscale/std.xscale" cpu CPU_XSCALE_IXP425 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8943116AB8D; Tue, 21 Nov 2006 16:20:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E749216AA5D for ; Tue, 21 Nov 2006 16:20:18 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3FE4243DDB for ; Tue, 21 Nov 2006 16:18:43 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGItwa045792 for ; Tue, 21 Nov 2006 16:18:55 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGIsOn045789 for perforce@freebsd.org; Tue, 21 Nov 2006 16:18:54 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:18:54 GMT Message-Id: <200611211618.kALGIsOn045789@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=110277 Change 110277 by imp@imp_paco-paco on 2006/11/20 04:49:56 IFC @110276 Affected files ... .. //depot/projects/arm/src/share/man/man9/Makefile#4 integrate .. //depot/projects/arm/src/share/man/man9/cr_cansee.9#1 branch .. //depot/projects/arm/src/share/man/man9/p_candebug.9#2 integrate .. //depot/projects/arm/src/share/man/man9/p_cansee.9#1 branch .. //depot/projects/arm/src/share/mk/bsd.own.mk#8 integrate .. //depot/projects/arm/src/share/mk/bsd.port.mk#3 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#18 integrate .. //depot/projects/arm/src/sys/amd64/amd64/pmap.c#27 integrate .. //depot/projects/arm/src/sys/amd64/include/pmap.h#10 integrate .. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#12 integrate .. //depot/projects/arm/src/sys/arm/arm/identcpu.c#10 integrate .. //depot/projects/arm/src/sys/arm/arm/nexus_io.c#4 integrate .. //depot/projects/arm/src/sys/arm/at91/at91.c#24 integrate .. //depot/projects/arm/src/sys/arm/include/bus.h#6 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/arm/src/sys/boot/ia64/common/copy.c#3 integrate .. //depot/projects/arm/src/sys/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#8 integrate .. //depot/projects/arm/src/sys/conf/files#54 integrate .. //depot/projects/arm/src/sys/conf/options.arm#17 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.c#33 integrate .. //depot/projects/arm/src/sys/dev/iicbus/ad7418.c#1 branch .. //depot/projects/arm/src/sys/dev/iicbus/ds1672.c#1 branch .. //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#8 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt.h#20 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#28 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#19 integrate .. //depot/projects/arm/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#22 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#25 integrate .. //depot/projects/arm/src/sys/i386/include/pmap.h#7 integrate .. //depot/projects/arm/src/sys/ia64/ia64/genassym.c#4 integrate .. //depot/projects/arm/src/sys/ia64/ia64/interrupt.c#5 integrate .. //depot/projects/arm/src/sys/ia64/ia64/machdep.c#10 integrate .. //depot/projects/arm/src/sys/ia64/ia64/mp_machdep.c#6 integrate .. //depot/projects/arm/src/sys/ia64/include/kdb.h#3 integrate .. //depot/projects/arm/src/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/arm/src/sys/kern/imgact_elf.c#7 integrate .. //depot/projects/arm/src/sys/net/bridgestp.c#12 integrate .. //depot/projects/arm/src/sys/net/ethernet.h#4 integrate .. //depot/projects/arm/src/sys/net/if_ethersubr.c#16 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs.h#6 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_socket.c#15 integrate .. //depot/projects/arm/src/sys/sun4v/conf/NOTES#4 integrate .. //depot/projects/arm/src/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/arm/src/sys/vm/vm_meter.c#7 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/arm/src/usr.sbin/mountd/mountd.c#3 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/index.c#2 integrate Differences ... ==== //depot/projects/arm/src/share/man/man9/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.284 2006/11/11 08:59:34 ru Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.285 2006/11/19 13:35:03 ceri Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -41,6 +41,7 @@ config_intrhook.9 \ contigmalloc.9 \ copy.9 \ + cr_cansee.9 \ critical_enter.9 \ cr_seeothergids.9 \ cr_seeotheruids.9 \ @@ -157,6 +158,7 @@ panic.9 \ pbuf.9 \ p_candebug.9 \ + p_cansee.9 \ pci.9 \ pfil.9 \ pfind.9 \ ==== //depot/projects/arm/src/share/man/man9/p_candebug.9#2 (text+ko) ==== @@ -25,15 +25,16 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.3 2004/07/06 07:26:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.5 2006/11/19 13:36:04 ceri Exp $ .\" -.Dd November 11, 2003 +.Dd November 19, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME .Nm p_candebug .Nd determine debuggability of a process .Sh SYNOPSIS +.In sys/param.h .In sys/proc.h .Ft int .Fn p_candebug "struct thread *td" "struct proc *p" @@ -128,10 +129,10 @@ The MAC subsystem denied debuggability. .El .Sh SEE ALSO -.Xr intro 2 , .Xr jail 2 , .Xr sysctl 8 , .Xr cr_seeothergids 9 , .Xr cr_seeotheruids 9 , .Xr mac 9 , +.Xr p_cansee 9 , .Xr prison_check 9 ==== //depot/projects/arm/src/share/mk/bsd.own.mk#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # # CPU model, derived from MACHINE_ARCH @@ -175,6 +177,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -453,5 +456,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/arm/src/share/mk/bsd.port.mk#3 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/arm/src/sys/amd64/amd64/machdep.c#18 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.663 2006/11/17 20:27:01 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.664 2006/11/19 20:54:57 alc Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -833,7 +833,7 @@ static void getmemsize(caddr_t kmdp, u_int64_t first) { - int i, physmap_idx, pa_indx, da_indx; + int i, off, physmap_idx, pa_indx, da_indx; vm_paddr_t pa, physmap[PHYSMAP_SIZE]; u_long physmem_tunable; pt_entry_t *pte; @@ -1096,14 +1096,17 @@ /* Trim off space for the message buffer. */ phys_avail[pa_indx] -= round_page(MSGBUF_SIZE); - avail_end = phys_avail[pa_indx]; + /* Map the message buffer. */ + for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) + pmap_kenter((vm_offset_t)msgbufp + off, phys_avail[pa_indx] + + off); } u_int64_t hammer_time(u_int64_t modulep, u_int64_t physfree) { caddr_t kmdp; - int gsel_tss, off, x; + int gsel_tss, x; struct pcpu *pc; u_int64_t msr; char *env; @@ -1270,10 +1273,6 @@ /* now running on new page tables, configured,and u/iom is accessible */ - /* Map the message buffer. */ - for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) - pmap_kenter((vm_offset_t)msgbufp + off, avail_end + off); - msgbufinit(msgbufp, MSGBUF_SIZE); fpuinit(); ==== //depot/projects/arm/src/sys/amd64/amd64/pmap.c#27 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.573 2006/11/12 21:48:32 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.574 2006/11/19 20:54:57 alc Exp $"); /* * Manages physical address maps. @@ -168,8 +168,7 @@ struct pmap kernel_pmap_store; -vm_paddr_t avail_start; /* PA of first available physical page */ -vm_paddr_t avail_end; /* PA of last available physical page */ +static vm_paddr_t avail_start; /* PA of first available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ ==== //depot/projects/arm/src/sys/amd64/include/pmap.h#10 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.136 2006/11/13 20:33:54 ru Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.137 2006/11/19 20:54:57 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -296,7 +296,6 @@ extern caddr_t CADDR1; extern pt_entry_t *CMAP1; -extern vm_paddr_t avail_end; extern vm_paddr_t phys_avail[]; extern vm_paddr_t dump_avail[]; extern vm_offset_t virtual_avail; ==== //depot/projects/arm/src/sys/arm/arm/cpufunc.c#12 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.13 2006/11/07 22:36:56 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.14 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/arm/identcpu.c#10 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.9 2006/11/07 22:36:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.10 2006/11/19 23:45:33 sam Exp $"); #include #include #include ==== //depot/projects/arm/src/sys/arm/arm/nexus_io.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.6 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.7 2006/11/19 23:46:50 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/at91/at91.c#24 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.8 2006/08/28 20:05:00 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.9 2006/11/19 23:47:51 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/include/bus.h#6 (text+ko) ==== @@ -67,7 +67,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/arm/include/bus.h,v 1.8 2005/04/18 21:45:33 imp Exp $ + * $FreeBSD: src/sys/arm/include/bus.h,v 1.9 2006/11/19 23:46:49 sam Exp $ */ #ifndef _MACHINE_BUS_H_ ==== //depot/projects/arm/src/sys/boot/ia64/common/copy.c#3 (text+ko) ==== @@ -25,18 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include #include "libia64.h" -#define LDR_LOG2_PGSZ 20 - -uint64_t *ia64_pgtbl; -uint32_t ia64_pgtblsz; - static void * va2pa(vm_offset_t va, size_t *len) { ==== //depot/projects/arm/src/sys/boot/ia64/common/libia64.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#8 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.26 2006/11/18 13:31:03 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.27 2006/11/18 17:27:39 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -426,7 +426,7 @@ #ifdef DEBUG if (ldebug(getcwd)) - printf(ARGS(getcwd, "%p, %ld", args->buf, (long)args->bufsize); + printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); #endif len = args->bufsize; ==== //depot/projects/arm/src/sys/conf/files#54 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1162 2006/11/15 09:13:24 maxim Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1163 2006/11/19 23:43:29 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -664,6 +664,8 @@ dev/ieee488/pcii.c optional pcii dev/ieee488/tnt4882.c optional tnt4882 dev/ieee488/upd7210.c optional pcii | tnt4882 +dev/iicbus/ad7418.c optional ad7418 +dev/iicbus/ds1672.c optional ds1672 dev/iicbus/if_ic.c optional ic dev/iicbus/iic.c optional iic dev/iicbus/iicbb.c optional iicbb ==== //depot/projects/arm/src/sys/conf/options.arm#17 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/sys/conf/options.arm,v 1.13 2006/08/24 23:51:28 cognet Exp $ +#$FreeBSD: src/sys/conf/options.arm,v 1.14 2006/11/19 23:56:44 sam Exp $ ARM9_CACHE_WRITE_THROUGH opt_global.h ARM_CACHE_LOCK_ENABLE opt_global.h ARMFPE opt_global.h ==== //depot/projects/arm/src/sys/dev/em/if_em.c#33 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.164 2006/11/15 20:04:56 jhb Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.165 2006/11/18 23:18:43 csjp Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -248,7 +248,6 @@ static void em_update_link_status(struct adapter *); static int em_get_buf(struct adapter *, int); static void em_enable_vlans(struct adapter *); -static void em_disable_vlans(struct adapter *); static int em_encap(struct adapter *, struct mbuf **); static void em_smartspeed(struct adapter *); static int em_82547_fifo_workaround(struct adapter *, int); @@ -761,7 +760,7 @@ } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting. */ adapter->watchdog_timer = EM_TX_TIMEOUT; @@ -1507,45 +1506,6 @@ } /* - * When operating in promiscuous mode, hardware stripping of the - * VLAN tag on receive is disabled. This should not prevent us - * from doing hardware insertion of the VLAN tag here as that - * is controlled by the dma descriptor flags and not the receive - * tag strip setting. Unfortunatly this hardware switches the - * VLAN encapsulation type from 802.1q to ISL when stripping om - * receive is disabled. This means we have to add the vlan - * encapsulation here in the driver, since it will have come down - * from the VLAN layer with a tag instead of a VLAN header. - */ - if ((m_head->m_flags & M_VLANTAG) && adapter->em_insert_vlan_header) { - struct ether_vlan_header *evl; - struct ether_header eh; - - m_head = m_pullup(m_head, sizeof(eh)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - eh = *mtod(m_head, struct ether_header *); - M_PREPEND(m_head, sizeof(*evl), M_DONTWAIT); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - m_head = m_pullup(m_head, sizeof(*evl)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - evl = mtod(m_head, struct ether_vlan_header *); - bcopy(&eh, evl, sizeof(*evl)); - evl->evl_proto = evl->evl_encap_proto; - evl->evl_encap_proto = htons(ETHERTYPE_VLAN); - evl->evl_tag = htons(m_head->m_pkthdr.ether_vtag); - *m_headp = m_head; - } - - /* * TSO workaround: * If an mbuf contains only the IP and TCP header we have * to pull 4 bytes of data into it. @@ -1915,29 +1875,16 @@ if (ifp->if_flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - /* - * Disable VLAN stripping in promiscous mode. - * This enables bridging of vlan tagged frames to occur - * and also allows vlan tags to be seen in tcpdump. - * XXX: This is a bit bogus as tcpdump may be used - * w/o promisc mode as well. - */ - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_disable_vlans(adapter); - adapter->em_insert_vlan_header = 1; } else if (ifp->if_flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; reg_rctl &= ~E1000_RCTL_UPE; E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - adapter->em_insert_vlan_header = 0; - } else - adapter->em_insert_vlan_header = 0; + } } static void em_disable_promisc(struct adapter *adapter) { - struct ifnet *ifp = adapter->ifp; uint32_t reg_rctl; reg_rctl = E1000_READ_REG(&adapter->hw, RCTL); @@ -1945,10 +1892,6 @@ reg_rctl &= (~E1000_RCTL_UPE); reg_rctl &= (~E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_enable_vlans(adapter); - adapter->em_insert_vlan_header = 0; } @@ -2429,7 +2372,7 @@ */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -3816,16 +3759,6 @@ } static void -em_disable_vlans(struct adapter *adapter) -{ - uint32_t ctrl; - - ctrl = E1000_READ_REG(&adapter->hw, CTRL); - ctrl &= ~E1000_CTRL_VME; - E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); -} - -static void em_enable_intr(struct adapter *adapter) { E1000_WRITE_REG(&adapter->hw, IMS, (IMS_ENABLE_MASK)); ==== //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.22 2006/07/14 23:15:06 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.23 2006/11/19 23:42:32 sam Exp $"); /* * Autoconfiguration and support routines for the Philips serial I2C bus ==== //depot/projects/arm/src/sys/dev/mpt/mpt.h#20 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/mpt/mpt.h,v 1.31 2006/11/15 20:04:57 jhb Exp $ */ +/* $FreeBSD: src/sys/dev/mpt/mpt.h,v 1.32 2006/11/19 23:15:42 mjacob Exp $ */ /*- * Generic defines for LSI '909 FC adapters. * FreeBSD Version. @@ -496,7 +496,8 @@ uint32_t mpt_pers_mask; uint32_t unit : 8, - : 3, + : 2, + msi_enable : 1, twildcard : 1, tenabled : 1, do_cfg_role : 1, ==== //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#28 (text+ko) ==== @@ -94,7 +94,7 @@ * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_cam.c,v 1.40 2006/11/17 00:19:55 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_cam.c,v 1.41 2006/11/19 23:13:12 mjacob Exp $"); #include #include @@ -2327,7 +2327,7 @@ req->IOCStatus = le16toh(tmf_reply->IOCStatus); req->ResponseCode = tmf_reply->ResponseCode; - mpt_lprt(mpt, MPT_PRT_INFO, "TMF complete: req %p:%u status 0x%x\n", + mpt_lprt(mpt, MPT_PRT_DEBUG, "TMF complete: req %p:%u status 0x%x\n", req, req->serno, le16toh(tmf_reply->IOCStatus)); TAILQ_REMOVE(&mpt->request_pending_list, req, links); if ((req->state & REQ_STATE_NEED_WAKEUP) != 0) { @@ -3566,7 +3566,7 @@ } tmf_req->TaskMsgContext = abort_ctx; - mpt_lprt(mpt, MPT_PRT_INFO, + mpt_lprt(mpt, MPT_PRT_DEBUG, "Issuing TMF %p:%u with MsgContext of 0x%x\n", mpt->tmf_req, mpt->tmf_req->serno, tmf_req->MsgContext); if (mpt->verbose > MPT_PRT_DEBUG) { @@ -3578,6 +3578,8 @@ TAILQ_INSERT_HEAD(&mpt->request_pending_list, mpt->tmf_req, links); error = mpt_send_handshake_cmd(mpt, sizeof(*tmf_req), tmf_req); if (error != MPT_OK) { + TAILQ_REMOVE(&mpt->request_pending_list, mpt->tmf_req, links); + mpt->tmf_req->state = REQ_STATE_FREE; mpt_reset(mpt, TRUE); } return (error); ==== //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#19 (text+ko) ==== @@ -99,7 +99,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.42 2006/11/16 02:40:18 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.44 2006/11/19 23:24:52 mjacob Exp $"); #include #include @@ -326,6 +326,8 @@ } mpt->do_cfg_role = 1; } + + mpt->msi_enable = 0; } #else static void @@ -350,6 +352,13 @@ mpt->cfg_role = tval; mpt->do_cfg_role = 1; } + + tval = 0; + mpt->msi_enable = 0; + if (resource_int_value(device_get_name(mpt->dev), + device_get_unit(mpt->dev), "msi_enable", &tval) == 0 && tval == 1) { + mpt->msi_enable = 1; + } } #endif @@ -512,12 +521,13 @@ /* Get a handle to the interrupt */ iqd = 0; - if (pci_msi_count(dev) == 1) { + if (mpt->msi_enable && pci_msi_count(dev) == 1) { mpt->pci_msi_count = 1; - if (pci_alloc_msi(dev, &mpt->pci_msi_count) == 0) + if (pci_alloc_msi(dev, &mpt->pci_msi_count) == 0) { iqd = 1; - else + } else { mpt->pci_msi_count = 0; + } } mpt->pci_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &iqd, RF_ACTIVE | RF_SHAREABLE); ==== //depot/projects/arm/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * @(#)ffs_vfsops.c 8.8 (Berkeley) 4/18/94 - * $FreeBSD: src/sys/gnu/fs/ext2fs/ext2_vfsops.c,v 1.159 2006/11/06 13:41:58 rwatson Exp $ + * $FreeBSD: src/sys/gnu/fs/ext2fs/ext2_vfsops.c,v 1.160 2006/11/18 18:22:11 rodrigc Exp $ */ /*- @@ -119,7 +119,10 @@ static int compute_sb_data(struct vnode * devvp, struct ext2_super_block * es, struct ext2_sb_info * fs); -static const char *ext2_opts[] = { "from", "export" }; +static const char *ext2_opts[] = { "from", "export", "union", "acls", "exec", + "atime", "union", "suiddir", "multilabel", "symfollow", "clusterr", + "clusterw" }; + /* * VFS Operations. * ==== //depot/projects/arm/src/sys/i386/i386/machdep.c#22 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.642 2006/11/17 19:20:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.643 2006/11/19 20:54:57 alc Exp $"); #include "opt_apic.h" #include "opt_atalk.h" @@ -1608,7 +1608,7 @@ static void getmemsize(int first) { - int i, physmap_idx, pa_indx, da_indx; + int i, off, physmap_idx, pa_indx, da_indx; int hasbrokenint12, has_smap; u_long physmem_tunable; u_int extmem; @@ -2036,7 +2036,10 @@ /* Trim off space for the message buffer. */ phys_avail[pa_indx] -= round_page(MSGBUF_SIZE); - avail_end = phys_avail[pa_indx]; + /* Map the message buffer. */ + for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) + pmap_kenter((vm_offset_t)msgbufp + off, phys_avail[pa_indx] + + off); } void @@ -2044,7 +2047,7 @@ int first; { struct gate_descriptor *gdp; - int gsel_tss, metadata_missing, off, x; + int gsel_tss, metadata_missing, x; struct pcpu *pc; thread0.td_kstack = proc0kstack; @@ -2269,10 +2272,6 @@ /* now running on new page tables, configured,and u/iom is accessible */ - /* Map the message buffer. */ - for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) - pmap_kenter((vm_offset_t)msgbufp + off, avail_end + off); - msgbufinit(msgbufp, MSGBUF_SIZE); /* make a call gate to reenter kernel with */ ==== //depot/projects/arm/src/sys/i386/i386/pmap.c#25 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.578 2006/11/16 11:46:24 maxim Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.579 2006/11/19 20:54:57 alc Exp $"); /* * Manages physical address maps. @@ -196,7 +196,6 @@ static struct pmaplist allpmaps; static struct mtx allpmaps_lock; -vm_paddr_t avail_end; /* PA of last available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ int pgeflag = 0; /* PG_G or-in */ ==== //depot/projects/arm/src/sys/i386/include/pmap.h#7 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/i386/include/pmap.h,v 1.124 2006/11/13 20:33:54 ru Exp $ + * $FreeBSD: src/sys/i386/include/pmap.h,v 1.125 2006/11/19 20:54:58 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -361,7 +361,6 @@ extern caddr_t CADDR1; extern pt_entry_t *CMAP1; -extern vm_paddr_t avail_end; extern vm_paddr_t phys_avail[]; extern vm_paddr_t dump_avail[]; extern int pseflag; ==== //depot/projects/arm/src/sys/ia64/ia64/genassym.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.43 2006/11/01 04:54:50 jb Exp $ + * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.44 2006/11/18 21:48:13 marcel Exp $ */ #include "opt_compat.h" @@ -91,7 +91,6 @@ ASSYM(PAGE_SHIFT, PAGE_SHIFT); ASSYM(PAGE_SIZE, PAGE_SIZE); -ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_CURRENT_PMAP, offsetof(struct pcpu, pc_current_pmap)); ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread)); ==== //depot/projects/arm/src/sys/ia64/ia64/interrupt.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.55 2006/04/03 23:56:40 marcel Exp $ */ +/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.56 2006/11/18 21:52:26 marcel Exp $ */ /* $NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $ */ /*- @@ -224,7 +224,7 @@ cpumask_t mybit = PCPU_GET(cpumask); intr = intr_disable(); - savectx(PCPU_GET(pcb)); + savectx(PCPU_PTR(pcb)); atomic_set_int(&stopped_cpus, mybit); while ((started_cpus & mybit) == 0) /* spin */; ==== //depot/projects/arm/src/sys/ia64/ia64/machdep.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.210 2006/11/03 04:06:17 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.212 2006/11/18 23:15:25 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -108,7 +108,7 @@ u_int64_t pa_bootinfo; struct bootinfo bootinfo; -struct pcpu early_pcpu; +struct pcpu pcpu0; extern char kstack[]; vm_offset_t proc0kstack; @@ -403,17 +403,7 @@ void cpu_pcpu_init(struct pcpu *pcpu, int cpuid, size_t size) { - size_t pcpusz; - /* - * Make sure the PCB is 16-byte aligned by making the PCPU - * a multiple of 16 bytes. We assume the PCPU is 16-byte - * aligned itself. - */ - pcpusz = (sizeof(struct pcpu) + 15) & ~15; - KASSERT(size >= pcpusz + sizeof(struct pcb), - ("%s: too small an allocation for pcpu", __func__)); - pcpu->pc_pcb = (struct pcb *)((char*)pcpu + pcpusz); pcpu->pc_acpi_id = cpuid; } @@ -611,6 +601,16 @@ bootverbose = 1; /* + * Setup the PCPU data for the bootstrap processor. It is needed + * by printf(). Also, since printf() has critical sections, we + * need to initialize at least pc_curthread. + */ + pcpup = &pcpu0; + ia64_set_k4((u_int64_t)pcpup); + pcpu_init(pcpup, 0, sizeof(pcpu0)); + PCPU_SET(curthread, &thread0); + + /* * Initialize the console before we print anything out. */ cninit(); @@ -781,21 +781,11 @@ #else proc_linkup(&proc0, &thread0); #endif - /* - * Init mapping for kernel stack for proc 0 - */ + proc0kstack = (vm_offset_t)kstack; thread0.td_kstack = proc0kstack; thread0.td_kstack_pages = KSTACK_PAGES; - /* - * Setup the global data for the bootstrap cpu. - */ - pcpup = (struct pcpu *)pmap_steal_memory(PAGE_SIZE); - ia64_set_k4((u_int64_t)pcpup); - pcpu_init(pcpup, 0, PAGE_SIZE); - PCPU_SET(curthread, &thread0); - mutex_init(); /* ==== //depot/projects/arm/src/sys/ia64/ia64/mp_machdep.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.61 2006/05/16 14:32:15 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.62 2006/11/18 21:52:26 marcel Exp $"); #include "opt_kstack_pages.h" @@ -200,8 +200,8 @@ } if (acpiid != 0) { - pc = (struct pcpu *)kmem_alloc(kernel_map, PAGE_SIZE); - pcpu_init(pc, acpiid, PAGE_SIZE); + pc = (struct pcpu *)malloc(sizeof(*pc), M_PMAP, M_WAITOK); + pcpu_init(pc, acpiid, sizeof(*pc)); } else pc = pcpup; ==== //depot/projects/arm/src/sys/ia64/include/kdb.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/kdb.h,v 1.3 2006/04/03 22:51:47 marcel Exp $ + * $FreeBSD: src/sys/ia64/include/kdb.h,v 1.4 2006/11/18 21:52:26 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -33,7 +33,7 @@ #include #include -#define KDB_STOPPEDPCB(pc) (pc)->pc_pcb +#define KDB_STOPPEDPCB(pc) (&(pc)->pc_pcb) static __inline void kdb_cpu_clear_singlestep(void) ==== //depot/projects/arm/src/sys/ia64/include/pcpu.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/pcpu.h,v 1.17 2003/11/17 03:40:41 bde Exp $ + * $FreeBSD: src/sys/ia64/include/pcpu.h,v 1.18 2006/11/18 21:52:26 marcel Exp $ */ #ifndef _MACHINE_PCPU_H_ @@ -32,13 +32,15 @@ #ifdef _KERNEL +#include + #define PCPU_MD_FIELDS \ - struct pcb *pc_pcb; /* Used by IPI_STOP */ \ + struct pcb pc_pcb; /* Used by IPI_STOP */ \ struct pmap *pc_current_pmap; /* active pmap */ \ uint64_t pc_lid; /* local CPU ID */ \ - uint32_t pc_awake:1; /* CPU is awake? */ \ uint64_t pc_clock; /* Clock counter. */ \ uint64_t pc_clockadj; /* Clock adjust. */ \ + uint32_t pc_awake:1; /* CPU is awake? */ \ uint32_t pc_acpi_id /* ACPI CPU id. */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B3DA16ABA4; Tue, 21 Nov 2006 16:20:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6444216AB78 for ; Tue, 21 Nov 2006 16:20:19 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D55643DBC for ; Tue, 21 Nov 2006 16:18:47 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ1U3045839 for ; Tue, 21 Nov 2006 16:19:01 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ0vo045836 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:00 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:19:00 GMT Message-Id: <200611211619.kALGJ0vo045836@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110284 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=110284 Change 110284 by imp@imp_paco-paco on 2006/11/20 06:40:12 Merge cleaned up files.avila by hand, it didn't take for some reason. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#7 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#7 (text+ko) ==== @@ -1,6 +1,4 @@ -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.1 2006/11/19 23:55:23 sam Exp $ arm/xscale/ixp425/avila_machdep.c standard -arm/xscale/ixp425/avila_ata.c optional ata_avila -arm/xscale/ixp425/ad7418.c optional adc_avila -arm/xscale/ixp425/ds1672.c optional rtc_avila +arm/xscale/ixp425/avila_ata.c optional avila_ata arm/xscale/ixp425/ixdp425_pci.c optional pci From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1682A16AB77; Tue, 21 Nov 2006 16:20:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E673016AA5D for ; Tue, 21 Nov 2006 16:20:20 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2B2C643DC4 for ; Tue, 21 Nov 2006 16:18:48 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ1Yk045845 for ; Tue, 21 Nov 2006 16:19:01 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ1Rr045842 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:01 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:19:01 GMT Message-Id: <200611211619.kALGJ1Rr045842@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110285 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=110285 Change 110285 by imp@imp_paco-paco on 2006/11/20 06:41:20 Loopback Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91.c#25 integrate Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91.c#25 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.9 2006/11/19 23:47:51 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.10 2006/11/20 06:27:15 imp Exp $"); #include #include @@ -412,12 +412,12 @@ AT91RM92_SYS_SIZE, &sc->sc_sys_sh) != 0) panic("Enable to map IRQ registers"); sc->obio.sc_irq_rman.rm_type = RMAN_ARRAY; - sc->obio.sc_irq_rman.rm_descr = "AT91RM92 IRQs"; + sc->obio.sc_irq_rman.rm_descr = "AT91 IRQs"; sc->obio.sc_mem_rman.rm_type = RMAN_ARRAY; - sc->obio.sc_mem_rman.rm_descr = "AT91RM92 Memory"; + sc->obio.sc_mem_rman.rm_descr = "AT91 Memory"; #if 0 sc->sc_usbmem_rman.rm_type = RMAN_ARRAY; - sc->sc_usbmem_rman.rm_descr = "AT91RM92 USB Memory-mapped regs"; + sc->sc_usbmem_rman.rm_descr = "AT91RM9200 USB Memory-mapped regs"; #endif if (rman_init(&sc->obio.sc_irq_rman) != 0 || rman_manage_region(&sc->obio.sc_irq_rman, 1, 31) != 0) From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 016A816ACFB; Tue, 21 Nov 2006 16:20:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 112FF16AB72 for ; Tue, 21 Nov 2006 16:20:20 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C1B343DC5 for ; Tue, 21 Nov 2006 16:18:48 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ16G045851 for ; Tue, 21 Nov 2006 16:19:01 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ1dp045848 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:01 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:19:01 GMT Message-Id: <200611211619.kALGJ1dp045848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110286 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=110286 Change 110286 by imp@imp_paco-paco on 2006/11/20 07:04:48 these have been moved in cvs. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#3 delete .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#4 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C641616ADD4; Tue, 21 Nov 2006 16:20:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2C57916ADA5 for ; Tue, 21 Nov 2006 16:20:28 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 39D7E43E16 for ; Tue, 21 Nov 2006 16:19:02 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ934045961 for ; Tue, 21 Nov 2006 16:19:09 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ8F2045958 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:08 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:08 GMT Message-Id: <200611211619.kALGJ8F2045958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=110304 Change 110304 by bushman@bushman_nss_ldap_cached on 2006/11/20 15:56:29 Some basic signal-handling added, graceful restart and shutdown (on SIGHUP and SIGTERM signals respectively) implemented. Still need some code to properly handle blocked threads (will be useful with perform-actuall-lookups option set to "yes"). Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.c#12 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.c#12 (text) ==== @@ -91,14 +91,16 @@ #endif static void precache_entries(struct configuration *); static void print_version_info(void); -static void processing_loop(cache, struct runtime_env *, +static int processing_loop(cache, struct runtime_env *, struct configuration *); static void process_socket_event(struct kevent *, struct runtime_env *, struct configuration *); static void process_timer_event(struct kevent *, struct runtime_env *, struct configuration *); static void *processing_thread(void *); +static void tune_runtime_env_kqueue(struct runtime_env *); static void usage(void); +static int wait_for_hup_term(void); void get_time_func(struct timeval *); @@ -175,6 +177,23 @@ TRACE_OUT(destroy_cache_); } +static void +tune_runtime_env_kqueue(struct runtime_env *env) +{ + struct kevent eventlist[3]; + struct timespec timeout; + + EV_SET(&eventlist[0], env->sockfd, EVFILT_READ, EV_ADD | EV_ONESHOT, + 0, 0, 0); + EV_SET(&eventlist[1], SIGTERM, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + EV_SET(&eventlist[2], SIGHUP, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + memset(&timeout, 0, sizeof(struct timespec)); + kevent(env->queue, eventlist, + sizeof(eventlist) / sizeof(struct kevent), NULL, 0, &timeout); +} + /* * Socket and kqueues are prepared here. We have one global queue for both * socket and timers events. @@ -185,9 +204,6 @@ int serv_addr_len; struct sockaddr_un serv_addr; - struct kevent eventlist; - struct timespec timeout; - struct runtime_env *retval; TRACE_IN(init_runtime_env); @@ -238,12 +254,8 @@ TRACE_OUT(init_runtime_env); return (NULL); } + tune_runtime_env_kqueue(retval); - EV_SET(&eventlist, retval->sockfd, EVFILT_READ, EV_ADD | EV_ONESHOT, - 0, 0, 0); - memset(&timeout, 0, sizeof(struct timespec)); - kevent(retval->queue, &eventlist, 1, NULL, 0, &timeout); - LOG_MSG_2("runtime environment", "successfully initialized"); TRACE_OUT(init_runtime_env); return (retval); @@ -259,8 +271,6 @@ duplicate_runtime_env(struct runtime_env *env) { struct runtime_env *retval; - struct timespec timeout; - struct kevent eventlist; TRACE_IN(duplicate_runtime_env); retval = malloc(sizeof(struct runtime_env)); @@ -276,10 +286,7 @@ TRACE_OUT(duplicate_runtime_env); return (NULL); } - EV_SET(&eventlist, retval->sockfd, EVFILT_READ, EV_ADD | EV_ONESHOT, - 0, 0, 0); - memset(&timeout, 0, sizeof(struct timespec)); - kevent(retval->queue, &eventlist, 1, NULL, 0, &timeout); + tune_runtime_env_kqueue(retval); TRACE_OUT(duplicate_runtime_env); return (retval); @@ -600,9 +607,10 @@ /* * Processing loop is the basic processing routine, that forms a body of each - * procssing thread + * procssing thread. It works till its thread receives a signal and returns + * the signal number. */ -static void +static int processing_loop(cache the_cache, struct runtime_env *env, struct configuration *config) { @@ -648,6 +656,8 @@ process_timer_event(event_data, env, config); break; + case EVFILT_SIGNAL: + return (event_data->ident); default: break; } @@ -675,6 +685,8 @@ sigemptyset(&new); sigaddset(&new, SIGPIPE); + sigaddset(&new, SIGTERM); + sigaddset(&new, SIGHUP); if (pthread_sigmask(SIG_BLOCK, &new, NULL) != 0) LOG_ERR_1("processing thread", "thread can't block the SIGPIPE signal"); @@ -700,6 +712,51 @@ time->tv_usec = 0; } +int +wait_for_hup_term() +{ + struct kevent eventlist[2]; + int queue, nevents; + + queue = kqueue(); + if (queue == -1) { + LOG_ERR_2("wait_for_hup_term", "can't create kqueue"); + return (-1); + } + + EV_SET(&eventlist[0], SIGTERM, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + EV_SET(&eventlist[1], SIGHUP, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + + nevents = kevent(queue, eventlist, + sizeof(eventlist) / sizeof(struct kevent), eventlist, + sizeof(eventlist) / sizeof(struct kevent), NULL); + if (nevents == 0) { + LOG_ERR_2("wait_for_hup_term", "kevent() returned 0 events"); + close(queue); + return (-1); + } else { + if (nevents != 1) { + LOG_ERR_2("wait_for_hup_term", "kevent() returned more " + "than 1 event"); + close(queue); + return (-1); + } + + if (eventlist[0].flags & EV_ERROR) { + LOG_ERR_2("wait_for_hup_term", "error while registering" + " event with kevent()"); + close(queue); + return (-1); + } + + assert(eventlist[0].filter == EVFILT_SIGNAL); + close(queue); + return (eventlist[0].ident); + } +} + /* * The idea of _nss_cache_cycle_prevention_function is that nsdispatch will * search for this symbol in the executable. This symbol is the attribute of @@ -721,11 +778,13 @@ struct pidfh *pidfile; pid_t pid; + sigset_t psigmask; char const *config_file; char const *error_str; int error_line; int i, res; + int do_gracerestart; int trace_mode_enabled; int force_single_threaded; @@ -735,7 +794,6 @@ int show_statistics; int daemon_mode, interactive_mode; - /* by default all debug messages are omitted */ TRACE_OFF(); @@ -884,8 +942,14 @@ if (trace_mode_enabled == 1) TRACE_ON(); - /* blocking the main thread from receiving SIGPIPE signal */ - sigblock(sigmask(SIGPIPE)); + sigemptyset(&psigmask); + sigaddset(&psigmask, SIGPIPE); + sigaddset(&psigmask, SIGTERM); + sigaddset(&psigmask, SIGHUP); + if (pthread_sigmask(SIG_BLOCK, &psigmask, NULL) != 0) { + LOG_ERR_1("main", "can't set process signal mask"); + return (-1); + } /* daemonization */ if (do_not_daemonize == 0) { @@ -921,6 +985,9 @@ } LOG_MSG_1("main", "request agents registered successfully"); +gracerestart: + do_gracerestart = 0; + /* configuration initialization */ s_configuration = init_configuration(); if (s_configuration == NULL) { @@ -1029,14 +1096,30 @@ thread_args = NULL; } - for (i = 0; i < s_configuration->threads_num; ++i) { - if (threads[i] != NULL) - pthread_join(threads[i], NULL); + switch (wait_for_hup_term()) { + case SIGHUP: + do_gracerestart = 1; + break; + case SIGTERM: + break; + default: + LOG_ERR_1("main", "wait_for_hup_term() failed"); + break; } } else { LOG_MSG_1("main", "working in single-threaded mode"); precache_entries(s_configuration); - processing_loop(s_cache, s_runtime_env, s_configuration); + res = processing_loop(s_cache, s_runtime_env, s_configuration); + switch (res) { + case SIGHUP: + do_gracerestart = 1; + break; + case SIGTERM: + break; + default: + LOG_ERR_1("main", "processing_loop() returned %d", res); + break; + } } fin: @@ -1048,6 +1131,9 @@ /* configuration destruction */ destroy_configuration(s_configuration); + + if (do_gracerestart != 0) + goto gracerestart; /* agents table destruction */ destroy_agent_table(s_agent_table); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B3F816ADEF; Tue, 21 Nov 2006 16:20:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 489DD16ADAB for ; Tue, 21 Nov 2006 16:20:28 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D4C843D58 for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ7SQ045943 for ; Tue, 21 Nov 2006 16:19:07 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ73V045940 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:07 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:07 GMT Message-Id: <200611211619.kALGJ73V045940@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110301 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=110301 Change 110301 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:24:30 check-files directive description added to the man page. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.conf.5#5 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.conf.5#5 (text) ==== @@ -121,15 +121,14 @@ .Ar cachename .Xr cached 8 will act similarly to the NSCD. -.Pp -.Sy NOTE : -this feature is currently experimental \[em] it supports only -.Dq Li passwd , -.Dq Li groups -and -.Dq Li services -cachenames. -.El +.It Va check-files Oo Ar cachename Oc Op Cm yes | no +If enabled, the +.Xr cached 8 +will watch local files (files, that correspond to the +.Dq files +nsswitch source) for changes and flush the cache everytime they're changed. +This option defaults to +.Cm yes . .Sh NOTES You can use the .Ql # From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 37A3F16AED6; Tue, 21 Nov 2006 16:20:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DECCE16ADD7 for ; Tue, 21 Nov 2006 16:20:28 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B4C443E0B for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ5WM045912 for ; Tue, 21 Nov 2006 16:19:05 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ5Qw045908 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:05 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:05 GMT Message-Id: <200611211619.kALGJ5Qw045908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=110296 Change 110296 by bushman@bushman_nss_ldap_cached on 2006/11/20 13:44:08 - pending_write_session removed + reference counting for cache multipart write sessions added to simplify the "clear cached" command implementation Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.c#7 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.h#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#11 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.c#7 (text) ==== @@ -51,9 +51,11 @@ static int cache_lifetime_common_continue_func(struct cache_common_entry_ *, struct cache_policy_item_ *); static void clear_cache_entry(struct cache_entry_ *); +static void delete_cache_mp_write_session(struct cache_mp_write_session_ *); static void destroy_cache_entry(struct cache_entry_ *); static void destroy_cache_mp_read_session(struct cache_mp_read_session_ *); static void destroy_cache_mp_write_session(struct cache_mp_write_session_ *); +static void destroy_queued_cache_mp_write_sessions(struct cache_mp_entry_ *); static int entries_bsearch_cmp_func(const void *, const void *); static int entries_qsort_cmp_func(const void *, const void *); static struct cache_entry_ ** find_cache_entry_p(struct cache_ *, @@ -182,6 +184,21 @@ } static void +delete_cache_mp_write_session(struct cache_mp_write_session_ *ws) +{ + + TRACE_IN(delete_cache_mp_write_session); + assert(ws != NULL); + assert(ws->parent_entry != NULL); + + if (ws->parent_entry->rs_size == 0) + destroy_cache_mp_write_session(ws); + else + TAILQ_INSERT_HEAD(&ws->parent_entry->del_ws_head, ws, entries); + TRACE_OUT(delete_cache_mp_write_session); +} + +static void destroy_cache_mp_write_session(struct cache_mp_write_session_ *ws) { @@ -200,6 +217,26 @@ TRACE_OUT(destroy_cache_mp_write_session); } +static void +destroy_queued_cache_mp_write_sessions(struct cache_mp_entry_ *entry) +{ + + struct cache_mp_write_session_ *ws, *nws; + + TRACE_IN(destroy_queued_cache_mp_write_sessions); + assert(entry != NULL); + + nws = NULL; + TAILQ_FOREACH_SAFE(ws, &entry->del_ws_head, entries, nws) { + if (ws->ref_counter == 0) { + TAILQ_REMOVE(&entry->del_ws_head, ws, entries); + destroy_cache_mp_write_session(ws); + } + } + + TRACE_OUT(destroy_queued_cache_mp_write_sessions); +} + static void destroy_cache_mp_read_session(struct cache_mp_read_session_ *rs) { @@ -258,6 +295,12 @@ TAILQ_REMOVE(&mp_entry->ws_head, ws, entries); destroy_cache_mp_write_session(ws); } + + while (!TAILQ_EMPTY(&mp_entry->del_ws_head)) { + ws = TAILQ_FIRST(&mp_entry->del_ws_head); + TAILQ_REMOVE(&mp_entry->del_ws_head, ws, entries); + destroy_cache_mp_write_session(ws); + } while (!TAILQ_EMPTY(&mp_entry->rs_head)) { rs = TAILQ_FIRST(&mp_entry->rs_head); @@ -268,10 +311,6 @@ if (mp_entry->completed_write_session != NULL) destroy_cache_mp_write_session( mp_entry->completed_write_session); - - if (mp_entry->pending_write_session != NULL) - destroy_cache_mp_write_session( - mp_entry->pending_write_session); } free(entry->name); @@ -322,24 +361,17 @@ } else { mp_entry = (struct cache_mp_entry_ *)entry; - /* - * NOTE: currently multipart entries are cleared only if - * there are no opened read sessions. It leads to possible - * failues of cache clearing requests. Possibly, some simple - * reference counting should be used to avoid this - */ - if (mp_entry->rs_size == 0) { - if (mp_entry->completed_write_session != NULL) { - destroy_cache_mp_write_session( - mp_entry->completed_write_session); - mp_entry->completed_write_session = NULL; - } + if (mp_entry->completed_write_session != NULL) { + delete_cache_mp_write_session( + mp_entry->completed_write_session); + mp_entry->completed_write_session = NULL; + } + destroy_queued_cache_mp_write_sessions(mp_entry); - memset(&mp_entry->creation_time, 0, - sizeof(struct timeval)); - memset(&mp_entry->last_request_time, 0, - sizeof(struct timeval)); - } + memset(&mp_entry->creation_time, 0, + sizeof(struct timeval)); + memset(&mp_entry->last_request_time, 0, + sizeof(struct timeval)); } } @@ -693,6 +725,7 @@ new_mp_entry->name = new_mp_entry->mp_params.entry_name; TAILQ_INIT(&new_mp_entry->ws_head); + TAILQ_INIT(&new_mp_entry->del_ws_head); TAILQ_INIT(&new_mp_entry->rs_head); new_mp_entry->get_time_func = the_cache->params.get_time_func; @@ -1097,25 +1130,12 @@ TAILQ_REMOVE(&ws->parent_entry->ws_head, ws, entries); --ws->parent_entry->ws_size; - if (ws->parent_entry->completed_write_session == NULL) { - /* - * If there is no completed session yet, this will be the one - */ - ws->parent_entry->get_time_func( - &ws->parent_entry->creation_time); - ws->parent_entry->completed_write_session = ws; - } else { - /* - * If there is a completed session, then we'll save our session - * as a pending session. If there is already a pending session, - * it would be destroyed. - */ - if (ws->parent_entry->pending_write_session != NULL) - destroy_cache_mp_write_session( - ws->parent_entry->pending_write_session); + if (ws->parent_entry->completed_write_session != NULL) + delete_cache_mp_write_session( + ws->parent_entry->completed_write_session); - ws->parent_entry->pending_write_session = ws; - } + ws->parent_entry->get_time_func(&ws->parent_entry->creation_time); + ws->parent_entry->completed_write_session = ws; TRACE_OUT(close_cache_mp_write_session); } @@ -1126,7 +1146,7 @@ struct cache_mp_read_session_ * open_cache_mp_read_session(struct cache_entry_ *entry) { - struct cache_mp_entry_ *mp_entry; + struct cache_mp_entry_ *mp_entry; struct cache_mp_read_session_ *retval; TRACE_IN(open_cache_mp_read_session); @@ -1157,6 +1177,8 @@ } memset(retval, 0, sizeof(struct cache_mp_read_session_)); + ++mp_entry->completed_write_session->ref_counter; + retval->linked_ws = mp_entry->completed_write_session; retval->parent_entry = mp_entry; retval->current_item = TAILQ_FIRST( &mp_entry->completed_write_session->items); @@ -1233,16 +1255,9 @@ assert(rs->parent_entry != NULL); TAILQ_REMOVE(&rs->parent_entry->rs_head, rs, entries); - --rs->parent_entry->rs_size; - - if ((rs->parent_entry->rs_size == 0) && - (rs->parent_entry->pending_write_session != NULL)) { - destroy_cache_mp_write_session( - rs->parent_entry->completed_write_session); - rs->parent_entry->completed_write_session = - rs->parent_entry->pending_write_session; - rs->parent_entry->pending_write_session = NULL; - } + --rs->parent_entry->rs_size; + --rs->linked_ws->ref_counter; + destroy_queued_cache_mp_write_sessions(rs->parent_entry); destroy_cache_mp_read_session(rs); TRACE_OUT(close_cache_mp_read_session); ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.h#5 (text) ==== @@ -183,12 +183,14 @@ size_t items_size; TAILQ_ENTRY(cache_mp_write_session_) entries; + int ref_counter; }; struct cache_mp_read_session_ { struct cache_mp_entry_ *parent_entry; struct cache_mp_data_item_ *current_item; + struct cache_mp_write_session_ *linked_ws; /* Data are read from it*/ TAILQ_ENTRY(cache_mp_read_session_) entries; }; @@ -204,9 +206,13 @@ TAILQ_HEAD(write_sessions_head, cache_mp_write_session_) ws_head; size_t ws_size; + /* Write sessions, queued for deletion */ + TAILQ_HEAD(del_write_sessions_head, cache_mp_write_session_) + del_ws_head; + /* All opened read sessions */ TAILQ_HEAD(read_sessions_head, cache_mp_read_session_) rs_head; - size_t rs_size; + size_t rs_size; /* * completed_write_session is the committed write sessions. All read @@ -218,7 +224,6 @@ * the read sessions. */ struct cache_mp_write_session_ *completed_write_session; - struct cache_mp_write_session_ *pending_write_session; struct timeval creation_time; struct timeval last_request_time; ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#11 (text) ==== @@ -1097,6 +1097,7 @@ break; default: transform_response->error_code = -1; + break; } fin: From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BEDD16AED7; Tue, 21 Nov 2006 16:20:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7432216ADB8 for ; Tue, 21 Nov 2006 16:20:28 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id DAE5143E10 for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ6Cu045925 for ; Tue, 21 Nov 2006 16:19:06 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ6gM045922 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:06 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:06 GMT Message-Id: <200611211619.kALGJ6gM045922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=110298 Change 110298 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:16:20 Additions to the previous commit. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#8 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#8 (text) ==== From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:20:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44CC816AEDB; Tue, 21 Nov 2006 16:20:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A55C816ADD1 for ; Tue, 21 Nov 2006 16:20:28 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B48143E09 for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ3vp045881 for ; Tue, 21 Nov 2006 16:19:03 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ3c8045878 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:03 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:03 GMT Message-Id: <200611211619.kALGJ3c8045878@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110291 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:20:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=110291 Change 110291 by bushman@bushman_nss_ldap_cached on 2006/11/20 11:09:09 + Now, before writing something to cache, we check for such element existence. With this check we now avoid some race-condition situations, when 2 program write similar data to the same cache entry. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#10 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#10 (text) ==== @@ -339,6 +339,7 @@ struct cache_write_request *write_request; struct cache_write_response *write_response; cache_entry c_entry; + size_t tdata_size; TRACE_IN(on_write_request_process); init_comm_element(&qstate->response, CET_WRITE_RESPONSE); @@ -386,19 +387,35 @@ if (c_entry != NULL) { configuration_lock_entry(qstate->config_entry, CELT_POSITIVE); qstate->config_entry->positive_cache_entry = c_entry; - write_response->error_code = cache_write(c_entry, + + /* checking if there is already a record in the cache */ + write_response->error_code = cache_read(c_entry, write_request->cache_key, - write_request->cache_key_size, - write_request->data, - write_request->data_size); - configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE); + write_request->cache_key_size, NULL, + &tdata_size); + + if (write_response->error_code == -1) { + write_response->error_code = cache_write(c_entry, + write_request->cache_key, write_request->cache_key_size, + write_request->data, write_request->data_size); - if ((qstate->config_entry->common_query_timeout.tv_sec != 0) || - (qstate->config_entry->common_query_timeout.tv_usec != 0)) + if ((qstate->config_entry->common_query_timeout.tv_sec + != 0) || + (qstate->config_entry->common_query_timeout.tv_usec + != 0)) memcpy(&qstate->timeout, - &qstate->config_entry->common_query_timeout, - sizeof(struct timeval)); - + &qstate->config_entry->common_query_timeout, + sizeof(struct timeval)); + } else { + LOG_ERR_2("write_request", + "trying to write to entry '%s', despite that " + "there is already an element with specified " + "key in the cache", write_request->entry); + + write_response->error_code = -1; + } + + configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE); } else write_response->error_code = -1; @@ -417,6 +434,7 @@ struct cache_write_request *write_request; struct cache_write_response *write_response; cache_entry c_entry; + size_t tdata_size; TRACE_IN(on_negative_write_request_process); init_comm_element(&qstate->response, CET_WRITE_RESPONSE); @@ -468,20 +486,37 @@ if (c_entry != NULL) { configuration_lock_entry(qstate->config_entry, CELT_NEGATIVE); qstate->config_entry->negative_cache_entry = c_entry; - write_response->error_code = cache_write(c_entry, + + write_response->error_code = cache_read(c_entry, write_request->cache_key, - write_request->cache_key_size, - negative_data, - sizeof(negative_data)); + write_request->cache_key_size, + NULL, + &tdata_size); + if (write_response->error_code == -1) { + write_response->error_code = cache_write(c_entry, + write_request->cache_key, write_request->cache_key_size, + negative_data, sizeof(negative_data)); + + if ((qstate->config_entry->common_query_timeout.tv_sec + != 0) || + (qstate->config_entry->common_query_timeout.tv_usec + != 0)) + memcpy(&qstate->timeout, + &qstate->config_entry->common_query_timeout, + sizeof(struct timeval)); + } else + write_response->error_code = -1; + configuration_unlock_entry(qstate->config_entry, CELT_NEGATIVE); - - if ((qstate->config_entry->common_query_timeout.tv_sec != 0) || - (qstate->config_entry->common_query_timeout.tv_usec != 0)) - memcpy(&qstate->timeout, - &qstate->config_entry->common_query_timeout, - sizeof(struct timeval)); - } else + } else { + LOG_ERR_2("write_request", + "trying to write negative request to entry " + "'%s', despite that " + "there is already an element with specified " + "key in the cache", write_request->entry); + write_response->error_code = -1; + } fin: qstate->kevent_filter = EVFILT_WRITE; @@ -697,9 +732,11 @@ } configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE); - configuration_lock_entry(qstate->config_entry, CELT_NEGATIVE); - qstate->config_entry->negative_cache_entry = neg_c_entry; if (read_response->error_code == -1) { + configuration_lock_entry(qstate->config_entry, + CELT_NEGATIVE); + qstate->config_entry->negative_cache_entry = + neg_c_entry; read_response->error_code = cache_read(neg_c_entry, read_request->cache_key, read_request->cache_key_size, NULL, @@ -710,8 +747,9 @@ read_response->data = NULL; read_response->data_size = 0; } - } - configuration_unlock_entry(qstate->config_entry, CELT_NEGATIVE); + configuration_unlock_entry(qstate->config_entry, + CELT_NEGATIVE); + } if ((read_response->error_code == -1) && (qstate->config_entry->flags & From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 083A016AFAC; Tue, 21 Nov 2006 16:21:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C914516AFAA for ; Tue, 21 Nov 2006 16:21:01 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 391A043DE4 for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ7d7045931 for ; Tue, 21 Nov 2006 16:19:07 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ6Vc045928 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:06 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:06 GMT Message-Id: <200611211619.kALGJ6Vc045928@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=110299 Change 110299 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:17:21 Forgot to include it into pre-previous commit and commited empty changes set during previous commit. Now everything should be right. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#9 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#9 (text) ==== @@ -149,8 +149,12 @@ TRACE_IN(set_check_files); entry = find_create_entry(config, entry_name); -// if (entry != NULL) -// entry->check_files = flag; + if (entry != NULL) { + if (flag != 0) + entry->flags |= CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG; + else + entry->flags &= ~CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG; + } TRACE_OUT(set_check_files); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83CCA16A47B; Tue, 21 Nov 2006 16:21:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 49ECB16A40F for ; Tue, 21 Nov 2006 16:21:05 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3936443DF2 for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ5en045905 for ; Tue, 21 Nov 2006 16:19:05 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ4Iq045902 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:04 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:04 GMT Message-Id: <200611211619.kALGJ4Iq045902@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110295 Change 110295 by bushman@bushman_nss_ldap_cached on 2006/11/20 13:42:55 get**ent() calls should always return NULL after the end of the items list is reached. New session should be opened only after set**ent() call. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nscache.c#6 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nscache.c#6 (text) ==== @@ -361,9 +361,6 @@ res = 0; } else { free(buffer); - __close_cached_mp_read_session(rs); - rs = INVALID_CACHED_MP_READ_SESSION; - cache_info->set_mp_rs_func(rs); return (res == -1 ? NS_RETURN : NS_UNAVAIL); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6AE1916A644; Tue, 21 Nov 2006 16:21:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 48A9616A640 for ; Tue, 21 Nov 2006 16:21:06 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D9F743D73 for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ8dm045949 for ; Tue, 21 Nov 2006 16:19:08 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ8TC045946 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:08 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:19:08 GMT Message-Id: <200611211619.kALGJ8TC045946@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110302 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=110302 Change 110302 by imp@imp_paco-paco on 2006/11/20 14:56:04 Merge from head Affected files ... .. //depot/projects/arm/src/sys/arm/conf/AVILA#10 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/AVILA#10 (text+ko) ==== @@ -1,4 +1,5 @@ -# GENERIC -- Generic kernel configuration file for FreeBSD/arm +# AVILA -- Gateworks Avila XScale board +# kernel configuration file for FreeBSD/arm # # For more information on this file, please read the handbook section on # Kernel Configuration Files: @@ -15,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/IQ31244,v 1.15 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.1 2006/11/19 23:58:12 sam Exp $ machine arm ident AVILA @@ -35,9 +36,15 @@ options HZ=100 options DEVICE_POLLING -options INVARIANTS #Enable calls of extra sanity checking -options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS #Enable checks to detect deadlocks and cycles +# Debugging for use in -current +options KDB +#options GDB +options DDB #Enable the kernel debugger +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options DIAGNOSTIC options SCHED_4BSD #4BSD scheduler options KSE @@ -85,12 +92,12 @@ device ixpiic device ixpwdog # watchdog timer -device rtc_avila # DS1762 on I2C bus -device adc_avila # AD7418 on I2C bus +device ds1672 # DS1672 on I2C bus +device ad7418 # AD7418 on I2C bus device ata -device ata_avila # Gateworks CF/IDE support device atadisk # ATA disk drives +device avila_ata # Gateworks CF/IDE support device npe # Network Processing Engine device npe_fw # NPE firmware @@ -104,16 +111,6 @@ device loop device if_bridge -# Debugging for use in -current -options KDB -#options GDB -options DDB #Enable the kernel debugger -#options INVARIANTS #Enable calls of extra sanity checking -#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS -#options WITNESS #Enable checks to detect deadlocks and cycles -#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed -#options DIAGNOSTIC - # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O @@ -122,7 +119,6 @@ device random # Entropy device #options ARM_USE_SMALL_ALLOC -# Floppy drives # Wireless NIC cards device wlan # 802.11 support From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9F6016B085; Tue, 21 Nov 2006 16:21:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6724416B040 for ; Tue, 21 Nov 2006 16:21:07 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7580143D7E for ; Tue, 21 Nov 2006 16:19:19 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJJxg046074 for ; Tue, 21 Nov 2006 16:19:19 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJIC3046071 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:18 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:19:18 GMT Message-Id: <200611211619.kALGJIC3046071@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=110322 Change 110322 by imp@imp_lighthouse on 2006/11/21 00:54:04 Don't return EIO when reset works (doesn't matter though) Add silly printf at91_twi_wait() returns 0 for success, not failure. We now seem to read things, but the data isn't returned to userland for reasosn unknown. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91_twi.c#27 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91_twi.c#27 (text+ko) ==== @@ -396,7 +396,7 @@ WR4(sc, TWI_CR, TWI_CR_MSEN | TWI_CR_SVDIS); WR4(sc, TWI_CWGR, sc->cwgr); - return EIO; + return 0; } static int @@ -435,6 +435,8 @@ * See http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-September/024411.html * for details. */ + printf("%d: flags %#x len %d buf %p\n", i, msgs[i].flags, + msgs[i].len, msgs[i].buf); rdwr = (msgs[i].flags & IIC_M_RD) ? TWI_MMR_MREAD : 0; WR4(sc, TWI_MMR, TWI_MMR_DADR(msgs[i].slave) | rdwr); len = msgs[i].len; @@ -446,7 +448,7 @@ while (len--) { if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (!at91_twi_wait(sc, TWI_SR_RXRDY)) { + if (at91_twi_wait(sc, TWI_SR_RXRDY)) { printf("1\n"); return (EIO); } @@ -457,13 +459,13 @@ WR4(sc, TWI_THR, *buf++); if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (!at91_twi_wait(sc, TWI_SR_TXRDY)) { + if (at91_twi_wait(sc, TWI_SR_TXRDY)) { printf("3\n"); return (EIO); } } } - if (!at91_twi_wait(sc, TWI_SR_TXCOMP)) { + if (at91_twi_wait(sc, TWI_SR_TXCOMP)) { printf("2\n"); return (EIO); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DCAA16B32D; Tue, 21 Nov 2006 16:21:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7F86116B05E for ; Tue, 21 Nov 2006 16:21:07 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B9DFE43DB5 for ; Tue, 21 Nov 2006 16:19:05 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJC3U045999 for ; Tue, 21 Nov 2006 16:19:12 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJCGF045996 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:12 GMT (envelope-from adamartin@FreeBSD.org) Date: Tue, 21 Nov 2006 16:19:12 GMT Message-Id: <200611211619.kALGJCGF045996@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 110310 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=110310 Change 110310 by adamartin@adamartin_hobbes on 2006/11/20 17:30:15 Autofs Device functions now mostly implemented. Also some improved 'queue' functions. Lastly, autofs config program, afsconfig, added to enable creation (and soon deletion) of /dev/autofs0...N devices. Affected files ... .. //depot/projects/soc2006/adamartin_autofs/afsconfig/Makefile#1 add .. //depot/projects/soc2006/adamartin_autofs/afsconfig/afsconfig.c#1 add .. //depot/projects/soc2006/adamartin_autofs/autofs/Makefile#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs.c#7 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs.h#7 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.c#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.h#5 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.h#4 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_subr.c#3 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_types.h#1 add Differences ... ==== //depot/projects/soc2006/adamartin_autofs/autofs/Makefile#6 (text+ko) ==== @@ -28,14 +28,21 @@ AUTOFS_DEV_SOURCE=autofs_ctl.c autofs_dev.c AUTOFS_FS_SOURCE=autofs_pfsops.c vnode_if.h -AUTOFS_CORE_SOURCE=autofs.c protocol.c autofs_subr.c -SRCS=$(AUTOFS_CORE_SOURCE) $(AUTOFS_FS_SOURCE) $(AUTOFS_DEV_SOURCE) +AUTOFS_CORE_SOURCE=autofs.c protocol.c +AUTOFS_SUPPORT_SOURCE=autofs_subr.c +SRCS=$(AUTOFS_CORE_SOURCE) $(AUTOFS_FS_SOURCE) $(AUTOFS_DEV_SOURCE) $(AUTOFS_SUPPORT_SOURCE) HEADERS=autofs.h cleanup.h protocol.h autofs_subr.h autofs_ctl.h autofs_dev.h debug.h KMOD=autofs autofs.c: $(HEADERS) -autofs_vfsops.c: $(HEADERS) +autofs_pfsops.c: $(HEADERS) + +protocol.c: $(HEADERS) + +autofs_subr.c: $(HEADERS) + +autofs_dev.c: $(HEADERS) autofs_vnops.c: $(HEADERS) ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs.c#7 (text+ko) ==== @@ -109,9 +109,7 @@ -int vn_iscdev( struct vnode *vp, int *errp ); - -int +static int vn_iscdev( struct vnode *vp, int *errp ) { $cleanup_init_size( 8 ); ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs.h#7 (text+ko) ==== @@ -40,6 +40,7 @@ #include "cleanup.h" +#include #define AUTOFS_VERSION ( 1 ) @@ -63,4 +64,46 @@ #define KPRINTF EPRINTF +/**************** FORWARD DEFINITIONS ******************/ +struct autofs_instance; +struct autofs_dev_bufs; +struct autofs_mounts; +struct vnode; +struct pfs_node; + +struct proc; + + +typedef struct proc kthread_t; +typedef struct autofs_instance autofs_instance_t; +typedef struct autofs_mounts autofs_mounts_t; + +/************** END FORWARD DEFINITIONS *****************/ + + +//typedef struct autofs_dev_bufs autofs_dev_bufs_t; + + +struct autofs_instance +{ + struct autofs_dev_bufs *device; + kthread_t *controller_thread; + + autofs_mounts_t *mount_list; + + void *extensions; +}; + + +struct autofs_mounts +{ + autofs_mounts_t *next; + autofs_instance_t *instance_p; + char *mountpoint; + struct pfs_node *mount_file; /**The pn_data field points to the autofs mount + structure **/ + int timeout; /* Timeout in seconds */ + int time_remaining; /* Time remaining until next timeout event */ +}; + #endif /*** __AUTOFS_MAIN_HEADER__ ***/ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.c#6 (text+ko) ==== @@ -67,7 +67,7 @@ int autofs_ctl_init() { - DEBUG KPRINTF( "Initializing " ); + DEBUG KPRINTF( "Initializing autofs ctl device...\n" ); return 0; } @@ -78,7 +78,22 @@ MALLOC_DECLARE( M_AUTOFS_DEV_BUFFERS ); MALLOC_DEFINE( M_AUTOFS_DEV_BUFFERS, "autofs_dev_buffers", "autofs device io buffers" ); -int create_autofs_node( int num ) +MALLOC_DEFINE( M_AUTOFS_DEV_LOCKS, "autofs_dev_lock", "Autofs mutex locks for individual devices..." ); + + +static int +destroy_autofs_node( int num ) +{ + int error; + + error= 0; + + + return ENOSYS; +} + +static int +create_autofs_node( int num ) { int error; struct cdevsw *autofs_cdevsw; @@ -88,11 +103,13 @@ error= 0; autofs_cdevsw= malloc( sizeof( struct cdevsw ), M_AUTOFS_DEV, M_WAITOK ); - autofs_dev_data= malloc( sizeof( struct autofs_dev_bufs ), M_AUTOFS_DEV_BUFFERS, - M_WAITOK ); + autofs_dev_data= malloc( sizeof( struct autofs_dev_bufs ), + M_AUTOFS_DEV_BUFFERS, M_WAITOK ); + autofs_dev_data->input= autofs_queue_init(); autofs_dev_data->output= autofs_queue_init(); + autofs_dev_data->instances= 0; autofs_cdevsw->d_open= autofs_dev_open; autofs_cdevsw->d_close= autofs_dev_close; @@ -131,10 +148,12 @@ { $cleanup_init_size( 8 ); int error= 0; - int *argp= (int *) arg_c; + int *argp; int arg; - argp= NULL; + //argp= NULL; + argp= (int *) arg_c; + arg= *argp; error= EOPNOTSUPP; //$return EOPNOTSUPP; @@ -156,6 +175,13 @@ break; + case AFSIODESTROYDEV: + error= destroy_autofs_node( arg ); + + $do_cleanup; + + break; + default: /* NOTREACHED */ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.h#5 (text+ko) ==== @@ -30,9 +30,12 @@ #ifndef __AUTOFS_CTL_H__ #define __AUTOFS_CTL_H__ +#include +#include +#ifdef _KERNEL #include "autofs.h" #include "autofs_subr.h" -#include + #include #include /* uprintf */ #include @@ -45,9 +48,7 @@ #include #include -#include -#define AUTOFS_CTL_DEV_NAME "autofs_ctl" @@ -55,7 +56,6 @@ extern struct cdevsw autofs_ctl_devops; -typedef int *_int_p; struct autofs_ctl_state { @@ -67,7 +67,9 @@ extern struct autofs_ctl_state autofs_ctl_state; extern int autofs_ctl_init( void ); -int create_autofs_node( int num ); + +//int destroy_autofs_node( int num ); +//int create_autofs_node( int num ); #define MAX_NODE_COUNT ( 32 ) @@ -76,21 +78,18 @@ -struct autofs_dev_bufs { - queue *input; - queue *output; -}; + +#endif + +typedef int *_int_p; /** Are we allowed to reuse group "a"? **/ +#define AFSIOCREATDEV _IOR('a', 1, _int_p) /* 1 - create autofs node */ +#define AFSIODESTROYDEV _IOR('a', 2, _int_p) /* 2 - destroy autofs node */ -#define AFSIOCREATDEV _IOR('a', 1, _int_p) /* 1 - create autofs node */ +#define AUTOFS_CTL_DEV_NAME "autofs_ctl" -#define AUTOFS_GET_BUFFERS( p_info )\ - ( (struct autofs_dev_bufs *) ( AUTOFS_GET_DEV( ( p_info ) )->si_priv ) ) - -#define AUTOFS_GET_DEV( p_info )\ - ( (struct cdev *) ( ( p_info )->pi_priv ) ) #endif /** __AUTOFS_CTL_H__ **/ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#6 (text+ko) ==== @@ -36,15 +36,21 @@ #include #include /* defines used in kernel.h */ #include /* types used in module initialization */ +#include /* used for devsw function */ #include #include #include #include +#include "debug.h" #include "cleanup.h" +#include "autofs_ctl.h" #include "autofs_dev.h" +#include "autofs_subr.h" +#define AUTOFS_IO_BUF_SIZE ( 4096 ) + struct uio *in_buffer, *out_buffer; int @@ -62,12 +68,134 @@ -int autofs_dev_open( struct cdev *dev, int oflags, int devtype, struct thread *td ) +int +autofs_dev_open( struct cdev *dev, int oflags, int devtype, + struct thread *td ) +{ + int error; + int *inst_p; + error= 0; + + inst_p= & ( AUTOFS_DEV_GET_PRIVATE( dev )->instances ); + + if( *inst_p == 0 ) + { + ( *inst_p )++; + } else { + DEBUG EPRINTF( "Tried to open the autofs device \"%s\" " + "multiple times!\n", dev->si_devsw->d_name ); + error= ENXIO; + } + + return error; +} + +int +autofs_dev_close( struct cdev *dev, int oflags, int devtype, + struct thread *td ) +{ + int error; + int *inst_p; + error= 0; + + inst_p= &( AUTOFS_DEV_GET_PRIVATE( dev )->instances ); + + if( *inst_p == 0 ) + { + DEBUG EPRINTF( "Tried to close device: \"%s\", beyond natural " + "close minimum!\n", dev->si_devsw->d_name ); + error= EDOOFUS; + } + else + { + ( *inst_p )--; + } + + + return error; +} + +MALLOC_DECLARE( M_AUTOFS_DEV_OUT ); +MALLOC_DEFINE( M_AUTOFS_DEV_OUT, "autofs read", "Autofs read bounce buffer" ); + + +int +autofs_dev_read( struct cdev *dev, struct uio *uio, int ioflag ) +{ + int remains; + struct autofs_dev_bufs *bufs; + queue *q; + int amt; + int error; + unsigned char out_buf[ AUTOFS_IO_BUF_SIZE ]; /* No more than a page! */ + + error= 0; + amt= MIN( uio->uio_resid, AUTOFS_IO_BUF_SIZE ); + + bufs= AUTOFS_DEV_GET_BUFFERS( dev ); + q= bufs->output; + + + do + { + remains= autofs_queue_remaining( q ); + /* + * We really should do SOME kind of sleep. This is more a spinlock + * right now. + */ + } + while( remains > 0 ); + + amt= MIN( remains, amt ); + autofs_queue_read( q, out_buf, amt ); + + error= uiomove( out_buf, amt, uio ); + + + return error; +} + +int +autofs_dev_write( struct cdev *dev, struct uio *uio, int ioflag ) { + struct autofs_dev_bufs *bufs; + queue *q; + int amt; int error; - int i; + unsigned char in_buf[ AUTOFS_IO_BUF_SIZE ]; /* No more than a page! */ + error= 0; - i= minor( dev ); + amt= MIN( uio->uio_resid, AUTOFS_IO_BUF_SIZE ); + + bufs= AUTOFS_DEV_GET_BUFFERS( dev ); + q= bufs->input; + + + error= uiomove( in_buf, amt, uio ); + if( error ) + { + return error; + } + + + autofs_queue_write( q, in_buf, amt ); + return error; } + +int +autofs_dev_poll( struct cdev *dev, int events, struct thread *td ) +{ + int rv= 0; + struct autofs_dev_bufs *bufs; + queue *q; + + bufs= AUTOFS_DEV_GET_BUFFERS( dev ); + q= bufs->output; + + + rv= autofs_queue_remaining( q ); + + return rv; +} ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.h#4 (text+ko) ==== @@ -1,3 +1,35 @@ +/*- + * Copyright (c) 2006 + * Adam Martin, Erez Zadok. All rights reserved. + * + * This code is derived from software in FreeBSD, and 4.4BSD. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The authors' names may not be used to endorse or promote products + * derived from this software without specific written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef __AUTOFS_DEVICE_HEADER__ +#define __AUTOFS_DEVICE_HEADER__ + #include #include @@ -14,3 +46,32 @@ int autofs_dev_read( struct cdev *dev, struct uio *uio, int ioflag ); int autofs_dev_write( struct cdev *dev, struct uio *uio, int ioflag ); int autofs_dev_poll( struct cdev *dev, int events, struct thread *td ); + + +struct autofs_dev_bufs; +typedef struct autofs_dev_bufs autofs_dev_bufs_t; + +struct autofs_dev_bufs +{ + queue *input; + queue *output; + int instances; + struct mtx *autofs_dev_lock; + autofs_instance_t *this_instance; +}; + + + + +#define AUTOFS_GET_BUFFERS( p_info )\ + ( AUTOFS_DEV_GET_BUFFERS( AUTOFS_GET_DEV( ( p_info ) ) ) ) + +#define AUTOFS_DEV_GET_PRIVATE AUTOFS_DEV_GET_BUFFERS +#define AUTOFS_DEV_GET_BUFFERS( afs_dev )\ + ( (struct autofs_dev_bufs *) ( ( afs_dev )->si_priv ) ) + +#define AUTOFS_GET_DEV( p_info )\ + ( (struct cdev *) ( ( p_info )->pi_priv ) ) + + +#endif /*** __AUTOFS_DEVICE_HEADER__ ***/ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#6 (text+ko) ==== @@ -59,6 +59,7 @@ #include "protocol.h" #include "debug.h" #include "autofs_ctl.h" +#include "autofs_dev.h" MALLOC_DEFINE(M_AUTOFS_MOUNTBUF, "AutoFS mntbuf", "AutoFS mountpoint data, to simulate filesystem contents."); ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_subr.c#3 (text+ko) ==== @@ -4,7 +4,8 @@ int autofs_queue_write( queue *q, void *buf, int len ) { - m_append( (struct mbuf *) q, len, buf ); + struct mbuf *mb= (struct mbuf *) q; + m_append( mb, len, buf ); return 0; } @@ -12,8 +13,10 @@ int autofs_queue_read( queue *q, void *buf, int len ) { - m_copydata( (struct mbuf *) q, 0, len, (caddr_t) buf ); - m_adj( (struct mbuf *) q, len ); + struct mbuf *mb= (struct mbuf *) q; + + m_copydata( mb, 0, len, (caddr_t) buf ); + m_adj( mb, len ); return 0; } @@ -27,3 +30,14 @@ return (queue *) rv; } + +int +autofs_queue_remaining( queue *q ) +{ + struct mbuf *mb= (struct mbuf *) q; + int len; + + len= m_length( mb, NULL ); + + return len; /* How much remains... */ +} From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E247616B3D1; Tue, 21 Nov 2006 16:21:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C084216B3CE for ; Tue, 21 Nov 2006 16:21:12 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34E6643DB9 for ; Tue, 21 Nov 2006 16:19:01 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJ6dr045919 for ; Tue, 21 Nov 2006 16:19:06 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJ5cC045916 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:05 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:05 GMT Message-Id: <200611211619.kALGJ5cC045916@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110297 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=110297 Change 110297 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:11:17 Parser and configuration updated to support "check-files" configuration directive. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/agent.c#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.c#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.h#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#7 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/agent.c#8 (text) ==== @@ -240,8 +240,9 @@ { int retval; - TRACE_IN(agent_check_changes); - if ((agent_ == NULL) || (agent_->check_changes_func == NULL)) { + TRACE_IN(agent_check_changes); + if ((agent_ == NULL) || (agent_->check_changes_func == NULL) || + (!(config_entry->flags & CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG))) { TRACE_OUT(agent_check_changes); return (0); } ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.c#8 (text) ==== @@ -149,6 +149,7 @@ return (NULL); } memset(retval, 0, sizeof(struct configuration_entry)); + retval->flags = CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG; res = pthread_mutex_init(&retval->positive_cache_lock, NULL); if (res != 0) { ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.h#8 (text) ==== @@ -61,7 +61,7 @@ #define CONFIG_ENTRY_PERFORM_ACTUAL_LOOKUPS_FLAG (1 << 1) #define CONFIG_ENTRY_PRECACHING_ENABLED_FLAG (1 << 2) #define CONFIG_ENTRY_PRECACHING_NO_AUTO_FLUSH_FLAG (1 << 3) - +#define CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG (1 << 4) extern const char *c_default_entries[6]; ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#7 (text) ==== From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2EFC16B478; Tue, 21 Nov 2006 16:21:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 74ED116B463 for ; Tue, 21 Nov 2006 16:21:15 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id C15FB43DB1 for ; Tue, 21 Nov 2006 16:19:24 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJSpQ046127 for ; Tue, 21 Nov 2006 16:19:28 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJQaI046124 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:26 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 16:19:26 GMT Message-Id: <200611211619.kALGJQaI046124@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110330 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=110330 Change 110330 by bushman@bushman_nss_ldap_cached on 2006/11/21 08:20:32 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/amd.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#11 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.local.dist#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.usr.dist#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipfilter#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/Makefile#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/ar.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#12 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/arith.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/htonl.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/htons.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/ntohl.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/ntohs.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/cerror.S#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/ptrace.S#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/byte_swap_2.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/byte_swap_4.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/Makefile.inc#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/gethostbyname.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/ntoh.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/resolver.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/Makefile.inc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/clock_gettime.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/getpid.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/kqueue.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/ptrace.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/statfs.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_ok.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.endian.mk#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.port.mk#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.sys.mk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.freebsd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fetch/fetch.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrace/ktrace.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/if.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/sockstat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/sockstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/vmstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/getdate.y#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/top/machine.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/vmstat/vmstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/vmstat/vmstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/Makefile#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidd/client.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/bsnmpd/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ipfwpcap/ipfwpcap.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/kbdcontrol/kbdcontrol.1#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/kbdcontrol/kbdcontrol.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mountd/mountd.c#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pccard/dumpcis/dumpcis.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/portsnap/phttpget/phttpget.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/eui64.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/eui64.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/ipv6cp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/ipv6cp.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/options.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/pathnames.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/pppd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/pppd.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/sys-bsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/route6d/route6d.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/config.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/index.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/install.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/installUpgrade.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.563 2006/10/16 22:18:13 jb Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.564 2006/11/13 05:52:11 ru Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -30,18 +30,17 @@ # entries works correctly. Do it first since it is less likely to # grow dependencies on include and lib than vice versa. # -# We must do lib and libexec before bin, because if installworld +# We must do lib/ and libexec/ before bin/, because if installworld # installs a new /bin/sh, the 'make' command will *immediately* # use that new version. And the new (dynamically-linked) /bin/sh # will expect to find appropriate libraries in /lib and /libexec. # -# We must do etc last for install/distribute to work. -# -SUBDIR= share/info include lib libexec bin +SUBDIR= share/info lib libexec +SUBDIR+=bin .if ${MK_GAMES} != "no" SUBDIR+=games .endif -SUBDIR+=gnu +SUBDIR+=gnu include .if ${MK_KERBEROS} != "no" SUBDIR+=kerberos5 .endif @@ -55,7 +54,11 @@ .if !defined(NO_SHARE) SUBDIR+=share .endif -SUBDIR+=sys usr.bin usr.sbin etc +SUBDIR+=sys usr.bin usr.sbin +# +# We must do etc/ last for install/distribute to work. +# +SUBDIR+=etc # These are last, since it is nice to at least get the base system # rebuilt before you do them. ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/amd.map#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/amd.map,v 1.9 2002/05/15 22:24:29 obrien Exp $ +# $FreeBSD: src/etc/amd.map,v 1.10 2006/11/06 01:42:11 obrien Exp $ # /defaults type:=host;fs:=${autodir}/${rhost}/host;rhost:=${key} -* opts:=rw,grpid,resvport,vers=3,proto=udp,nosuid,nodev +* opts:=rw,grpid,resvport,vers=3,proto=tcp,nosuid,nodev ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#11 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.301 2006/10/28 20:08:12 phk Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.302 2006/11/06 15:11:24 rwatson Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -478,6 +478,7 @@ ############################################################## auditd_enable="NO" # Run the audit daemon. +auditd_program="/usr/sbin/auditd" # Path to the audit daemon. auditd_flags="" # Which options to pass to the audit daemon. cached_enable="NO" # Run the nsswitch caching daemon. cron_enable="YES" # Run the periodic job daemon. ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.local.dist#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.120 2006/10/02 00:23:13 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.125 2006/11/12 12:02:34 ache Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -725,8 +725,6 @@ .. lt_LT.UTF-8 .. - mn_MN.UTF-8 - .. nl_BE.ISO8859-1 .. nl_BE.ISO8859-15 ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.usr.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.322 2006/10/02 00:23:14 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.323 2006/11/09 18:10:33 des Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -551,6 +551,12 @@ .. mn_MN.UTF-8 .. + nb_NO.ISO8859-1 + .. + nb_NO.ISO8859-15 + .. + nb_NO.UTF-8 + .. nl_BE.ISO8859-1 .. nl_BE.ISO8859-15 @@ -563,6 +569,12 @@ .. nl_NL.UTF-8 .. + nn_NO.ISO8859-1 + .. + nn_NO.ISO8859-15 + .. + nn_NO.UTF-8 + .. no_NO.ISO8859-1 .. no_NO.ISO8859-15 ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipfilter#2 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: ipfilter,v 1.10 2001/02/28 17:03:50 lukem Exp $ -# $FreeBSD: src/etc/rc.d/ipfilter,v 1.24 2005/07/07 05:59:44 jkim Exp $ +# $FreeBSD: src/etc/rc.d/ipfilter,v 1.25 2006/11/11 10:48:34 ceri Exp $ # # PROVIDE: ipfilter @@ -93,11 +93,17 @@ if [ -r "${ipfilter_rules}" ]; then ${ipfilter_program:-/sbin/ipf} -I \ -f "${ipfilter_rules}" ${ipfilter_flags} + if [ $? -ne 0 ]; then + err 1 'Load of rules into alternate set failed; aborting reload' + fi fi ${ipfilter_program:-/sbin/ipf} -I -6 -Fa if [ -r "${ipv6_ipfilter_rules}" ]; then ${ipfilter_program:-/sbin/ipf} -I -6 \ -f "${ipv6_ipfilter_rules}" ${ipfilter_flags} + if [ $? -ne 0 ]; then + err 1 'Load of IPv6 rules into alternate set failed; aborting reload' + fi fi ${ipfilter_program:-/sbin/ipf} -s ==== //depot/projects/soc2006/nss_ldap_cached/src/include/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.265 2006/10/31 22:22:29 pjd Exp $ +# $FreeBSD: src/include/Makefile,v 1.266 2006/11/11 16:26:54 trhodes Exp $ # # Doing a "make install" builds /usr/include. @@ -36,7 +36,7 @@ LDIRS= bsm cam geom net net80211 netatalk netatm netgraph netinet netinet6 \ netipsec ${_netipx} netkey netnatm ${_netncp} netsmb \ nfs nfsclient nfsserver \ - pccard posix4 sys vm + pccard sys vm LSUBDIRS= cam/scsi \ dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \ @@ -111,7 +111,7 @@ INCSLINKS+= machine/$i ${INCLUDEDIR}/$i .endfor .for i in ${PHDRS} -INCSLINKS+= posix4/$i ${INCLUDEDIR}/$i +INCSLINKS+= sys/$i ${INCLUDEDIR}/$i .endfor .if ${MACHINE} != ${MACHINE_ARCH} ==== //depot/projects/soc2006/nss_ldap_cached/src/include/ar.h#2 (text+ko) ==== @@ -39,11 +39,15 @@ * SUCH DAMAGE. * * @(#)ar.h 8.2 (Berkeley) 1/21/94 + * + * $FreeBSD: src/include/ar.h,v 1.2 2006/11/13 04:28:29 jkoshy Exp $ */ #ifndef _AR_H_ #define _AR_H_ +#include + /* Pre-4BSD archives had these magic numbers in them. */ #define OARMAG1 0177555 #define OARMAG2 0177545 @@ -62,6 +66,6 @@ char ar_size[10]; /* size in bytes */ #define ARFMAG "`\n" char ar_fmag[2]; /* consistency check */ -}; +} __packed; #endif /* !_AR_H_ */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#12 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.218 2006/09/30 11:32:46 ru Exp $ +# $FreeBSD: src/lib/Makefile,v 1.219 2006/11/11 17:16:32 jkoshy Exp $ .include @@ -28,7 +28,7 @@ # # Otherwise, the SUBDIR list should be in alphabetical order. -SUBDIR= ${_csu} libbsm libcom_err libcrypt libkvm msun libmd libncurses \ +SUBDIR= ${_csu} libbsm libcom_err libcrypt libelf libkvm msun libmd libncurses \ libnetgraph libnssutil \ libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} libalias libarchive ${_libatm} \ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/arith.h#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * MD header for contrib/gdtoa * - * $FreeBSD: src/lib/libc/arm/arith.h,v 1.1 2004/05/14 12:04:29 cognet Exp $ + * $FreeBSD: src/lib/libc/arm/arith.h,v 1.2 2006/11/06 20:49:23 cognet Exp $ */ /* @@ -11,6 +11,11 @@ * architecture. See contrib/gdtoa/gdtoaimp.h for details. */ +#ifndef __ARMEB__ #define IEEE_8087 #define Arith_Kind_ASL 1 #define Sudden_Underflow +#else +#define IEEE_MC68k +#define Arith_Kind_ASL 2 +#endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/cerror.S#2 (text+ko) ==== @@ -32,14 +32,13 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/arm/sys/cerror.S,v 1.2 2004/11/09 16:49:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/arm/sys/cerror.S,v 1.3 2006/11/09 01:28:16 cognet Exp $"); #include "SYS.h" .globl _C_LABEL(__error) .type _C_LABEL(__error),%function ASENTRY(CERROR) -#if 1 stmfd sp!, {r4, lr} mov r4, r0 bl PIC_SYM(_C_LABEL(__error), PLT) @@ -47,30 +46,3 @@ mvn r0, #0x00000000 mvn r1, #0x00000000 ldmfd sp!, {r4, pc} -#else -#ifdef PIC - /* Setup the GOT */ - ldr r3, .Lgot - add r3, pc, r3 -.L1: - ldr r1, .Lerrno - ldr r1, [r3, r1] -#else - ldr r1, .Lerrno -#endif /* PIC */ - str r0, [r1] - mvn r0, #0x00000000 - mvn r1, #0x00000000 - RET - -#if 0 - .align 0 -.Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif /* PIC */ - - .globl _C_LABEL(errno) - -.Lerrno: - .word PIC_SYM(_C_LABEL(errno), GOT) -#endif /* _REENTRANT */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/ptrace.S#2 (text+ko) ==== @@ -32,46 +32,17 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/arm/sys/ptrace.S,v 1.2 2004/11/09 16:49:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/arm/sys/ptrace.S,v 1.3 2006/11/09 01:28:16 cognet Exp $"); #include "SYS.h" ENTRY(ptrace) -#ifdef _REENTRANT stmfd sp!, {r0-r3, lr} sub sp, sp, #4 /* align stack */ - bl PIC_SYM(_C_LABEL(__errno), PLT) + bl PIC_SYM(_C_LABEL(__error), PLT) add sp, sp, #4 /* unalign stack */ mov r1, #0x00000000 str r1, [r0] ldmfd sp!, {r0-r3, lr} -#else - stmfd sp!, {r0, r1} -#ifdef PIC - /* Setup the GOT */ - ldr r0, .Lgot - add r0, pc, r0 -.L1: - ldr r1, .Lerrno - ldr r1, [r0, r1] -#else - ldr r1, .Lerrno -#endif /* PIC */ - mov r0, #0x00000000 - str r0, [r1] - ldmfd sp!, {r0, r1} -#endif /* _REENTRANT */ - SYSTRAP(ptrace) bcs PIC_SYM(CERROR, PLT) RET - -#ifndef _REENTRANT -#ifdef PIC - .align 0 -.Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif /* PIC */ - -.Lerrno: - .word PIC_SYM(_C_LABEL(errno), GOT) -#endif /* !_REENTRANT */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/Makefile.inc#7 (text+ko) ==== @@ -1,15 +1,15 @@ # from @(#)Makefile.inc 8.2 (Berkeley) 9/5/93 -# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.61 2006/07/26 08:36:46 yar Exp $ +# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.62 2006/11/06 22:07:47 cognet Exp $ # machine-independent net sources -.PATH: ${.CURDIR}/${MACHINE_ARCH}/net ${.CURDIR}/net +.PATH: ${.CURDIR}/net -SRCS+= addr2ascii.c ascii2addr.c base64.c ether_addr.c eui64.c \ +SRCS+= addr2ascii.c ascii2addr.c base64.c ether_addr.c eui64.c \ gai_strerror.c getaddrinfo.c gethostnamadr.c \ getifaddrs.c getifmaddrs.c getnameinfo.c \ getnetnamadr.c getprotoent.c getservent.c \ if_indextoname.c if_nameindex.c if_nametoindex.c \ - ip6opt.c linkaddr.c map_v4v6.c name6.c \ + ip6opt.c linkaddr.c map_v4v6.c name6.c ntoh.c \ nsdispatch.c nslexer.c nsparser.c nss_compat.c \ rcmd.c rcmdsh.c recv.c rthdr.c send.c sockatmark.c vars.c @@ -40,11 +40,6 @@ ${LEX} ${LFLAGS} -o/dev/stdout ${.IMPSRC} | \ sed -e '/YY_BUF_SIZE/s/16384/1024/' >${.TARGET} -# machine-dependent net sources -.if exists(${.CURDIR}/${MACHINE_ARCH}/net/Makefile.inc) -.include "${.CURDIR}/${MACHINE_ARCH}/net/Makefile.inc" -.endif - MAN+= addr2ascii.3 byteorder.3 ethers.3 eui64.3 \ getaddrinfo.3 gai_strerror.3 gethostbyname.3 \ getifaddrs.3 getifmaddrs.3 getipnodebyname.3 \ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/gethostbyname.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95 -.\" $FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.36 2006/09/17 21:27:33 ru Exp $ +.\" $FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.37 2006/11/04 09:42:22 lawrance Exp $ .\" .Dd May 12, 2006 .Dt GETHOSTBYNAME 3 @@ -49,7 +49,7 @@ .Lb libc .Sh SYNOPSIS .In netdb.h -.Vt extern int h_errno ; +.Vt int h_errno ; .Ft struct hostent * .Fn gethostbyname "const char *name" .Ft struct hostent * @@ -261,7 +261,7 @@ is indicated by return of a .Dv NULL pointer. -The external integer +The integer .Va h_errno may then be checked to see whether this is a temporary failure or an invalid or unknown host. ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/resolver.3#3 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)resolver.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/resolver.3,v 1.31 2006/07/17 09:27:26 stefanf Exp $ +.\" $FreeBSD: src/lib/libc/net/resolver.3,v 1.32 2006/11/04 09:42:22 lawrance Exp $ .\" -.Dd June 4, 1993 +.Dd November 4, 2006 .Dt RESOLVER 3 .Os .Sh NAME @@ -410,6 +410,20 @@ .Fn res_init function will return 0 on success, or \-1 in a threaded program if per-thread storage could not be allocated. +.Pp +The +.Fn res_mkquery , +.Fn res_search , +and +.Fn res_query +functions return the size of the response on success, or \-1 if an +error occurs. +The integer +.Vt h_errno +may be checked to determine the reason for error. +See +.Xr gethostbyname 3 +for more information. .Sh FILES .Bl -tag -width /etc/resolv.conf .It Pa /etc/resolv.conf ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/Makefile.inc#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.9 2003/08/11 07:14:07 bms Exp $ +# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.10 2006/11/03 23:43:18 kmacy Exp $ SRCS+= __sparc_sigtramp_setup.c \ __sparc_utrap.c \ @@ -11,6 +11,9 @@ sigcode.S CFLAGS+= -I${.CURDIR}/sparc64/fpu +.if ${MACHINE} == "sun4v" +CFLAGS+= -DSUN4V +.endif MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.4 2002/06/30 05:36:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.5 2006/11/03 23:43:18 kmacy Exp $"); .register %g2, #ignore .register %g3, #ignore @@ -38,6 +38,10 @@ #include "assym.s" ENTRY(__sparc_utrap_gen) +#ifdef SUN4V + save + ta %xcc, ST_FPEMU_CONTEXT +#endif sub %sp, UF_SIZEOF, %sp stx %o0, [%sp + SPOFF + CCFSZ + UF_TYPE] ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/clock_gettime.2#3 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.22 2006/09/17 21:27:34 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.23 2006/11/04 09:35:36 danger Exp $ .\" -.Dd November 18, 2005 +.Dd November 4, 2006 .Dt CLOCK_GETTIME 2 .Os .Sh NAME @@ -44,7 +44,7 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS -.In sys/time.h +.In time.h .Ft int .Fn clock_gettime "clockid_t clock_id" "struct timespec *tp" .Ft int @@ -82,7 +82,7 @@ The structure pointed to by .Fa tp is defined in -.In sys/time.h +.In sys/timespec.h as: .Pp .Bd -literal ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/extattr_get_file.2#2 (text+ko) ==== @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/extattr_get_file.2,v 1.17 2005/06/10 16:54:17 rodrigc Exp $ +.\" $FreeBSD: src/lib/libc/sys/extattr_get_file.2,v 1.18 2006/11/06 15:12:43 rwatson Exp $ .\" .Dd February 23, 2005 .Dt EXTATTR 2 @@ -48,7 +48,6 @@ .Sh SYNOPSIS .In sys/types.h .In sys/extattr.h -.In sys/uio.h .Ft ssize_t .Fn extattr_get_fd "int fd" "int attrnamespace" "const char *attrname" "void *data" "size_t nbytes" .Ft int ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/getpid.2#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)getpid.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.14 2002/12/18 09:22:30 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.15 2006/11/02 14:10:56 ru Exp $ .\" -.Dd June 4, 1993 +.Dd November 2, 2006 .Dt GETPID 2 .Os .Sh NAME @@ -75,7 +75,12 @@ system calls are always successful, and no return value is reserved to indicate an error. .Sh SEE ALSO -.Xr gethostid 3 +.Xr fork 2 , +.Xr getpgrp 2 , +.Xr kill 2 , +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr exec 3 .Sh STANDARDS The .Fn getpid ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/kqueue.2#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.44 2006/09/17 21:27:34 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.45 2006/11/20 22:20:04 jhb Exp $ .\" .Dd August 25, 2006 .Dt KQUEUE 2 @@ -364,6 +364,8 @@ .Bl -tag -width XXNOTE_TRACKERR .It NOTE_EXIT The process has exited. +The exit status will be stored in +.Va data . .It NOTE_FORK The process has called .Fn fork . ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/ptrace.2#2 (text+ko) ==== @@ -1,8 +1,8 @@ -.\" $FreeBSD: src/lib/libc/sys/ptrace.2,v 1.37 2005/02/13 22:25:13 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/ptrace.2,v 1.38 2006/11/09 11:27:18 trhodes Exp $ .\" $NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $ .\" .\" This file is in the public domain. -.Dd August 11, 2003 +.Dd November 9, 2006 .Dt PTRACE 2 .Os .Sh NAME @@ -297,6 +297,8 @@ .Fa data argument is to be set to the size of the structure known to the caller. This allows the structure to grow without affecting older programs. +.It PT_GETLWPLIST +This request can be used to get the current thread list. .El .Pp Additionally, machine-specific requests can exist. ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/statfs.2#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)statfs.2 8.5 (Berkeley) 5/24/95 -.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.27 2006/01/10 23:24:47 grog Exp $ +.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.28 2006/11/01 23:40:44 pjd Exp $ .\" -.Dd November 26, 2004 +.Dd November 1, 2006 .Dt STATFS 2 .Os .Sh NAME @@ -115,6 +115,9 @@ .It Dv MNT_SOFTDEP Soft updates being done (see .Xr ffs 7 ) . +.It Dv MNT_GJOURNAL +Journaling with gjournal is enabled (see +.Xr gjournal 8 ) . .It Dv MNT_SUIDDIR Special handling of SUID bit on directories. .It Dv MNT_UNION ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_ok.3#2 (text+ko) ==== @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $FreeBSD: src/lib/libutil/login_ok.3,v 1.14 2004/07/02 23:52:19 ru Exp $ +.\" $FreeBSD: src/lib/libutil/login_ok.3,v 1.15 2006/11/05 19:00:08 trhodes Exp $ .\" .Dd January 2, 1997 .Os @@ -56,7 +56,7 @@ An empty .Em ttys.allow list (or if no such capability exists for -the give login class) logins via any tty device are allowed unless +the given login class) logins via any tty device are allowed unless the .Em ttys.deny list exists and is non-empty, and the device or its ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.endian.mk#3 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/share/mk/bsd.endian.mk,v 1.3 2006/08/22 07:51:10 ru Exp $ +# $FreeBSD: src/share/mk/bsd.endian.mk,v 1.4 2006/11/05 15:33:26 cognet Exp $ .if ${MACHINE_ARCH} == "amd64" || \ ${MACHINE_ARCH} == "i386" || \ ${MACHINE_ARCH} == "ia64" || \ - (${MACHINE_ARCH} == "arm" && !defined(ARM_BIG_ENDIAN)) + (${MACHINE_ARCH} == "arm" && !defined(TARGET_BIG_ENDIAN)) TARGET_ENDIANNESS= 1234 .elif ${MACHINE_ARCH} == "powerpc" || \ ${MACHINE_ARCH} == "sparc64" || \ ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # Binaries BINOWN?= root @@ -170,6 +172,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -449,5 +452,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.port.mk#3 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.sys.mk#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.38 2006/08/11 17:28:59 des Exp $ +# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.39 2006/11/04 04:39:05 jb Exp $ # # This file contains common settings used for building FreeBSD # sources. @@ -67,5 +67,9 @@ . endif .endif +.if defined(IGNORE_PRAGMA) +CWARNFLAGS += -Wno-unknown-pragmas +.endif + # Allow user-specified additional warning flags CFLAGS += ${CWARNFLAGS} ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.freebsd#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD * - * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.187 2006/10/01 16:17:10 xride Exp $ + * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.188 2006/11/07 14:35:34 laszlof Exp $ */ #ifndef _calendar_freebsd_ @@ -33,6 +33,7 @@ 02/01 Juli Mallett born in Washington, Pennsylvania, United States, 1985 02/02 Diomidis D. Spinellis born in Athens, Greece, 1967 02/02 Yoichi Nakayama born in Tsu, Mie, Japan, 1976 +02/05 Frank Laszlo born in Howell, Michigan, United States, 1983 02/10 Simon Barner born in Rosenheim, Bayern, Germany, 1980 02/10 David Greenman born in Portland, Oregon, United States, 1968 02/10 Paul Richards born in Ammanford, Carmarthenshire, United Kingdom, 1968 ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fetch/fetch.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.bin/fetch/fetch.c,v 1.77 2005/12/30 23:36:26 des Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/fetch/fetch.c,v 1.78 2006/11/10 22:05:41 des Exp $"); #include #include @@ -569,6 +569,8 @@ if (tmppath != NULL) { mkstemps(tmppath, strlen(slash) + 1); of = fopen(tmppath, "w"); + chown(tmppath, sb.st_uid, sb.st_gid); + chmod(tmppath, sb.st_mode & ALLPERMS); } } if (of == NULL) ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.1#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)jot.1 8.1 (Berkeley) 6/6/93 -.\" $FreeBSD: src/usr.bin/jot/jot.1,v 1.18 2006/10/20 04:31:01 cperciva Exp $ +.\" $FreeBSD: src/usr.bin/jot/jot.1,v 1.23 2006/11/06 15:11:50 dds Exp $ .\" -.Dd June 6, 1993 +.Dd November 6, 2006 .Dt JOT 1 .Os .Sh NAME @@ -106,7 +106,8 @@ While at least one of them must appear, any of the other three may be omitted, and will be considered as such if given as -.Fl "" . +.Fl "" +or as an empty string. Any three of these arguments determines the fourth. If four are specified and the given and computed values of .Ar reps @@ -114,7 +115,7 @@ If fewer than three are specified, defaults are assigned left to right, except for .Ar s , -which assumes its default unless both +which assumes a default of 1 or -1 if both .Ar begin and .Ar end @@ -139,7 +140,28 @@ The last argument must be a real number. .Pp Random numbers are obtained through -.Xr random 3 . +.Xr arc4random 3 +when no seed is specified, +and through +.Xr random 3 +when a seed is given. +When +.Nm +is asked to generate random integers or characters with begin +and end values in the range of the random number generator function +and no format is specified with one of the +.Fl w , +.Fl b , +or +.Fl p +options, +.Nm +will arrange for all the values in the range to appear in the output +with an equal probability. +In all other cases be careful to ensure that the output format's +rounding or truncation will not skew the distribution of output +values in an unintended way. +.Pp The name .Nm derives in part from @@ -149,6 +171,10 @@ .Ex -std .Sh EXAMPLES The command +.Dl jot - 1 10 +.Pp +prints the integers from 1 to 10, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:21:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6349216B523; Tue, 21 Nov 2006 16:21:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1FF2716B460 for ; Tue, 21 Nov 2006 16:21:17 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F15043D6D for ; Tue, 21 Nov 2006 16:19:40 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALGJdal046200 for ; Tue, 21 Nov 2006 16:19:39 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALGJcB2046197 for perforce@freebsd.org; Tue, 21 Nov 2006 16:19:38 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 16:19:38 GMT Message-Id: <200611211619.kALGJcB2046197@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:21:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=110339 Change 110339 by imp@imp_lighthouse on 2006/11/21 15:29:12 oops, on read copyout, not write. Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iic.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iic.c#7 (text+ko) ==== @@ -246,13 +246,15 @@ char *buf = NULL; void **usrbufs = NULL; - if (!sc) - return (EINVAL); + if (!sc) { printf("iic einval\n"); + return (EINVAL); } if ((error = iicbus_request_bus(device_get_parent(iicdev), iicdev, (flags & O_NONBLOCK) ? IIC_DONTWAIT : - (IIC_WAIT | IIC_INTR)))) + (IIC_WAIT | IIC_INTR)))) { + printf("bus request failed %d\n", error); return (error); + } switch (cmd) { case I2CSTART: @@ -310,18 +312,12 @@ case I2CRDWR: buf = malloc(sizeof(*d->msgs) * d->nmsgs, M_TEMP, M_WAITOK); - if (buf == NULL) { - error = ENOMEM; - break; - } usrbufs = malloc(sizeof(void *) * d->nmsgs, M_TEMP, M_ZERO | M_WAITOK); - if (usrbufs == NULL) { - error = ENOMEM; + error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs); + if (error) { + printf("copying returns %d\n", error); break; } - error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs); - if (error) - break; /* Allocate kernel buffers for userland data, copyin write data */ for (i = 0; i < d->nmsgs; i++) { m = &((struct iic_msg *)buf)[i]; @@ -331,10 +327,11 @@ copyin(usrbufs[i], m->buf, m->len); } error = iicbus_transfer(parent, (struct iic_msg *)buf, d->nmsgs); + printf("transfer returns %d\n", error); /* Copyout all read segments, free up kernel buffers */ for (i = 0; i < d->nmsgs; i++) { m = &((struct iic_msg *)buf)[i]; - if (!(m->flags & IIC_M_RD)) + if (m->flags & IIC_M_RD) copyout(m->buf, usrbufs[i], m->len); free(m->buf, M_TEMP); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:43:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3956716A61E; Tue, 21 Nov 2006 16:43:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 09FA316A605; Tue, 21 Nov 2006 16:43:18 +0000 (UTC) (envelope-from ticso@cicely12.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6E4543E3E; Tue, 21 Nov 2006 16:41:39 +0000 (GMT) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de ([10.1.1.7]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id kALGfnDQ085764; Tue, 21 Nov 2006 17:41:49 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [10.1.1.14]) by cicely5.cicely.de (8.13.4/8.13.4) with ESMTP id kALGffsv042473 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 21 Nov 2006 17:41:42 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.13.4/8.13.3) with ESMTP id kALGffmv081641; Tue, 21 Nov 2006 17:41:41 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.13.4/8.13.3/Submit) id kALGffdh081640; Tue, 21 Nov 2006 17:41:41 +0100 (CET) (envelope-from ticso) Date: Tue, 21 Nov 2006 17:41:41 +0100 From: Bernd Walter To: Sam Leffler Message-ID: <20061121164140.GX77029@cicely12.cicely.de> References: <200611211616.kALGGJ30045040@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200611211616.kALGGJ30045040@repoman.freebsd.org> X-Operating-System: FreeBSD cicely12.cicely.de 5.4-STABLE alpha User-Agent: Mutt/1.5.9i X-Spam-Status: No, score=-4.4 required=5.0 autolearn=unavailable version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on cicely12.cicely.de Cc: Perforce Change Reviews Subject: Re: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:43:18 -0000 On Tue, Nov 21, 2006 at 04:16:19PM +0000, Sam Leffler wrote: > http://perforce.freebsd.org/chv.cgi?CH=110182 > > Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 > > Get it working: > o slave address in avila docs is correct; don't believe > what linux print probes, it's the 7-bit address >> 1 > o correct set method to send register pointer before > 4 bytes of data in a single transaction > > Affected files ... > > .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit This is pretty cool. How difficult is it to make it a generic driver? I use the ds1672 on an rm9200 based board. -- B.Walter http://www.bwct.de http://www.fizon.de bernd@bwct.de info@bwct.de support@fizon.de From owner-p4-projects@FreeBSD.ORG Tue Nov 21 16:54:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E7ED16A47C; Tue, 21 Nov 2006 16:54:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4B40C16A416; Tue, 21 Nov 2006 16:54:28 +0000 (UTC) (envelope-from doginou@dong.ci0.org) Received: from dong.ci0.org (cognet.ci0.org [80.65.224.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86BAB43D7D; Tue, 21 Nov 2006 16:49:53 +0000 (GMT) (envelope-from doginou@dong.ci0.org) Received: from dong.ci0.org (localhost.ci0.org [127.0.0.1]) by dong.ci0.org (8.13.7/8.13.4) with ESMTP id kALH5wTi089470; Tue, 21 Nov 2006 18:05:58 +0100 (CET) (envelope-from doginou@dong.ci0.org) Received: (from doginou@localhost) by dong.ci0.org (8.13.7/8.13.4/Submit) id kALH5vLF089469; Tue, 21 Nov 2006 18:05:57 +0100 (CET) (envelope-from doginou) Date: Tue, 21 Nov 2006 18:05:57 +0100 From: Olivier Houchard To: ticso@cicely.de Message-ID: <20061121170557.GA89457@ci0.org> References: <200611211616.kALGGJ30045040@repoman.freebsd.org> <20061121164140.GX77029@cicely12.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061121164140.GX77029@cicely12.cicely.de> User-Agent: Mutt/1.4.1i Cc: Sam Leffler , Perforce Change Reviews Subject: Re: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 16:54:28 -0000 On Tue, Nov 21, 2006 at 05:41:41PM +0100, Bernd Walter wrote: > On Tue, Nov 21, 2006 at 04:16:19PM +0000, Sam Leffler wrote: > > http://perforce.freebsd.org/chv.cgi?CH=110182 > > > > Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 > > > > Get it working: > > o slave address in avila docs is correct; don't believe > > what linux print probes, it's the 7-bit address >> 1 > > o correct set method to send register pointer before > > 4 bytes of data in a single transaction > > > > Affected files ... > > > > .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit > > This is pretty cool. > How difficult is it to make it a generic driver? > I use the ds1672 on an rm9200 based board. > It should be pretty generic. In fact, Sam moved it to dev/iicbus/ before committing it to -CURRENT. Cheers, Olivier From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:03:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B5CA16A503; Tue, 21 Nov 2006 17:03:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F2C7216A415; Tue, 21 Nov 2006 17:03:48 +0000 (UTC) (envelope-from ticso@cicely12.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0C0AA43E18; Tue, 21 Nov 2006 16:56:17 +0000 (GMT) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de ([10.1.1.7]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id kALGuNYS085990; Tue, 21 Nov 2006 17:56:23 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [10.1.1.14]) by cicely5.cicely.de (8.13.4/8.13.4) with ESMTP id kALGuFDP042633 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 21 Nov 2006 17:56:15 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.13.4/8.13.3) with ESMTP id kALGuFQY081708; Tue, 21 Nov 2006 17:56:15 +0100 (CET) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.13.4/8.13.3/Submit) id kALGuES9081707; Tue, 21 Nov 2006 17:56:14 +0100 (CET) (envelope-from ticso) Date: Tue, 21 Nov 2006 17:56:14 +0100 From: Bernd Walter To: Olivier Houchard Message-ID: <20061121165614.GZ77029@cicely12.cicely.de> References: <200611211616.kALGGJ30045040@repoman.freebsd.org> <20061121164140.GX77029@cicely12.cicely.de> <20061121170557.GA89457@ci0.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061121170557.GA89457@ci0.org> X-Operating-System: FreeBSD cicely12.cicely.de 5.4-STABLE alpha User-Agent: Mutt/1.5.9i X-Spam-Status: No, score=-4.4 required=5.0 autolearn=unavailable version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on cicely12.cicely.de Cc: Sam Leffler , Perforce Change Reviews , ticso@cicely.de Subject: Re: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:03:49 -0000 On Tue, Nov 21, 2006 at 06:05:57PM +0100, Olivier Houchard wrote: > On Tue, Nov 21, 2006 at 05:41:41PM +0100, Bernd Walter wrote: > > On Tue, Nov 21, 2006 at 04:16:19PM +0000, Sam Leffler wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=110182 > > > > > > Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 > > > > > > Get it working: > > > o slave address in avila docs is correct; don't believe > > > what linux print probes, it's the 7-bit address >> 1 > > > o correct set method to send register pointer before > > > 4 bytes of data in a single transaction > > > > > > Affected files ... > > > > > > .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit > > > > This is pretty cool. > > How difficult is it to make it a generic driver? > > I use the ds1672 on an rm9200 based board. > > > > It should be pretty generic. In fact, Sam moved it to dev/iicbus/ before > committing it to -CURRENT. Perfect - now I just need to make shure that charging is configured properly. -- B.Walter http://www.bwct.de http://www.fizon.de bernd@bwct.de info@bwct.de support@fizon.de From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7416B16A51F; Tue, 21 Nov 2006 17:17:04 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 41EC216A417 for ; Tue, 21 Nov 2006 17:17:04 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3403243F17 for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8GLi064467 for ; Tue, 21 Nov 2006 17:08:16 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Fhf064461 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:15 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 21 Nov 2006 17:08:15 GMT Message-Id: <200611211708.kALH8Fhf064461@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 110183 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=110183 Change 110183 by mjacob@newisp on 2006/11/18 03:35:24 Make the SAN login/logout stuff more common between different chipsets and provied an isp_control entry point so that the outer layers can do PLOGI/LOGO explicitly. Add MS IOCB support. This completes the cycle for base support for SMI-S. Affected files ... .. //depot/projects/newisp/dev/bge/if_bge.c#10 edit .. //depot/projects/newisp/dev/isp/isp.c#38 edit .. //depot/projects/newisp/dev/isp/isp_library.c#21 edit .. //depot/projects/newisp/dev/isp/isp_library.h#13 edit .. //depot/projects/newisp/dev/isp/ispmbox.h#14 edit .. //depot/projects/newisp/dev/isp/ispvar.h#17 edit Differences ... ==== //depot/projects/newisp/dev/bge/if_bge.c#10 (text+ko) ==== @@ -2499,12 +2499,6 @@ } } - /* - * Write the magic number to the firmware mailbox at 0xb50 - * so that the driver can synchronize with the firmware. - */ - bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); - /* Issue global reset */ bge_writereg_ind(sc, BGE_MISC_CFG, reset); @@ -2541,6 +2535,11 @@ CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); /* + * Prevent PXE restart: write a magic number to the + * general communications memory at 0xB50. + */ + bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); + /* * Poll the value location we just wrote until * we see the 1's complement of the magic number. * This indicates that the firmware initialization ==== //depot/projects/newisp/dev/isp/isp.c#38 (text+ko) ==== @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/newisp/dev/isp/isp_library.c#21 (text) ==== @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/newisp/dev/isp/isp_library.h#13 (text) ==== @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/newisp/dev/isp/ispmbox.h#14 (text+ko) ==== @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/newisp/dev/isp/ispvar.h#17 (text+ko) ==== @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 094E116A518; Tue, 21 Nov 2006 17:17:04 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 47BAC16A47C for ; Tue, 21 Nov 2006 17:17:04 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3405143F1B for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8G3V064491 for ; Tue, 21 Nov 2006 17:08:16 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8GPq064486 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:16 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:16 GMT Message-Id: <200611211708.kALH8GPq064486@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110185 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110185 Change 110185 by sam@sam_ebb on 2006/11/18 04:05:44 o add transfer method for use by chips on the avila board o add avila chips for now; cleanup to follow Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 (text+ko) ==== @@ -69,6 +69,8 @@ DEVMETHOD(bus_driver_added, bus_generic_driver_added), DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(iicbus_transfer, iicbus_transfer_gen), + { 0, 0 } }; @@ -140,6 +142,8 @@ #endif device_add_child(dev, "ic", -1); device_add_child(dev, "iicsmb", -1); + device_add_child(dev, "ds1672", -1); + device_add_child(dev, "ad7418", -1); /* attach any known device */ device_add_child(dev, "iic", -1); bus_generic_attach(dev); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9357116A5DE; Tue, 21 Nov 2006 17:17:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4A6E416A47E for ; Tue, 21 Nov 2006 17:17:04 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3422543FD8 for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8HxK064504 for ; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Hoo064496 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:17 GMT Message-Id: <200611211708.kALH8Hoo064496@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110186 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110186 Change 110186 by sam@sam_ebb on 2006/11/18 05:37:20 Analog Devices AD7418 sensor support (temp+voltage) Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 (text+ko) ==== @@ -1,5 +1,6 @@ #$FreeBSD$ arm/xscale/ixp425/avila_machdep.c standard arm/xscale/ixp425/avila_ata.c optional ata_avila +arm/xscale/ixp425/ad7418.c optional adc_avila arm/xscale/ixp425/ds1672.c optional rtc_avila arm/xscale/ixp425/ixdp425_pci.c optional pci From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D734A16A60B; Tue, 21 Nov 2006 17:17:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4CC0716A501 for ; Tue, 21 Nov 2006 17:17:04 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 343BF43FF0 for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8FM0064455 for ; Tue, 21 Nov 2006 17:08:15 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Et7064449 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:14 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:14 GMT Message-Id: <200611211708.kALH8Et7064449@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=110182 Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 Get it working: o slave address in avila docs is correct; don't believe what linux print probes, it's the 7-bit address >> 1 o correct set method to send register pointer before 4 bytes of data in a single transaction Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 (text+ko) ==== @@ -54,8 +54,7 @@ #define IIC_M_WR 0 /* write operation */ -/* NB: Gateworks doc say this is 0x80 but Linux uses 0x68 */ -#define DS1672_ADDR 0x68 /* slave address */ +#define DS1672_ADDR 0xd0 /* slave address */ #define DS1672_COUNTER 0 /* counter (bytes 0-3) */ #define DS1672_CTRL 4 /* control (1 byte) */ @@ -89,7 +88,7 @@ static int ds1672_gettime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; + uint8_t addr[1] = { DS1672_COUNTER }; uint8_t secs[4]; struct iic_msg msgs[2] = { { DS1672_ADDR, IIC_M_WR, 1, addr }, @@ -110,19 +109,18 @@ static int ds1672_settime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; - uint8_t secs[4]; - struct iic_msg msgs[2] = { - { DS1672_ADDR, IIC_M_WR, 1, addr }, - { DS1672_ADDR, IIC_M_WR, 4, secs }, + /* NB: register pointer precedes actual data */ + uint8_t data[5] = { DS1672_COUNTER }; + struct iic_msg msgs[1] = { + { DS1672_ADDR, IIC_M_WR, 5, data }, }; - secs[1] = (ts->tv_sec >> 0) & 0xff; - secs[2] = (ts->tv_sec >> 8) & 0xff; - secs[3] = (ts->tv_sec >> 16) & 0xff; - secs[4] = (ts->tv_sec >> 24) & 0xff; + data[1] = (ts->tv_sec >> 0) & 0xff; + data[2] = (ts->tv_sec >> 8) & 0xff; + data[3] = (ts->tv_sec >> 16) & 0xff; + data[4] = (ts->tv_sec >> 24) & 0xff; - return iicbus_transfer(dev, msgs, 2); + return iicbus_transfer(dev, msgs, 1); } static device_method_t ds1672_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E7F716A664; Tue, 21 Nov 2006 17:17:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 70F5116A51C for ; Tue, 21 Nov 2006 17:17:04 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50E1B43DD5 for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8HNH064503 for ; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8HZY064499 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:17 GMT Message-Id: <200611211708.kALH8HZY064499@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110186 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=110186 Change 110186 by sam@sam_ebb on 2006/11/18 05:37:20 Analog Devices AD7418 sensor support (temp+voltage) Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 (text+ko) ==== @@ -1,5 +1,6 @@ #$FreeBSD$ arm/xscale/ixp425/avila_machdep.c standard arm/xscale/ixp425/avila_ata.c optional ata_avila +arm/xscale/ixp425/ad7418.c optional adc_avila arm/xscale/ixp425/ds1672.c optional rtc_avila arm/xscale/ixp425/ixdp425_pci.c optional pci From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5F2416A752; Tue, 21 Nov 2006 17:17:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C274616A748 for ; Tue, 21 Nov 2006 17:17:08 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 394BE43E6C for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8GaT064468 for ; Tue, 21 Nov 2006 17:08:16 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8F3B064462 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:15 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 21 Nov 2006 17:08:15 GMT Message-Id: <200611211708.kALH8F3B064462@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 110183 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=110183 Change 110183 by mjacob@newisp on 2006/11/18 03:35:24 Make the SAN login/logout stuff more common between different chipsets and provied an isp_control entry point so that the outer layers can do PLOGI/LOGO explicitly. Add MS IOCB support. This completes the cycle for base support for SMI-S. Affected files ... .. //depot/projects/newisp/dev/bge/if_bge.c#10 edit .. //depot/projects/newisp/dev/isp/isp.c#38 edit .. //depot/projects/newisp/dev/isp/isp_library.c#21 edit .. //depot/projects/newisp/dev/isp/isp_library.h#13 edit .. //depot/projects/newisp/dev/isp/ispmbox.h#14 edit .. //depot/projects/newisp/dev/isp/ispvar.h#17 edit Differences ... ==== //depot/projects/newisp/dev/bge/if_bge.c#10 (text+ko) ==== @@ -2499,12 +2499,6 @@ } } - /* - * Write the magic number to the firmware mailbox at 0xb50 - * so that the driver can synchronize with the firmware. - */ - bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); - /* Issue global reset */ bge_writereg_ind(sc, BGE_MISC_CFG, reset); @@ -2541,6 +2535,11 @@ CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); /* + * Prevent PXE restart: write a magic number to the + * general communications memory at 0xB50. + */ + bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); + /* * Poll the value location we just wrote until * we see the 1's complement of the magic number. * This indicates that the firmware initialization ==== //depot/projects/newisp/dev/isp/isp.c#38 (text+ko) ==== @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/newisp/dev/isp/isp_library.c#21 (text) ==== @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/newisp/dev/isp/isp_library.h#13 (text) ==== @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/newisp/dev/isp/ispmbox.h#14 (text+ko) ==== @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/newisp/dev/isp/ispvar.h#17 (text+ko) ==== @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE11116A794; Tue, 21 Nov 2006 17:17:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C9B4F16A74A for ; Tue, 21 Nov 2006 17:17:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4877D440E0 for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8GRk064492 for ; Tue, 21 Nov 2006 17:08:16 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8GYj064485 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:16 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:16 GMT Message-Id: <200611211708.kALH8GYj064485@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110185 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=110185 Change 110185 by sam@sam_ebb on 2006/11/18 04:05:44 o add transfer method for use by chips on the avila board o add avila chips for now; cleanup to follow Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 (text+ko) ==== @@ -69,6 +69,8 @@ DEVMETHOD(bus_driver_added, bus_generic_driver_added), DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(iicbus_transfer, iicbus_transfer_gen), + { 0, 0 } }; @@ -140,6 +142,8 @@ #endif device_add_child(dev, "ic", -1); device_add_child(dev, "iicsmb", -1); + device_add_child(dev, "ds1672", -1); + device_add_child(dev, "ad7418", -1); /* attach any known device */ device_add_child(dev, "iic", -1); bus_generic_attach(dev); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B5B0916A799; Tue, 21 Nov 2006 17:17:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DB48416A74E for ; Tue, 21 Nov 2006 17:17:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3454E43FF5 for ; Tue, 21 Nov 2006 17:08:02 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8H7h064515 for ; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8H8V064510 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:17 GMT Message-Id: <200611211708.kALH8H8V064510@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110187 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=110187 Change 110187 by sam@sam_ebb on 2006/11/18 05:38:02 add rtc and sensors Affected files ... .. //depot/projects/arm/src/sys/arm/conf/AVILA#8 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/AVILA#8 (text+ko) ==== @@ -85,6 +85,8 @@ device ixpiic device ixpwdog # watchdog timer +device rtc_avila # DS1762 on I2C bus +device adc_avila # AD7418 on I2C bus device ata device ata_avila # Gateworks CF/IDE support From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB20E16A821; Tue, 21 Nov 2006 17:17:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DE67E16A74F for ; Tue, 21 Nov 2006 17:17:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3499E44018 for ; Tue, 21 Nov 2006 17:08:01 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Flh064456 for ; Tue, 21 Nov 2006 17:08:15 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8ExM064448 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:14 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:14 GMT Message-Id: <200611211708.kALH8ExM064448@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=110182 Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 Get it working: o slave address in avila docs is correct; don't believe what linux print probes, it's the 7-bit address >> 1 o correct set method to send register pointer before 4 bytes of data in a single transaction Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 (text+ko) ==== @@ -54,8 +54,7 @@ #define IIC_M_WR 0 /* write operation */ -/* NB: Gateworks doc say this is 0x80 but Linux uses 0x68 */ -#define DS1672_ADDR 0x68 /* slave address */ +#define DS1672_ADDR 0xd0 /* slave address */ #define DS1672_COUNTER 0 /* counter (bytes 0-3) */ #define DS1672_CTRL 4 /* control (1 byte) */ @@ -89,7 +88,7 @@ static int ds1672_gettime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; + uint8_t addr[1] = { DS1672_COUNTER }; uint8_t secs[4]; struct iic_msg msgs[2] = { { DS1672_ADDR, IIC_M_WR, 1, addr }, @@ -110,19 +109,18 @@ static int ds1672_settime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; - uint8_t secs[4]; - struct iic_msg msgs[2] = { - { DS1672_ADDR, IIC_M_WR, 1, addr }, - { DS1672_ADDR, IIC_M_WR, 4, secs }, + /* NB: register pointer precedes actual data */ + uint8_t data[5] = { DS1672_COUNTER }; + struct iic_msg msgs[1] = { + { DS1672_ADDR, IIC_M_WR, 5, data }, }; - secs[1] = (ts->tv_sec >> 0) & 0xff; - secs[2] = (ts->tv_sec >> 8) & 0xff; - secs[3] = (ts->tv_sec >> 16) & 0xff; - secs[4] = (ts->tv_sec >> 24) & 0xff; + data[1] = (ts->tv_sec >> 0) & 0xff; + data[2] = (ts->tv_sec >> 8) & 0xff; + data[3] = (ts->tv_sec >> 16) & 0xff; + data[4] = (ts->tv_sec >> 24) & 0xff; - return iicbus_transfer(dev, msgs, 2); + return iicbus_transfer(dev, msgs, 1); } static device_method_t ds1672_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E2BBC16A8E2; Tue, 21 Nov 2006 17:17:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C119C16A8CD for ; Tue, 21 Nov 2006 17:17:21 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34E01440E1 for ; Tue, 21 Nov 2006 17:08:02 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8HLo064527 for ; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Hxl064519 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:17 GMT Message-Id: <200611211708.kALH8Hxl064519@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110188 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=110188 Change 110188 by sam@sam_ebb on 2006/11/18 06:07:56 Interlock data updates to avoid scrambling i2c accesses. We remove the delay after a channel change as it doesn't seem needed and doing so insures we don't sleep (and release the mutex) while doing an update. If we need to bring back the delay then we need to handle sleeping; probably by moving the update time setting up. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 (text+ko) ==== @@ -67,6 +67,7 @@ struct ad7418_softc { device_t sc_dev; + struct mtx sc_mtx; int sc_curchan; /* current channel */ int sc_curtemp; int sc_curvolt; @@ -116,6 +117,7 @@ int conf; sc->sc_dev = dev; + mtx_init(&sc->sc_mtx, "ad7418", "ad7418", MTX_DEF); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "temp", CTLTYPE_INT | CTLFLAG_RD, sc, 0, @@ -165,7 +167,18 @@ ad7418_write_1(sc->sc_dev, AD7418_CONF, (ad7418_read_1(sc->sc_dev, AD7418_CONF) &~ AD7418_CONF_CHAN)|chan); sc->sc_curchan = chan; - tsleep(sc, 0, "ad7418", 1); /* XXX 1 tick should be 'nuf */ +#if 0 + /* + * NB: Linux driver delays here but chip data sheet + * says nothing and things appear to work fine w/o + * a delay on channel change. If this is enabled + * be sure to account for losing the mutex below + * in ad7418_update. + */ + mtx_assert(&sc->sc_mtx, MA_OWNED); + /* let channel change settle, 1 tick should be 'nuf (need ~1ms) */ + msleep(sc, &sc->sc_mtx, 0, "ad7418", 1); +#endif } static int @@ -187,6 +200,7 @@ { int v; + mtx_lock(&sc->sc_mtx); /* NB: no point in updating any faster than the chip */ if (ticks - sc->sc_lastupdate > hz) { ad7418_set_channel(sc, AD7418_CHAN_TEMP); @@ -199,6 +213,7 @@ sc->sc_curvolt = v; sc->sc_lastupdate = ticks; } + mtx_unlock(&sc->sc_mtx); } static device_method_t ad7418_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7541F16A9B6; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3AECB16A9AB for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8209543DC8 for ; Tue, 21 Nov 2006 17:08:18 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Mc9064648 for ; Tue, 21 Nov 2006 17:08:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8LQ7064644 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:21 GMT Message-Id: <200611211708.kALH8LQ7064644@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=110198 Change 110198 by imp@imp_lighthouse on 2006/11/18 08:52:08 Space optimized divsi implementation. Now all I gotta do is find out where it really came from. This puts us below 8k for boot2! Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/divsi3.c#1 add Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 (text+ko) ==== @@ -8,7 +8,7 @@ putchar.c printf.c reset.c spi_flash.c xmodem.c \ sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \ memset.c memcmp.c -SRCS+=ashldi3.c divsi3.S +SRCS+=ashldi3.c divsi3.c NO_MAN= .if ${MK_TAG_LIST} != "no" From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1FEB16AA3F; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5A71816A9AE for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0A42943F2E for ; Tue, 21 Nov 2006 17:08:18 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Nla064671 for ; Tue, 21 Nov 2006 17:08:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8ME4064663 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:22 GMT Message-Id: <200611211708.kALH8ME4064663@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110202 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=110202 Change 110202 by rwatson@rwatson_fledge on 2006/11/18 09:42:17 Add encoding and decoding routines for process64_ex, process32_ex, subject64_ex token types. Submitted by: Diego Giagio Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#45 edit .. //depot/projects/trustedbsd/openbsm/README#22 edit .. //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 edit .. //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#45 (text+ko) ==== @@ -5,6 +5,8 @@ - Countless man page fixes. - praudit XML support via "praudit -x". - audit.log.5 expanded to include additional BSM token types. +- Added encoding and decoding routines for process64_ex, process32_ex, and + subject32_ex tokens. OpenBSM 1.0 alpha 12 @@ -272,4 +274,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#44 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#45 $ ==== //depot/projects/trustedbsd/openbsm/README#22 (text+ko) ==== @@ -78,6 +78,7 @@ Martin Englund Ruslan Ermilov Martin Voros + Diego Giagio In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -99,4 +100,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#21 $ +$P4: //depot/projects/trustedbsd/openbsm/README#22 $ ==== //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#23 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -246,6 +246,8 @@ token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); +token_t *au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm); #if !defined(KERNEL) && !defined(_KERNEL) token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod); ==== //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#31 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 $ */ #ifndef _LIBBSM_H_ @@ -164,6 +164,12 @@ u_int32_t addr[4]; } au_tidaddr32_t; +typedef struct au_tidaddr64 { + u_int64_t port; + u_int32_t type; + u_int32_t addr[4]; +} au_tidaddr64_t; + /* * argument # 1 byte * argument value 4 bytes/8 bytes (32-bit/64-bit value) @@ -483,6 +489,17 @@ au_tidaddr32_t tid; } au_proc32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_proc64ex_t; + /* * error status 1 byte * return value 4 bytes/8 bytes (32-bit/64-bit value) @@ -616,6 +633,17 @@ au_tidaddr32_t tid; } au_subject32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_subject64ex_t; + /* * text length 2 bytes * text N bytes + 1 terminating NULL byte @@ -675,8 +703,9 @@ au_opaque_t opaque; au_path_t path; au_proc32_t proc32; + au_proc32ex_t proc32_ex; au_proc64_t proc64; - au_proc32ex_t proc32_ex; + au_proc64ex_t proc64_ex; au_ret32_t ret32; au_ret64_t ret64; au_seq_t seq; @@ -685,8 +714,9 @@ au_socketinet32_t sockinet32; au_socketunix_t sockunix; au_subject32_t subj32; + au_subject32ex_t subj32_ex; au_subject64_t subj64; - au_subject32ex_t subj32_ex; + au_subject64ex_t subj64_ex; au_text_t text; au_kevent_t kevent; au_invalid_t invalid; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 (text+ko) ==== @@ -32,7 +32,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#42 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 $ */ #include @@ -333,6 +333,14 @@ fprintf(fp, "/>"); break; + case AUT_PROCESS64: + fprintf(fp, "/>"); + break; + + case AUT_PROCESS64_EX: + fprintf(fp, "/>"); + break; + case AUT_RETURN32: fprintf(fp, "/>"); break; @@ -369,6 +377,10 @@ fprintf(fp, "/>"); break; + case AUT_SUBJECT64_EX: + fprintf(fp, "/>"); + break; + case AUT_TEXT: fprintf(fp, ""); break; @@ -488,6 +500,14 @@ fprintf(fp, ""); break; @@ -2530,7 +2554,133 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * machine id 4 bytes + */ static int +fetch_process64_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64.tid.port, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64.tid.addr, + sizeof(tok->tt.proc64.tid.addr), tok->len, err); + if (err) + return (-1); + + return (0); +} + +static void +print_process64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_ip_address(fp, tok->tt.proc64.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_delim(fp, del); + print_ip_address(fp, tok->tt.proc64.tid.addr); + } +} + +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 4 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int fetch_process32ex_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; @@ -2646,6 +2796,135 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 8 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int +fetch_process64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.proc64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64_ex.tid.addr[0], + sizeof(tok->tt.proc64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.proc64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.proc64_ex.tid.addr, + sizeof(tok->tt.proc64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_process64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + } +} + /* * errno 1 byte * return value 4 bytes @@ -3290,6 +3569,134 @@ } /* + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * type 4 bytes + * machine id 16 bytes + */ +static int +fetch_subject64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.subj64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.subj64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.subj64_ex.tid.addr[0], + sizeof(tok->tt.subj64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.subj64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.subj64_ex.tid.addr, + sizeof(tok->tt.subj64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_subject64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "subject_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.subj64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.subj64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.subj64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + } +} + +/* * size 2 bytes * data size bytes */ @@ -3533,6 +3940,12 @@ case AUT_PROCESS32_EX: return (fetch_process32ex_tok(tok, buf, len)); + case AUT_PROCESS64: + return (fetch_process64_tok(tok, buf, len)); + + case AUT_PROCESS64_EX: + return (fetch_process64ex_tok(tok, buf, len)); + case AUT_RETURN32: return (fetch_return32_tok(tok, buf, len)); @@ -3554,11 +3967,14 @@ case AUT_SUBJECT32: return (fetch_subject32_tok(tok, buf, len)); + case AUT_SUBJECT32_EX: + return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64: return (fetch_subject64_tok(tok, buf, len)); - case AUT_SUBJECT32_EX: - return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64_EX: + return (fetch_subject64ex_tok(tok, buf, len)); case AUT_TEXT: return (fetch_text_tok(tok, buf, len)); @@ -3682,6 +4098,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3718,6 +4142,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3840,6 +4268,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_XML); return; @@ -3876,6 +4312,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_XML); return; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#52 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ */ #include @@ -212,9 +212,46 @@ token_t * au_to_attr64(struct vnode_au_info *vni) { + token_t *t; + u_char *dptr = NULL; + u_int16_t pad0_16 = 0; + u_int16_t pad0_32 = 0; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 2 * sizeof(u_int16_t) + + 3 * sizeof(u_int32_t) + sizeof(u_int64_t) * 2); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_ATTR64); + + /* + * Darwin defines the size for the file mode + * as 2 bytes; BSM defines 4 so pad with 0 + */ + ADD_U_INT16(dptr, pad0_16); + ADD_U_INT16(dptr, vni->vn_mode); + + ADD_U_INT32(dptr, vni->vn_uid); + ADD_U_INT32(dptr, vni->vn_gid); + ADD_U_INT32(dptr, vni->vn_fsid); - errno = ENOTSUP; - return (NULL); + /* + * Some systems use 32-bit file ID's, other's use 64-bit file IDs. + * Attempt to handle both, and let the compiler sort it out. If we + * could pick this out at compile-time, it would be better, so as to + * avoid the else case below. + */ + if (sizeof(vni->vn_fileid) == sizeof(uint32_t)) { + ADD_U_INT32(dptr, pad0_32); + ADD_U_INT32(dptr, vni->vn_fileid); + } else if (sizeof(vni->vn_fileid) == sizeof(uint64_t)) + ADD_U_INT64(dptr, vni->vn_fileid); + else + ADD_U_INT64(dptr, 0LL); + + ADD_U_INT64(dptr, vni->vn_dev); + + return (t); } token_t * @@ -654,9 +691,26 @@ __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 8 * sizeof(u_int32_t) + + sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -727,9 +781,42 @@ au_to_process64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -944,9 +1031,26 @@ au_to_subject64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 7 * sizeof(u_int32_t) + + sizeof(u_int64_t) + sizeof(u_int32_t)); + if (t == NULL) + return (NULL); - errno = ENOTSUP; - return (NULL); + ADD_U_CHAR(dptr, AUT_SUBJECT64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); + + return (t); } token_t * @@ -1016,9 +1120,42 @@ au_to_subject64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_SUBJECT64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -1166,6 +1303,33 @@ return (t); } +token_t * +au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm) +{ + token_t *t; + u_char *dptr = NULL; + u_int32_t timems; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int32_t) + + sizeof(u_char) + 2 * sizeof(u_int16_t) + 2 * sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_HEADER64); + ADD_U_INT32(dptr, rec_size); + ADD_U_CHAR(dptr, AUDIT_HEADER_VERSION_OPENBSM); + ADD_U_INT16(dptr, e_type); + ADD_U_INT16(dptr, e_mod); + + timems = tm.tv_usec/1000; + /* Add the timestamp */ + ADD_U_INT64(dptr, tm.tv_sec); + ADD_U_INT64(dptr, timems); /* We need time in ms. */ + + return (t); +} + #if !defined(KERNEL) && !defined(_KERNEL) token_t * au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod) @@ -1181,9 +1345,11 @@ au_to_header64(__unused int rec_size, __unused au_event_t e_type, __unused au_emod_t e_mod) { + struct timeval tm; - errno = ENOTSUP; - return (NULL); + if (gettimeofday(&tm, NULL) == -1) + return (NULL); + return (au_to_header64_tm(rec_size, e_type, e_mod, tm)); } token_t * From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEAE416AA68; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 75C5816A9B7 for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9A54B440F3 for ; Tue, 21 Nov 2006 17:08:18 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Mpi064647 for ; Tue, 21 Nov 2006 17:08:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8L3q064639 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:21 GMT Message-Id: <200611211708.kALH8L3q064639@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=110198 Change 110198 by imp@imp_lighthouse on 2006/11/18 08:52:08 Space optimized divsi implementation. Now all I gotta do is find out where it really came from. This puts us below 8k for boot2! Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/divsi3.c#1 add Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 (text+ko) ==== @@ -8,7 +8,7 @@ putchar.c printf.c reset.c spi_flash.c xmodem.c \ sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \ memset.c memcmp.c -SRCS+=ashldi3.c divsi3.S +SRCS+=ashldi3.c divsi3.c NO_MAN= .if ${MK_TAG_LIST} != "no" From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E152716AB87; Tue, 21 Nov 2006 17:17:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 86E3416A9CF for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 307B64410C for ; Tue, 21 Nov 2006 17:08:18 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8LeW064636 for ; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8LYg064632 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:21 GMT Message-Id: <200611211708.kALH8LYg064632@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110197 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=110197 Change 110197 by imp@imp_lighthouse on 2006/11/18 08:41:33 Move MAC Save 82 byes by eliminating the spinner. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 (text+ko) ==== @@ -82,8 +82,6 @@ RBX_VERBOSE }; -unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; - unsigned dsk_start; static char cmd[512]; static char kname[1024]; ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; static void MacFromEE() @@ -66,8 +66,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 (text+ko) ==== @@ -9,11 +9,10 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; #define KLUDGE_STRAP #define TSC_FPGA -#define XMODEM_DL #ifdef TSC_FPGA #include "at91rm9200.h" @@ -129,11 +128,8 @@ SPI_InitFlash(); fpga_load(); #endif - printf("EEinit\n"); EEInit(); - printf("mac\n"); MacFromEE(); - printf("EEEEEE\n"); EMAC_Init(); sdcard_init(); EMAC_SetMACAddress(mac); @@ -145,8 +141,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 607D016ABF6; Tue, 21 Nov 2006 17:17:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8F34616A9E0 for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1404643EEB for ; Tue, 21 Nov 2006 17:08:03 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8HK2064528 for ; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8H8I064524 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:17 GMT Message-Id: <200611211708.kALH8H8I064524@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110188 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=110188 Change 110188 by sam@sam_ebb on 2006/11/18 06:07:56 Interlock data updates to avoid scrambling i2c accesses. We remove the delay after a channel change as it doesn't seem needed and doing so insures we don't sleep (and release the mutex) while doing an update. If we need to bring back the delay then we need to handle sleeping; probably by moving the update time setting up. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 (text+ko) ==== @@ -67,6 +67,7 @@ struct ad7418_softc { device_t sc_dev; + struct mtx sc_mtx; int sc_curchan; /* current channel */ int sc_curtemp; int sc_curvolt; @@ -116,6 +117,7 @@ int conf; sc->sc_dev = dev; + mtx_init(&sc->sc_mtx, "ad7418", "ad7418", MTX_DEF); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "temp", CTLTYPE_INT | CTLFLAG_RD, sc, 0, @@ -165,7 +167,18 @@ ad7418_write_1(sc->sc_dev, AD7418_CONF, (ad7418_read_1(sc->sc_dev, AD7418_CONF) &~ AD7418_CONF_CHAN)|chan); sc->sc_curchan = chan; - tsleep(sc, 0, "ad7418", 1); /* XXX 1 tick should be 'nuf */ +#if 0 + /* + * NB: Linux driver delays here but chip data sheet + * says nothing and things appear to work fine w/o + * a delay on channel change. If this is enabled + * be sure to account for losing the mutex below + * in ad7418_update. + */ + mtx_assert(&sc->sc_mtx, MA_OWNED); + /* let channel change settle, 1 tick should be 'nuf (need ~1ms) */ + msleep(sc, &sc->sc_mtx, 0, "ad7418", 1); +#endif } static int @@ -187,6 +200,7 @@ { int v; + mtx_lock(&sc->sc_mtx); /* NB: no point in updating any faster than the chip */ if (ticks - sc->sc_lastupdate > hz) { ad7418_set_channel(sc, AD7418_CHAN_TEMP); @@ -199,6 +213,7 @@ sc->sc_curvolt = v; sc->sc_lastupdate = ticks; } + mtx_unlock(&sc->sc_mtx); } static device_method_t ad7418_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 903F716AA6D; Tue, 21 Nov 2006 17:17:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9332E16A9E8 for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13E6E440E2 for ; Tue, 21 Nov 2006 17:08:02 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8HV3064516 for ; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Hj8064509 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:17 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:17 GMT Message-Id: <200611211708.kALH8Hj8064509@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110187 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=110187 Change 110187 by sam@sam_ebb on 2006/11/18 05:38:02 add rtc and sensors Affected files ... .. //depot/projects/arm/src/sys/arm/conf/AVILA#8 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/AVILA#8 (text+ko) ==== @@ -85,6 +85,8 @@ device ixpiic device ixpwdog # watchdog timer +device rtc_avila # DS1762 on I2C bus +device adc_avila # AD7418 on I2C bus device ata device ata_avila # Gateworks CF/IDE support From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DC5E16AC7F; Tue, 21 Nov 2006 17:17:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 97FB316A9F2 for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 38D1543EEC for ; Tue, 21 Nov 2006 17:08:19 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8OgS064733 for ; Tue, 21 Nov 2006 17:08:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8OX2064725 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:24 GMT Message-Id: <200611211708.kALH8OX2064725@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110207 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=110207 Change 110207 by rwatson@rwatson_fledge on 2006/11/18 11:12:21 Remove now unnecessary __unused qualifiers on arguments to process token generation. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ */ #include @@ -687,9 +687,8 @@ } token_t * -au_to_process64(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { token_t *t; u_char *dptr = NULL; @@ -714,9 +713,8 @@ } token_t * -au_to_process(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { return (au_to_process32(auid, euid, egid, ruid, rgid, pid, sid, From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A99C16AD58; Tue, 21 Nov 2006 17:17:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A198716AA05 for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id CA01143EF8 for ; Tue, 21 Nov 2006 17:08:22 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8PSk064758 for ; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Pr6064754 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:25 GMT Message-Id: <200611211708.kALH8Pr6064754@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=110209 Change 110209 by rwatson@rwatson_fledge on 2006/11/18 11:18:02 Generate test tokens for process64 and process64_ex tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#5 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ */ /* @@ -435,6 +435,78 @@ write_record(directory, record_filename, process32ex_token, AUE_NULL); } +static au_id_t process64_auid = 0x12345678; +static uid_t process64_euid = 0x01234567; +static gid_t process64_egid = 0x23456789; +static uid_t process64_ruid = 0x98765432; +static gid_t process64_rgid = 0x09876543; +static pid_t process64_pid = 0x13243546; +static au_asid_t process64_sid = 0x97867564; +static au_tid_t process64_tid = { 0x16593746 }; +static au_tid_addr_t process64_tid_addr = { 0x16593746 }; + +static void +generate_process64_token(const char *directory, const char *token_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64"); + write_token(directory, token_filename, process64_token); +} + +static void +generate_process64_record(const char *directory, const char *record_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_ti_process64"); + write_record(directory, record_filename, process64_token, AUE_NULL); +} + +static void +generate_process64ex_token(const char *directory, const char *token_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_token(directory, token_filename, process64ex_token); +} + +static void +generate_process64ex_record(const char *directory, const char *record_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_record(directory, record_filename, process64ex_token, AUE_NULL); +} + static char return32_status = 0xd7; static uint32_t return32_ret = 0x12345678; @@ -815,6 +887,8 @@ generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); generate_process32_token(directory, "process32_token"); generate_process32ex_token(directory, "process32ex_token"); + generate_process64_token(directory, "process64_token"); + generate_process64ex_token(directory, "process64ex_token"); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -841,6 +915,8 @@ AU_IPv6); generate_process32_record(directory, "process32_record"); generate_process32ex_record(directory, "process32ex_record"); + generate_process64_record(directory, "process64_record"); + generate_process64ex_record(directory, "process64ex_record"); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4321516AD5E; Tue, 21 Nov 2006 17:17:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B0BC016AA23 for ; Tue, 21 Nov 2006 17:17:32 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id C3D1D43F06 for ; Tue, 21 Nov 2006 17:08:19 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8OHG064734 for ; Tue, 21 Nov 2006 17:08:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8OOa064730 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:24 GMT Message-Id: <200611211708.kALH8OOa064730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110207 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=110207 Change 110207 by rwatson@rwatson_fledge on 2006/11/18 11:12:21 Remove now unnecessary __unused qualifiers on arguments to process token generation. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ */ #include @@ -687,9 +687,8 @@ } token_t * -au_to_process64(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { token_t *t; u_char *dptr = NULL; @@ -714,9 +713,8 @@ } token_t * -au_to_process(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { return (au_to_process32(auid, euid, egid, ruid, rgid, pid, sid, From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 23C3A16ADBE; Tue, 21 Nov 2006 17:17:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 927F116AB2D for ; Tue, 21 Nov 2006 17:17:33 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18E0C440FB for ; Tue, 21 Nov 2006 17:08:08 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8KX0064600 for ; Tue, 21 Nov 2006 17:08:20 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8KCK064594 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:20 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:20 GMT Message-Id: <200611211708.kALH8KCK064594@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=110194 Change 110194 by imp@imp_lighthouse on 2006/11/18 08:03:24 Move almost all of the atmel specific stuff to the *board.c files. This should allow us to be in a good position to also support booting off CF. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 (text+ko) ==== @@ -26,3 +26,4 @@ void Update(void); void board_init(void); +int drvread(void *, unsigned, unsigned); ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 (text+ko) ==== @@ -26,9 +26,7 @@ #include -#include "emac.h" #include "lib.h" -#include "sd-card.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ @@ -96,7 +94,6 @@ static int parse(void); static int xfsread(ino_t, void *, size_t); static int dskread(void *, unsigned, unsigned); -static int drvread(void *, unsigned, unsigned); #include "ufsread.c" @@ -148,9 +145,6 @@ ino_t ino; board_init(); - EMAC_Init(); - sdcard_init(); - EMAC_SetMACAddress(mac); dmadat = (void *)(0x20000000 + (16 << 20)); /* Process configuration file */ @@ -304,12 +298,3 @@ } return drvread(buf, dsk_start + lba, nblk); } - -static int -drvread(void *buf, unsigned lba, unsigned nblk) -{ - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); - return (MCI_read((char *)buf, lba << 9, nblk << 9)); -} ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 (text+ko) ==== @@ -31,6 +31,7 @@ #include "emac.h" #include "lib.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -57,4 +58,16 @@ { InitEEPROM(); MacFromEE(); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); +} + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 (text+ko) ==== @@ -7,6 +7,7 @@ #include "lib.h" #include "ee.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -133,6 +134,19 @@ printf("mac\n"); MacFromEE(); printf("EEEEEE\n"); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); + } #include "../bootspi/ee.c" + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); +} From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2963416ADC0; Tue, 21 Nov 2006 17:17:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8E73616AB27 for ; Tue, 21 Nov 2006 17:17:33 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 11988440FA for ; Tue, 21 Nov 2006 17:08:08 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8KEk064599 for ; Tue, 21 Nov 2006 17:08:20 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Kxl064593 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:20 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:20 GMT Message-Id: <200611211708.kALH8Kxl064593@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=110194 Change 110194 by imp@imp_lighthouse on 2006/11/18 08:03:24 Move almost all of the atmel specific stuff to the *board.c files. This should allow us to be in a good position to also support booting off CF. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 (text+ko) ==== @@ -26,3 +26,4 @@ void Update(void); void board_init(void); +int drvread(void *, unsigned, unsigned); ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 (text+ko) ==== @@ -26,9 +26,7 @@ #include -#include "emac.h" #include "lib.h" -#include "sd-card.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ @@ -96,7 +94,6 @@ static int parse(void); static int xfsread(ino_t, void *, size_t); static int dskread(void *, unsigned, unsigned); -static int drvread(void *, unsigned, unsigned); #include "ufsread.c" @@ -148,9 +145,6 @@ ino_t ino; board_init(); - EMAC_Init(); - sdcard_init(); - EMAC_SetMACAddress(mac); dmadat = (void *)(0x20000000 + (16 << 20)); /* Process configuration file */ @@ -304,12 +298,3 @@ } return drvread(buf, dsk_start + lba, nblk); } - -static int -drvread(void *buf, unsigned lba, unsigned nblk) -{ - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); - return (MCI_read((char *)buf, lba << 9, nblk << 9)); -} ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 (text+ko) ==== @@ -31,6 +31,7 @@ #include "emac.h" #include "lib.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -57,4 +58,16 @@ { InitEEPROM(); MacFromEE(); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); +} + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 (text+ko) ==== @@ -7,6 +7,7 @@ #include "lib.h" #include "ee.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -133,6 +134,19 @@ printf("mac\n"); MacFromEE(); printf("EEEEEE\n"); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); + } #include "../bootspi/ee.c" + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); +} From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCDBB16AE02; Tue, 21 Nov 2006 17:17:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B1CCF16AB5A for ; Tue, 21 Nov 2006 17:17:33 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id BEA9D440D1 for ; Tue, 21 Nov 2006 17:08:19 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8NqG064672 for ; Tue, 21 Nov 2006 17:08:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8MEl064668 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:22 GMT Message-Id: <200611211708.kALH8MEl064668@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110202 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=110202 Change 110202 by rwatson@rwatson_fledge on 2006/11/18 09:42:17 Add encoding and decoding routines for process64_ex, process32_ex, subject64_ex token types. Submitted by: Diego Giagio Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#45 edit .. //depot/projects/trustedbsd/openbsm/README#22 edit .. //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 edit .. //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#45 (text+ko) ==== @@ -5,6 +5,8 @@ - Countless man page fixes. - praudit XML support via "praudit -x". - audit.log.5 expanded to include additional BSM token types. +- Added encoding and decoding routines for process64_ex, process32_ex, and + subject32_ex tokens. OpenBSM 1.0 alpha 12 @@ -272,4 +274,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#44 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#45 $ ==== //depot/projects/trustedbsd/openbsm/README#22 (text+ko) ==== @@ -78,6 +78,7 @@ Martin Englund Ruslan Ermilov Martin Voros + Diego Giagio In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -99,4 +100,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#21 $ +$P4: //depot/projects/trustedbsd/openbsm/README#22 $ ==== //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#23 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -246,6 +246,8 @@ token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); +token_t *au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm); #if !defined(KERNEL) && !defined(_KERNEL) token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod); ==== //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#31 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 $ */ #ifndef _LIBBSM_H_ @@ -164,6 +164,12 @@ u_int32_t addr[4]; } au_tidaddr32_t; +typedef struct au_tidaddr64 { + u_int64_t port; + u_int32_t type; + u_int32_t addr[4]; +} au_tidaddr64_t; + /* * argument # 1 byte * argument value 4 bytes/8 bytes (32-bit/64-bit value) @@ -483,6 +489,17 @@ au_tidaddr32_t tid; } au_proc32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_proc64ex_t; + /* * error status 1 byte * return value 4 bytes/8 bytes (32-bit/64-bit value) @@ -616,6 +633,17 @@ au_tidaddr32_t tid; } au_subject32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_subject64ex_t; + /* * text length 2 bytes * text N bytes + 1 terminating NULL byte @@ -675,8 +703,9 @@ au_opaque_t opaque; au_path_t path; au_proc32_t proc32; + au_proc32ex_t proc32_ex; au_proc64_t proc64; - au_proc32ex_t proc32_ex; + au_proc64ex_t proc64_ex; au_ret32_t ret32; au_ret64_t ret64; au_seq_t seq; @@ -685,8 +714,9 @@ au_socketinet32_t sockinet32; au_socketunix_t sockunix; au_subject32_t subj32; + au_subject32ex_t subj32_ex; au_subject64_t subj64; - au_subject32ex_t subj32_ex; + au_subject64ex_t subj64_ex; au_text_t text; au_kevent_t kevent; au_invalid_t invalid; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 (text+ko) ==== @@ -32,7 +32,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#42 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 $ */ #include @@ -333,6 +333,14 @@ fprintf(fp, "/>"); break; + case AUT_PROCESS64: + fprintf(fp, "/>"); + break; + + case AUT_PROCESS64_EX: + fprintf(fp, "/>"); + break; + case AUT_RETURN32: fprintf(fp, "/>"); break; @@ -369,6 +377,10 @@ fprintf(fp, "/>"); break; + case AUT_SUBJECT64_EX: + fprintf(fp, "/>"); + break; + case AUT_TEXT: fprintf(fp, ""); break; @@ -488,6 +500,14 @@ fprintf(fp, ""); break; @@ -2530,7 +2554,133 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * machine id 4 bytes + */ static int +fetch_process64_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64.tid.port, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64.tid.addr, + sizeof(tok->tt.proc64.tid.addr), tok->len, err); + if (err) + return (-1); + + return (0); +} + +static void +print_process64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_ip_address(fp, tok->tt.proc64.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_delim(fp, del); + print_ip_address(fp, tok->tt.proc64.tid.addr); + } +} + +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 4 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int fetch_process32ex_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; @@ -2646,6 +2796,135 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 8 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int +fetch_process64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.proc64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64_ex.tid.addr[0], + sizeof(tok->tt.proc64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.proc64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.proc64_ex.tid.addr, + sizeof(tok->tt.proc64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_process64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + } +} + /* * errno 1 byte * return value 4 bytes @@ -3290,6 +3569,134 @@ } /* + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * type 4 bytes + * machine id 16 bytes + */ +static int +fetch_subject64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.subj64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.subj64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.subj64_ex.tid.addr[0], + sizeof(tok->tt.subj64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.subj64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.subj64_ex.tid.addr, + sizeof(tok->tt.subj64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_subject64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "subject_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.subj64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.subj64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.subj64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + } +} + +/* * size 2 bytes * data size bytes */ @@ -3533,6 +3940,12 @@ case AUT_PROCESS32_EX: return (fetch_process32ex_tok(tok, buf, len)); + case AUT_PROCESS64: + return (fetch_process64_tok(tok, buf, len)); + + case AUT_PROCESS64_EX: + return (fetch_process64ex_tok(tok, buf, len)); + case AUT_RETURN32: return (fetch_return32_tok(tok, buf, len)); @@ -3554,11 +3967,14 @@ case AUT_SUBJECT32: return (fetch_subject32_tok(tok, buf, len)); + case AUT_SUBJECT32_EX: + return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64: return (fetch_subject64_tok(tok, buf, len)); - case AUT_SUBJECT32_EX: - return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64_EX: + return (fetch_subject64ex_tok(tok, buf, len)); case AUT_TEXT: return (fetch_text_tok(tok, buf, len)); @@ -3682,6 +4098,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3718,6 +4142,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3840,6 +4268,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_XML); return; @@ -3876,6 +4312,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_XML); return; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#52 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ */ #include @@ -212,9 +212,46 @@ token_t * au_to_attr64(struct vnode_au_info *vni) { + token_t *t; + u_char *dptr = NULL; + u_int16_t pad0_16 = 0; + u_int16_t pad0_32 = 0; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 2 * sizeof(u_int16_t) + + 3 * sizeof(u_int32_t) + sizeof(u_int64_t) * 2); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_ATTR64); + + /* + * Darwin defines the size for the file mode + * as 2 bytes; BSM defines 4 so pad with 0 + */ + ADD_U_INT16(dptr, pad0_16); + ADD_U_INT16(dptr, vni->vn_mode); + + ADD_U_INT32(dptr, vni->vn_uid); + ADD_U_INT32(dptr, vni->vn_gid); + ADD_U_INT32(dptr, vni->vn_fsid); - errno = ENOTSUP; - return (NULL); + /* + * Some systems use 32-bit file ID's, other's use 64-bit file IDs. + * Attempt to handle both, and let the compiler sort it out. If we + * could pick this out at compile-time, it would be better, so as to + * avoid the else case below. + */ + if (sizeof(vni->vn_fileid) == sizeof(uint32_t)) { + ADD_U_INT32(dptr, pad0_32); + ADD_U_INT32(dptr, vni->vn_fileid); + } else if (sizeof(vni->vn_fileid) == sizeof(uint64_t)) + ADD_U_INT64(dptr, vni->vn_fileid); + else + ADD_U_INT64(dptr, 0LL); + + ADD_U_INT64(dptr, vni->vn_dev); + + return (t); } token_t * @@ -654,9 +691,26 @@ __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 8 * sizeof(u_int32_t) + + sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -727,9 +781,42 @@ au_to_process64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -944,9 +1031,26 @@ au_to_subject64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 7 * sizeof(u_int32_t) + + sizeof(u_int64_t) + sizeof(u_int32_t)); + if (t == NULL) + return (NULL); - errno = ENOTSUP; - return (NULL); + ADD_U_CHAR(dptr, AUT_SUBJECT64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); + + return (t); } token_t * @@ -1016,9 +1120,42 @@ au_to_subject64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_SUBJECT64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -1166,6 +1303,33 @@ return (t); } +token_t * +au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm) +{ + token_t *t; + u_char *dptr = NULL; + u_int32_t timems; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int32_t) + + sizeof(u_char) + 2 * sizeof(u_int16_t) + 2 * sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_HEADER64); + ADD_U_INT32(dptr, rec_size); + ADD_U_CHAR(dptr, AUDIT_HEADER_VERSION_OPENBSM); + ADD_U_INT16(dptr, e_type); + ADD_U_INT16(dptr, e_mod); + + timems = tm.tv_usec/1000; + /* Add the timestamp */ + ADD_U_INT64(dptr, tm.tv_sec); + ADD_U_INT64(dptr, timems); /* We need time in ms. */ + + return (t); +} + #if !defined(KERNEL) && !defined(_KERNEL) token_t * au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod) @@ -1181,9 +1345,11 @@ au_to_header64(__unused int rec_size, __unused au_event_t e_type, __unused au_emod_t e_mod) { + struct timeval tm; - errno = ENOTSUP; - return (NULL); + if (gettimeofday(&tm, NULL) == -1) + return (NULL); + return (au_to_header64_tm(rec_size, e_type, e_mod, tm)); } token_t * From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F275116AF26; Tue, 21 Nov 2006 17:17:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 97C6F16AB85 for ; Tue, 21 Nov 2006 17:17:35 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id F2321440FF for ; Tue, 21 Nov 2006 17:08:09 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8LIW064623 for ; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8LLQ064615 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:21 GMT Message-Id: <200611211708.kALH8LLQ064615@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=110196 Change 110196 by imp@imp_lighthouse on 2006/11/18 08:36:39 remove a little debugging. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 (text+ko) ==== @@ -172,14 +172,11 @@ xputchar('\n'); autoboot = 0; c = 0; - printf("cmd is '%s'\n", cmd); if (parse()) xputchar('\a'); #ifdef XMODEM_DL else if (*cmd == '*') - Update(); - else if (*cmd == '#') - reset(); + Update(); #endif else load(); @@ -263,7 +260,6 @@ struct dos_partition *dp; struct disklabel *d; char *sec; - int i; if (!dsk_meta) { sec = dmadat->secbuf; @@ -271,16 +267,12 @@ if (drvread(sec, DOSBBSECTOR, 1)) return -1; dp = (void *)(sec + DOSPARTOFF); - for (i = 0; i < NDOSPART; i++) { - if (dp[i].dp_typ == DOSPTYP_386BSD) - break; - } - if (i == NDOSPART) + if (dp[0].dp_typ != DOSPTYP_386BSD) return -1; // Although dp_start is aligned within the disk partition structure, // DOSPARTOFF is 446, which is only word (2) aligned, not longword (4) // aligned. Cope by using memcpy to fetch the start of this partition. - memcpy(&dsk_start, &dp[i].dp_start, 4); + memcpy(&dsk_start, &dp[0].dp_start, 4); if (drvread(sec, dsk_start + LABELSECTOR, 1)) return -1; d = (void *)(sec + LABELOFFSET); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 144E416AF30; Tue, 21 Nov 2006 17:17:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F0F4A16ACDA for ; Tue, 21 Nov 2006 17:17:35 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E39FF43FF4 for ; Tue, 21 Nov 2006 17:08:19 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8P33064745 for ; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8PjO064737 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:25 GMT Message-Id: <200611211708.kALH8PjO064737@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110208 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=110208 Change 110208 by rwatson@rwatson_fledge on 2006/11/18 11:17:09 When generating process*_ex() variants, make sure to write out addresses in the byte order they are presented to the function, as addresses will already be in network byte order. The u_int32_t encoding macros will convert from native to network byte order, which is not required if they are already in network byte order. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 $ */ #include @@ -765,11 +765,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); @@ -807,11 +807,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT64(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA48216AF91; Tue, 21 Nov 2006 17:17:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1D66D16A587 for ; Tue, 21 Nov 2006 17:17:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C90643EB1 for ; Tue, 21 Nov 2006 17:08:42 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8aoQ064930 for ; Tue, 21 Nov 2006 17:08:36 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8WRK064925 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:32 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:32 GMT Message-Id: <200611211708.kALH8WRK064925@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=110223 Change 110223 by sam@sam_ebb on 2006/11/18 18:43:31 IFC @ 110222 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#12 integrate .. //depot/projects/arm/src/UPDATING#8 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_private.h#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 integrate .. //depot/projects/arm/src/release/Makefile#7 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 integrate .. //depot/projects/arm/src/release/scripts/package-split.py#4 integrate .. //depot/projects/arm/src/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/arm/src/sbin/mount/mount.c#4 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#4 integrate .. //depot/projects/arm/src/share/man/man4/uark.4#1 branch .. //depot/projects/arm/src/share/man/man4/ucom.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhid.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhidev.4#2 delete .. //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 integrate .. //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 integrate .. //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#17 integrate .. //depot/projects/arm/src/sys/amd64/include/reg.h#3 integrate .. //depot/projects/arm/src/sys/arm/arm/nexus.c#5 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#13 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0/Makefile#11 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/Makefile#10 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/main.c#15 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/Makefile#9 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#23 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#21 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#19 integrate .. //depot/projects/arm/src/sys/boot/i386/loader/main.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#19 integrate .. //depot/projects/arm/src/sys/conf/files.sun4v#4 integrate .. //depot/projects/arm/src/sys/ddb/db_watch.c#3 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.c#15 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bce.c#12 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp.c#14 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.c#8 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/arm/src/sys/dev/isp/ispmbox.h#8 integrate .. //depot/projects/arm/src/sys/dev/isp/ispvar.h#13 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi.c#11 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#27 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#18 integrate .. //depot/projects/arm/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/arm/src/sys/dev/pci/pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/syscons/syscons.c#12 integrate .. //depot/projects/arm/src/sys/fs/procfs/procfs_ioctl.c#5 integrate .. //depot/projects/arm/src/sys/i386/i386/db_trace.c#9 integrate .. //depot/projects/arm/src/sys/i386/i386/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/io_apic.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#21 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#24 integrate .. //depot/projects/arm/src/sys/i386/include/reg.h#4 integrate .. //depot/projects/arm/src/sys/kern/kern_condvar.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_synch.c#14 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#11 integrate .. //depot/projects/arm/src/sys/kern/sysv_msg.c#6 integrate .. //depot/projects/arm/src/sys/net/ethernet.h#3 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_node.c#8 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/autoconf.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/identcpu.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/mem.c#3 integrate .. //depot/projects/arm/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/arm/src/sys/sun4v/include/tte_hash.h#3 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/pmap.c#5 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tte_hash.c#3 integrate .. //depot/projects/arm/src/sys/sys/sleepqueue.h#3 integrate .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/arm/src/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/arm/src/tools/tools/nanobsd/FlashDevice.sub#3 integrate .. //depot/projects/arm/src/usr.sbin/Makefile#9 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.1#3 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.c#3 integrate .. //depot/projects/arm/src/usr.sbin/route6d/route6d.c#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/config.c#3 integrate .. //depot/projects/arm/src/usr.sbin/wpa/Makefile#2 integrate .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/arm/src/UPDATING#8 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/arm/src/lib/libarchive/archive.h.in#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/arm/src/lib/libarchive/archive_private.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/arm/src/release/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.988 2006/11/13 19:13:39 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1919,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/arm/src/release/scripts/package-split.py#4 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/arm/src/sbin/mount/mount.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/arm/src/share/man/man4/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/arm/src/share/man/man4/ucom.4#2 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/arm/src/share/man/man4/uhid.4#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.77 2006/11/15 19:53:47 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,7 +200,7 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, int access, struct dbreg *d); int amd64_clr_watch(int watchnum, struct dbreg *d); @@ -538,12 +538,11 @@ int access; struct dbreg *d; { - int i; - unsigned int mask; + int i, len; if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; @@ -563,25 +562,34 @@ } /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -596,7 +604,7 @@ if (watchnum < 0 || watchnum >= 4) return (-1); - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); DBREG_DRX(d, watchnum) = 0; return (0); @@ -615,25 +623,26 @@ avail = 0; for(i = 0; i < 4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - if (avail * 4 < size) + if (avail * 8 < size) return (-1); - for (i = 0; i < 4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } @@ -648,13 +657,13 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); for(i = 0; i < 4; i++) { - if (d.dr[7] & (3 << (i*2))) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); @@ -668,8 +677,7 @@ } -static -char * +static const char * watchtype_str(type) int type; { @@ -691,17 +699,21 @@ fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); for (i = 0; i < 4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } ==== //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31E9016B092; Tue, 21 Nov 2006 17:17:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C09E716AB75 for ; Tue, 21 Nov 2006 17:17:33 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5415244101 for ; Tue, 21 Nov 2006 17:08:09 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8L41064624 for ; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8LTP064620 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:21 GMT Message-Id: <200611211708.kALH8LTP064620@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=110196 Change 110196 by imp@imp_lighthouse on 2006/11/18 08:36:39 remove a little debugging. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 (text+ko) ==== @@ -172,14 +172,11 @@ xputchar('\n'); autoboot = 0; c = 0; - printf("cmd is '%s'\n", cmd); if (parse()) xputchar('\a'); #ifdef XMODEM_DL else if (*cmd == '*') - Update(); - else if (*cmd == '#') - reset(); + Update(); #endif else load(); @@ -263,7 +260,6 @@ struct dos_partition *dp; struct disklabel *d; char *sec; - int i; if (!dsk_meta) { sec = dmadat->secbuf; @@ -271,16 +267,12 @@ if (drvread(sec, DOSBBSECTOR, 1)) return -1; dp = (void *)(sec + DOSPARTOFF); - for (i = 0; i < NDOSPART; i++) { - if (dp[i].dp_typ == DOSPTYP_386BSD) - break; - } - if (i == NDOSPART) + if (dp[0].dp_typ != DOSPTYP_386BSD) return -1; // Although dp_start is aligned within the disk partition structure, // DOSPARTOFF is 446, which is only word (2) aligned, not longword (4) // aligned. Cope by using memcpy to fetch the start of this partition. - memcpy(&dsk_start, &dp[i].dp_start, 4); + memcpy(&dsk_start, &dp[0].dp_start, 4); if (drvread(sec, dsk_start + LABELSECTOR, 1)) return -1; d = (void *)(sec + LABELOFFSET); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B96B16B095; Tue, 21 Nov 2006 17:17:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 72DE916AC04 for ; Tue, 21 Nov 2006 17:17:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8482C440F4 for ; Tue, 21 Nov 2006 17:08:20 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8PTU064746 for ; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8P9V064742 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:25 GMT Message-Id: <200611211708.kALH8P9V064742@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110208 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=110208 Change 110208 by rwatson@rwatson_fledge on 2006/11/18 11:17:09 When generating process*_ex() variants, make sure to write out addresses in the byte order they are presented to the function, as addresses will already be in network byte order. The u_int32_t encoding macros will convert from native to network byte order, which is not required if they are already in network byte order. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 $ */ #include @@ -765,11 +765,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); @@ -807,11 +807,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT64(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DFEC616B159; Tue, 21 Nov 2006 17:17:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 944A316AA78 for ; Tue, 21 Nov 2006 17:17:34 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 885C744102 for ; Tue, 21 Nov 2006 17:08:09 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8LGP064635 for ; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8LL2064627 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:21 GMT Message-Id: <200611211708.kALH8LL2064627@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110197 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=110197 Change 110197 by imp@imp_lighthouse on 2006/11/18 08:41:33 Move MAC Save 82 byes by eliminating the spinner. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 (text+ko) ==== @@ -82,8 +82,6 @@ RBX_VERBOSE }; -unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; - unsigned dsk_start; static char cmd[512]; static char kname[1024]; ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; static void MacFromEE() @@ -66,8 +66,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 (text+ko) ==== @@ -9,11 +9,10 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; #define KLUDGE_STRAP #define TSC_FPGA -#define XMODEM_DL #ifdef TSC_FPGA #include "at91rm9200.h" @@ -129,11 +128,8 @@ SPI_InitFlash(); fpga_load(); #endif - printf("EEinit\n"); EEInit(); - printf("mac\n"); MacFromEE(); - printf("EEEEEE\n"); EMAC_Init(); sdcard_init(); EMAC_SetMACAddress(mac); @@ -145,8 +141,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2312F16B1E3; Tue, 21 Nov 2006 17:17:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ACE7C16AD2C for ; Tue, 21 Nov 2006 17:17:35 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E603A43E6D for ; Tue, 21 Nov 2006 17:08:22 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Pjp064757 for ; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8P1A064749 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:25 GMT Message-Id: <200611211708.kALH8P1A064749@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=110209 Change 110209 by rwatson@rwatson_fledge on 2006/11/18 11:18:02 Generate test tokens for process64 and process64_ex tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#5 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ */ /* @@ -435,6 +435,78 @@ write_record(directory, record_filename, process32ex_token, AUE_NULL); } +static au_id_t process64_auid = 0x12345678; +static uid_t process64_euid = 0x01234567; +static gid_t process64_egid = 0x23456789; +static uid_t process64_ruid = 0x98765432; +static gid_t process64_rgid = 0x09876543; +static pid_t process64_pid = 0x13243546; +static au_asid_t process64_sid = 0x97867564; +static au_tid_t process64_tid = { 0x16593746 }; +static au_tid_addr_t process64_tid_addr = { 0x16593746 }; + +static void +generate_process64_token(const char *directory, const char *token_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64"); + write_token(directory, token_filename, process64_token); +} + +static void +generate_process64_record(const char *directory, const char *record_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_ti_process64"); + write_record(directory, record_filename, process64_token, AUE_NULL); +} + +static void +generate_process64ex_token(const char *directory, const char *token_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_token(directory, token_filename, process64ex_token); +} + +static void +generate_process64ex_record(const char *directory, const char *record_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_record(directory, record_filename, process64ex_token, AUE_NULL); +} + static char return32_status = 0xd7; static uint32_t return32_ret = 0x12345678; @@ -815,6 +887,8 @@ generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); generate_process32_token(directory, "process32_token"); generate_process32ex_token(directory, "process32ex_token"); + generate_process64_token(directory, "process64_token"); + generate_process64ex_token(directory, "process64ex_token"); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -841,6 +915,8 @@ AU_IPv6); generate_process32_record(directory, "process32_record"); generate_process32ex_record(directory, "process32ex_record"); + generate_process64_record(directory, "process64_record"); + generate_process64ex_record(directory, "process64ex_record"); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D679516B286; Tue, 21 Nov 2006 17:17:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2083216ADBB for ; Tue, 21 Nov 2006 17:17:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9806343F00 for ; Tue, 21 Nov 2006 17:08:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8QF4064793 for ; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Q8q064785 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:26 GMT Message-Id: <200611211708.kALH8Q8q064785@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110212 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=110212 Change 110212 by rwatson@rwatson_fledge on 2006/11/18 11:58:19 Remove pre-ipv4/ipv6 ex reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record#2 delete .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C54716B311; Tue, 21 Nov 2006 17:17:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 862AC16AEC9 for ; Tue, 21 Nov 2006 17:17:40 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id A1D3543F01 for ; Tue, 21 Nov 2006 17:08:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8QhL064794 for ; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8QEY064790 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:26 GMT Message-Id: <200611211708.kALH8QEY064790@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110212 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=110212 Change 110212 by rwatson@rwatson_fledge on 2006/11/18 11:58:19 Remove pre-ipv4/ipv6 ex reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record#2 delete .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB0CA16B37B; Tue, 21 Nov 2006 17:17:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 081AC16AF2D for ; Tue, 21 Nov 2006 17:17:41 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2EEBB4400B for ; Tue, 21 Nov 2006 17:08:25 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8RXa064806 for ; Tue, 21 Nov 2006 17:08:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8RXO064802 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:27 GMT Message-Id: <200611211708.kALH8RXO064802@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=110213 Change 110213 by rwatson@rwatson_fledge on 2006/11/18 12:02:30 Add new reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_record#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_token#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv6#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA01216B41C; Tue, 21 Nov 2006 17:17:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 375CA16ADC1 for ; Tue, 21 Nov 2006 17:17:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D81743EF1 for ; Tue, 21 Nov 2006 17:08:23 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8QO8064782 for ; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8QRm064778 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:26 GMT Message-Id: <200611211708.kALH8QRm064778@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=110211 Change 110211 by rwatson@rwatson_fledge on 2006/11/18 11:52:56 When generating process*ex tokens and records, generate both sample IPv4 and IPv6 files, replicating logic from subject32ex code. Free buffers when done in subject32ex. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ */ /* @@ -335,6 +335,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_token(directory, buf, subject32ex_token); + free(buf); } static void @@ -361,6 +362,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_record(directory, record_filename, subject32ex_token, AUE_NULL); + free(buf); } static au_id_t process32_auid = 0x12345678; @@ -404,28 +406,49 @@ } static void -generate_process32ex_token(const char *directory, const char *token_filename) +generate_process32ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_token(directory, token_filename, process32ex_token); + write_token(directory, buf, process32ex_token); + free(buf); } static void -generate_process32ex_record(const char *directory, const char *record_filename) +generate_process32ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, @@ -433,6 +456,7 @@ if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); write_record(directory, record_filename, process32ex_token, AUE_NULL); + free(buf); } static au_id_t process64_auid = 0x12345678; @@ -476,12 +500,22 @@ } static void -generate_process64ex_token(const char *directory, const char *token_filename) +generate_process64ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -489,15 +523,26 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_token(directory, token_filename, process64ex_token); + free(buf); } static void -generate_process64ex_record(const char *directory, const char *record_filename) +generate_process64ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -505,6 +550,7 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_record(directory, record_filename, process64ex_token, AUE_NULL); + free(buf); } static char return32_status = 0xd7; @@ -883,12 +929,20 @@ generate_ipc_token(directory, "ipc_token"); generate_path_token(directory, "path_token"); generate_subject32_token(directory, "subject32_token"); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv4); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv4); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv6); generate_process32_token(directory, "process32_token"); - generate_process32ex_token(directory, "process32ex_token"); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv4); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv6); generate_process64_token(directory, "process64_token"); - generate_process64ex_token(directory, "process64ex_token"); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv4); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv6); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -914,9 +968,15 @@ generate_subject32ex_record(directory, "subject32ex_record", AU_IPv6); generate_process32_record(directory, "process32_record"); - generate_process32ex_record(directory, "process32ex_record"); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv4); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv6); generate_process64_record(directory, "process64_record"); - generate_process64ex_record(directory, "process64ex_record"); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv4); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv6); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1550C16B4CC; Tue, 21 Nov 2006 17:17:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 20CFA16AE67 for ; Tue, 21 Nov 2006 17:17:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2534E43F04 for ; Tue, 21 Nov 2006 17:08:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8RYu064805 for ; Tue, 21 Nov 2006 17:08:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8QYm064797 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:26 GMT Message-Id: <200611211708.kALH8QYm064797@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=110213 Change 110213 by rwatson@rwatson_fledge on 2006/11/18 12:02:30 Add new reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_record#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_token#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv6#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 60A7816B54B; Tue, 21 Nov 2006 17:17:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 27CF916B1E4 for ; Tue, 21 Nov 2006 17:17:47 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id A195A43E12 for ; Tue, 21 Nov 2006 17:08:42 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8VIV064881 for ; Tue, 21 Nov 2006 17:08:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8Vk4064877 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:31 GMT Message-Id: <200611211708.kALH8Vk4064877@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110219 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=110219 Change 110219 by rwatson@rwatson_fledge on 2006/11/18 16:48:14 When generating variants of the same token or record using IPv4 or IPv6 addresses, use the generated string with the address type for the target filename. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 $ */ /* @@ -455,7 +455,7 @@ process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_record(directory, record_filename, process32ex_token, AUE_NULL); + write_record(directory, buf, process32ex_token, AUE_NULL); free(buf); } @@ -522,7 +522,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_token(directory, token_filename, process64ex_token); + write_token(directory, buf, process64ex_token); free(buf); } @@ -549,7 +549,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_record(directory, record_filename, process64ex_token, AUE_NULL); + write_record(directory, buf, process64ex_token, AUE_NULL); free(buf); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6580A16B54D; Tue, 21 Nov 2006 17:17:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4953016B1FA for ; Tue, 21 Nov 2006 17:17:48 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B84743E9D for ; Tue, 21 Nov 2006 17:08:42 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Vxj064880 for ; Tue, 21 Nov 2006 17:08:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8VHu064872 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:31 GMT Message-Id: <200611211708.kALH8VHu064872@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110219 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=110219 Change 110219 by rwatson@rwatson_fledge on 2006/11/18 16:48:14 When generating variants of the same token or record using IPv4 or IPv6 addresses, use the generated string with the address type for the target filename. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 $ */ /* @@ -455,7 +455,7 @@ process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_record(directory, record_filename, process32ex_token, AUE_NULL); + write_record(directory, buf, process32ex_token, AUE_NULL); free(buf); } @@ -522,7 +522,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_token(directory, token_filename, process64ex_token); + write_token(directory, buf, process64ex_token); free(buf); } @@ -549,7 +549,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_record(directory, record_filename, process64ex_token, AUE_NULL); + write_record(directory, buf, process64ex_token, AUE_NULL); free(buf); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A19316B670; Tue, 21 Nov 2006 17:17:52 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 74E4516B320 for ; Tue, 21 Nov 2006 17:17:52 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6BF674411D for ; Tue, 21 Nov 2006 17:08:31 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8UFN064844 for ; Tue, 21 Nov 2006 17:08:30 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8SD2064839 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:28 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:08:28 GMT Message-Id: <200611211708.kALH8SD2064839@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110216 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=110216 Change 110216 by rdivacky@rdivacky_witten on 2006/11/18 13:55:33 Redo the checking for 2.6 emulation. We now cache the value of use26 and replace calls to linux_get_osrelease() + parsing with a call to linux_use26(). Typical path is lockless now. This commit also lets linux_chroot compile. This is untested version commited to let IFC proceed. Pointed out by: kib Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 (text+ko) ==== @@ -52,6 +52,7 @@ char pr_osname[LINUX_MAX_UTSNAME]; char pr_osrelease[LINUX_MAX_UTSNAME]; int pr_oss_version; + int pr_use_linux26; /* flag to determine whether to use 2.6 emulation */ }; SYSCTL_NODE(_compat, OID_AUTO, linux, CTLFLAG_RW, 0, @@ -82,6 +83,7 @@ "Linux kernel OS name"); static char linux_osrelease[LINUX_MAX_UTSNAME] = "2.4.2"; +static int linux_use_linux26 = 0; static int linux_sysctl_osrelease(SYSCTL_HANDLER_ARGS) @@ -227,19 +229,45 @@ } int +linux_use26(struct thread *td) +{ + struct prison *pr; + struct linux_prison *lpr; + int use26 = 0; /* defaults to off */ + + pr = td->td_ucred->cr_prison; + if (pr != NULL) { + mtx_lock(&pr->pr_mtx); + if (pr->pr_linux != NULL) { + lpr = (struct linux_prison *)pr->pr_linux; + use26 = lpr->pr_use_linux26; + } + mtx_unlock(&pr->pr_mtx); + } else + use26 = linux_use_linux26; + + return (use26); +} + +int linux_set_osrelease(struct thread *td, char *osrelease) { struct prison *pr; struct linux_prison *lpr; + int use26; + use26 = (strlen(osrelease) >= 3 && osrelease[2] == '6'); + pr = linux_get_prison(td); if (pr != NULL) { lpr = (struct linux_prison *)pr->pr_linux; strcpy(lpr->pr_osrelease, osrelease); + lpr->pr_use_linux26 = use26; mtx_unlock(&pr->pr_mtx); } else { mtx_lock(&osname_lock); strcpy(linux_osrelease, osrelease); + linux_use_linux26 = use26; mtx_unlock(&osname_lock); } ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 (text+ko) ==== @@ -40,4 +40,6 @@ int linux_get_oss_version(struct thread *td); int linux_set_oss_version(struct thread *td, int oss_version); +int linux_use26(struct thread *td); + #endif /* _LINUX_MIB_H_ */ ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 (text+ko) ==== @@ -1407,15 +1407,13 @@ linux_getpid(struct thread *td, struct linux_getpid_args *args) { struct linux_emuldata *em; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getpid)) printf(ARGS(getpid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; @@ -1445,15 +1443,13 @@ { struct linux_emuldata *em; struct proc *p, *pp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getppid)) printf(ARGS(getppid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] != '6') { + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; PROC_UNLOCK(td->td_proc); @@ -1581,15 +1577,13 @@ { struct linux_emuldata *em, *td_em, *tmp_em; struct proc *sp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(exit_group)) printf(ARGS(exit_group, "%i"), args->error_code); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { td_em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(td_em != NULL, ("exit_group: emuldata not found.\n")); @@ -1676,5 +1670,5 @@ int linux_chroot(struct thread *td, struct linux_chroot_args *args) { - return (chroot(td, args)); + return (chroot(td, (struct chroot_args *) args)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D635C16B67D; Tue, 21 Nov 2006 17:17:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 75BBB16B3E2 for ; Tue, 21 Nov 2006 17:17:52 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0829143EC6 for ; Tue, 21 Nov 2006 17:08:23 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Q0d064781 for ; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8QbZ064773 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:08:26 GMT Message-Id: <200611211708.kALH8QbZ064773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=110211 Change 110211 by rwatson@rwatson_fledge on 2006/11/18 11:52:56 When generating process*ex tokens and records, generate both sample IPv4 and IPv6 files, replicating logic from subject32ex code. Free buffers when done in subject32ex. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ */ /* @@ -335,6 +335,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_token(directory, buf, subject32ex_token); + free(buf); } static void @@ -361,6 +362,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_record(directory, record_filename, subject32ex_token, AUE_NULL); + free(buf); } static au_id_t process32_auid = 0x12345678; @@ -404,28 +406,49 @@ } static void -generate_process32ex_token(const char *directory, const char *token_filename) +generate_process32ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_token(directory, token_filename, process32ex_token); + write_token(directory, buf, process32ex_token); + free(buf); } static void -generate_process32ex_record(const char *directory, const char *record_filename) +generate_process32ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, @@ -433,6 +456,7 @@ if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); write_record(directory, record_filename, process32ex_token, AUE_NULL); + free(buf); } static au_id_t process64_auid = 0x12345678; @@ -476,12 +500,22 @@ } static void -generate_process64ex_token(const char *directory, const char *token_filename) +generate_process64ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -489,15 +523,26 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_token(directory, token_filename, process64ex_token); + free(buf); } static void -generate_process64ex_record(const char *directory, const char *record_filename) +generate_process64ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -505,6 +550,7 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_record(directory, record_filename, process64ex_token, AUE_NULL); + free(buf); } static char return32_status = 0xd7; @@ -883,12 +929,20 @@ generate_ipc_token(directory, "ipc_token"); generate_path_token(directory, "path_token"); generate_subject32_token(directory, "subject32_token"); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv4); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv4); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv6); generate_process32_token(directory, "process32_token"); - generate_process32ex_token(directory, "process32ex_token"); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv4); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv6); generate_process64_token(directory, "process64_token"); - generate_process64ex_token(directory, "process64ex_token"); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv4); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv6); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -914,9 +968,15 @@ generate_subject32ex_record(directory, "subject32ex_record", AU_IPv6); generate_process32_record(directory, "process32_record"); - generate_process32ex_record(directory, "process32ex_record"); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv4); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv6); generate_process64_record(directory, "process64_record"); - generate_process64ex_record(directory, "process64ex_record"); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv4); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv6); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:17:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6666216B762; Tue, 21 Nov 2006 17:17:55 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E448716B48D for ; Tue, 21 Nov 2006 17:17:54 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 904794411E for ; Tue, 21 Nov 2006 17:08:32 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8Umk064845 for ; Tue, 21 Nov 2006 17:08:30 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8RKL064833 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:27 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:08:27 GMT Message-Id: <200611211708.kALH8RKL064833@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110216 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:17:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=110216 Change 110216 by rdivacky@rdivacky_witten on 2006/11/18 13:55:33 Redo the checking for 2.6 emulation. We now cache the value of use26 and replace calls to linux_get_osrelease() + parsing with a call to linux_use26(). Typical path is lockless now. This commit also lets linux_chroot compile. This is untested version commited to let IFC proceed. Pointed out by: kib Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 (text+ko) ==== @@ -52,6 +52,7 @@ char pr_osname[LINUX_MAX_UTSNAME]; char pr_osrelease[LINUX_MAX_UTSNAME]; int pr_oss_version; + int pr_use_linux26; /* flag to determine whether to use 2.6 emulation */ }; SYSCTL_NODE(_compat, OID_AUTO, linux, CTLFLAG_RW, 0, @@ -82,6 +83,7 @@ "Linux kernel OS name"); static char linux_osrelease[LINUX_MAX_UTSNAME] = "2.4.2"; +static int linux_use_linux26 = 0; static int linux_sysctl_osrelease(SYSCTL_HANDLER_ARGS) @@ -227,19 +229,45 @@ } int +linux_use26(struct thread *td) +{ + struct prison *pr; + struct linux_prison *lpr; + int use26 = 0; /* defaults to off */ + + pr = td->td_ucred->cr_prison; + if (pr != NULL) { + mtx_lock(&pr->pr_mtx); + if (pr->pr_linux != NULL) { + lpr = (struct linux_prison *)pr->pr_linux; + use26 = lpr->pr_use_linux26; + } + mtx_unlock(&pr->pr_mtx); + } else + use26 = linux_use_linux26; + + return (use26); +} + +int linux_set_osrelease(struct thread *td, char *osrelease) { struct prison *pr; struct linux_prison *lpr; + int use26; + use26 = (strlen(osrelease) >= 3 && osrelease[2] == '6'); + pr = linux_get_prison(td); if (pr != NULL) { lpr = (struct linux_prison *)pr->pr_linux; strcpy(lpr->pr_osrelease, osrelease); + lpr->pr_use_linux26 = use26; mtx_unlock(&pr->pr_mtx); } else { mtx_lock(&osname_lock); strcpy(linux_osrelease, osrelease); + linux_use_linux26 = use26; mtx_unlock(&osname_lock); } ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 (text+ko) ==== @@ -40,4 +40,6 @@ int linux_get_oss_version(struct thread *td); int linux_set_oss_version(struct thread *td, int oss_version); +int linux_use26(struct thread *td); + #endif /* _LINUX_MIB_H_ */ ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 (text+ko) ==== @@ -1407,15 +1407,13 @@ linux_getpid(struct thread *td, struct linux_getpid_args *args) { struct linux_emuldata *em; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getpid)) printf(ARGS(getpid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; @@ -1445,15 +1443,13 @@ { struct linux_emuldata *em; struct proc *p, *pp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getppid)) printf(ARGS(getppid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] != '6') { + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; PROC_UNLOCK(td->td_proc); @@ -1581,15 +1577,13 @@ { struct linux_emuldata *em, *td_em, *tmp_em; struct proc *sp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(exit_group)) printf(ARGS(exit_group, "%i"), args->error_code); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { td_em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(td_em != NULL, ("exit_group: emuldata not found.\n")); @@ -1676,5 +1670,5 @@ int linux_chroot(struct thread *td, struct linux_chroot_args *args) { - return (chroot(td, args)); + return (chroot(td, (struct chroot_args *) args)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A29D816B77E; Tue, 21 Nov 2006 17:17:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BF08D16B4B1 for ; Tue, 21 Nov 2006 17:17:55 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA96B44207 for ; Tue, 21 Nov 2006 17:09:02 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8tYo065313 for ; Tue, 21 Nov 2006 17:08:55 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8rQL065309 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:53 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:53 GMT Message-Id: <200611211708.kALH8rQL065309@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=110253 Change 110253 by marcel@marcel_nfs on 2006/11/19 20:28:04 IFC @110251 Affected files ... .. //depot/projects/uart/amd64/amd64/db_trace.c#13 integrate .. //depot/projects/uart/amd64/amd64/intr_machdep.c#11 integrate .. //depot/projects/uart/amd64/amd64/io_apic.c#10 integrate .. //depot/projects/uart/amd64/amd64/machdep.c#24 integrate .. //depot/projects/uart/amd64/amd64/msi.c#2 integrate .. //depot/projects/uart/amd64/include/reg.h#3 integrate .. //depot/projects/uart/arm/arm/nexus.c#7 integrate .. //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 integrate .. //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 integrate .. //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/uart/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/uart/boot/i386/loader/main.c#10 integrate .. //depot/projects/uart/boot/ia64/common/copy.c#2 integrate .. //depot/projects/uart/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/uart/compat/linux/linux_emul.c#3 integrate .. //depot/projects/uart/compat/linux/linux_getcwd.c#10 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#20 integrate .. //depot/projects/uart/conf/NOTES#45 integrate .. //depot/projects/uart/conf/files#77 integrate .. //depot/projects/uart/conf/files.sun4v#3 integrate .. //depot/projects/uart/ddb/db_watch.c#4 integrate .. //depot/projects/uart/dev/ata/ata-all.c#24 integrate .. //depot/projects/uart/dev/bce/if_bce.c#6 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/uart/dev/em/if_em.c#26 integrate .. //depot/projects/uart/dev/em/if_em.h#22 integrate .. //depot/projects/uart/dev/isp/isp.c#17 integrate .. //depot/projects/uart/dev/isp/isp_library.c#7 integrate .. //depot/projects/uart/dev/isp/isp_library.h#4 integrate .. //depot/projects/uart/dev/isp/isp_pci.c#18 integrate .. //depot/projects/uart/dev/isp/isp_stds.h#2 integrate .. //depot/projects/uart/dev/isp/ispmbox.h#10 integrate .. //depot/projects/uart/dev/isp/ispvar.h#15 integrate .. //depot/projects/uart/dev/mfi/mfi.c#9 integrate .. //depot/projects/uart/dev/mpt/mpt.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt.h#19 integrate .. //depot/projects/uart/dev/mpt/mpt_cam.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt_pci.c#24 integrate .. //depot/projects/uart/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/uart/dev/pci/pci.c#27 integrate .. //depot/projects/uart/dev/syscons/syscons.c#18 integrate .. //depot/projects/uart/dev/usb/uark.c#1 branch .. //depot/projects/uart/dev/usb/usbdevs#28 integrate .. //depot/projects/uart/fs/procfs/procfs_ioctl.c#6 integrate .. //depot/projects/uart/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/uart/i386/i386/db_trace.c#13 integrate .. //depot/projects/uart/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/uart/i386/i386/io_apic.c#11 integrate .. //depot/projects/uart/i386/i386/machdep.c#27 integrate .. //depot/projects/uart/i386/i386/msi.c#2 integrate .. //depot/projects/uart/i386/i386/pmap.c#45 integrate .. //depot/projects/uart/i386/include/reg.h#4 integrate .. //depot/projects/uart/ia64/ia64/genassym.c#10 integrate .. //depot/projects/uart/ia64/ia64/interrupt.c#14 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#28 integrate .. //depot/projects/uart/ia64/ia64/mp_machdep.c#12 integrate .. //depot/projects/uart/ia64/include/kdb.h#4 integrate .. //depot/projects/uart/ia64/include/pcpu.h#4 integrate .. //depot/projects/uart/kern/kern_condvar.c#7 integrate .. //depot/projects/uart/kern/kern_synch.c#19 integrate .. //depot/projects/uart/kern/subr_sleepqueue.c#12 integrate .. //depot/projects/uart/kern/sysv_msg.c#11 integrate .. //depot/projects/uart/modules/Makefile#43 integrate .. //depot/projects/uart/modules/uark/Makefile#1 branch .. //depot/projects/uart/net/ethernet.h#3 integrate .. //depot/projects/uart/net/if_ethersubr.c#19 integrate .. //depot/projects/uart/nfsclient/nfs_node.c#14 integrate .. //depot/projects/uart/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/uart/sparc64/sparc64/autoconf.c#4 integrate .. //depot/projects/uart/sparc64/sparc64/identcpu.c#6 integrate .. //depot/projects/uart/sparc64/sparc64/mem.c#5 integrate .. //depot/projects/uart/sun4v/conf/NOTES#3 integrate .. //depot/projects/uart/sun4v/include/asmacros.h#2 integrate .. //depot/projects/uart/sun4v/include/cache.h#2 integrate .. //depot/projects/uart/sun4v/include/pcpu.h#2 integrate .. //depot/projects/uart/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/uart/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/uart/sun4v/sun4v/clock.c#2 delete .. //depot/projects/uart/sun4v/sun4v/counter.c#2 delete .. //depot/projects/uart/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/uart/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/uart/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/exception.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/uart/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/mem.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/uart/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/uart/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/uart/sys/sleepqueue.h#4 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/db_trace.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,10 +200,10 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, - int access, struct dbreg * d); -int amd64_clr_watch(int watchnum, struct dbreg * d); + int access, struct dbreg *d); +int amd64_clr_watch(int watchnum, struct dbreg *d); /* * Figure out how many arguments were passed into the frame at "fp". @@ -536,21 +536,20 @@ unsigned long watchaddr; int size; int access; - struct dbreg * d; + struct dbreg *d; { - int i; - unsigned int mask; - + int i, len; + if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; else return (-1); } - + switch (access) { case DBREG_DR7_EXEC: size = 1; /* size must be 1 for an execution breakpoint */ @@ -558,29 +557,39 @@ case DBREG_DR7_WRONLY: case DBREG_DR7_RDWR: break; - default : return (-1); + default: + return (-1); } - + /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ - DBREG_DRX(d,watchnum) = watchaddr; + DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -589,15 +598,15 @@ int amd64_clr_watch(watchnum, d) int watchnum; - struct dbreg * d; + struct dbreg *d; { if (watchnum < 0 || watchnum >= 4) return (-1); - - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); - DBREG_DRX(d,watchnum) = 0; - + + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); + DBREG_DRX(d, watchnum) = 0; + return (0); } @@ -607,38 +616,38 @@ db_expr_t addr; db_expr_t size; { - int avail, wsize; - int i; struct dbreg d; - + int avail, i, wsize; + fill_dbregs(NULL, &d); - + avail = 0; - for(i=0; i<4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + for(i = 0; i < 4; i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - - if (avail*4 < size) + + if (avail * 8 < size) return (-1); - - for (i=0; i<4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; - amd64_set_watch(i, addr, wsize, + amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } - + set_dbregs(NULL, &d); - + return(0); } @@ -648,28 +657,27 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); - for(i=0; i<4; i++) { - if (d.dr[7] & (3 << (i*2))) { - if ((DBREG_DRX((&d), i) >= addr) && + for(i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); - + } } - + set_dbregs(NULL, &d); - + return(0); } -static -char * +static const char * watchtype_str(type) int type; { @@ -685,30 +693,33 @@ void db_md_list_watchpoints() { - int i; struct dbreg d; + int i, len, type; fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); - for (i=0; i<4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - unsigned type, len; - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } - + db_printf("\ndebug register values:\n"); - for (i=0; i<8; i++) { + for (i = 0; i < 8; i++) { db_printf(" dr%d 0x%016lx\n", i, DBREG_DRX((&d), i)); } db_printf("\n"); ==== //depot/projects/uart/amd64/amd64/intr_machdep.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/uart/amd64/amd64/io_apic.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.25 2006/10/10 23:23:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.26 2006/11/17 16:41:03 jhb Exp $"); #include "opt_isa.h" @@ -512,13 +512,6 @@ * be routed to other CPUs later after they are enabled. */ intpin->io_cpu = PCPU_GET(apic_id); - if (bootverbose && intpin->io_irq != IRQ_DISABLED) { - printf("ioapic%u: intpin %d -> ", io->io_id, i); - ioapic_print_irq(intpin); - printf(" (%s, %s)\n", intpin->io_edgetrigger ? - "edge" : "level", intpin->io_activehi ? "high" : - "low"); - } value = ioapic_read(apic, IOAPIC_REDTBL_LO(i)); ioapic_write(apic, IOAPIC_REDTBL_LO(i), value | IOART_INTMSET); } @@ -583,6 +576,8 @@ return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); + if (io->io_pins[pin].io_bus == bus_type) + return (0); io->io_pins[pin].io_bus = bus_type; if (bootverbose) printf("ioapic%u: intpin %d bus %s\n", io->io_id, pin, @@ -666,13 +661,17 @@ ioapic_set_polarity(void *cookie, u_int pin, enum intr_polarity pol) { struct ioapic *io; + int activehi; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || pol == INTR_POLARITY_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); - io->io_pins[pin].io_activehi = (pol == INTR_POLARITY_HIGH); + activehi = (pol == INTR_POLARITY_HIGH); + if (io->io_pins[pin].io_activehi == activehi) + return (0); + io->io_pins[pin].io_activehi = activehi; if (bootverbose) printf("ioapic%u: intpin %d polarity: %s\n", io->io_id, pin, pol == INTR_POLARITY_HIGH ? "high" : "low"); @@ -683,13 +682,17 @@ ioapic_set_triggermode(void *cookie, u_int pin, enum intr_trigger trigger) { struct ioapic *io; + int edgetrigger; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); - io->io_pins[pin].io_edgetrigger = (trigger == INTR_TRIGGER_EDGE); + return (EINVAL); + edgetrigger = (trigger == INTR_TRIGGER_EDGE); + if (io->io_pins[pin].io_edgetrigger == edgetrigger) + return (0); + io->io_pins[pin].io_edgetrigger = edgetrigger; if (bootverbose) printf("ioapic%u: intpin %d trigger: %s\n", io->io_id, pin, trigger == INTR_TRIGGER_EDGE ? "edge" : "level"); ==== //depot/projects/uart/amd64/amd64/machdep.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.660 2006/11/07 21:57:18 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.663 2006/11/17 20:27:01 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1692,7 +1692,6 @@ { struct pcb *pcb; int i; - u_int64_t mask1, mask2; if (td == NULL) { load_dr0(dbregs->dr[0]); @@ -1709,10 +1708,13 @@ * TRCTRAP or a general protection fault right here. * Upper bits of dr6 and dr7 must not be set */ - for (i = 0, mask1 = 0x3<<16, mask2 = 0x2<<16; i < 8; - i++, mask1 <<= 2, mask2 <<= 2) - if ((dbregs->dr[7] & mask1) == mask2) + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ACCESS(dbregs->dr[7], i) == 0x02) + return (EINVAL); + if (td->td_frame->tf_cs == _ucode32sel && + DBREG_DR7_LEN(dbregs->dr[7], i) == DBREG_DR7_LEN_8) return (EINVAL); + } if ((dbregs->dr[6] & 0xffffffff00000000ul) != 0 || (dbregs->dr[7] & 0xffffffff00000000ul) != 0) return (EINVAL); @@ -1733,22 +1735,22 @@ * from within kernel mode? */ - if (dbregs->dr[7] & 0x3) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 0)) { /* dr0 is enabled */ if (dbregs->dr[0] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<2) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 1)) { /* dr1 is enabled */ if (dbregs->dr[1] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<4) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 2)) { /* dr2 is enabled */ if (dbregs->dr[2] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<6) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 3)) { /* dr3 is enabled */ if (dbregs->dr[3] >= VM_MAXUSER_ADDRESS) return (EINVAL); @@ -1832,9 +1834,8 @@ addr[nbp++] = (caddr_t)rdr3(); } - for (i=0; i -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.1 2006/11/13 22:23:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.2 2006/11/15 18:40:00 jhb Exp $"); #include #include @@ -315,7 +315,7 @@ /* We need count - cnt more sources starting at index 'cnt'. */ *newirq = cnt; *newcount = count - cnt; - for (j = 0; j < *newirq; j++) { + for (j = 0; j < *newcount; j++) { /* Create a new MSI source. */ msi = malloc(sizeof(struct msi_intsrc), M_MSI, ==== //depot/projects/uart/amd64/include/reg.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)reg.h 5.5 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/reg.h,v 1.35 2004/04/05 23:55:14 imp Exp $ + * $FreeBSD: src/sys/amd64/include/reg.h,v 1.38 2006/11/17 20:27:01 jhb Exp $ */ #ifndef _MACHINE_REG_H_ @@ -92,11 +92,26 @@ /* Index 8-15: reserved */ }; -#define DBREG_DR7_EXEC 0x00 /* break on execute */ -#define DBREG_DR7_WRONLY 0x01 /* break on write */ -#define DBREG_DR7_RDWR 0x03 /* break on read or write */ -#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by - register number */ +#define DBREG_DR7_LOCAL_ENABLE 0x01 +#define DBREG_DR7_GLOBAL_ENABLE 0x02 +#define DBREG_DR7_LEN_1 0x00 /* 1 byte length */ +#define DBREG_DR7_LEN_2 0x01 +#define DBREG_DR7_LEN_4 0x03 +#define DBREG_DR7_LEN_8 0x02 +#define DBREG_DR7_EXEC 0x00 /* break on execute */ +#define DBREG_DR7_WRONLY 0x01 /* break on write */ +#define DBREG_DR7_RDWR 0x03 /* break on read or write */ +#define DBREG_DR7_MASK(i) ((u_long)0xf << ((i) * 4 + 16) | 0x3 << (i) * 2) +#define DBREG_DR7_SET(i, len, access, enable) \ + ((u_long)((len) << 2 | (access)) << ((i) * 4 + 16) | (enable) << (i) * 2) +#define DBREG_DR7_GD 0x2000 +#define DBREG_DR7_ENABLED(d, i) (((d) & 0x3 << (i) * 2) != 0) +#define DBREG_DR7_ACCESS(d, i) ((d) >> ((i) * 4 + 16) & 0x3) +#define DBREG_DR7_LEN(d, i) ((d) >> ((i) * 4 + 18) & 0x3) + +#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by + register number */ + #ifdef _KERNEL /* * XXX these interfaces are MI, so they should be declared in a MI place. ==== //depot/projects/uart/arm/arm/nexus.c#7 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.9 2006/10/25 21:11:46 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.10 2006/11/17 11:56:56 cognet Exp $"); #include #include @@ -142,7 +142,7 @@ int i; for (i = rman_get_start(r); i <= rman_get_end(r); i++) - arm_mask_irq(rman_get_start(r)); + arm_mask_irq(i); error = arm_remove_irqhandler(ih); return (error); } ==== //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.3 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.4 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -474,7 +474,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.24 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.25 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -477,7 +477,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 (text) ==== @@ -1,11 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.4 2006/08/18 20:26:54 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ + +.PATH: ${.CURDIR}/../libat91 P=boot0 FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 (text) ==== @@ -1,12 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.2 2006/08/16 23:14:52 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0iic FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include + +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0iic/main.c,v 1.3 2006/11/09 19:55:25 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0iic/main.c,v 1.4 2006/11/16 00:49:50 imp Exp $ */ #include "at91rm9200.h" @@ -32,12 +32,19 @@ main(void) { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ + int len, sec; - while (xmodem_rx(addr) == -1) + printf("\nSend data to be written into EEPROM\n"); + while ((len = xmodem_rx(addr)) == -1) + continue; + sec = GetSeconds() + 1; + while (sec >= GetSeconds()) continue; + printf("\nWriting EEPROM from 0x%x to addr 0, 0x%x bytes\n", addr, + len); InitEEPROM(); - printf("Writing EEPROM from 0x%x to addr 0\n", addr); - WriteEEPROM(0, addr, 8192); - printf("Write complete. Press reset\n"); + printf("init done\n"); + WriteEEPROM(0, addr, len); + printf("\nWrote %d bytes. Press reset\n", len); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 (text) ==== @@ -1,13 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.2 2006/08/16 23:18:07 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0spi FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0spi/main.c,v 1.3 2006/10/21 22:43:07 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0spi/main.c,v 1.4 2006/11/16 00:48:53 imp Exp $ */ #include "at91rm9200.h" @@ -29,21 +29,23 @@ #include "at91rm9200_lowlevel.h" #include "spi_flash.h" -#define OFFSET 0 +#define LOADER_OFFSET 0 +#define FPGA_OFFSET (15 * FLASH_PAGE_SIZE) +#define OFFSET LOADER_OFFSET int main(void) { int len, i, j, off; - char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ - char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ + char *addr = (char *)SDRAM_BASE + (1 << 20); /* download at + 1MB */ + char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* readback to + 2MB */ + char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* extra copy at + 3MB */ SPI_InitFlash(); printf("Waiting for data\n"); while ((len = xmodem_rx(addr)) == -1) continue; - printf("\nDownloaded %u bytes.\n", len); + // Need extra copy at addr3 memcpy(addr3, addr, (len + FLASH_PAGE_SIZE - 1) / FLASH_PAGE_SIZE * FLASH_PAGE_SIZE); printf("Writing %u bytes to flash at %u\n", len, OFFSET); for (i = 0; i < len; i+= FLASH_PAGE_SIZE) { @@ -57,5 +59,6 @@ if (j >= 10) printf("Bad Readback at %u\n", i); } + printf("Done\n"); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 (text+ko) ==== @@ -1,19 +1,16 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.2 2006/11/09 20:07:26 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.3 2006/11/16 00:48:04 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 ${.CURDIR}/../bootspi P=boot2 FILES=${P} -SRCS=arm_init.S boot2.c ${BOOT_FLAVOR}_board.c +SRCS=arm_init.S boot2.c ${BOOT_FLAVOR:L}_board.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include -.if ${BOOT_FLAVOR} == "tsc" -SRCS+=ee.c -.endif .if ${BOOT_FLAVOR} == "kb920x" CFLAGS+=-DBOOT_IIC .endif ==== //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.2 2006/11/09 20:07:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.3 2006/11/16 00:47:31 imp Exp $"); #include #include @@ -29,7 +29,6 @@ #include "emac.h" #include "lib.h" #include "sd-card.h" -#include "ee.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ ==== //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.4 2006/11/09 20:23:51 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootiic FILES=${P} @@ -11,4 +11,4 @@ .include -CFLAGS += -DBOOT_IIC +CFLAGS += -DBOOT_IIC -DBOOT_COMMANDS ==== //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.5 2006/11/09 20:45:22 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.6 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootspi FILES=${P} @@ -14,3 +14,4 @@ .if ${MK_FPGA} == "yes" CFLAGS += -DTSC_FPGA .endif +CFLAGS += -DBOOT_COMMANDS ==== //depot/projects/uart/boot/i386/loader/main.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.38 2006/11/02 01:23:18 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.39 2006/11/16 13:32:30 ru Exp $"); /* * MD bootstrap main() and assorted miscellaneous @@ -191,7 +191,7 @@ extract_currdev(void) { struct i386_devdesc new_currdev; - int major, biosdev = -1; + int biosdev = -1; /* Assume we are booting from a BIOS disk by default */ new_currdev.d_dev = &biosdisk; @@ -222,7 +222,6 @@ B_CONTROLLER(initial_bootdev) - 1; new_currdev.d_kind.biosdisk.partition = B_PARTITION(initial_bootdev); biosdev = initial_bootinfo->bi_bios_dev; - major = B_TYPE(initial_bootdev); /* * If we are booted by an old bootstrap, we have to guess at the BIOS ==== //depot/projects/uart/boot/ia64/common/copy.c#2 (text+ko) ==== @@ -25,18 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include #include "libia64.h" -#define LDR_LOG2_PGSZ 20 - -uint64_t *ia64_pgtbl; -uint32_t ia64_pgtblsz; - static void * va2pa(vm_offset_t va, size_t *len) { ==== //depot/projects/uart/boot/ia64/common/libia64.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/uart/compat/linux/linux_emul.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C1F616B87F; Tue, 21 Nov 2006 17:17:58 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0203116B63C for ; Tue, 21 Nov 2006 17:17:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id A1BEF441FD for ; Tue, 21 Nov 2006 17:08:52 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8nBm065175 for ; Tue, 21 Nov 2006 17:08:49 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8mJB065167 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:48 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:08:48 GMT Message-Id: <200611211708.kALH8mJB065167@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110242 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=110242 Change 110242 by rdivacky@rdivacky_witten on 2006/11/19 09:59:09 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 integrate .. //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/genassym.c#3 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/kdb.h#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/ethernet.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/autoconf.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/identcpu.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/mem.c#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/conf/NOTES#6 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/tlb.c#2 delete Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.25 2006/10/22 11:52:11 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.27 2006/11/18 17:27:39 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -426,7 +426,7 @@ #ifdef DEBUG if (ldebug(getcwd)) - printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); + printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); #endif len = args->bufsize; ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.194 2006/11/15 10:01:06 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.197 2006/11/18 14:37:54 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -118,7 +118,7 @@ l_ulong totalbig; l_ulong freebig; l_uint mem_unit; - char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* Pads structure */ + char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* padding */ }; int linux_sysinfo(struct thread *td, struct linux_sysinfo_args *args) @@ -1413,6 +1413,11 @@ printf(ARGS(getpid, "")); #endif +#ifdef DEBUG + if (ldebug(getpid)) + printf(ARGS(getpid, "")); +#endif + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1449,6 +1454,11 @@ printf(ARGS(getppid, "")); #endif +#ifdef DEBUG + if (ldebug(getppid)) + printf(ARGS(getppid, "")); +#endif + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1500,6 +1510,11 @@ printf(ARGS(getgid, "")); #endif +#ifdef DEBUG + if (ldebug(getgid)) + printf(ARGS(getgid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_rgid; return (0); } @@ -1512,6 +1527,11 @@ printf(ARGS(getuid, "")); #endif +#ifdef DEBUG + if (ldebug(getuid)) + printf(ARGS(getuid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_ruid; return (0); } ==== //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.4 2006/11/13 01:02:18 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.6 2006/11/18 07:24:56 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -37,20 +37,18 @@ libkern/ffsl.c standard libkern/fls.c standard libkern/flsl.c standard -sun4v/sun4v/autoconf.c standard +sparc64/sparc64/autoconf.c standard sun4v/sun4v/bus_machdep.c standard -sun4v/sun4v/clock.c standard -sun4v/sun4v/counter.c standard -sun4v/sun4v/db_disasm.c optional ddb +sparc64/sparc64/clock.c standard +sparc64/sparc64/counter.c standard +sparc64/sparc64/db_disasm.c optional ddb sun4v/sun4v/db_interface.c optional ddb sun4v/sun4v/db_trace.c optional ddb sun4v/sun4v/db_hwwatch.c optional ddb sun4v/sun4v/dump_machdep.c standard -sun4v/sun4v/elf_machdep.c standard +sparc64/sparc64/elf_machdep.c standard sun4v/sun4v/exception.S standard no-obj -sun4v/sun4v/eeprom.c optional eeprom ebus | eeprom fhc | \ - eeprom sbus -sun4v/sun4v/gdb_machdep.c optional gdb +sparc64/sparc64/gdb_machdep.c optional gdb sun4v/sun4v/hv_pci.c optional pci sun4v/sun4v/trap_trace.S optional trap_tracing sparc64/pci/ofw_pci.c optional pci @@ -63,27 +61,27 @@ sun4v/sun4v/hvcons.c standard sun4v/sun4v/hcall.S standard sun4v/sun4v/hviommu.c standard -sun4v/sun4v/identcpu.c standard -sun4v/sun4v/in_cksum.c optional inet +sparc64/sparc64/identcpu.c standard +sparc64/sparc64/in_cksum.c optional inet sun4v/sun4v/interrupt.S standard no-obj sun4v/sun4v/intr_machdep.c standard sun4v/sun4v/locore.S standard no-obj sun4v/sun4v/machdep.c standard -sun4v/sun4v/mem.c optional mem +sparc64/sparc64/mem.c optional mem sun4v/sun4v/mp_exception.S optional smp sun4v/sun4v/mp_locore.S optional smp sun4v/sun4v/mp_machdep.c optional smp sun4v/sun4v/nexus.c standard sun4v/sun4v/t1_copy.S standard -sun4v/sun4v/ofw_bus.c standard -sun4v/sun4v/ofw_machdep.c standard +sparc64/sparc64/ofw_bus.c standard +sparc64/sparc64/ofw_machdep.c standard sun4v/sun4v/pmap.c standard -sun4v/sun4v/prof_machdep.c optional profiling-routine -sun4v/sun4v/rwindow.c standard +sparc64/sparc64/prof_machdep.c optional profiling-routine +sparc64/sparc64/rwindow.c standard sun4v/sun4v/rtc.c standard sun4v/sun4v/simdisk.c optional simulator sun4v/sun4v/support.S standard -sun4v/sun4v/sys_machdep.c standard +sparc64/sparc64/sys_machdep.c standard sun4v/sun4v/swtch.S standard sun4v/sun4v/tsb.c standard sun4v/sun4v/tte.c standard ==== //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.164 2006/11/15 20:04:56 jhb Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.165 2006/11/18 23:18:43 csjp Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -248,7 +248,6 @@ static void em_update_link_status(struct adapter *); static int em_get_buf(struct adapter *, int); static void em_enable_vlans(struct adapter *); -static void em_disable_vlans(struct adapter *); static int em_encap(struct adapter *, struct mbuf **); static void em_smartspeed(struct adapter *); static int em_82547_fifo_workaround(struct adapter *, int); @@ -761,7 +760,7 @@ } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting. */ adapter->watchdog_timer = EM_TX_TIMEOUT; @@ -1507,45 +1506,6 @@ } /* - * When operating in promiscuous mode, hardware stripping of the - * VLAN tag on receive is disabled. This should not prevent us - * from doing hardware insertion of the VLAN tag here as that - * is controlled by the dma descriptor flags and not the receive - * tag strip setting. Unfortunatly this hardware switches the - * VLAN encapsulation type from 802.1q to ISL when stripping om - * receive is disabled. This means we have to add the vlan - * encapsulation here in the driver, since it will have come down - * from the VLAN layer with a tag instead of a VLAN header. - */ - if ((m_head->m_flags & M_VLANTAG) && adapter->em_insert_vlan_header) { - struct ether_vlan_header *evl; - struct ether_header eh; - - m_head = m_pullup(m_head, sizeof(eh)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - eh = *mtod(m_head, struct ether_header *); - M_PREPEND(m_head, sizeof(*evl), M_DONTWAIT); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - m_head = m_pullup(m_head, sizeof(*evl)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - evl = mtod(m_head, struct ether_vlan_header *); - bcopy(&eh, evl, sizeof(*evl)); - evl->evl_proto = evl->evl_encap_proto; - evl->evl_encap_proto = htons(ETHERTYPE_VLAN); - evl->evl_tag = htons(m_head->m_pkthdr.ether_vtag); - *m_headp = m_head; - } - - /* * TSO workaround: * If an mbuf contains only the IP and TCP header we have * to pull 4 bytes of data into it. @@ -1915,29 +1875,16 @@ if (ifp->if_flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - /* - * Disable VLAN stripping in promiscous mode. - * This enables bridging of vlan tagged frames to occur - * and also allows vlan tags to be seen in tcpdump. - * XXX: This is a bit bogus as tcpdump may be used - * w/o promisc mode as well. - */ - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_disable_vlans(adapter); - adapter->em_insert_vlan_header = 1; } else if (ifp->if_flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; reg_rctl &= ~E1000_RCTL_UPE; E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - adapter->em_insert_vlan_header = 0; - } else - adapter->em_insert_vlan_header = 0; + } } static void em_disable_promisc(struct adapter *adapter) { - struct ifnet *ifp = adapter->ifp; uint32_t reg_rctl; reg_rctl = E1000_READ_REG(&adapter->hw, RCTL); @@ -1945,10 +1892,6 @@ reg_rctl &= (~E1000_RCTL_UPE); reg_rctl &= (~E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_enable_vlans(adapter); - adapter->em_insert_vlan_header = 0; } @@ -2429,7 +2372,7 @@ */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -3816,16 +3759,6 @@ } static void -em_disable_vlans(struct adapter *adapter) -{ - uint32_t ctrl; - - ctrl = E1000_READ_REG(&adapter->hw, CTRL); - ctrl &= ~E1000_CTRL_VME; - E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); -} - -static void em_enable_intr(struct adapter *adapter) { E1000_WRITE_REG(&adapter->hw, IMS, (IMS_ENABLE_MASK)); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.131 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.132 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 (text) ==== @@ -32,7 +32,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.9 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.10 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.4 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.5 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Qlogic Host Adapter Library Functions * @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * FreeBSD Version. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.126 2006/11/17 17:32:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.127 2006/11/18 03:53:16 mjacob Exp $"); #include #include @@ -1057,7 +1057,6 @@ cmd &= ~PCIM_CMD_INTX_DISABLE; } -#ifdef WE_KNEW_WHAT_WE_WERE_DOING if (IS_24XX(isp)) { int reg; @@ -1089,11 +1088,6 @@ pci_write_config(dev, reg, 2, pectl); } } -#else - if (IS_24XX(isp)) { - cmd &= ~PCIM_CMD_INTX_DISABLE; - } -#endif pci_write_config(dev, PCIR_COMMAND, cmd, 2); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.2 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.3 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * ==== //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.54 2006/11/16 00:39:56 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.55 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.79 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.80 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Soft Definitions for for Qlogic ISP SCSI adapters. * @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); ==== //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.22 2006/11/14 16:48:00 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.23 2006/11/18 07:33:53 scottl Exp $"); #include "opt_mfi.h" @@ -57,7 +57,6 @@ static int mfi_alloc_commands(struct mfi_softc *); static void mfi_release_command(struct mfi_command *cm); static int mfi_comms_init(struct mfi_softc *); -static int mfi_polled_command(struct mfi_softc *, struct mfi_command *); static int mfi_wait_command(struct mfi_softc *, struct mfi_command *); static int mfi_get_controller_info(struct mfi_softc *); static int mfi_get_log_state(struct mfi_softc *, @@ -91,7 +90,7 @@ SYSCTL_INT(_hw_mfi, OID_AUTO, event_locale, CTLFLAG_RW, &mfi_event_locale, 0, "event message locale"); -static int mfi_event_class = MFI_EVT_CLASS_DEBUG; +static int mfi_event_class = 10; TUNABLE_INT("hw.mfi.event_class", &mfi_event_class); SYSCTL_INT(_hw_mfi, OID_AUTO, event_class, CTLFLAG_RW, &mfi_event_class, 0, "event message class"); @@ -546,8 +545,10 @@ init->header.cmd = MFI_CMD_INIT; init->header.data_len = sizeof(struct mfi_init_qinfo); init->qinfo_new_addr_lo = cm->cm_frame_busaddr + MFI_FRAME_SIZE; + cm->cm_data = NULL; + cm->cm_flags = MFI_CMD_POLLED; - if ((error = mfi_polled_command(sc, cm)) != 0) { + if ((error = mfi_mapcmd(sc, cm)) != 0) { device_printf(sc->mfi_dev, "failed to send init command\n"); mtx_unlock(&sc->mfi_io_lock); return (error); @@ -574,15 +575,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Controller info buffer map failed\n"); - free(ci, M_MFIBUF); - mfi_release_command(cm); - mtx_unlock(&sc->mfi_io_lock); - return (error); - } - - /* It's ok if this fails, just use default info instead */ - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get controller info\n"); sc->mfi_max_io = (sc->mfi_max_sge - 1) * PAGE_SIZE / MFI_SECTOR_LEN; @@ -620,11 +612,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Log state buffer map failed\n"); - goto out; - } - - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get log state\n"); goto out; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C963016B8A5; Tue, 21 Nov 2006 17:17:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BC45D16B67B for ; Tue, 21 Nov 2006 17:17:57 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACCBB44128 for ; Tue, 21 Nov 2006 17:08:42 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8aH9064931 for ; Tue, 21 Nov 2006 17:08:36 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8WOo064920 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:32 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:08:32 GMT Message-Id: <200611211708.kALH8WOo064920@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=110223 Change 110223 by sam@sam_ebb on 2006/11/18 18:43:31 IFC @ 110222 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#12 integrate .. //depot/projects/arm/src/UPDATING#8 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_private.h#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 integrate .. //depot/projects/arm/src/release/Makefile#7 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 integrate .. //depot/projects/arm/src/release/scripts/package-split.py#4 integrate .. //depot/projects/arm/src/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/arm/src/sbin/mount/mount.c#4 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#4 integrate .. //depot/projects/arm/src/share/man/man4/uark.4#1 branch .. //depot/projects/arm/src/share/man/man4/ucom.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhid.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhidev.4#2 delete .. //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 integrate .. //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 integrate .. //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#17 integrate .. //depot/projects/arm/src/sys/amd64/include/reg.h#3 integrate .. //depot/projects/arm/src/sys/arm/arm/nexus.c#5 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#13 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0/Makefile#11 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/Makefile#10 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/main.c#15 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/Makefile#9 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#23 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#21 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#19 integrate .. //depot/projects/arm/src/sys/boot/i386/loader/main.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#19 integrate .. //depot/projects/arm/src/sys/conf/files.sun4v#4 integrate .. //depot/projects/arm/src/sys/ddb/db_watch.c#3 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.c#15 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bce.c#12 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp.c#14 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.c#8 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/arm/src/sys/dev/isp/ispmbox.h#8 integrate .. //depot/projects/arm/src/sys/dev/isp/ispvar.h#13 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi.c#11 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#27 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#18 integrate .. //depot/projects/arm/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/arm/src/sys/dev/pci/pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/syscons/syscons.c#12 integrate .. //depot/projects/arm/src/sys/fs/procfs/procfs_ioctl.c#5 integrate .. //depot/projects/arm/src/sys/i386/i386/db_trace.c#9 integrate .. //depot/projects/arm/src/sys/i386/i386/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/io_apic.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#21 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#24 integrate .. //depot/projects/arm/src/sys/i386/include/reg.h#4 integrate .. //depot/projects/arm/src/sys/kern/kern_condvar.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_synch.c#14 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#11 integrate .. //depot/projects/arm/src/sys/kern/sysv_msg.c#6 integrate .. //depot/projects/arm/src/sys/net/ethernet.h#3 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_node.c#8 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/autoconf.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/identcpu.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/mem.c#3 integrate .. //depot/projects/arm/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/arm/src/sys/sun4v/include/tte_hash.h#3 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/pmap.c#5 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tte_hash.c#3 integrate .. //depot/projects/arm/src/sys/sys/sleepqueue.h#3 integrate .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/arm/src/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/arm/src/tools/tools/nanobsd/FlashDevice.sub#3 integrate .. //depot/projects/arm/src/usr.sbin/Makefile#9 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.1#3 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.c#3 integrate .. //depot/projects/arm/src/usr.sbin/route6d/route6d.c#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/config.c#3 integrate .. //depot/projects/arm/src/usr.sbin/wpa/Makefile#2 integrate .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/arm/src/UPDATING#8 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/arm/src/lib/libarchive/archive.h.in#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/arm/src/lib/libarchive/archive_private.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/arm/src/release/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.988 2006/11/13 19:13:39 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1919,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/arm/src/release/scripts/package-split.py#4 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/arm/src/sbin/mount/mount.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/arm/src/share/man/man4/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/arm/src/share/man/man4/ucom.4#2 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/arm/src/share/man/man4/uhid.4#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.77 2006/11/15 19:53:47 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,7 +200,7 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, int access, struct dbreg *d); int amd64_clr_watch(int watchnum, struct dbreg *d); @@ -538,12 +538,11 @@ int access; struct dbreg *d; { - int i; - unsigned int mask; + int i, len; if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; @@ -563,25 +562,34 @@ } /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -596,7 +604,7 @@ if (watchnum < 0 || watchnum >= 4) return (-1); - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); DBREG_DRX(d, watchnum) = 0; return (0); @@ -615,25 +623,26 @@ avail = 0; for(i = 0; i < 4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - if (avail * 4 < size) + if (avail * 8 < size) return (-1); - for (i = 0; i < 4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } @@ -648,13 +657,13 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); for(i = 0; i < 4; i++) { - if (d.dr[7] & (3 << (i*2))) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); @@ -668,8 +677,7 @@ } -static -char * +static const char * watchtype_str(type) int type; { @@ -691,17 +699,21 @@ fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); for (i = 0; i < 4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } ==== //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2811B16B964; Tue, 21 Nov 2006 17:18:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6A8BC16B763 for ; Tue, 21 Nov 2006 17:17:59 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B19B244158 for ; Tue, 21 Nov 2006 17:08:49 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8lZp065137 for ; Tue, 21 Nov 2006 17:08:47 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8kR6065128 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:46 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:46 GMT Message-Id: <200611211708.kALH8kR6065128@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110239 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=110239 Change 110239 by imp@imp_lighthouse on 2006/11/19 05:07:47 Compile fix Obtained from: sam Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91.c#23 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91.c#23 (text+ko) ==== @@ -69,7 +69,7 @@ } static void -at91_bs_unmap(void *t, bus_size_t size) +at91_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size) { vm_offset_t va, endva; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C66A16B9F4; Tue, 21 Nov 2006 17:18:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 99ACF16B830 for ; Tue, 21 Nov 2006 17:18:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4B1E44200 for ; Tue, 21 Nov 2006 17:08:56 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8pxT065239 for ; Tue, 21 Nov 2006 17:08:51 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8pTj065234 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:51 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:08:51 GMT Message-Id: <200611211708.kALH8pTj065234@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110247 Change 110247 by rdivacky@rdivacky_witten on 2006/11/19 16:46:00 Attempt to fix the mismerge of p4 integrate. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 (text+ko) ==== @@ -1413,11 +1413,6 @@ printf(ARGS(getpid, "")); #endif -#ifdef DEBUG - if (ldebug(getpid)) - printf(ARGS(getpid, "")); -#endif - if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1454,11 +1449,6 @@ printf(ARGS(getppid, "")); #endif -#ifdef DEBUG - if (ldebug(getppid)) - printf(ARGS(getppid, "")); -#endif - if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1505,10 +1495,6 @@ int linux_getgid(struct thread *td, struct linux_getgid_args *args) { -#ifdef DEBUG - if (ldebug(getgid)) - printf(ARGS(getgid, "")); -#endif #ifdef DEBUG if (ldebug(getgid)) @@ -1522,10 +1508,6 @@ int linux_getuid(struct thread *td, struct linux_getuid_args *args) { -#ifdef DEBUG - if (ldebug(getuid)) - printf(ARGS(getuid, "")); -#endif #ifdef DEBUG if (ldebug(getuid)) From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4211716B9F7; Tue, 21 Nov 2006 17:17:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A94A516B72B for ; Tue, 21 Nov 2006 17:17:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78403441E3 for ; Tue, 21 Nov 2006 17:08:50 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8kIi065100 for ; Tue, 21 Nov 2006 17:08:46 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8fUk065086 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:41 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:41 GMT Message-Id: <200611211708.kALH8fUk065086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110236 Change 110236 by marcel@marcel_cluster on 2006/11/19 00:33:02 IFC @110235 Affected files ... .. //depot/projects/ia64/ObsoleteFiles.inc#13 integrate .. //depot/projects/ia64/UPDATING#92 integrate .. //depot/projects/ia64/lib/libarchive/archive.h.in#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_private.h#11 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 integrate .. //depot/projects/ia64/lib/libarchive/archive_write.c#12 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 integrate .. //depot/projects/ia64/release/Makefile#101 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 integrate .. //depot/projects/ia64/release/scripts/package-split.py#9 integrate .. //depot/projects/ia64/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/ia64/sbin/mount/mount.c#30 integrate .. //depot/projects/ia64/share/man/man4/Makefile#98 integrate .. //depot/projects/ia64/share/man/man4/uark.4#1 branch .. //depot/projects/ia64/share/man/man4/ucom.4#7 integrate .. //depot/projects/ia64/share/man/man4/uhid.4#6 integrate .. //depot/projects/ia64/share/man/man4/uhidev.4#4 delete .. //depot/projects/ia64/share/man/man9/p_candebug.9#3 integrate .. //depot/projects/ia64/share/man/man9/sleepqueue.9#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_trace.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/intr_machdep.c#15 integrate .. //depot/projects/ia64/sys/amd64/amd64/io_apic.c#12 integrate .. //depot/projects/ia64/sys/amd64/amd64/local_apic.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#43 integrate .. //depot/projects/ia64/sys/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/ia64/sys/amd64/amd64/nexus.c#18 integrate .. //depot/projects/ia64/sys/amd64/include/apicvar.h#13 integrate .. //depot/projects/ia64/sys/amd64/include/intr_machdep.h#9 integrate .. //depot/projects/ia64/sys/amd64/include/pmap.h#23 integrate .. //depot/projects/ia64/sys/amd64/include/reg.h#6 integrate .. //depot/projects/ia64/sys/amd64/pci/pci_bus.c#16 integrate .. //depot/projects/ia64/sys/arm/arm/nexus.c#8 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/iq31244_machdep.c#15 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/boot2.c#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/Makefile#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/Makefile#5 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/ia64/sys/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/ia64/sys/boot/i386/loader/main.c#15 integrate .. //depot/projects/ia64/sys/compat/linux/linux_emul.c#4 integrate .. //depot/projects/ia64/sys/compat/linux/linux_getcwd.c#20 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.c#50 integrate .. //depot/projects/ia64/sys/conf/NOTES#112 integrate .. //depot/projects/ia64/sys/conf/files#151 integrate .. //depot/projects/ia64/sys/conf/files.amd64#42 integrate .. //depot/projects/ia64/sys/conf/files.i386#81 integrate .. //depot/projects/ia64/sys/conf/files.pc98#68 integrate .. //depot/projects/ia64/sys/conf/files.sun4v#5 integrate .. //depot/projects/ia64/sys/ddb/db_watch.c#9 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_acpi.c#19 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_pci.c#12 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.c#71 integrate .. //depot/projects/ia64/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/ia64/sys/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#57 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#37 integrate .. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#69 integrate .. //depot/projects/ia64/sys/dev/isp/isp.c#32 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#35 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.h#28 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.h#3 integrate .. //depot/projects/ia64/sys/dev/isp/isp_pci.c#34 integrate .. //depot/projects/ia64/sys/dev/isp/isp_stds.h#2 integrate .. //depot/projects/ia64/sys/dev/isp/ispmbox.h#18 integrate .. //depot/projects/ia64/sys/dev/isp/ispvar.h#26 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_ioctl.h#3 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_linux.c#2 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.c#16 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.h#15 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#12 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_pci.c#25 integrate .. //depot/projects/ia64/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#62 integrate .. //depot/projects/ia64/sys/dev/pci/pci_if.m#7 integrate .. //depot/projects/ia64/sys/dev/pci/pci_pci.c#33 integrate .. //depot/projects/ia64/sys/dev/pci/pci_private.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_if.m#5 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_private.h#8 integrate .. //depot/projects/ia64/sys/dev/pci/pcireg.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcivar.h#18 integrate .. //depot/projects/ia64/sys/dev/syscons/syscons.c#44 integrate .. //depot/projects/ia64/sys/dev/usb/uark.c#1 branch .. //depot/projects/ia64/sys/dev/usb/usbdevs#79 integrate .. //depot/projects/ia64/sys/fs/procfs/procfs_ioctl.c#13 integrate .. //depot/projects/ia64/sys/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/ia64/sys/i386/i386/db_trace.c#25 integrate .. //depot/projects/ia64/sys/i386/i386/intr_machdep.c#14 integrate .. //depot/projects/ia64/sys/i386/i386/io_apic.c#13 integrate .. //depot/projects/ia64/sys/i386/i386/local_apic.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#75 integrate .. //depot/projects/ia64/sys/i386/i386/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/i386/i386/msi.c#1 branch .. //depot/projects/ia64/sys/i386/i386/nexus.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/pmap.c#98 integrate .. //depot/projects/ia64/sys/i386/include/apicvar.h#14 integrate .. //depot/projects/ia64/sys/i386/include/intr_machdep.h#10 integrate .. //depot/projects/ia64/sys/i386/include/pmap.h#31 integrate .. //depot/projects/ia64/sys/i386/include/reg.h#8 integrate .. //depot/projects/ia64/sys/i386/pci/pci_bus.c#29 integrate .. //depot/projects/ia64/sys/ia64/ia64/genassym.c#22 integrate .. //depot/projects/ia64/sys/ia64/ia64/interrupt.c#44 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#123 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#44 integrate .. //depot/projects/ia64/sys/ia64/include/kdb.h#4 integrate .. //depot/projects/ia64/sys/ia64/include/pcpu.h#6 integrate .. //depot/projects/ia64/sys/kern/kern_condvar.c#34 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#67 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#38 integrate .. //depot/projects/ia64/sys/kern/subr_sleepqueue.c#16 integrate .. //depot/projects/ia64/sys/kern/sysv_msg.c#24 integrate .. //depot/projects/ia64/sys/modules/Makefile#100 integrate .. //depot/projects/ia64/sys/modules/uark/Makefile#1 branch .. //depot/projects/ia64/sys/net/ethernet.h#9 integrate .. //depot/projects/ia64/sys/net/if_ethersubr.c#53 integrate .. //depot/projects/ia64/sys/netinet/ip_fw2.c#62 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_node.c#24 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#53 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/autoconf.c#9 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/identcpu.c#13 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/mem.c#14 integrate .. //depot/projects/ia64/sys/sun4v/conf/NOTES#4 integrate .. //depot/projects/ia64/sys/sun4v/include/asmacros.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/exception.S#4 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/pmap.c#6 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/ia64/sys/sys/elf_common.h#8 integrate .. //depot/projects/ia64/sys/sys/lock_profile.h#4 integrate .. //depot/projects/ia64/sys/sys/mbuf.h#46 integrate .. //depot/projects/ia64/sys/sys/sleepqueue.h#7 integrate .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/ia64/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/ia64/tools/tools/nanobsd/FlashDevice.sub#7 integrate .. //depot/projects/ia64/usr.sbin/Makefile#81 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.1#8 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.c#9 integrate .. //depot/projects/ia64/usr.sbin/route6d/route6d.c#7 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/config.c#30 integrate .. //depot/projects/ia64/usr.sbin/wpa/Makefile#3 integrate .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#5 integrate Differences ... ==== //depot/projects/ia64/ObsoleteFiles.inc#13 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/ia64/UPDATING#92 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/ia64/lib/libarchive/archive.h.in#10 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/ia64/lib/libarchive/archive_private.h#11 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.44 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.45 2006/11/13 16:50:18 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -497,7 +497,12 @@ if (tar->entry_bytes_remaining > 0) { bytes_read = (a->compression_read_ahead)(a, buff, 1); - if (bytes_read <= 0) + if (bytes_read == 0) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Truncated tar archive"); + return (ARCHIVE_FATAL); + } + if (bytes_read < 0) return (ARCHIVE_FATAL); if (bytes_read > tar->entry_bytes_remaining) bytes_read = tar->entry_bytes_remaining; ==== //depot/projects/ia64/lib/libarchive/archive_write.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/ia64/release/Makefile#101 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.987 2006/11/13 01:44:20 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1538,6 +1543,11 @@ The &man.time.1; utility now prints the time that a given command has been running if sent a SIGINFO signal. + The &man.traceroute.8; program now supports + a flag, which causes it to display the + differences between the sent and received + packets. &merged; + The &man.traceroute.8; utility now supports a option, which sets a fixed destination port for probe packets. This can be useful for tracing behind @@ -1914,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/ia64/release/scripts/package-split.py#9 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/ia64/sbin/mount/mount.c#30 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/ia64/share/man/man4/Makefile#98 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/ia64/share/man/man4/ucom.4#7 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/ia64/share/man/man4/uhid.4#6 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/ia64/share/man/man9/p_candebug.9#3 (text+ko) ==== @@ -25,15 +25,16 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.3 2004/07/06 07:26:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ .\" -.Dd November 11, 2003 +.Dd November 18, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME .Nm p_candebug .Nd determine debuggability of a process .Sh SYNOPSIS +.In sys/param.h .In sys/proc.h .Ft int .Fn p_candebug "struct thread *td" "struct proc *p" ==== //depot/projects/ia64/share/man/man9/sleepqueue.9#7 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.30 2005/03/30 22:57:41 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.31 2006/11/13 21:14:54 jhb Exp $"); /* * Instruction disassembler. @@ -84,6 +84,7 @@ #define Ib 21 /* byte immediate, unsigned */ #define Ibs 22 /* byte immediate, signed */ #define Iw 23 /* word immediate, unsigned */ +#define Ilq 24 /* long/quad immediate, unsigned */ #define O 25 /* direct address */ #define Db 26 /* byte displacement from EIP */ #define Dl 27 /* long displacement from EIP */ @@ -351,7 +352,6 @@ 0, 0, 0, - 0, db_inst_0f8x, db_inst_0f9x, db_inst_0fax, @@ -752,14 +752,14 @@ /*b6*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, /*b7*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, -/*b8*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*b9*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*ba*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bb*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bc*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bd*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*be*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bf*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, +/*b8*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*b9*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*ba*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bb*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bc*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bd*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*be*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bf*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, /*c0*/ { "", TRUE, BYTE, op2(Ib, E), db_Grp2 }, /*c1*/ { "", TRUE, LONG, op2(Ib, E), db_Grp2 }, @@ -854,17 +854,6 @@ int ss; }; -static const char * const db_index_reg_16[8] = { - "%bx,%si", - "%bx,%di", - "%bp,%si", - "%bp,%di", - "%si", - "%di", - "%bp", - "%bx" -}; - static const char * const db_reg[2][4][16] = { {{"%al", "%cl", "%dl", "%bl", "%ah", "%ch", "%dh", "%bh", @@ -927,7 +916,7 @@ int regmodrm; struct i_addr * addrp; /* out */ { - int mod, rm, sib, index, disp; + int mod, rm, sib, index, disp, size, have_sib; mod = f_mod(rex, regmodrm); rm = f_rm(rex, regmodrm); @@ -940,68 +929,49 @@ addrp->is_reg = FALSE; addrp->index = 0; - if (short_addr) { - addrp->index = 0; - addrp->ss = 0; - switch (mod) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4845916A55C; Tue, 21 Nov 2006 17:18:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EBC6C16BAE6 for ; Tue, 21 Nov 2006 17:18:06 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6513C441E2 for ; Tue, 21 Nov 2006 17:08:50 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8k2V065101 for ; Tue, 21 Nov 2006 17:08:46 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8fl8065091 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:41 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:41 GMT Message-Id: <200611211708.kALH8fl8065091@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=110236 Change 110236 by marcel@marcel_cluster on 2006/11/19 00:33:02 IFC @110235 Affected files ... .. //depot/projects/ia64/ObsoleteFiles.inc#13 integrate .. //depot/projects/ia64/UPDATING#92 integrate .. //depot/projects/ia64/lib/libarchive/archive.h.in#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_private.h#11 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 integrate .. //depot/projects/ia64/lib/libarchive/archive_write.c#12 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 integrate .. //depot/projects/ia64/release/Makefile#101 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 integrate .. //depot/projects/ia64/release/scripts/package-split.py#9 integrate .. //depot/projects/ia64/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/ia64/sbin/mount/mount.c#30 integrate .. //depot/projects/ia64/share/man/man4/Makefile#98 integrate .. //depot/projects/ia64/share/man/man4/uark.4#1 branch .. //depot/projects/ia64/share/man/man4/ucom.4#7 integrate .. //depot/projects/ia64/share/man/man4/uhid.4#6 integrate .. //depot/projects/ia64/share/man/man4/uhidev.4#4 delete .. //depot/projects/ia64/share/man/man9/p_candebug.9#3 integrate .. //depot/projects/ia64/share/man/man9/sleepqueue.9#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_trace.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/intr_machdep.c#15 integrate .. //depot/projects/ia64/sys/amd64/amd64/io_apic.c#12 integrate .. //depot/projects/ia64/sys/amd64/amd64/local_apic.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#43 integrate .. //depot/projects/ia64/sys/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/ia64/sys/amd64/amd64/nexus.c#18 integrate .. //depot/projects/ia64/sys/amd64/include/apicvar.h#13 integrate .. //depot/projects/ia64/sys/amd64/include/intr_machdep.h#9 integrate .. //depot/projects/ia64/sys/amd64/include/pmap.h#23 integrate .. //depot/projects/ia64/sys/amd64/include/reg.h#6 integrate .. //depot/projects/ia64/sys/amd64/pci/pci_bus.c#16 integrate .. //depot/projects/ia64/sys/arm/arm/nexus.c#8 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/iq31244_machdep.c#15 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/boot2.c#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/Makefile#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/Makefile#5 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/ia64/sys/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/ia64/sys/boot/i386/loader/main.c#15 integrate .. //depot/projects/ia64/sys/compat/linux/linux_emul.c#4 integrate .. //depot/projects/ia64/sys/compat/linux/linux_getcwd.c#20 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.c#50 integrate .. //depot/projects/ia64/sys/conf/NOTES#112 integrate .. //depot/projects/ia64/sys/conf/files#151 integrate .. //depot/projects/ia64/sys/conf/files.amd64#42 integrate .. //depot/projects/ia64/sys/conf/files.i386#81 integrate .. //depot/projects/ia64/sys/conf/files.pc98#68 integrate .. //depot/projects/ia64/sys/conf/files.sun4v#5 integrate .. //depot/projects/ia64/sys/ddb/db_watch.c#9 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_acpi.c#19 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_pci.c#12 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.c#71 integrate .. //depot/projects/ia64/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/ia64/sys/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#57 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#37 integrate .. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#69 integrate .. //depot/projects/ia64/sys/dev/isp/isp.c#32 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#35 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.h#28 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.h#3 integrate .. //depot/projects/ia64/sys/dev/isp/isp_pci.c#34 integrate .. //depot/projects/ia64/sys/dev/isp/isp_stds.h#2 integrate .. //depot/projects/ia64/sys/dev/isp/ispmbox.h#18 integrate .. //depot/projects/ia64/sys/dev/isp/ispvar.h#26 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_ioctl.h#3 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_linux.c#2 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.c#16 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.h#15 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#12 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_pci.c#25 integrate .. //depot/projects/ia64/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#62 integrate .. //depot/projects/ia64/sys/dev/pci/pci_if.m#7 integrate .. //depot/projects/ia64/sys/dev/pci/pci_pci.c#33 integrate .. //depot/projects/ia64/sys/dev/pci/pci_private.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_if.m#5 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_private.h#8 integrate .. //depot/projects/ia64/sys/dev/pci/pcireg.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcivar.h#18 integrate .. //depot/projects/ia64/sys/dev/syscons/syscons.c#44 integrate .. //depot/projects/ia64/sys/dev/usb/uark.c#1 branch .. //depot/projects/ia64/sys/dev/usb/usbdevs#79 integrate .. //depot/projects/ia64/sys/fs/procfs/procfs_ioctl.c#13 integrate .. //depot/projects/ia64/sys/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/ia64/sys/i386/i386/db_trace.c#25 integrate .. //depot/projects/ia64/sys/i386/i386/intr_machdep.c#14 integrate .. //depot/projects/ia64/sys/i386/i386/io_apic.c#13 integrate .. //depot/projects/ia64/sys/i386/i386/local_apic.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#75 integrate .. //depot/projects/ia64/sys/i386/i386/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/i386/i386/msi.c#1 branch .. //depot/projects/ia64/sys/i386/i386/nexus.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/pmap.c#98 integrate .. //depot/projects/ia64/sys/i386/include/apicvar.h#14 integrate .. //depot/projects/ia64/sys/i386/include/intr_machdep.h#10 integrate .. //depot/projects/ia64/sys/i386/include/pmap.h#31 integrate .. //depot/projects/ia64/sys/i386/include/reg.h#8 integrate .. //depot/projects/ia64/sys/i386/pci/pci_bus.c#29 integrate .. //depot/projects/ia64/sys/ia64/ia64/genassym.c#22 integrate .. //depot/projects/ia64/sys/ia64/ia64/interrupt.c#44 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#123 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#44 integrate .. //depot/projects/ia64/sys/ia64/include/kdb.h#4 integrate .. //depot/projects/ia64/sys/ia64/include/pcpu.h#6 integrate .. //depot/projects/ia64/sys/kern/kern_condvar.c#34 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#67 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#38 integrate .. //depot/projects/ia64/sys/kern/subr_sleepqueue.c#16 integrate .. //depot/projects/ia64/sys/kern/sysv_msg.c#24 integrate .. //depot/projects/ia64/sys/modules/Makefile#100 integrate .. //depot/projects/ia64/sys/modules/uark/Makefile#1 branch .. //depot/projects/ia64/sys/net/ethernet.h#9 integrate .. //depot/projects/ia64/sys/net/if_ethersubr.c#53 integrate .. //depot/projects/ia64/sys/netinet/ip_fw2.c#62 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_node.c#24 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#53 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/autoconf.c#9 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/identcpu.c#13 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/mem.c#14 integrate .. //depot/projects/ia64/sys/sun4v/conf/NOTES#4 integrate .. //depot/projects/ia64/sys/sun4v/include/asmacros.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/exception.S#4 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/pmap.c#6 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/ia64/sys/sys/elf_common.h#8 integrate .. //depot/projects/ia64/sys/sys/lock_profile.h#4 integrate .. //depot/projects/ia64/sys/sys/mbuf.h#46 integrate .. //depot/projects/ia64/sys/sys/sleepqueue.h#7 integrate .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/ia64/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/ia64/tools/tools/nanobsd/FlashDevice.sub#7 integrate .. //depot/projects/ia64/usr.sbin/Makefile#81 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.1#8 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.c#9 integrate .. //depot/projects/ia64/usr.sbin/route6d/route6d.c#7 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/config.c#30 integrate .. //depot/projects/ia64/usr.sbin/wpa/Makefile#3 integrate .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#5 integrate Differences ... ==== //depot/projects/ia64/ObsoleteFiles.inc#13 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/ia64/UPDATING#92 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/ia64/lib/libarchive/archive.h.in#10 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/ia64/lib/libarchive/archive_private.h#11 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.44 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.45 2006/11/13 16:50:18 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -497,7 +497,12 @@ if (tar->entry_bytes_remaining > 0) { bytes_read = (a->compression_read_ahead)(a, buff, 1); - if (bytes_read <= 0) + if (bytes_read == 0) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Truncated tar archive"); + return (ARCHIVE_FATAL); + } + if (bytes_read < 0) return (ARCHIVE_FATAL); if (bytes_read > tar->entry_bytes_remaining) bytes_read = tar->entry_bytes_remaining; ==== //depot/projects/ia64/lib/libarchive/archive_write.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/ia64/release/Makefile#101 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.987 2006/11/13 01:44:20 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1538,6 +1543,11 @@ The &man.time.1; utility now prints the time that a given command has been running if sent a SIGINFO signal. + The &man.traceroute.8; program now supports + a flag, which causes it to display the + differences between the sent and received + packets. &merged; + The &man.traceroute.8; utility now supports a option, which sets a fixed destination port for probe packets. This can be useful for tracing behind @@ -1914,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/ia64/release/scripts/package-split.py#9 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/ia64/sbin/mount/mount.c#30 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/ia64/share/man/man4/Makefile#98 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/ia64/share/man/man4/ucom.4#7 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/ia64/share/man/man4/uhid.4#6 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/ia64/share/man/man9/p_candebug.9#3 (text+ko) ==== @@ -25,15 +25,16 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.3 2004/07/06 07:26:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ .\" -.Dd November 11, 2003 +.Dd November 18, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME .Nm p_candebug .Nd determine debuggability of a process .Sh SYNOPSIS +.In sys/param.h .In sys/proc.h .Ft int .Fn p_candebug "struct thread *td" "struct proc *p" ==== //depot/projects/ia64/share/man/man9/sleepqueue.9#7 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.30 2005/03/30 22:57:41 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.31 2006/11/13 21:14:54 jhb Exp $"); /* * Instruction disassembler. @@ -84,6 +84,7 @@ #define Ib 21 /* byte immediate, unsigned */ #define Ibs 22 /* byte immediate, signed */ #define Iw 23 /* word immediate, unsigned */ +#define Ilq 24 /* long/quad immediate, unsigned */ #define O 25 /* direct address */ #define Db 26 /* byte displacement from EIP */ #define Dl 27 /* long displacement from EIP */ @@ -351,7 +352,6 @@ 0, 0, 0, - 0, db_inst_0f8x, db_inst_0f9x, db_inst_0fax, @@ -752,14 +752,14 @@ /*b6*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, /*b7*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, -/*b8*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*b9*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*ba*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bb*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bc*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bd*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*be*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bf*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, +/*b8*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*b9*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*ba*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bb*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bc*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bd*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*be*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bf*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, /*c0*/ { "", TRUE, BYTE, op2(Ib, E), db_Grp2 }, /*c1*/ { "", TRUE, LONG, op2(Ib, E), db_Grp2 }, @@ -854,17 +854,6 @@ int ss; }; -static const char * const db_index_reg_16[8] = { - "%bx,%si", - "%bx,%di", - "%bp,%si", - "%bp,%di", - "%si", - "%di", - "%bp", - "%bx" -}; - static const char * const db_reg[2][4][16] = { {{"%al", "%cl", "%dl", "%bl", "%ah", "%ch", "%dh", "%bh", @@ -927,7 +916,7 @@ int regmodrm; struct i_addr * addrp; /* out */ { - int mod, rm, sib, index, disp; + int mod, rm, sib, index, disp, size, have_sib; mod = f_mod(rex, regmodrm); rm = f_rm(rex, regmodrm); @@ -940,68 +929,49 @@ addrp->is_reg = FALSE; addrp->index = 0; - if (short_addr) { - addrp->index = 0; - addrp->ss = 0; - switch (mod) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E8ED16A67D; Tue, 21 Nov 2006 17:18:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3912E16A547 for ; Tue, 21 Nov 2006 17:18:07 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 00EF74415E for ; Tue, 21 Nov 2006 17:09:02 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8pkV065238 for ; Tue, 21 Nov 2006 17:08:51 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8p1R065229 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:51 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:08:51 GMT Message-Id: <200611211708.kALH8p1R065229@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=110247 Change 110247 by rdivacky@rdivacky_witten on 2006/11/19 16:46:00 Attempt to fix the mismerge of p4 integrate. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 (text+ko) ==== @@ -1413,11 +1413,6 @@ printf(ARGS(getpid, "")); #endif -#ifdef DEBUG - if (ldebug(getpid)) - printf(ARGS(getpid, "")); -#endif - if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1454,11 +1449,6 @@ printf(ARGS(getppid, "")); #endif -#ifdef DEBUG - if (ldebug(getppid)) - printf(ARGS(getppid, "")); -#endif - if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1505,10 +1495,6 @@ int linux_getgid(struct thread *td, struct linux_getgid_args *args) { -#ifdef DEBUG - if (ldebug(getgid)) - printf(ARGS(getgid, "")); -#endif #ifdef DEBUG if (ldebug(getgid)) @@ -1522,10 +1508,6 @@ int linux_getuid(struct thread *td, struct linux_getuid_args *args) { -#ifdef DEBUG - if (ldebug(getuid)) - printf(ARGS(getuid, "")); -#endif #ifdef DEBUG if (ldebug(getuid)) From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 10CCF16AF2A; Tue, 21 Nov 2006 17:18:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DB82716A6FF for ; Tue, 21 Nov 2006 17:18:08 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D79C844160 for ; Tue, 21 Nov 2006 17:09:03 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8loD065138 for ; Tue, 21 Nov 2006 17:08:47 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8llW065134 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:47 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:08:47 GMT Message-Id: <200611211708.kALH8llW065134@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110239 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=110239 Change 110239 by imp@imp_lighthouse on 2006/11/19 05:07:47 Compile fix Obtained from: sam Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91.c#23 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91.c#23 (text+ko) ==== @@ -69,7 +69,7 @@ } static void -at91_bs_unmap(void *t, bus_size_t size) +at91_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size) { vm_offset_t va, endva; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EACB16B795; Tue, 21 Nov 2006 17:18:10 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E886516A710 for ; Tue, 21 Nov 2006 17:18:08 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2828744154 for ; Tue, 21 Nov 2006 17:09:02 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8n4O065181 for ; Tue, 21 Nov 2006 17:08:49 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8m9R065172 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:48 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:08:48 GMT Message-Id: <200611211708.kALH8m9R065172@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110242 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=110242 Change 110242 by rdivacky@rdivacky_witten on 2006/11/19 09:59:09 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 integrate .. //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/genassym.c#3 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/kdb.h#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/ethernet.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/autoconf.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/identcpu.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/mem.c#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/conf/NOTES#6 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/tlb.c#2 delete Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.25 2006/10/22 11:52:11 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.27 2006/11/18 17:27:39 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -426,7 +426,7 @@ #ifdef DEBUG if (ldebug(getcwd)) - printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); + printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); #endif len = args->bufsize; ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.194 2006/11/15 10:01:06 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.197 2006/11/18 14:37:54 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -118,7 +118,7 @@ l_ulong totalbig; l_ulong freebig; l_uint mem_unit; - char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* Pads structure */ + char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* padding */ }; int linux_sysinfo(struct thread *td, struct linux_sysinfo_args *args) @@ -1413,6 +1413,11 @@ printf(ARGS(getpid, "")); #endif +#ifdef DEBUG + if (ldebug(getpid)) + printf(ARGS(getpid, "")); +#endif + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1449,6 +1454,11 @@ printf(ARGS(getppid, "")); #endif +#ifdef DEBUG + if (ldebug(getppid)) + printf(ARGS(getppid, "")); +#endif + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1500,6 +1510,11 @@ printf(ARGS(getgid, "")); #endif +#ifdef DEBUG + if (ldebug(getgid)) + printf(ARGS(getgid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_rgid; return (0); } @@ -1512,6 +1527,11 @@ printf(ARGS(getuid, "")); #endif +#ifdef DEBUG + if (ldebug(getuid)) + printf(ARGS(getuid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_ruid; return (0); } ==== //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.4 2006/11/13 01:02:18 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.6 2006/11/18 07:24:56 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -37,20 +37,18 @@ libkern/ffsl.c standard libkern/fls.c standard libkern/flsl.c standard -sun4v/sun4v/autoconf.c standard +sparc64/sparc64/autoconf.c standard sun4v/sun4v/bus_machdep.c standard -sun4v/sun4v/clock.c standard -sun4v/sun4v/counter.c standard -sun4v/sun4v/db_disasm.c optional ddb +sparc64/sparc64/clock.c standard +sparc64/sparc64/counter.c standard +sparc64/sparc64/db_disasm.c optional ddb sun4v/sun4v/db_interface.c optional ddb sun4v/sun4v/db_trace.c optional ddb sun4v/sun4v/db_hwwatch.c optional ddb sun4v/sun4v/dump_machdep.c standard -sun4v/sun4v/elf_machdep.c standard +sparc64/sparc64/elf_machdep.c standard sun4v/sun4v/exception.S standard no-obj -sun4v/sun4v/eeprom.c optional eeprom ebus | eeprom fhc | \ - eeprom sbus -sun4v/sun4v/gdb_machdep.c optional gdb +sparc64/sparc64/gdb_machdep.c optional gdb sun4v/sun4v/hv_pci.c optional pci sun4v/sun4v/trap_trace.S optional trap_tracing sparc64/pci/ofw_pci.c optional pci @@ -63,27 +61,27 @@ sun4v/sun4v/hvcons.c standard sun4v/sun4v/hcall.S standard sun4v/sun4v/hviommu.c standard -sun4v/sun4v/identcpu.c standard -sun4v/sun4v/in_cksum.c optional inet +sparc64/sparc64/identcpu.c standard +sparc64/sparc64/in_cksum.c optional inet sun4v/sun4v/interrupt.S standard no-obj sun4v/sun4v/intr_machdep.c standard sun4v/sun4v/locore.S standard no-obj sun4v/sun4v/machdep.c standard -sun4v/sun4v/mem.c optional mem +sparc64/sparc64/mem.c optional mem sun4v/sun4v/mp_exception.S optional smp sun4v/sun4v/mp_locore.S optional smp sun4v/sun4v/mp_machdep.c optional smp sun4v/sun4v/nexus.c standard sun4v/sun4v/t1_copy.S standard -sun4v/sun4v/ofw_bus.c standard -sun4v/sun4v/ofw_machdep.c standard +sparc64/sparc64/ofw_bus.c standard +sparc64/sparc64/ofw_machdep.c standard sun4v/sun4v/pmap.c standard -sun4v/sun4v/prof_machdep.c optional profiling-routine -sun4v/sun4v/rwindow.c standard +sparc64/sparc64/prof_machdep.c optional profiling-routine +sparc64/sparc64/rwindow.c standard sun4v/sun4v/rtc.c standard sun4v/sun4v/simdisk.c optional simulator sun4v/sun4v/support.S standard -sun4v/sun4v/sys_machdep.c standard +sparc64/sparc64/sys_machdep.c standard sun4v/sun4v/swtch.S standard sun4v/sun4v/tsb.c standard sun4v/sun4v/tte.c standard ==== //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.164 2006/11/15 20:04:56 jhb Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.165 2006/11/18 23:18:43 csjp Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -248,7 +248,6 @@ static void em_update_link_status(struct adapter *); static int em_get_buf(struct adapter *, int); static void em_enable_vlans(struct adapter *); -static void em_disable_vlans(struct adapter *); static int em_encap(struct adapter *, struct mbuf **); static void em_smartspeed(struct adapter *); static int em_82547_fifo_workaround(struct adapter *, int); @@ -761,7 +760,7 @@ } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting. */ adapter->watchdog_timer = EM_TX_TIMEOUT; @@ -1507,45 +1506,6 @@ } /* - * When operating in promiscuous mode, hardware stripping of the - * VLAN tag on receive is disabled. This should not prevent us - * from doing hardware insertion of the VLAN tag here as that - * is controlled by the dma descriptor flags and not the receive - * tag strip setting. Unfortunatly this hardware switches the - * VLAN encapsulation type from 802.1q to ISL when stripping om - * receive is disabled. This means we have to add the vlan - * encapsulation here in the driver, since it will have come down - * from the VLAN layer with a tag instead of a VLAN header. - */ - if ((m_head->m_flags & M_VLANTAG) && adapter->em_insert_vlan_header) { - struct ether_vlan_header *evl; - struct ether_header eh; - - m_head = m_pullup(m_head, sizeof(eh)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - eh = *mtod(m_head, struct ether_header *); - M_PREPEND(m_head, sizeof(*evl), M_DONTWAIT); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - m_head = m_pullup(m_head, sizeof(*evl)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - evl = mtod(m_head, struct ether_vlan_header *); - bcopy(&eh, evl, sizeof(*evl)); - evl->evl_proto = evl->evl_encap_proto; - evl->evl_encap_proto = htons(ETHERTYPE_VLAN); - evl->evl_tag = htons(m_head->m_pkthdr.ether_vtag); - *m_headp = m_head; - } - - /* * TSO workaround: * If an mbuf contains only the IP and TCP header we have * to pull 4 bytes of data into it. @@ -1915,29 +1875,16 @@ if (ifp->if_flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - /* - * Disable VLAN stripping in promiscous mode. - * This enables bridging of vlan tagged frames to occur - * and also allows vlan tags to be seen in tcpdump. - * XXX: This is a bit bogus as tcpdump may be used - * w/o promisc mode as well. - */ - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_disable_vlans(adapter); - adapter->em_insert_vlan_header = 1; } else if (ifp->if_flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; reg_rctl &= ~E1000_RCTL_UPE; E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - adapter->em_insert_vlan_header = 0; - } else - adapter->em_insert_vlan_header = 0; + } } static void em_disable_promisc(struct adapter *adapter) { - struct ifnet *ifp = adapter->ifp; uint32_t reg_rctl; reg_rctl = E1000_READ_REG(&adapter->hw, RCTL); @@ -1945,10 +1892,6 @@ reg_rctl &= (~E1000_RCTL_UPE); reg_rctl &= (~E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_enable_vlans(adapter); - adapter->em_insert_vlan_header = 0; } @@ -2429,7 +2372,7 @@ */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -3816,16 +3759,6 @@ } static void -em_disable_vlans(struct adapter *adapter) -{ - uint32_t ctrl; - - ctrl = E1000_READ_REG(&adapter->hw, CTRL); - ctrl &= ~E1000_CTRL_VME; - E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); -} - -static void em_enable_intr(struct adapter *adapter) { E1000_WRITE_REG(&adapter->hw, IMS, (IMS_ENABLE_MASK)); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.131 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.132 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 (text) ==== @@ -32,7 +32,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.9 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.10 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.4 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.5 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Qlogic Host Adapter Library Functions * @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * FreeBSD Version. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.126 2006/11/17 17:32:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.127 2006/11/18 03:53:16 mjacob Exp $"); #include #include @@ -1057,7 +1057,6 @@ cmd &= ~PCIM_CMD_INTX_DISABLE; } -#ifdef WE_KNEW_WHAT_WE_WERE_DOING if (IS_24XX(isp)) { int reg; @@ -1089,11 +1088,6 @@ pci_write_config(dev, reg, 2, pectl); } } -#else - if (IS_24XX(isp)) { - cmd &= ~PCIM_CMD_INTX_DISABLE; - } -#endif pci_write_config(dev, PCIR_COMMAND, cmd, 2); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.2 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.3 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * ==== //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.54 2006/11/16 00:39:56 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.55 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.79 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.80 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Soft Definitions for for Qlogic ISP SCSI adapters. * @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); ==== //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.22 2006/11/14 16:48:00 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.23 2006/11/18 07:33:53 scottl Exp $"); #include "opt_mfi.h" @@ -57,7 +57,6 @@ static int mfi_alloc_commands(struct mfi_softc *); static void mfi_release_command(struct mfi_command *cm); static int mfi_comms_init(struct mfi_softc *); -static int mfi_polled_command(struct mfi_softc *, struct mfi_command *); static int mfi_wait_command(struct mfi_softc *, struct mfi_command *); static int mfi_get_controller_info(struct mfi_softc *); static int mfi_get_log_state(struct mfi_softc *, @@ -91,7 +90,7 @@ SYSCTL_INT(_hw_mfi, OID_AUTO, event_locale, CTLFLAG_RW, &mfi_event_locale, 0, "event message locale"); -static int mfi_event_class = MFI_EVT_CLASS_DEBUG; +static int mfi_event_class = 10; TUNABLE_INT("hw.mfi.event_class", &mfi_event_class); SYSCTL_INT(_hw_mfi, OID_AUTO, event_class, CTLFLAG_RW, &mfi_event_class, 0, "event message class"); @@ -546,8 +545,10 @@ init->header.cmd = MFI_CMD_INIT; init->header.data_len = sizeof(struct mfi_init_qinfo); init->qinfo_new_addr_lo = cm->cm_frame_busaddr + MFI_FRAME_SIZE; + cm->cm_data = NULL; + cm->cm_flags = MFI_CMD_POLLED; - if ((error = mfi_polled_command(sc, cm)) != 0) { + if ((error = mfi_mapcmd(sc, cm)) != 0) { device_printf(sc->mfi_dev, "failed to send init command\n"); mtx_unlock(&sc->mfi_io_lock); return (error); @@ -574,15 +575,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Controller info buffer map failed\n"); - free(ci, M_MFIBUF); - mfi_release_command(cm); - mtx_unlock(&sc->mfi_io_lock); - return (error); - } - - /* It's ok if this fails, just use default info instead */ - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get controller info\n"); sc->mfi_max_io = (sc->mfi_max_sge - 1) * PAGE_SIZE / MFI_SECTOR_LEN; @@ -620,11 +612,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Log state buffer map failed\n"); - goto out; - } - - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get log state\n"); goto out; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1AE5616B8E1; Tue, 21 Nov 2006 17:18:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F3DD416A71D for ; Tue, 21 Nov 2006 17:18:08 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D04E4415D for ; Tue, 21 Nov 2006 17:09:03 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8ubd065341 for ; Tue, 21 Nov 2006 17:08:56 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8uiS065331 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:56 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:56 GMT Message-Id: <200611211708.kALH8uiS065331@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110255 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=110255 Change 110255 by marcel@marcel_cluster on 2006/11/19 20:34:38 keep an accurate version history. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/version#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/efi/version#2 (text+ko) ==== @@ -1,14 +1,6 @@ -$FreeBSD: src/sys/boot/i386/loader/version,v 1.8 2001/12/11 00:49:33 jhb Exp $ +$FreeBSD$ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. -1.1: New calling conventions for fopen. -1.0: New semantics for finding the kernel, new boot. -0.8: Set/getenv & cia, copyin/out. -0.7: Supports large KVM -0.6: Increased dictionary size -- supports loader.4th -0.5: First release version -0.2: Initial integration with BTX -0.1: Initial i386 version, inspiration and some structure from the - NetBSD version. +0.1: Initial i386 version. Derived from ia64. From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 61E3E16BBF1; Tue, 21 Nov 2006 17:18:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 63FB016A737 for ; Tue, 21 Nov 2006 17:18:09 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D02B244218 for ; Tue, 21 Nov 2006 17:09:07 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH929x065505 for ; Tue, 21 Nov 2006 17:09:02 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH91c0065501 for perforce@freebsd.org; Tue, 21 Nov 2006 17:09:01 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:09:01 GMT Message-Id: <200611211709.kALH91c0065501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=110267 Change 110267 by marcel@marcel_nfs on 2006/11/20 00:07:25 Recurse into the efi directory. Affected files ... .. //depot/projects/ia64/sys/boot/i386/Makefile#8 edit .. //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/Makefile#8 (text+ko) ==== @@ -1,6 +1,6 @@ # $FreeBSD: src/sys/boot/i386/Makefile,v 1.20 2003/12/08 19:02:06 obrien Exp $ -SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader +SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader efi # special boot programs, 'self-extracting boot2+loader' SUBDIR+= pxeldr ==== //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 (text+ko) ==== @@ -1,5 +1,7 @@ # $FreeBSD$ +NO_MAN= + .include PROG= loader.sym @@ -27,21 +29,15 @@ .include "${.CURDIR}/../../common/Makefile.inc" CFLAGS+= -I${.CURDIR}/../../common -.PATH: ${.CURDIR}/../../forth -FILES= loader.efi loader.help loader.4th support.4th loader.conf +FILES= loader.efi FILESMODE_loader.efi= ${BINMODE} -FILESDIR_loader.conf= /boot/defaults - -.if !exists(${DESTDIR}/boot/loader.rc) -FILES+= loader.rc -.endif LDSCRIPT= ${.CURDIR}/ldscript.ia32 LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic ${PROG}: ${LDSCRIPT} -CLEANFILES= vers.c loader.efi loader.help +CLEANFILES= vers.c loader.efi NEWVERSWHAT= "EFI loader" ia32 @@ -60,10 +56,6 @@ -j .rela.dyn -j .reloc -j .sdata -j .text \ --target=efi-app-ia32 ${.ALLSRC} ${.TARGET} -loader.help: help.common help.i386 - cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \ - > ${.TARGET} - LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a LIBI386= ${.OBJDIR}/../libi386/libi386.a From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75E5616BBFB; Tue, 21 Nov 2006 17:18:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0001616AEA6 for ; Tue, 21 Nov 2006 17:18:09 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 89FA34416B for ; Tue, 21 Nov 2006 17:09:16 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8rNW065301 for ; Tue, 21 Nov 2006 17:08:53 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8qMf065292 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:52 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:52 GMT Message-Id: <200611211708.kALH8qMf065292@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110252 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=110252 Change 110252 by marcel@marcel_nfs on 2006/11/19 20:25:24 IFC @110251 Affected files ... .. //depot/projects/ia64/share/man/man9/Makefile#64 integrate .. //depot/projects/ia64/share/man/man9/cr_cansee.9#1 branch .. //depot/projects/ia64/share/man/man9/p_candebug.9#4 integrate .. //depot/projects/ia64/share/man/man9/p_cansee.9#1 branch .. //depot/projects/ia64/share/mk/bsd.own.mk#17 integrate .. //depot/projects/ia64/share/mk/bsd.port.mk#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 integrate .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 integrate Differences ... ==== //depot/projects/ia64/share/man/man9/Makefile#64 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.284 2006/11/11 08:59:34 ru Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.285 2006/11/19 13:35:03 ceri Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -41,6 +41,7 @@ config_intrhook.9 \ contigmalloc.9 \ copy.9 \ + cr_cansee.9 \ critical_enter.9 \ cr_seeothergids.9 \ cr_seeotheruids.9 \ @@ -157,6 +158,7 @@ panic.9 \ pbuf.9 \ p_candebug.9 \ + p_cansee.9 \ pci.9 \ pfil.9 \ pfind.9 \ ==== //depot/projects/ia64/share/man/man9/p_candebug.9#4 (text+ko) ==== @@ -25,9 +25,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.5 2006/11/19 13:36:04 ceri Exp $ .\" -.Dd November 18, 2006 +.Dd November 19, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME @@ -129,10 +129,10 @@ The MAC subsystem denied debuggability. .El .Sh SEE ALSO -.Xr intro 2 , .Xr jail 2 , .Xr sysctl 8 , .Xr cr_seeothergids 9 , .Xr cr_seeotheruids 9 , .Xr mac 9 , +.Xr p_cansee 9 , .Xr prison_check 9 ==== //depot/projects/ia64/share/mk/bsd.own.mk#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # Binaries BINOWN?= root @@ -170,6 +172,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -448,5 +451,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/ia64/share/mk/bsd.port.mk#5 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.90 2006/10/19 19:46:49 rink Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.91 2006/11/18 22:43:20 rodrigc Exp $"); #include #include @@ -343,6 +343,7 @@ } signal(SIGHUP, huphandler); signal(SIGTERM, terminate); + signal(SIGPIPE, SIG_IGN); pidfile_write(pfh); ==== //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.107 2006/02/28 21:49:32 jhb Exp $ + * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.108 2006/11/19 08:12:54 kensmith Exp $ */ #include @@ -692,25 +692,6 @@ if (id->installed == 1) return DITEM_SUCCESS; - /* - * Prompt user if the package is not available on the current volume. - */ - - if(mediaDevice->type == DEVICE_TYPE_CDROM) { - while (id->volume != dev->volume) { - if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" - "Would you like to switch discs now?\n", dev->volume, - id->name, id->volume)) { - DEVICE_SHUTDOWN(mediaDevice); - msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", - dev->volume, id->volume); - DEVICE_INIT(mediaDevice); - } else { - return DITEM_FAILURE; - } - } - } - if (id && id->deps && strlen(id->deps)) { char t[2048 * 8], *cp, *cp2; @@ -742,6 +723,21 @@ } /* Done with the deps? Load the real m'coy */ if (DITEM_STATUS(status) == DITEM_SUCCESS) { + /* Prompt user if the package is not available on the current volume. */ + if(mediaDevice->type == DEVICE_TYPE_CDROM) { + while (id->volume != dev->volume) { + if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" + "Would you like to switch discs now?\n", dev->volume, + id->name, id->volume)) { + DEVICE_SHUTDOWN(mediaDevice); + msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", + dev->volume, id->volume); + DEVICE_INIT(mediaDevice); + } else { + return DITEM_FAILURE; + } + } + } status = package_extract(dev, who->name, depended); if (DITEM_STATUS(status) == DITEM_SUCCESS) id->installed = 1; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5B20616BCFE; Tue, 21 Nov 2006 17:18:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E030316BB96 for ; Tue, 21 Nov 2006 17:18:12 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F03D4421A for ; Tue, 21 Nov 2006 17:09:08 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH92Mu065504 for ; Tue, 21 Nov 2006 17:09:02 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH91Nr065497 for perforce@freebsd.org; Tue, 21 Nov 2006 17:09:01 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:09:01 GMT Message-Id: <200611211709.kALH91Nr065497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=110267 Change 110267 by marcel@marcel_nfs on 2006/11/20 00:07:25 Recurse into the efi directory. Affected files ... .. //depot/projects/ia64/sys/boot/i386/Makefile#8 edit .. //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/Makefile#8 (text+ko) ==== @@ -1,6 +1,6 @@ # $FreeBSD: src/sys/boot/i386/Makefile,v 1.20 2003/12/08 19:02:06 obrien Exp $ -SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader +SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader efi # special boot programs, 'self-extracting boot2+loader' SUBDIR+= pxeldr ==== //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 (text+ko) ==== @@ -1,5 +1,7 @@ # $FreeBSD$ +NO_MAN= + .include PROG= loader.sym @@ -27,21 +29,15 @@ .include "${.CURDIR}/../../common/Makefile.inc" CFLAGS+= -I${.CURDIR}/../../common -.PATH: ${.CURDIR}/../../forth -FILES= loader.efi loader.help loader.4th support.4th loader.conf +FILES= loader.efi FILESMODE_loader.efi= ${BINMODE} -FILESDIR_loader.conf= /boot/defaults - -.if !exists(${DESTDIR}/boot/loader.rc) -FILES+= loader.rc -.endif LDSCRIPT= ${.CURDIR}/ldscript.ia32 LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic ${PROG}: ${LDSCRIPT} -CLEANFILES= vers.c loader.efi loader.help +CLEANFILES= vers.c loader.efi NEWVERSWHAT= "EFI loader" ia32 @@ -60,10 +56,6 @@ -j .rela.dyn -j .reloc -j .sdata -j .text \ --target=efi-app-ia32 ${.ALLSRC} ${.TARGET} -loader.help: help.common help.i386 - cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \ - > ${.TARGET} - LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a LIBI386= ${.OBJDIR}/../libi386/libi386.a From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9FEB816BDA5; Tue, 21 Nov 2006 17:18:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 356ED16BBDF for ; Tue, 21 Nov 2006 17:18:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8007943E55 for ; Tue, 21 Nov 2006 17:09:15 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8tlQ065314 for ; Tue, 21 Nov 2006 17:08:55 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8r5S065304 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:53 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:53 GMT Message-Id: <200611211708.kALH8r5S065304@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=110253 Change 110253 by marcel@marcel_nfs on 2006/11/19 20:28:04 IFC @110251 Affected files ... .. //depot/projects/uart/amd64/amd64/db_trace.c#13 integrate .. //depot/projects/uart/amd64/amd64/intr_machdep.c#11 integrate .. //depot/projects/uart/amd64/amd64/io_apic.c#10 integrate .. //depot/projects/uart/amd64/amd64/machdep.c#24 integrate .. //depot/projects/uart/amd64/amd64/msi.c#2 integrate .. //depot/projects/uart/amd64/include/reg.h#3 integrate .. //depot/projects/uart/arm/arm/nexus.c#7 integrate .. //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 integrate .. //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 integrate .. //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/uart/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/uart/boot/i386/loader/main.c#10 integrate .. //depot/projects/uart/boot/ia64/common/copy.c#2 integrate .. //depot/projects/uart/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/uart/compat/linux/linux_emul.c#3 integrate .. //depot/projects/uart/compat/linux/linux_getcwd.c#10 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#20 integrate .. //depot/projects/uart/conf/NOTES#45 integrate .. //depot/projects/uart/conf/files#77 integrate .. //depot/projects/uart/conf/files.sun4v#3 integrate .. //depot/projects/uart/ddb/db_watch.c#4 integrate .. //depot/projects/uart/dev/ata/ata-all.c#24 integrate .. //depot/projects/uart/dev/bce/if_bce.c#6 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/uart/dev/em/if_em.c#26 integrate .. //depot/projects/uart/dev/em/if_em.h#22 integrate .. //depot/projects/uart/dev/isp/isp.c#17 integrate .. //depot/projects/uart/dev/isp/isp_library.c#7 integrate .. //depot/projects/uart/dev/isp/isp_library.h#4 integrate .. //depot/projects/uart/dev/isp/isp_pci.c#18 integrate .. //depot/projects/uart/dev/isp/isp_stds.h#2 integrate .. //depot/projects/uart/dev/isp/ispmbox.h#10 integrate .. //depot/projects/uart/dev/isp/ispvar.h#15 integrate .. //depot/projects/uart/dev/mfi/mfi.c#9 integrate .. //depot/projects/uart/dev/mpt/mpt.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt.h#19 integrate .. //depot/projects/uart/dev/mpt/mpt_cam.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt_pci.c#24 integrate .. //depot/projects/uart/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/uart/dev/pci/pci.c#27 integrate .. //depot/projects/uart/dev/syscons/syscons.c#18 integrate .. //depot/projects/uart/dev/usb/uark.c#1 branch .. //depot/projects/uart/dev/usb/usbdevs#28 integrate .. //depot/projects/uart/fs/procfs/procfs_ioctl.c#6 integrate .. //depot/projects/uart/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/uart/i386/i386/db_trace.c#13 integrate .. //depot/projects/uart/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/uart/i386/i386/io_apic.c#11 integrate .. //depot/projects/uart/i386/i386/machdep.c#27 integrate .. //depot/projects/uart/i386/i386/msi.c#2 integrate .. //depot/projects/uart/i386/i386/pmap.c#45 integrate .. //depot/projects/uart/i386/include/reg.h#4 integrate .. //depot/projects/uart/ia64/ia64/genassym.c#10 integrate .. //depot/projects/uart/ia64/ia64/interrupt.c#14 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#28 integrate .. //depot/projects/uart/ia64/ia64/mp_machdep.c#12 integrate .. //depot/projects/uart/ia64/include/kdb.h#4 integrate .. //depot/projects/uart/ia64/include/pcpu.h#4 integrate .. //depot/projects/uart/kern/kern_condvar.c#7 integrate .. //depot/projects/uart/kern/kern_synch.c#19 integrate .. //depot/projects/uart/kern/subr_sleepqueue.c#12 integrate .. //depot/projects/uart/kern/sysv_msg.c#11 integrate .. //depot/projects/uart/modules/Makefile#43 integrate .. //depot/projects/uart/modules/uark/Makefile#1 branch .. //depot/projects/uart/net/ethernet.h#3 integrate .. //depot/projects/uart/net/if_ethersubr.c#19 integrate .. //depot/projects/uart/nfsclient/nfs_node.c#14 integrate .. //depot/projects/uart/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/uart/sparc64/sparc64/autoconf.c#4 integrate .. //depot/projects/uart/sparc64/sparc64/identcpu.c#6 integrate .. //depot/projects/uart/sparc64/sparc64/mem.c#5 integrate .. //depot/projects/uart/sun4v/conf/NOTES#3 integrate .. //depot/projects/uart/sun4v/include/asmacros.h#2 integrate .. //depot/projects/uart/sun4v/include/cache.h#2 integrate .. //depot/projects/uart/sun4v/include/pcpu.h#2 integrate .. //depot/projects/uart/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/uart/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/uart/sun4v/sun4v/clock.c#2 delete .. //depot/projects/uart/sun4v/sun4v/counter.c#2 delete .. //depot/projects/uart/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/uart/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/uart/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/exception.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/uart/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/mem.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/uart/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/uart/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/uart/sys/sleepqueue.h#4 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/db_trace.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,10 +200,10 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, - int access, struct dbreg * d); -int amd64_clr_watch(int watchnum, struct dbreg * d); + int access, struct dbreg *d); +int amd64_clr_watch(int watchnum, struct dbreg *d); /* * Figure out how many arguments were passed into the frame at "fp". @@ -536,21 +536,20 @@ unsigned long watchaddr; int size; int access; - struct dbreg * d; + struct dbreg *d; { - int i; - unsigned int mask; - + int i, len; + if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; else return (-1); } - + switch (access) { case DBREG_DR7_EXEC: size = 1; /* size must be 1 for an execution breakpoint */ @@ -558,29 +557,39 @@ case DBREG_DR7_WRONLY: case DBREG_DR7_RDWR: break; - default : return (-1); + default: + return (-1); } - + /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ - DBREG_DRX(d,watchnum) = watchaddr; + DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -589,15 +598,15 @@ int amd64_clr_watch(watchnum, d) int watchnum; - struct dbreg * d; + struct dbreg *d; { if (watchnum < 0 || watchnum >= 4) return (-1); - - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); - DBREG_DRX(d,watchnum) = 0; - + + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); + DBREG_DRX(d, watchnum) = 0; + return (0); } @@ -607,38 +616,38 @@ db_expr_t addr; db_expr_t size; { - int avail, wsize; - int i; struct dbreg d; - + int avail, i, wsize; + fill_dbregs(NULL, &d); - + avail = 0; - for(i=0; i<4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + for(i = 0; i < 4; i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - - if (avail*4 < size) + + if (avail * 8 < size) return (-1); - - for (i=0; i<4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; - amd64_set_watch(i, addr, wsize, + amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } - + set_dbregs(NULL, &d); - + return(0); } @@ -648,28 +657,27 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); - for(i=0; i<4; i++) { - if (d.dr[7] & (3 << (i*2))) { - if ((DBREG_DRX((&d), i) >= addr) && + for(i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); - + } } - + set_dbregs(NULL, &d); - + return(0); } -static -char * +static const char * watchtype_str(type) int type; { @@ -685,30 +693,33 @@ void db_md_list_watchpoints() { - int i; struct dbreg d; + int i, len, type; fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); - for (i=0; i<4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - unsigned type, len; - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } - + db_printf("\ndebug register values:\n"); - for (i=0; i<8; i++) { + for (i = 0; i < 8; i++) { db_printf(" dr%d 0x%016lx\n", i, DBREG_DRX((&d), i)); } db_printf("\n"); ==== //depot/projects/uart/amd64/amd64/intr_machdep.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/uart/amd64/amd64/io_apic.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.25 2006/10/10 23:23:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.26 2006/11/17 16:41:03 jhb Exp $"); #include "opt_isa.h" @@ -512,13 +512,6 @@ * be routed to other CPUs later after they are enabled. */ intpin->io_cpu = PCPU_GET(apic_id); - if (bootverbose && intpin->io_irq != IRQ_DISABLED) { - printf("ioapic%u: intpin %d -> ", io->io_id, i); - ioapic_print_irq(intpin); - printf(" (%s, %s)\n", intpin->io_edgetrigger ? - "edge" : "level", intpin->io_activehi ? "high" : - "low"); - } value = ioapic_read(apic, IOAPIC_REDTBL_LO(i)); ioapic_write(apic, IOAPIC_REDTBL_LO(i), value | IOART_INTMSET); } @@ -583,6 +576,8 @@ return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); + if (io->io_pins[pin].io_bus == bus_type) + return (0); io->io_pins[pin].io_bus = bus_type; if (bootverbose) printf("ioapic%u: intpin %d bus %s\n", io->io_id, pin, @@ -666,13 +661,17 @@ ioapic_set_polarity(void *cookie, u_int pin, enum intr_polarity pol) { struct ioapic *io; + int activehi; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || pol == INTR_POLARITY_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); - io->io_pins[pin].io_activehi = (pol == INTR_POLARITY_HIGH); + activehi = (pol == INTR_POLARITY_HIGH); + if (io->io_pins[pin].io_activehi == activehi) + return (0); + io->io_pins[pin].io_activehi = activehi; if (bootverbose) printf("ioapic%u: intpin %d polarity: %s\n", io->io_id, pin, pol == INTR_POLARITY_HIGH ? "high" : "low"); @@ -683,13 +682,17 @@ ioapic_set_triggermode(void *cookie, u_int pin, enum intr_trigger trigger) { struct ioapic *io; + int edgetrigger; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); - io->io_pins[pin].io_edgetrigger = (trigger == INTR_TRIGGER_EDGE); + return (EINVAL); + edgetrigger = (trigger == INTR_TRIGGER_EDGE); + if (io->io_pins[pin].io_edgetrigger == edgetrigger) + return (0); + io->io_pins[pin].io_edgetrigger = edgetrigger; if (bootverbose) printf("ioapic%u: intpin %d trigger: %s\n", io->io_id, pin, trigger == INTR_TRIGGER_EDGE ? "edge" : "level"); ==== //depot/projects/uart/amd64/amd64/machdep.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.660 2006/11/07 21:57:18 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.663 2006/11/17 20:27:01 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1692,7 +1692,6 @@ { struct pcb *pcb; int i; - u_int64_t mask1, mask2; if (td == NULL) { load_dr0(dbregs->dr[0]); @@ -1709,10 +1708,13 @@ * TRCTRAP or a general protection fault right here. * Upper bits of dr6 and dr7 must not be set */ - for (i = 0, mask1 = 0x3<<16, mask2 = 0x2<<16; i < 8; - i++, mask1 <<= 2, mask2 <<= 2) - if ((dbregs->dr[7] & mask1) == mask2) + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ACCESS(dbregs->dr[7], i) == 0x02) + return (EINVAL); + if (td->td_frame->tf_cs == _ucode32sel && + DBREG_DR7_LEN(dbregs->dr[7], i) == DBREG_DR7_LEN_8) return (EINVAL); + } if ((dbregs->dr[6] & 0xffffffff00000000ul) != 0 || (dbregs->dr[7] & 0xffffffff00000000ul) != 0) return (EINVAL); @@ -1733,22 +1735,22 @@ * from within kernel mode? */ - if (dbregs->dr[7] & 0x3) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 0)) { /* dr0 is enabled */ if (dbregs->dr[0] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<2) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 1)) { /* dr1 is enabled */ if (dbregs->dr[1] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<4) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 2)) { /* dr2 is enabled */ if (dbregs->dr[2] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<6) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 3)) { /* dr3 is enabled */ if (dbregs->dr[3] >= VM_MAXUSER_ADDRESS) return (EINVAL); @@ -1832,9 +1834,8 @@ addr[nbp++] = (caddr_t)rdr3(); } - for (i=0; i -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.1 2006/11/13 22:23:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.2 2006/11/15 18:40:00 jhb Exp $"); #include #include @@ -315,7 +315,7 @@ /* We need count - cnt more sources starting at index 'cnt'. */ *newirq = cnt; *newcount = count - cnt; - for (j = 0; j < *newirq; j++) { + for (j = 0; j < *newcount; j++) { /* Create a new MSI source. */ msi = malloc(sizeof(struct msi_intsrc), M_MSI, ==== //depot/projects/uart/amd64/include/reg.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)reg.h 5.5 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/reg.h,v 1.35 2004/04/05 23:55:14 imp Exp $ + * $FreeBSD: src/sys/amd64/include/reg.h,v 1.38 2006/11/17 20:27:01 jhb Exp $ */ #ifndef _MACHINE_REG_H_ @@ -92,11 +92,26 @@ /* Index 8-15: reserved */ }; -#define DBREG_DR7_EXEC 0x00 /* break on execute */ -#define DBREG_DR7_WRONLY 0x01 /* break on write */ -#define DBREG_DR7_RDWR 0x03 /* break on read or write */ -#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by - register number */ +#define DBREG_DR7_LOCAL_ENABLE 0x01 +#define DBREG_DR7_GLOBAL_ENABLE 0x02 +#define DBREG_DR7_LEN_1 0x00 /* 1 byte length */ +#define DBREG_DR7_LEN_2 0x01 +#define DBREG_DR7_LEN_4 0x03 +#define DBREG_DR7_LEN_8 0x02 +#define DBREG_DR7_EXEC 0x00 /* break on execute */ +#define DBREG_DR7_WRONLY 0x01 /* break on write */ +#define DBREG_DR7_RDWR 0x03 /* break on read or write */ +#define DBREG_DR7_MASK(i) ((u_long)0xf << ((i) * 4 + 16) | 0x3 << (i) * 2) +#define DBREG_DR7_SET(i, len, access, enable) \ + ((u_long)((len) << 2 | (access)) << ((i) * 4 + 16) | (enable) << (i) * 2) +#define DBREG_DR7_GD 0x2000 +#define DBREG_DR7_ENABLED(d, i) (((d) & 0x3 << (i) * 2) != 0) +#define DBREG_DR7_ACCESS(d, i) ((d) >> ((i) * 4 + 16) & 0x3) +#define DBREG_DR7_LEN(d, i) ((d) >> ((i) * 4 + 18) & 0x3) + +#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by + register number */ + #ifdef _KERNEL /* * XXX these interfaces are MI, so they should be declared in a MI place. ==== //depot/projects/uart/arm/arm/nexus.c#7 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.9 2006/10/25 21:11:46 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.10 2006/11/17 11:56:56 cognet Exp $"); #include #include @@ -142,7 +142,7 @@ int i; for (i = rman_get_start(r); i <= rman_get_end(r); i++) - arm_mask_irq(rman_get_start(r)); + arm_mask_irq(i); error = arm_remove_irqhandler(ih); return (error); } ==== //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.3 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.4 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -474,7 +474,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.24 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.25 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -477,7 +477,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 (text) ==== @@ -1,11 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.4 2006/08/18 20:26:54 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ + +.PATH: ${.CURDIR}/../libat91 P=boot0 FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 (text) ==== @@ -1,12 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.2 2006/08/16 23:14:52 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0iic FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include + +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0iic/main.c,v 1.3 2006/11/09 19:55:25 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0iic/main.c,v 1.4 2006/11/16 00:49:50 imp Exp $ */ #include "at91rm9200.h" @@ -32,12 +32,19 @@ main(void) { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ + int len, sec; - while (xmodem_rx(addr) == -1) + printf("\nSend data to be written into EEPROM\n"); + while ((len = xmodem_rx(addr)) == -1) + continue; + sec = GetSeconds() + 1; + while (sec >= GetSeconds()) continue; + printf("\nWriting EEPROM from 0x%x to addr 0, 0x%x bytes\n", addr, + len); InitEEPROM(); - printf("Writing EEPROM from 0x%x to addr 0\n", addr); - WriteEEPROM(0, addr, 8192); - printf("Write complete. Press reset\n"); + printf("init done\n"); + WriteEEPROM(0, addr, len); + printf("\nWrote %d bytes. Press reset\n", len); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 (text) ==== @@ -1,13 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.2 2006/08/16 23:18:07 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0spi FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0spi/main.c,v 1.3 2006/10/21 22:43:07 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0spi/main.c,v 1.4 2006/11/16 00:48:53 imp Exp $ */ #include "at91rm9200.h" @@ -29,21 +29,23 @@ #include "at91rm9200_lowlevel.h" #include "spi_flash.h" -#define OFFSET 0 +#define LOADER_OFFSET 0 +#define FPGA_OFFSET (15 * FLASH_PAGE_SIZE) +#define OFFSET LOADER_OFFSET int main(void) { int len, i, j, off; - char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ - char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ + char *addr = (char *)SDRAM_BASE + (1 << 20); /* download at + 1MB */ + char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* readback to + 2MB */ + char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* extra copy at + 3MB */ SPI_InitFlash(); printf("Waiting for data\n"); while ((len = xmodem_rx(addr)) == -1) continue; - printf("\nDownloaded %u bytes.\n", len); + // Need extra copy at addr3 memcpy(addr3, addr, (len + FLASH_PAGE_SIZE - 1) / FLASH_PAGE_SIZE * FLASH_PAGE_SIZE); printf("Writing %u bytes to flash at %u\n", len, OFFSET); for (i = 0; i < len; i+= FLASH_PAGE_SIZE) { @@ -57,5 +59,6 @@ if (j >= 10) printf("Bad Readback at %u\n", i); } + printf("Done\n"); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 (text+ko) ==== @@ -1,19 +1,16 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.2 2006/11/09 20:07:26 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.3 2006/11/16 00:48:04 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 ${.CURDIR}/../bootspi P=boot2 FILES=${P} -SRCS=arm_init.S boot2.c ${BOOT_FLAVOR}_board.c +SRCS=arm_init.S boot2.c ${BOOT_FLAVOR:L}_board.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include -.if ${BOOT_FLAVOR} == "tsc" -SRCS+=ee.c -.endif .if ${BOOT_FLAVOR} == "kb920x" CFLAGS+=-DBOOT_IIC .endif ==== //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.2 2006/11/09 20:07:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.3 2006/11/16 00:47:31 imp Exp $"); #include #include @@ -29,7 +29,6 @@ #include "emac.h" #include "lib.h" #include "sd-card.h" -#include "ee.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ ==== //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.4 2006/11/09 20:23:51 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootiic FILES=${P} @@ -11,4 +11,4 @@ .include -CFLAGS += -DBOOT_IIC +CFLAGS += -DBOOT_IIC -DBOOT_COMMANDS ==== //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.5 2006/11/09 20:45:22 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.6 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootspi FILES=${P} @@ -14,3 +14,4 @@ .if ${MK_FPGA} == "yes" CFLAGS += -DTSC_FPGA .endif +CFLAGS += -DBOOT_COMMANDS ==== //depot/projects/uart/boot/i386/loader/main.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.38 2006/11/02 01:23:18 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.39 2006/11/16 13:32:30 ru Exp $"); /* * MD bootstrap main() and assorted miscellaneous @@ -191,7 +191,7 @@ extract_currdev(void) { struct i386_devdesc new_currdev; - int major, biosdev = -1; + int biosdev = -1; /* Assume we are booting from a BIOS disk by default */ new_currdev.d_dev = &biosdisk; @@ -222,7 +222,6 @@ B_CONTROLLER(initial_bootdev) - 1; new_currdev.d_kind.biosdisk.partition = B_PARTITION(initial_bootdev); biosdev = initial_bootinfo->bi_bios_dev; - major = B_TYPE(initial_bootdev); /* * If we are booted by an old bootstrap, we have to guess at the BIOS ==== //depot/projects/uart/boot/ia64/common/copy.c#2 (text+ko) ==== @@ -25,18 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include #include "libia64.h" -#define LDR_LOG2_PGSZ 20 - -uint64_t *ia64_pgtbl; -uint32_t ia64_pgtblsz; - static void * va2pa(vm_offset_t va, size_t *len) { ==== //depot/projects/uart/boot/ia64/common/libia64.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/uart/compat/linux/linux_emul.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAA6016BDAB; Tue, 21 Nov 2006 17:18:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3B53116BBE5 for ; Tue, 21 Nov 2006 17:18:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B76E44224 for ; Tue, 21 Nov 2006 17:09:16 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8rCq065300 for ; Tue, 21 Nov 2006 17:08:53 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8quv065297 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:52 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:52 GMT Message-Id: <200611211708.kALH8quv065297@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110252 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=110252 Change 110252 by marcel@marcel_nfs on 2006/11/19 20:25:24 IFC @110251 Affected files ... .. //depot/projects/ia64/share/man/man9/Makefile#64 integrate .. //depot/projects/ia64/share/man/man9/cr_cansee.9#1 branch .. //depot/projects/ia64/share/man/man9/p_candebug.9#4 integrate .. //depot/projects/ia64/share/man/man9/p_cansee.9#1 branch .. //depot/projects/ia64/share/mk/bsd.own.mk#17 integrate .. //depot/projects/ia64/share/mk/bsd.port.mk#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 integrate .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 integrate Differences ... ==== //depot/projects/ia64/share/man/man9/Makefile#64 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.284 2006/11/11 08:59:34 ru Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.285 2006/11/19 13:35:03 ceri Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -41,6 +41,7 @@ config_intrhook.9 \ contigmalloc.9 \ copy.9 \ + cr_cansee.9 \ critical_enter.9 \ cr_seeothergids.9 \ cr_seeotheruids.9 \ @@ -157,6 +158,7 @@ panic.9 \ pbuf.9 \ p_candebug.9 \ + p_cansee.9 \ pci.9 \ pfil.9 \ pfind.9 \ ==== //depot/projects/ia64/share/man/man9/p_candebug.9#4 (text+ko) ==== @@ -25,9 +25,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.5 2006/11/19 13:36:04 ceri Exp $ .\" -.Dd November 18, 2006 +.Dd November 19, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME @@ -129,10 +129,10 @@ The MAC subsystem denied debuggability. .El .Sh SEE ALSO -.Xr intro 2 , .Xr jail 2 , .Xr sysctl 8 , .Xr cr_seeothergids 9 , .Xr cr_seeotheruids 9 , .Xr mac 9 , +.Xr p_cansee 9 , .Xr prison_check 9 ==== //depot/projects/ia64/share/mk/bsd.own.mk#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # Binaries BINOWN?= root @@ -170,6 +172,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -448,5 +451,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/ia64/share/mk/bsd.port.mk#5 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.90 2006/10/19 19:46:49 rink Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.91 2006/11/18 22:43:20 rodrigc Exp $"); #include #include @@ -343,6 +343,7 @@ } signal(SIGHUP, huphandler); signal(SIGTERM, terminate); + signal(SIGPIPE, SIG_IGN); pidfile_write(pfh); ==== //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.107 2006/02/28 21:49:32 jhb Exp $ + * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.108 2006/11/19 08:12:54 kensmith Exp $ */ #include @@ -692,25 +692,6 @@ if (id->installed == 1) return DITEM_SUCCESS; - /* - * Prompt user if the package is not available on the current volume. - */ - - if(mediaDevice->type == DEVICE_TYPE_CDROM) { - while (id->volume != dev->volume) { - if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" - "Would you like to switch discs now?\n", dev->volume, - id->name, id->volume)) { - DEVICE_SHUTDOWN(mediaDevice); - msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", - dev->volume, id->volume); - DEVICE_INIT(mediaDevice); - } else { - return DITEM_FAILURE; - } - } - } - if (id && id->deps && strlen(id->deps)) { char t[2048 * 8], *cp, *cp2; @@ -742,6 +723,21 @@ } /* Done with the deps? Load the real m'coy */ if (DITEM_STATUS(status) == DITEM_SUCCESS) { + /* Prompt user if the package is not available on the current volume. */ + if(mediaDevice->type == DEVICE_TYPE_CDROM) { + while (id->volume != dev->volume) { + if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" + "Would you like to switch discs now?\n", dev->volume, + id->name, id->volume)) { + DEVICE_SHUTDOWN(mediaDevice); + msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", + dev->volume, id->volume); + DEVICE_INIT(mediaDevice); + } else { + return DITEM_FAILURE; + } + } + } status = package_extract(dev, who->name, depended); if (DITEM_STATUS(status) == DITEM_SUCCESS) id->installed = 1; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4CAB16A770; Tue, 21 Nov 2006 17:18:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 335D416A55D for ; Tue, 21 Nov 2006 17:18:43 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id C7F4644251 for ; Tue, 21 Nov 2006 17:10:08 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAL3u065723 for ; Tue, 21 Nov 2006 17:10:21 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAL45065719 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:21 GMT Message-Id: <200611211710.kALHAL45065719@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=110277 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3C1216A91D; Tue, 21 Nov 2006 17:18:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CCF7B16A76C for ; Tue, 21 Nov 2006 17:18:43 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C7F744268 for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAMC3065783 for ; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAM5Y065780 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:22 GMT Message-Id: <200611211710.kALHAM5Y065780@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110283 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=110283 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E3DD16A558; Tue, 21 Nov 2006 17:18:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D419E16A76F for ; Tue, 21 Nov 2006 17:18:43 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D79CE44252 for ; Tue, 21 Nov 2006 17:10:08 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHALaC065722 for ; Tue, 21 Nov 2006 17:10:21 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHALA2065718 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:21 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:21 GMT Message-Id: <200611211710.kALHALA2065718@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=110277 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68B2316AA06; Tue, 21 Nov 2006 17:18:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D6E6A16A771 for ; Tue, 21 Nov 2006 17:18:43 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6293444273 for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAMmb065793 for ; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAMHH065789 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:22 GMT Message-Id: <200611211710.kALHAMHH065789@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110284 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=110284 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F01E916BF27; Tue, 21 Nov 2006 17:18:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E0FDB16A77A for ; Tue, 21 Nov 2006 17:18:43 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 900B24426A for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHANWm065802 for ; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHANM9065799 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:23 GMT Message-Id: <200611211710.kALHANM9065799@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110285 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=110285 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF9A516BF65; Tue, 21 Nov 2006 17:18:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 327EA16A7E2 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D7CA844270 for ; Tue, 21 Nov 2006 17:10:22 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAOlb065872 for ; Tue, 21 Nov 2006 17:10:24 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAOcu065868 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:24 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:24 GMT Message-Id: <200611211710.kALHAOcu065868@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110291 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=110291 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 588BD16BFB7; Tue, 21 Nov 2006 17:18:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 386EE16A7EB for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8035344269 for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAM5J065782 for ; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAM87065776 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:22 GMT Message-Id: <200611211710.kALHAM87065776@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110283 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=110283 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88CD216C054; Tue, 21 Nov 2006 17:18:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 95E1616A838 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E5E7843F26 for ; Tue, 21 Nov 2006 17:10:31 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAUBi065936 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUlm065932 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUlm065932@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110297 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=110297 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D74E16C055; Tue, 21 Nov 2006 17:18:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 49E5A16A808 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id C1DED441C8 for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAMUM065792 for ; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAMw8065788 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:22 GMT Message-Id: <200611211710.kALHAMw8065788@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110284 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=110284 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 961E916C059; Tue, 21 Nov 2006 17:18:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3E5B616A7F4 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 80BC84426B for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHANtQ065812 for ; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHANwA065808 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:23 GMT Message-Id: <200611211710.kALHANwA065808@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110286 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=110286 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2705616C0A7; Tue, 21 Nov 2006 17:18:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5810216A81B for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F2D444258 for ; Tue, 21 Nov 2006 17:10:11 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAMNm065762 for ; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAMQf065759 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:22 GMT Message-Id: <200611211710.kALHAMQf065759@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=110281 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A28AB16C262; Tue, 21 Nov 2006 17:18:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6470616A825 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5BD2C4425A for ; Tue, 21 Nov 2006 17:10:11 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAM9S065763 for ; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAMsG065758 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:22 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:22 GMT Message-Id: <200611211710.kALHAMsG065758@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=110281 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3480B16C2E6; Tue, 21 Nov 2006 17:18:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8EA3D16A836 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CCE844275 for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHANuQ065803 for ; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHANAZ065798 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:23 GMT Message-Id: <200611211710.kALHANAZ065798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110285 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=110285 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F73B16C35F; Tue, 21 Nov 2006 17:18:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9C97116A83B for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 034B144274 for ; Tue, 21 Nov 2006 17:10:22 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAOwl065871 for ; Tue, 21 Nov 2006 17:10:24 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAOHo065867 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:24 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:24 GMT Message-Id: <200611211710.kALHAOHo065867@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110291 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=110291 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:18:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 951B416C363; Tue, 21 Nov 2006 17:18:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C26FD16A857 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id A946F44285 for ; Tue, 21 Nov 2006 17:10:30 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHATGO065917 for ; Tue, 21 Nov 2006 17:10:29 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAOSb065908 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:24 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:24 GMT Message-Id: <200611211710.kALHAOSb065908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:18:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=110295 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F74316C36A; Tue, 21 Nov 2006 17:18:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D645E16A85E for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD93444286 for ; Tue, 21 Nov 2006 17:10:30 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHATBx065916 for ; Tue, 21 Nov 2006 17:10:29 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAOIH065907 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:24 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:24 GMT Message-Id: <200611211710.kALHAOIH065907@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=110295 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 20D6A16C4E0; Tue, 21 Nov 2006 17:18:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BF38416A856 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B7FD044277 for ; Tue, 21 Nov 2006 17:10:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAN1X065813 for ; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHANGX065809 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:23 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:23 GMT Message-Id: <200611211710.kALHANGX065809@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110286 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=110286 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 252B616C4E1; Tue, 21 Nov 2006 17:18:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CC78916A85B for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0975E4414A for ; Tue, 21 Nov 2006 17:10:31 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAU8O065946 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUc3065942 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUc3065942@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=110298 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B819516C5DB; Tue, 21 Nov 2006 17:18:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D323416A85D for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 24A0F43EA5 for ; Tue, 21 Nov 2006 17:10:31 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAUH3065947 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUM0065943 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUM0065943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=110298 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6A4C16C5DD; Tue, 21 Nov 2006 17:18:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D977316A85F for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id F2B374418C for ; Tue, 21 Nov 2006 17:10:32 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAUOd065957 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUBk065953 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUBk065953@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=110299 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79BA616C63C; Tue, 21 Nov 2006 17:18:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DC90616A860 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5929444288 for ; Tue, 21 Nov 2006 17:10:30 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHATHT065926 for ; Tue, 21 Nov 2006 17:10:29 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAT0x065923 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:29 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:29 GMT Message-Id: <200611211710.kALHAT0x065923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110296 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB0AB16C683; Tue, 21 Nov 2006 17:18:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DFF3A16A862 for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9AA774428A for ; Tue, 21 Nov 2006 17:10:31 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAUTK065937 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUan065933 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUan065933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110297 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=110297 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 17D0916C730; Tue, 21 Nov 2006 17:18:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EB14716A86A for ; Tue, 21 Nov 2006 17:18:44 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2975D43E43 for ; Tue, 21 Nov 2006 17:10:32 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAURF065956 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUPx065952 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUPx065952@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=110299 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E88B216AADD; Tue, 21 Nov 2006 17:18:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0201116A86D for ; Tue, 21 Nov 2006 17:18:45 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 95E6243F07 for ; Tue, 21 Nov 2006 17:10:33 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAUkw065977 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAULJ065972 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAULJ065972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110301 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=110301 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 270E416AD11; Tue, 21 Nov 2006 17:18:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0AB7316A86F for ; Tue, 21 Nov 2006 17:18:45 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id C77F544000 for ; Tue, 21 Nov 2006 17:10:35 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAUXK065986 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUkW065983 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUkW065983@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110302 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=110302 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74B0F16C784; Tue, 21 Nov 2006 17:19:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EDEC816C70A for ; Tue, 21 Nov 2006 17:19:06 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 11F5A43EBA for ; Tue, 21 Nov 2006 17:10:33 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAUL5065976 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUad065973 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUad065973@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110301 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=110301 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 92F7B16C794; Tue, 21 Nov 2006 17:19:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2BB1116AD13 for ; Tue, 21 Nov 2006 17:19:09 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 034EF43E1A for ; Tue, 21 Nov 2006 17:10:35 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAU5M065987 for ; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAUkV065982 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:30 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:30 GMT Message-Id: <200611211710.kALHAUkV065982@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110302 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=110302 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F084216C87E; Tue, 21 Nov 2006 17:19:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5BD0416C70A for ; Tue, 21 Nov 2006 17:19:09 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E85243E05 for ; Tue, 21 Nov 2006 17:10:35 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAVbm066007 for ; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAVLZ066003 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:31 GMT Message-Id: <200611211710.kALHAVLZ066003@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=110304 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B068616C8CB; Tue, 21 Nov 2006 17:19:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6F34F16C809 for ; Tue, 21 Nov 2006 17:19:10 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8BAB144031 for ; Tue, 21 Nov 2006 17:10:36 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAVPG066006 for ; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAV9r066002 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:31 GMT Message-Id: <200611211710.kALHAV9r066002@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=110304 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 583E416CA2B; Tue, 21 Nov 2006 17:19:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F1F7416CA0B for ; Tue, 21 Nov 2006 17:19:28 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 79E14441D1 for ; Tue, 21 Nov 2006 17:10:49 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAYHb066266 for ; Tue, 21 Nov 2006 17:10:34 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAYPQ066263 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:34 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:34 GMT Message-Id: <200611211710.kALHAYPQ066263@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110330 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=110330 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B85D116CAA0; Tue, 21 Nov 2006 17:19:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1773116CA0E for ; Tue, 21 Nov 2006 17:19:29 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id F186B44287 for ; Tue, 21 Nov 2006 17:10:30 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHATLe065927 for ; Tue, 21 Nov 2006 17:10:29 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAT9t065922 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:29 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:29 GMT Message-Id: <200611211710.kALHAT9t065922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=110296 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE4C616CB4D; Tue, 21 Nov 2006 17:19:32 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4091A16C9F1 for ; Tue, 21 Nov 2006 17:19:29 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54C2144011 for ; Tue, 21 Nov 2006 17:10:43 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAVaZ066067 for ; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAVtr066063 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from adamartin@FreeBSD.org) Date: Tue, 21 Nov 2006 17:10:31 GMT Message-Id: <200611211710.kALHAVtr066063@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 110310 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=110310 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5EB416CBE2; Tue, 21 Nov 2006 17:19:32 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 439F616CA22 for ; Tue, 21 Nov 2006 17:19:29 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 47E7343DF6 for ; Tue, 21 Nov 2006 17:10:40 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAVIa066066 for ; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAVsh066062 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:31 GMT (envelope-from adamartin@FreeBSD.org) Date: Tue, 21 Nov 2006 17:10:31 GMT Message-Id: <200611211710.kALHAVsh066062@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 110310 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=110310 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACD9816A59C; Tue, 21 Nov 2006 17:19:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 88B2016CB34 for ; Tue, 21 Nov 2006 17:19:30 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FF2B441C9 for ; Tue, 21 Nov 2006 17:10:58 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAaLA066357 for ; Tue, 21 Nov 2006 17:10:36 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAa0l066353 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:36 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:36 GMT Message-Id: <200611211710.kALHAa0l066353@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=110339 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1401D16AA23; Tue, 21 Nov 2006 17:19:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9590716CB97 for ; Tue, 21 Nov 2006 17:19:31 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 25FB3441CA for ; Tue, 21 Nov 2006 17:10:58 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAaB4066356 for ; Tue, 21 Nov 2006 17:10:36 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAaj1066352 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:36 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:36 GMT Message-Id: <200611211710.kALHAaj1066352@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=110339 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85EA116AC47; Tue, 21 Nov 2006 17:19:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 628BF16CA14 for ; Tue, 21 Nov 2006 17:19:32 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E133243FA1 for ; Tue, 21 Nov 2006 17:11:22 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAX4x066187 for ; Tue, 21 Nov 2006 17:10:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAXb0066182 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:33 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:33 GMT Message-Id: <200611211710.kALHAXb0066182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=110322 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4410E16AD32; Tue, 21 Nov 2006 17:19:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 672EE16CA17 for ; Tue, 21 Nov 2006 17:19:32 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 20F1444267 for ; Tue, 21 Nov 2006 17:11:22 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAXo9066186 for ; Tue, 21 Nov 2006 17:10:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAXa9066183 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:33 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:10:33 GMT Message-Id: <200611211710.kALHAXa9066183@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=110322 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:19:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEE2D16CA2E; Tue, 21 Nov 2006 17:19:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9C6BD16C87F; Tue, 21 Nov 2006 17:19:50 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F21F442C1; Tue, 21 Nov 2006 17:11:37 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id kALH9Kw4078212; Tue, 21 Nov 2006 10:09:20 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Tue, 21 Nov 2006 10:10:02 -0700 (MST) Message-Id: <20061121.101002.1757494100.imp@bsdimp.com> To: ticso@cicely.de, ticso@cicely12.cicely.de From: "M. Warner Losh" In-Reply-To: <20061121164140.GX77029@cicely12.cicely.de> References: <200611211616.kALGGJ30045040@repoman.freebsd.org> <20061121164140.GX77029@cicely12.cicely.de> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Tue, 21 Nov 2006 10:09:20 -0700 (MST) Cc: sam@freebsd.org, perforce@freebsd.org Subject: Re: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:19:51 -0000 In message: <20061121164140.GX77029@cicely12.cicely.de> Bernd Walter writes: : On Tue, Nov 21, 2006 at 04:16:19PM +0000, Sam Leffler wrote: : > http://perforce.freebsd.org/chv.cgi?CH=110182 : > : > Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 : > : > Get it working: : > o slave address in avila docs is correct; don't believe : > what linux print probes, it's the 7-bit address >> 1 : > o correct set method to send register pointer before : > 4 bytes of data in a single transaction : > : > Affected files ... : > : > .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit : : This is pretty cool. : How difficult is it to make it a generic driver? : I use the ds1672 on an rm9200 based board. I think when he committed it to HEAD he went ahead and made it (more?) generic. Warner From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:20:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31FE316AF0C; Tue, 21 Nov 2006 17:20:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0981516AF03 for ; Tue, 21 Nov 2006 17:20:30 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF55943F79 for ; Tue, 21 Nov 2006 17:14:43 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF4xd066744 for ; Tue, 21 Nov 2006 17:15:04 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF3iu066739 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:03 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:15:03 GMT Message-Id: <200611211715.kALHF3iu066739@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110187 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:20:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=110187 Change 110187 by sam@sam_ebb on 2006/11/18 05:38:02 add rtc and sensors Affected files ... .. //depot/projects/arm/src/sys/arm/conf/AVILA#8 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/AVILA#8 (text+ko) ==== @@ -85,6 +85,8 @@ device ixpiic device ixpwdog # watchdog timer +device rtc_avila # DS1762 on I2C bus +device adc_avila # AD7418 on I2C bus device ata device ata_avila # Gateworks CF/IDE support From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:20:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2636A16AF0A; Tue, 21 Nov 2006 17:20:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6594016AF39 for ; Tue, 21 Nov 2006 17:20:30 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4AD7343F75 for ; Tue, 21 Nov 2006 17:14:39 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF22i066713 for ; Tue, 21 Nov 2006 17:15:02 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF1V1066710 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:01 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 21 Nov 2006 17:15:01 GMT Message-Id: <200611211715.kALHF1V1066710@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 110183 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:20:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=110183 Change 110183 by mjacob@newisp on 2006/11/18 03:35:24 Make the SAN login/logout stuff more common between different chipsets and provied an isp_control entry point so that the outer layers can do PLOGI/LOGO explicitly. Add MS IOCB support. This completes the cycle for base support for SMI-S. Affected files ... .. //depot/projects/newisp/dev/bge/if_bge.c#10 edit .. //depot/projects/newisp/dev/isp/isp.c#38 edit .. //depot/projects/newisp/dev/isp/isp_library.c#21 edit .. //depot/projects/newisp/dev/isp/isp_library.h#13 edit .. //depot/projects/newisp/dev/isp/ispmbox.h#14 edit .. //depot/projects/newisp/dev/isp/ispvar.h#17 edit Differences ... ==== //depot/projects/newisp/dev/bge/if_bge.c#10 (text+ko) ==== @@ -2499,12 +2499,6 @@ } } - /* - * Write the magic number to the firmware mailbox at 0xb50 - * so that the driver can synchronize with the firmware. - */ - bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); - /* Issue global reset */ bge_writereg_ind(sc, BGE_MISC_CFG, reset); @@ -2541,6 +2535,11 @@ CSR_WRITE_4(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); /* + * Prevent PXE restart: write a magic number to the + * general communications memory at 0xB50. + */ + bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER); + /* * Poll the value location we just wrote until * we see the 1's complement of the magic number. * This indicates that the firmware initialization ==== //depot/projects/newisp/dev/isp/isp.c#38 (text+ko) ==== @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/newisp/dev/isp/isp_library.c#21 (text) ==== @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/newisp/dev/isp/isp_library.h#13 (text) ==== @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/newisp/dev/isp/ispmbox.h#14 (text+ko) ==== @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/newisp/dev/isp/ispvar.h#17 (text+ko) ==== @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:20:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5773916A47B; Tue, 21 Nov 2006 17:20:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BD7F516AF00 for ; Tue, 21 Nov 2006 17:20:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 45AEF43FAD for ; Tue, 21 Nov 2006 17:14:48 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFBFw067132 for ; Tue, 21 Nov 2006 17:15:11 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFBAZ067127 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:11 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:11 GMT Message-Id: <200611211715.kALHFBAZ067127@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110208 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:20:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=110208 Change 110208 by rwatson@rwatson_fledge on 2006/11/18 11:17:09 When generating process*_ex() variants, make sure to write out addresses in the byte order they are presented to the function, as addresses will already be in network byte order. The u_int32_t encoding macros will convert from native to network byte order, which is not required if they are already in network byte order. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 $ */ #include @@ -765,11 +765,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); @@ -807,11 +807,11 @@ ADD_U_INT32(dptr, sid); ADD_U_INT64(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); + ADD_MEM(dptr, &tid->at_addr[1], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[2], sizeof(u_int32_t)); + ADD_MEM(dptr, &tid->at_addr[3], sizeof(u_int32_t)); } return (t); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:20:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 771A916AF8C; Tue, 21 Nov 2006 17:20:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9D0AD16AECB for ; Tue, 21 Nov 2006 17:20:31 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 88F2043F77 for ; Tue, 21 Nov 2006 17:14:40 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF3dL066734 for ; Tue, 21 Nov 2006 17:15:03 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF3e5066728 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:03 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:15:03 GMT Message-Id: <200611211715.kALHF3e5066728@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110186 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:20:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=110186 Change 110186 by sam@sam_ebb on 2006/11/18 05:37:20 Analog Devices AD7418 sensor support (temp+voltage) Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#1 add .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#5 (text+ko) ==== @@ -1,5 +1,6 @@ #$FreeBSD$ arm/xscale/ixp425/avila_machdep.c standard arm/xscale/ixp425/avila_ata.c optional ata_avila +arm/xscale/ixp425/ad7418.c optional adc_avila arm/xscale/ixp425/ds1672.c optional rtc_avila arm/xscale/ixp425/ixdp425_pci.c optional pci From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:20:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0AE0B16CF07; Tue, 21 Nov 2006 17:20:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 42EB016AF06 for ; Tue, 21 Nov 2006 17:20:36 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 107D743F85 for ; Tue, 21 Nov 2006 17:14:43 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF1sg066707 for ; Tue, 21 Nov 2006 17:15:01 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF1uW066704 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:01 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:15:01 GMT Message-Id: <200611211715.kALHF1uW066704@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:20:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=110182 Change 110182 by sam@sam_ebb on 2006/11/18 02:52:03 Get it working: o slave address in avila docs is correct; don't believe what linux print probes, it's the 7-bit address >> 1 o correct set method to send register pointer before 4 bytes of data in a single transaction Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#3 (text+ko) ==== @@ -54,8 +54,7 @@ #define IIC_M_WR 0 /* write operation */ -/* NB: Gateworks doc say this is 0x80 but Linux uses 0x68 */ -#define DS1672_ADDR 0x68 /* slave address */ +#define DS1672_ADDR 0xd0 /* slave address */ #define DS1672_COUNTER 0 /* counter (bytes 0-3) */ #define DS1672_CTRL 4 /* control (1 byte) */ @@ -89,7 +88,7 @@ static int ds1672_gettime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; + uint8_t addr[1] = { DS1672_COUNTER }; uint8_t secs[4]; struct iic_msg msgs[2] = { { DS1672_ADDR, IIC_M_WR, 1, addr }, @@ -110,19 +109,18 @@ static int ds1672_settime(device_t dev, struct timespec *ts) { - uint8_t addr[2] = { 0, DS1672_COUNTER }; - uint8_t secs[4]; - struct iic_msg msgs[2] = { - { DS1672_ADDR, IIC_M_WR, 1, addr }, - { DS1672_ADDR, IIC_M_WR, 4, secs }, + /* NB: register pointer precedes actual data */ + uint8_t data[5] = { DS1672_COUNTER }; + struct iic_msg msgs[1] = { + { DS1672_ADDR, IIC_M_WR, 5, data }, }; - secs[1] = (ts->tv_sec >> 0) & 0xff; - secs[2] = (ts->tv_sec >> 8) & 0xff; - secs[3] = (ts->tv_sec >> 16) & 0xff; - secs[4] = (ts->tv_sec >> 24) & 0xff; + data[1] = (ts->tv_sec >> 0) & 0xff; + data[2] = (ts->tv_sec >> 8) & 0xff; + data[3] = (ts->tv_sec >> 16) & 0xff; + data[4] = (ts->tv_sec >> 24) & 0xff; - return iicbus_transfer(dev, msgs, 2); + return iicbus_transfer(dev, msgs, 1); } static device_method_t ds1672_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:20:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16FE016CF0F; Tue, 21 Nov 2006 17:20:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 229C616ADFE for ; Tue, 21 Nov 2006 17:20:36 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7199843F9C for ; Tue, 21 Nov 2006 17:14:45 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF8Lm066862 for ; Tue, 21 Nov 2006 17:15:08 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF7NS066857 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:07 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:15:07 GMT Message-Id: <200611211715.kALHF7NS066857@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110197 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:20:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=110197 Change 110197 by imp@imp_lighthouse on 2006/11/18 08:41:33 Move MAC Save 82 byes by eliminating the spinner. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#30 (text+ko) ==== @@ -82,8 +82,6 @@ RBX_VERBOSE }; -unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; - unsigned dsk_start; static char cmd[512]; static char kname[1024]; ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; static void MacFromEE() @@ -66,8 +66,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#7 (text+ko) ==== @@ -9,11 +9,10 @@ #include "board.h" #include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; #define KLUDGE_STRAP #define TSC_FPGA -#define XMODEM_DL #ifdef TSC_FPGA #include "at91rm9200.h" @@ -129,11 +128,8 @@ SPI_InitFlash(); fpga_load(); #endif - printf("EEinit\n"); EEInit(); - printf("mac\n"); MacFromEE(); - printf("EEEEEE\n"); EMAC_Init(); sdcard_init(); EMAC_SetMACAddress(mac); @@ -145,8 +141,5 @@ int drvread(void *buf, unsigned lba, unsigned nblk) { - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); return (MCI_read((char *)buf, lba << 9, nblk << 9)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2084116CF1D; Tue, 21 Nov 2006 17:20:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DAC5F16ADE9 for ; Tue, 21 Nov 2006 17:20:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9599543F7F for ; Tue, 21 Nov 2006 17:14:58 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFDJ2067178 for ; Tue, 21 Nov 2006 17:15:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFDpD067174 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:13 GMT Message-Id: <200611211715.kALHFDpD067174@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110212 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110212 Change 110212 by rwatson@rwatson_fledge on 2006/11/18 11:58:19 Remove pre-ipv4/ipv6 ex reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record#2 delete .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2853C16CF20; Tue, 21 Nov 2006 17:20:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DBAFB16ADEA for ; Tue, 21 Nov 2006 17:20:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BF1A43FB5 for ; Tue, 21 Nov 2006 17:14:50 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFEAT067193 for ; Tue, 21 Nov 2006 17:15:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFDbL067182 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:13 GMT Message-Id: <200611211715.kALHFDbL067182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=110213 Change 110213 by rwatson@rwatson_fledge on 2006/11/18 12:02:30 Add new reference tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process32ex_token-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_record#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64_token#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_record-IPv6#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv4#1 add .. //depot/projects/trustedbsd/openbsm/test/reference/process64ex_token-IPv6#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3307216CF25; Tue, 21 Nov 2006 17:20:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7DF8816AF90 for ; Tue, 21 Nov 2006 17:20:36 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5DF9E44058 for ; Tue, 21 Nov 2006 17:15:18 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFfxQ067699 for ; Tue, 21 Nov 2006 17:15:41 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFe0t067696 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:40 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:15:40 GMT Message-Id: <200611211715.kALHFe0t067696@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110252 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=110252 Change 110252 by marcel@marcel_nfs on 2006/11/19 20:25:24 IFC @110251 Affected files ... .. //depot/projects/ia64/share/man/man9/Makefile#64 integrate .. //depot/projects/ia64/share/man/man9/cr_cansee.9#1 branch .. //depot/projects/ia64/share/man/man9/p_candebug.9#4 integrate .. //depot/projects/ia64/share/man/man9/p_cansee.9#1 branch .. //depot/projects/ia64/share/mk/bsd.own.mk#17 integrate .. //depot/projects/ia64/share/mk/bsd.port.mk#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 integrate .. //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 integrate .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/ia64/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 integrate Differences ... ==== //depot/projects/ia64/share/man/man9/Makefile#64 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.284 2006/11/11 08:59:34 ru Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.285 2006/11/19 13:35:03 ceri Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -41,6 +41,7 @@ config_intrhook.9 \ contigmalloc.9 \ copy.9 \ + cr_cansee.9 \ critical_enter.9 \ cr_seeothergids.9 \ cr_seeotheruids.9 \ @@ -157,6 +158,7 @@ panic.9 \ pbuf.9 \ p_candebug.9 \ + p_cansee.9 \ pci.9 \ pfil.9 \ pfind.9 \ ==== //depot/projects/ia64/share/man/man9/p_candebug.9#4 (text+ko) ==== @@ -25,9 +25,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.5 2006/11/19 13:36:04 ceri Exp $ .\" -.Dd November 18, 2006 +.Dd November 19, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME @@ -129,10 +129,10 @@ The MAC subsystem denied debuggability. .El .Sh SEE ALSO -.Xr intro 2 , .Xr jail 2 , .Xr sysctl 8 , .Xr cr_seeothergids 9 , .Xr cr_seeotheruids 9 , .Xr mac 9 , +.Xr p_cansee 9 , .Xr prison_check 9 ==== //depot/projects/ia64/share/mk/bsd.own.mk#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # Binaries BINOWN?= root @@ -170,6 +172,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -448,5 +451,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/ia64/share/mk/bsd.port.mk#5 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/ia64/sys/boot/ia64/common/copy.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/common/libia64.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/ia64/usr.sbin/mountd/mountd.c#20 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.90 2006/10/19 19:46:49 rink Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.91 2006/11/18 22:43:20 rodrigc Exp $"); #include #include @@ -343,6 +343,7 @@ } signal(SIGHUP, huphandler); signal(SIGTERM, terminate); + signal(SIGPIPE, SIG_IGN); pidfile_write(pfh); ==== //depot/projects/ia64/usr.sbin/sysinstall/index.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.107 2006/02/28 21:49:32 jhb Exp $ + * $FreeBSD: src/usr.sbin/sysinstall/index.c,v 1.108 2006/11/19 08:12:54 kensmith Exp $ */ #include @@ -692,25 +692,6 @@ if (id->installed == 1) return DITEM_SUCCESS; - /* - * Prompt user if the package is not available on the current volume. - */ - - if(mediaDevice->type == DEVICE_TYPE_CDROM) { - while (id->volume != dev->volume) { - if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" - "Would you like to switch discs now?\n", dev->volume, - id->name, id->volume)) { - DEVICE_SHUTDOWN(mediaDevice); - msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", - dev->volume, id->volume); - DEVICE_INIT(mediaDevice); - } else { - return DITEM_FAILURE; - } - } - } - if (id && id->deps && strlen(id->deps)) { char t[2048 * 8], *cp, *cp2; @@ -742,6 +723,21 @@ } /* Done with the deps? Load the real m'coy */ if (DITEM_STATUS(status) == DITEM_SUCCESS) { + /* Prompt user if the package is not available on the current volume. */ + if(mediaDevice->type == DEVICE_TYPE_CDROM) { + while (id->volume != dev->volume) { + if (!msgYesNo("This is disc #%d. Package %s is on disc #%d\n" + "Would you like to switch discs now?\n", dev->volume, + id->name, id->volume)) { + DEVICE_SHUTDOWN(mediaDevice); + msgConfirm("Please remove disc #%d from your drive, and add disc #%d\n", + dev->volume, id->volume); + DEVICE_INIT(mediaDevice); + } else { + return DITEM_FAILURE; + } + } + } status = package_extract(dev, who->name, depended); if (DITEM_STATUS(status) == DITEM_SUCCESS) id->installed = 1; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BB0216CF28; Tue, 21 Nov 2006 17:20:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A3E3216AEF2 for ; Tue, 21 Nov 2006 17:20:31 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6CDE243F9B for ; Tue, 21 Nov 2006 17:14:45 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF8Yl066883 for ; Tue, 21 Nov 2006 17:15:08 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF86k066870 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:08 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:15:08 GMT Message-Id: <200611211715.kALHF86k066870@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=110198 Change 110198 by imp@imp_lighthouse on 2006/11/18 08:52:08 Space optimized divsi implementation. Now all I gotta do is find out where it really came from. This puts us below 8k for boot2! Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/divsi3.c#1 add Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#26 (text+ko) ==== @@ -8,7 +8,7 @@ putchar.c printf.c reset.c spi_flash.c xmodem.c \ sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \ memset.c memcmp.c -SRCS+=ashldi3.c divsi3.S +SRCS+=ashldi3.c divsi3.c NO_MAN= .if ${MK_TAG_LIST} != "no" From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49BB816CF30; Tue, 21 Nov 2006 17:20:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB42016AEFD for ; Tue, 21 Nov 2006 17:20:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D5F1743F7E for ; Tue, 21 Nov 2006 17:14:48 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFBaK067118 for ; Tue, 21 Nov 2006 17:15:11 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFBP9067100 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:11 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:11 GMT Message-Id: <200611211715.kALHFBP9067100@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110207 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=110207 Change 110207 by rwatson@rwatson_fledge on 2006/11/18 11:12:21 Remove now unnecessary __unused qualifiers on arguments to process token generation. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#54 $ */ #include @@ -687,9 +687,8 @@ } token_t * -au_to_process64(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { token_t *t; u_char *dptr = NULL; @@ -714,9 +713,8 @@ } token_t * -au_to_process(__unused au_id_t auid, __unused uid_t euid, - __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, - __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) +au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, + pid_t pid, au_asid_t sid, au_tid_t *tid) { return (au_to_process32(auid, euid, egid, ruid, rgid, pid, sid, From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 500F716CF31; Tue, 21 Nov 2006 17:20:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0A3CD16AF7E for ; Tue, 21 Nov 2006 17:20:33 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9ADB543FAF for ; Tue, 21 Nov 2006 17:14:49 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFCrF067146 for ; Tue, 21 Nov 2006 17:15:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFCVD067139 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:12 GMT Message-Id: <200611211715.kALHFCVD067139@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=110209 Change 110209 by rwatson@rwatson_fledge on 2006/11/18 11:18:02 Generate test tokens for process64 and process64_ex tokens. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#5 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ */ /* @@ -435,6 +435,78 @@ write_record(directory, record_filename, process32ex_token, AUE_NULL); } +static au_id_t process64_auid = 0x12345678; +static uid_t process64_euid = 0x01234567; +static gid_t process64_egid = 0x23456789; +static uid_t process64_ruid = 0x98765432; +static gid_t process64_rgid = 0x09876543; +static pid_t process64_pid = 0x13243546; +static au_asid_t process64_sid = 0x97867564; +static au_tid_t process64_tid = { 0x16593746 }; +static au_tid_addr_t process64_tid_addr = { 0x16593746 }; + +static void +generate_process64_token(const char *directory, const char *token_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64"); + write_token(directory, token_filename, process64_token); +} + +static void +generate_process64_record(const char *directory, const char *record_filename) +{ + token_t *process64_token; + + process64_tid.machine = inet_addr("127.0.0.1"); + + process64_token = au_to_process64(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid); + if (process64_token == NULL) + err(EX_UNAVAILABLE, "au_ti_process64"); + write_record(directory, record_filename, process64_token, AUE_NULL); +} + +static void +generate_process64ex_token(const char *directory, const char *token_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_token(directory, token_filename, process64ex_token); +} + +static void +generate_process64ex_record(const char *directory, const char *record_filename) +{ + token_t *process64ex_token; + + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + + process64ex_token = au_to_process64_ex(process64_auid, process64_euid, + process64_egid, process64_ruid, process64_rgid, process64_pid, + process64_sid, &process64_tid_addr); + if (process64ex_token == NULL) + err(EX_UNAVAILABLE, "au_to_process64_ex"); + write_record(directory, record_filename, process64ex_token, AUE_NULL); +} + static char return32_status = 0xd7; static uint32_t return32_ret = 0x12345678; @@ -815,6 +887,8 @@ generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); generate_process32_token(directory, "process32_token"); generate_process32ex_token(directory, "process32ex_token"); + generate_process64_token(directory, "process64_token"); + generate_process64ex_token(directory, "process64ex_token"); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -841,6 +915,8 @@ AU_IPv6); generate_process32_record(directory, "process32_record"); generate_process32ex_record(directory, "process32ex_record"); + generate_process64_record(directory, "process64_record"); + generate_process64ex_record(directory, "process64ex_record"); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 563F616CF33; Tue, 21 Nov 2006 17:20:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 17DC716AF96 for ; Tue, 21 Nov 2006 17:20:33 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6AE1843F96 for ; Tue, 21 Nov 2006 17:14:44 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF65O066801 for ; Tue, 21 Nov 2006 17:15:06 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF69Y066796 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:06 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:15:06 GMT Message-Id: <200611211715.kALHF69Y066796@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=110194 Change 110194 by imp@imp_lighthouse on 2006/11/18 08:03:24 Move almost all of the atmel specific stuff to the *board.c files. This should allow us to be in a good position to also support booting off CF. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#3 (text+ko) ==== @@ -26,3 +26,4 @@ void Update(void); void board_init(void); +int drvread(void *, unsigned, unsigned); ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#28 (text+ko) ==== @@ -26,9 +26,7 @@ #include -#include "emac.h" #include "lib.h" -#include "sd-card.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ @@ -96,7 +94,6 @@ static int parse(void); static int xfsread(ino_t, void *, size_t); static int dskread(void *, unsigned, unsigned); -static int drvread(void *, unsigned, unsigned); #include "ufsread.c" @@ -148,9 +145,6 @@ ino_t ino; board_init(); - EMAC_Init(); - sdcard_init(); - EMAC_SetMACAddress(mac); dmadat = (void *)(0x20000000 + (16 << 20)); /* Process configuration file */ @@ -304,12 +298,3 @@ } return drvread(buf, dsk_start + lba, nblk); } - -static int -drvread(void *buf, unsigned lba, unsigned nblk) -{ - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); - return (MCI_read((char *)buf, lba << 9, nblk << 9)); -} ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#5 (text+ko) ==== @@ -31,6 +31,7 @@ #include "emac.h" #include "lib.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -57,4 +58,16 @@ { InitEEPROM(); MacFromEE(); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); +} + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/tsc_board.c#6 (text+ko) ==== @@ -7,6 +7,7 @@ #include "lib.h" #include "ee.h" #include "board.h" +#include "sd-card.h" extern unsigned char mac[]; @@ -133,6 +134,19 @@ printf("mac\n"); MacFromEE(); printf("EEEEEE\n"); + EMAC_Init(); + sdcard_init(); + EMAC_SetMACAddress(mac); + } #include "../bootspi/ee.c" + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + static unsigned c = 0x2d5c7c2f; + + printf("%c\b", c = c << 8 | c >> 24); + return (MCI_read((char *)buf, lba << 9, nblk << 9)); +} From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D09916CF36; Tue, 21 Nov 2006 17:20:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 285BB16AF9C for ; Tue, 21 Nov 2006 17:20:33 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B1E343F99 for ; Tue, 21 Nov 2006 17:14:44 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF7kE066850 for ; Tue, 21 Nov 2006 17:15:07 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF7FG066833 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:07 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:15:07 GMT Message-Id: <200611211715.kALHF7FG066833@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=110196 Change 110196 by imp@imp_lighthouse on 2006/11/18 08:36:39 remove a little debugging. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#29 (text+ko) ==== @@ -172,14 +172,11 @@ xputchar('\n'); autoboot = 0; c = 0; - printf("cmd is '%s'\n", cmd); if (parse()) xputchar('\a'); #ifdef XMODEM_DL else if (*cmd == '*') - Update(); - else if (*cmd == '#') - reset(); + Update(); #endif else load(); @@ -263,7 +260,6 @@ struct dos_partition *dp; struct disklabel *d; char *sec; - int i; if (!dsk_meta) { sec = dmadat->secbuf; @@ -271,16 +267,12 @@ if (drvread(sec, DOSBBSECTOR, 1)) return -1; dp = (void *)(sec + DOSPARTOFF); - for (i = 0; i < NDOSPART; i++) { - if (dp[i].dp_typ == DOSPTYP_386BSD) - break; - } - if (i == NDOSPART) + if (dp[0].dp_typ != DOSPTYP_386BSD) return -1; // Although dp_start is aligned within the disk partition structure, // DOSPARTOFF is 446, which is only word (2) aligned, not longword (4) // aligned. Cope by using memcpy to fetch the start of this partition. - memcpy(&dsk_start, &dp[i].dp_start, 4); + memcpy(&dsk_start, &dp[0].dp_start, 4); if (drvread(sec, dsk_start + LABELSECTOR, 1)) return -1; d = (void *)(sec + LABELOFFSET); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6397416CF38; Tue, 21 Nov 2006 17:20:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4787A16AFA1 for ; Tue, 21 Nov 2006 17:20:33 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id C4DE74405A for ; Tue, 21 Nov 2006 17:15:20 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFhpS067712 for ; Tue, 21 Nov 2006 17:15:43 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFhbo067709 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:43 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:15:43 GMT Message-Id: <200611211715.kALHFhbo067709@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110254 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=110254 Change 110254 by marcel@marcel_cluster on 2006/11/19 20:31:11 Remove loader.rc and help.i386.They will be made and installed as part of the standard loader. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/help.i386#2 delete .. //depot/projects/ia64/sys/boot/i386/efi/loader.rc#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7645E16CF47; Tue, 21 Nov 2006 17:20:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E10A716ADEF for ; Tue, 21 Nov 2006 17:20:34 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9A2084403E for ; Tue, 21 Nov 2006 17:15:10 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFXn4067603 for ; Tue, 21 Nov 2006 17:15:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFXl2067600 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:33 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:15:33 GMT Message-Id: <200611211715.kALHFXl2067600@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110239 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=110239 Change 110239 by imp@imp_lighthouse on 2006/11/19 05:07:47 Compile fix Obtained from: sam Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91.c#23 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91.c#23 (text+ko) ==== @@ -69,7 +69,7 @@ } static void -at91_bs_unmap(void *t, bus_size_t size) +at91_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size) { vm_offset_t va, endva; From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FAD116CF4E; Tue, 21 Nov 2006 17:20:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7987416AC0A for ; Tue, 21 Nov 2006 17:20:34 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29B4F43F80 for ; Tue, 21 Nov 2006 17:14:43 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF3Lr066725 for ; Tue, 21 Nov 2006 17:15:03 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF3Ie066722 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:03 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:15:03 GMT Message-Id: <200611211715.kALHF3Ie066722@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110185 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=110185 Change 110185 by sam@sam_ebb on 2006/11/18 04:05:44 o add transfer method for use by chips on the avila board o add avila chips for now; cleanup to follow Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#7 (text+ko) ==== @@ -69,6 +69,8 @@ DEVMETHOD(bus_driver_added, bus_generic_driver_added), DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(iicbus_transfer, iicbus_transfer_gen), + { 0, 0 } }; @@ -140,6 +142,8 @@ #endif device_add_child(dev, "ic", -1); device_add_child(dev, "iicsmb", -1); + device_add_child(dev, "ds1672", -1); + device_add_child(dev, "ad7418", -1); /* attach any known device */ device_add_child(dev, "iic", -1); bus_generic_attach(dev); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6EA6316CF41; Tue, 21 Nov 2006 17:20:39 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5D4AB16A59B for ; Tue, 21 Nov 2006 17:20:34 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04BC043FC3 for ; Tue, 21 Nov 2006 17:14:58 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFFx6067217 for ; Tue, 21 Nov 2006 17:15:15 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFEi8067211 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:14 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:15:14 GMT Message-Id: <200611211715.kALHFEi8067211@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110216 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=110216 Change 110216 by rdivacky@rdivacky_witten on 2006/11/18 13:55:33 Redo the checking for 2.6 emulation. We now cache the value of use26 and replace calls to linux_get_osrelease() + parsing with a call to linux_use26(). Typical path is lockless now. This commit also lets linux_chroot compile. This is untested version commited to let IFC proceed. Pointed out by: kib Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#2 (text+ko) ==== @@ -52,6 +52,7 @@ char pr_osname[LINUX_MAX_UTSNAME]; char pr_osrelease[LINUX_MAX_UTSNAME]; int pr_oss_version; + int pr_use_linux26; /* flag to determine whether to use 2.6 emulation */ }; SYSCTL_NODE(_compat, OID_AUTO, linux, CTLFLAG_RW, 0, @@ -82,6 +83,7 @@ "Linux kernel OS name"); static char linux_osrelease[LINUX_MAX_UTSNAME] = "2.4.2"; +static int linux_use_linux26 = 0; static int linux_sysctl_osrelease(SYSCTL_HANDLER_ARGS) @@ -227,19 +229,45 @@ } int +linux_use26(struct thread *td) +{ + struct prison *pr; + struct linux_prison *lpr; + int use26 = 0; /* defaults to off */ + + pr = td->td_ucred->cr_prison; + if (pr != NULL) { + mtx_lock(&pr->pr_mtx); + if (pr->pr_linux != NULL) { + lpr = (struct linux_prison *)pr->pr_linux; + use26 = lpr->pr_use_linux26; + } + mtx_unlock(&pr->pr_mtx); + } else + use26 = linux_use_linux26; + + return (use26); +} + +int linux_set_osrelease(struct thread *td, char *osrelease) { struct prison *pr; struct linux_prison *lpr; + int use26; + use26 = (strlen(osrelease) >= 3 && osrelease[2] == '6'); + pr = linux_get_prison(td); if (pr != NULL) { lpr = (struct linux_prison *)pr->pr_linux; strcpy(lpr->pr_osrelease, osrelease); + lpr->pr_use_linux26 = use26; mtx_unlock(&pr->pr_mtx); } else { mtx_lock(&osname_lock); strcpy(linux_osrelease, osrelease); + linux_use_linux26 = use26; mtx_unlock(&osname_lock); } ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.h#2 (text+ko) ==== @@ -40,4 +40,6 @@ int linux_get_oss_version(struct thread *td); int linux_set_oss_version(struct thread *td, int oss_version); +int linux_use26(struct thread *td); + #endif /* _LINUX_MIB_H_ */ ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#35 (text+ko) ==== @@ -1407,15 +1407,13 @@ linux_getpid(struct thread *td, struct linux_getpid_args *args) { struct linux_emuldata *em; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getpid)) printf(ARGS(getpid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; @@ -1445,15 +1443,13 @@ { struct linux_emuldata *em; struct proc *p, *pp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(getppid)) printf(ARGS(getppid, "")); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] != '6') { + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; PROC_UNLOCK(td->td_proc); @@ -1581,15 +1577,13 @@ { struct linux_emuldata *em, *td_em, *tmp_em; struct proc *sp; - char osrel[LINUX_MAX_UTSNAME]; #ifdef DEBUG if (ldebug(exit_group)) printf(ARGS(exit_group, "%i"), args->error_code); #endif - linux_get_osrelease(td, osrel); - if (strlen(osrel) >= 3 && osrel[2] == '6') { + if (linux_use26(td)) { td_em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(td_em != NULL, ("exit_group: emuldata not found.\n")); @@ -1676,5 +1670,5 @@ int linux_chroot(struct thread *td, struct linux_chroot_args *args) { - return (chroot(td, args)); + return (chroot(td, (struct chroot_args *) args)); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF8E416D077; Tue, 21 Nov 2006 17:20:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 55E9D16CF15 for ; Tue, 21 Nov 2006 17:20:47 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F4C943D7B for ; Tue, 21 Nov 2006 17:14:53 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFGcR067242 for ; Tue, 21 Nov 2006 17:15:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFGd9067235 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:16 GMT Message-Id: <200611211715.kALHFGd9067235@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110219 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=110219 Change 110219 by rwatson@rwatson_fledge on 2006/11/18 16:48:14 When generating variants of the same token or record using IPv4 or IPv6 addresses, use the generated string with the address type for the target filename. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#8 $ */ /* @@ -455,7 +455,7 @@ process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_record(directory, record_filename, process32ex_token, AUE_NULL); + write_record(directory, buf, process32ex_token, AUE_NULL); free(buf); } @@ -522,7 +522,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_token(directory, token_filename, process64ex_token); + write_token(directory, buf, process64ex_token); free(buf); } @@ -549,7 +549,7 @@ process64_sid, &process64_tid_addr); if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); - write_record(directory, record_filename, process64ex_token, AUE_NULL); + write_record(directory, buf, process64ex_token, AUE_NULL); free(buf); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16C0716B0C1; Tue, 21 Nov 2006 17:21:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 240DB16CF1E for ; Tue, 21 Nov 2006 17:20:48 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E489243FA4 for ; Tue, 21 Nov 2006 17:14:46 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF9Ip066969 for ; Tue, 21 Nov 2006 17:15:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF9jv066924 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:09 GMT Message-Id: <200611211715.kALHF9jv066924@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110202 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=110202 Change 110202 by rwatson@rwatson_fledge on 2006/11/18 09:42:17 Add encoding and decoding routines for process64_ex, process32_ex, subject64_ex token types. Submitted by: Diego Giagio Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#45 edit .. //depot/projects/trustedbsd/openbsm/README#22 edit .. //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 edit .. //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#45 (text+ko) ==== @@ -5,6 +5,8 @@ - Countless man page fixes. - praudit XML support via "praudit -x". - audit.log.5 expanded to include additional BSM token types. +- Added encoding and decoding routines for process64_ex, process32_ex, and + subject32_ex tokens. OpenBSM 1.0 alpha 12 @@ -272,4 +274,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#44 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#45 $ ==== //depot/projects/trustedbsd/openbsm/README#22 (text+ko) ==== @@ -78,6 +78,7 @@ Martin Englund Ruslan Ermilov Martin Voros + Diego Giagio In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -99,4 +100,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#21 $ +$P4: //depot/projects/trustedbsd/openbsm/README#22 $ ==== //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#23 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_record.h#24 $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -246,6 +246,8 @@ token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); +token_t *au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm); #if !defined(KERNEL) && !defined(_KERNEL) token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod); ==== //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#31 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#32 $ */ #ifndef _LIBBSM_H_ @@ -164,6 +164,12 @@ u_int32_t addr[4]; } au_tidaddr32_t; +typedef struct au_tidaddr64 { + u_int64_t port; + u_int32_t type; + u_int32_t addr[4]; +} au_tidaddr64_t; + /* * argument # 1 byte * argument value 4 bytes/8 bytes (32-bit/64-bit value) @@ -483,6 +489,17 @@ au_tidaddr32_t tid; } au_proc32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_proc64ex_t; + /* * error status 1 byte * return value 4 bytes/8 bytes (32-bit/64-bit value) @@ -616,6 +633,17 @@ au_tidaddr32_t tid; } au_subject32ex_t; +typedef struct { + u_int32_t auid; + u_int32_t euid; + u_int32_t egid; + u_int32_t ruid; + u_int32_t rgid; + u_int32_t pid; + u_int32_t sid; + au_tidaddr64_t tid; +} au_subject64ex_t; + /* * text length 2 bytes * text N bytes + 1 terminating NULL byte @@ -675,8 +703,9 @@ au_opaque_t opaque; au_path_t path; au_proc32_t proc32; + au_proc32ex_t proc32_ex; au_proc64_t proc64; - au_proc32ex_t proc32_ex; + au_proc64ex_t proc64_ex; au_ret32_t ret32; au_ret64_t ret64; au_seq_t seq; @@ -685,8 +714,9 @@ au_socketinet32_t sockinet32; au_socketunix_t sockunix; au_subject32_t subj32; + au_subject32ex_t subj32_ex; au_subject64_t subj64; - au_subject32ex_t subj32_ex; + au_subject64ex_t subj64_ex; au_text_t text; au_kevent_t kevent; au_invalid_t invalid; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 (text+ko) ==== @@ -32,7 +32,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#42 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#43 $ */ #include @@ -333,6 +333,14 @@ fprintf(fp, "/>"); break; + case AUT_PROCESS64: + fprintf(fp, "/>"); + break; + + case AUT_PROCESS64_EX: + fprintf(fp, "/>"); + break; + case AUT_RETURN32: fprintf(fp, "/>"); break; @@ -369,6 +377,10 @@ fprintf(fp, "/>"); break; + case AUT_SUBJECT64_EX: + fprintf(fp, "/>"); + break; + case AUT_TEXT: fprintf(fp, ""); break; @@ -488,6 +500,14 @@ fprintf(fp, ""); break; @@ -2530,7 +2554,133 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * machine id 4 bytes + */ static int +fetch_process64_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64.tid.port, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64.tid.addr, + sizeof(tok->tt.proc64.tid.addr), tok->len, err); + if (err) + return (-1); + + return (0); +} + +static void +print_process64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_ip_address(fp, tok->tt.proc64.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64.tid.port, "%llu"); + print_delim(fp, del); + print_ip_address(fp, tok->tt.proc64.tid.addr); + } +} + +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 4 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int fetch_process32ex_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; @@ -2646,6 +2796,135 @@ } } +/* + * token ID 1 byte + * audit ID 4 bytes + * effective user ID 4 bytes + * effective group ID 4 bytes + * real user ID 4 bytes + * real group ID 4 bytes + * process ID 4 bytes + * session ID 4 bytes + * terminal ID + * port ID 8 bytes + * address type-len 4 bytes + * machine address 16 bytes + */ +static int +fetch_process64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.proc64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.proc64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.proc64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.proc64_ex.tid.addr[0], + sizeof(tok->tt.proc64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.proc64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.proc64_ex.tid.addr, + sizeof(tok->tt.proc64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_process64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "process_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.proc64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.proc64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.proc64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.proc64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.proc64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.proc64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.proc64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.proc64_ex.tid.type, + tok->tt.proc64_ex.tid.addr); + } +} + /* * errno 1 byte * return value 4 bytes @@ -3290,6 +3569,134 @@ } /* + * audit ID 4 bytes + * euid 4 bytes + * egid 4 bytes + * ruid 4 bytes + * rgid 4 bytes + * pid 4 bytes + * sessid 4 bytes + * terminal ID + * portid 8 bytes + * type 4 bytes + * machine id 16 bytes + */ +static int +fetch_subject64ex_tok(tokenstr_t *tok, char *buf, int len) +{ + int err = 0; + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.auid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.euid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.egid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.ruid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.rgid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.pid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.sid, tok->len, err); + if (err) + return (-1); + + READ_TOKEN_U_INT64(buf, len, tok->tt.subj64_ex.tid.port, tok->len, + err); + if (err) + return (-1); + + READ_TOKEN_U_INT32(buf, len, tok->tt.subj64_ex.tid.type, tok->len, + err); + if (err) + return (-1); + + if (tok->tt.subj64_ex.tid.type == AU_IPv4) { + READ_TOKEN_BYTES(buf, len, &tok->tt.subj64_ex.tid.addr[0], + sizeof(tok->tt.subj64_ex.tid.addr[0]), tok->len, err); + if (err) + return (-1); + } else if (tok->tt.subj64_ex.tid.type == AU_IPv6) { + READ_TOKEN_BYTES(buf, len, tok->tt.subj64_ex.tid.addr, + sizeof(tok->tt.subj64_ex.tid.addr), tok->len, err); + if (err) + return (-1); + } else + return (-1); + + return (0); +} + +static void +print_subject64ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm, int xml) +{ + print_tok_type(fp, tok->id, "subject_ex", raw, xml); + if (xml) { + open_attr(fp, "audit-uid"); + print_user(fp, tok->tt.subj64_ex.auid, raw); + close_attr(fp); + open_attr(fp, "uid"); + print_user(fp, tok->tt.subj64_ex.euid, raw); + close_attr(fp); + open_attr(fp, "gid"); + print_group(fp, tok->tt.subj64_ex.egid, raw); + close_attr(fp); + open_attr(fp, "ruid"); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + close_attr(fp); + open_attr(fp, "rgid"); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + close_attr(fp); + open_attr(fp, "pid"); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + close_attr(fp); + open_attr(fp, "sid"); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + close_attr(fp); + open_attr(fp, "tid"); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + close_attr(fp); + close_tag(fp, tok->id); + } else { + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.auid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.euid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.egid, raw); + print_delim(fp, del); + print_user(fp, tok->tt.subj64_ex.ruid, raw); + print_delim(fp, del); + print_group(fp, tok->tt.subj64_ex.rgid, raw); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.pid, "%u"); + print_delim(fp, del); + print_4_bytes(fp, tok->tt.subj64_ex.sid, "%u"); + print_delim(fp, del); + print_8_bytes(fp, tok->tt.subj64_ex.tid.port, "%llu"); + print_delim(fp, del); + print_ip_ex_address(fp, tok->tt.subj64_ex.tid.type, + tok->tt.subj64_ex.tid.addr); + } +} + +/* * size 2 bytes * data size bytes */ @@ -3533,6 +3940,12 @@ case AUT_PROCESS32_EX: return (fetch_process32ex_tok(tok, buf, len)); + case AUT_PROCESS64: + return (fetch_process64_tok(tok, buf, len)); + + case AUT_PROCESS64_EX: + return (fetch_process64ex_tok(tok, buf, len)); + case AUT_RETURN32: return (fetch_return32_tok(tok, buf, len)); @@ -3554,11 +3967,14 @@ case AUT_SUBJECT32: return (fetch_subject32_tok(tok, buf, len)); + case AUT_SUBJECT32_EX: + return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64: return (fetch_subject64_tok(tok, buf, len)); - case AUT_SUBJECT32_EX: - return (fetch_subject32ex_tok(tok, buf, len)); + case AUT_SUBJECT64_EX: + return (fetch_subject64ex_tok(tok, buf, len)); case AUT_TEXT: return (fetch_text_tok(tok, buf, len)); @@ -3682,6 +4098,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3718,6 +4142,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_PLAIN); return; @@ -3840,6 +4268,14 @@ print_process32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_PROCESS64: + print_process64_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + + case AUT_PROCESS64_EX: + print_process64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_RETURN32: print_return32_tok(outfp, tok, del, raw, sfrm, AU_XML); return; @@ -3876,6 +4312,10 @@ print_subject32ex_tok(outfp, tok, del, raw, sfrm, AU_XML); return; + case AUT_SUBJECT64_EX: + print_subject64ex_tok(outfp, tok, del, raw, sfrm, AU_XML); + return; + case AUT_TEXT: print_text_tok(outfp, tok, del, raw, sfrm, AU_XML); return; ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#52 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#53 $ */ #include @@ -212,9 +212,46 @@ token_t * au_to_attr64(struct vnode_au_info *vni) { + token_t *t; + u_char *dptr = NULL; + u_int16_t pad0_16 = 0; + u_int16_t pad0_32 = 0; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 2 * sizeof(u_int16_t) + + 3 * sizeof(u_int32_t) + sizeof(u_int64_t) * 2); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_ATTR64); + + /* + * Darwin defines the size for the file mode + * as 2 bytes; BSM defines 4 so pad with 0 + */ + ADD_U_INT16(dptr, pad0_16); + ADD_U_INT16(dptr, vni->vn_mode); + + ADD_U_INT32(dptr, vni->vn_uid); + ADD_U_INT32(dptr, vni->vn_gid); + ADD_U_INT32(dptr, vni->vn_fsid); - errno = ENOTSUP; - return (NULL); + /* + * Some systems use 32-bit file ID's, other's use 64-bit file IDs. + * Attempt to handle both, and let the compiler sort it out. If we + * could pick this out at compile-time, it would be better, so as to + * avoid the else case below. + */ + if (sizeof(vni->vn_fileid) == sizeof(uint32_t)) { + ADD_U_INT32(dptr, pad0_32); + ADD_U_INT32(dptr, vni->vn_fileid); + } else if (sizeof(vni->vn_fileid) == sizeof(uint64_t)) + ADD_U_INT64(dptr, vni->vn_fileid); + else + ADD_U_INT64(dptr, 0LL); + + ADD_U_INT64(dptr, vni->vn_dev); + + return (t); } token_t * @@ -654,9 +691,26 @@ __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 8 * sizeof(u_int32_t) + + sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -727,9 +781,42 @@ au_to_process64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_PROCESS64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -944,9 +1031,26 @@ au_to_subject64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid) { + token_t *t; + u_char *dptr = NULL; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 7 * sizeof(u_int32_t) + + sizeof(u_int64_t) + sizeof(u_int32_t)); + if (t == NULL) + return (NULL); - errno = ENOTSUP; - return (NULL); + ADD_U_CHAR(dptr, AUT_SUBJECT64); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->port); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); + + return (t); } token_t * @@ -1016,9 +1120,42 @@ au_to_subject64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { + token_t *t; + u_char *dptr = NULL; + + if (tid->at_type == AU_IPv4) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 2 * sizeof(u_int32_t)); + else if (tid->at_type == AU_IPv6) + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + + 7 * sizeof(u_int32_t) + sizeof(u_int64_t) + + 5 * sizeof(u_int32_t)); + else { + errno = EINVAL; + return (NULL); + } + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_SUBJECT64_EX); + ADD_U_INT32(dptr, auid); + ADD_U_INT32(dptr, euid); + ADD_U_INT32(dptr, egid); + ADD_U_INT32(dptr, ruid); + ADD_U_INT32(dptr, rgid); + ADD_U_INT32(dptr, pid); + ADD_U_INT32(dptr, sid); + ADD_U_INT64(dptr, tid->at_port); + ADD_U_INT32(dptr, tid->at_type); + ADD_U_INT32(dptr, tid->at_addr[0]); + if (tid->at_type == AU_IPv6) { + ADD_U_INT32(dptr, tid->at_addr[1]); + ADD_U_INT32(dptr, tid->at_addr[2]); + ADD_U_INT32(dptr, tid->at_addr[3]); + } - errno = ENOTSUP; - return (NULL); + return (t); } token_t * @@ -1166,6 +1303,33 @@ return (t); } +token_t * +au_to_header64_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm) +{ + token_t *t; + u_char *dptr = NULL; + u_int32_t timems; + + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int32_t) + + sizeof(u_char) + 2 * sizeof(u_int16_t) + 2 * sizeof(u_int64_t)); + if (t == NULL) + return (NULL); + + ADD_U_CHAR(dptr, AUT_HEADER64); + ADD_U_INT32(dptr, rec_size); + ADD_U_CHAR(dptr, AUDIT_HEADER_VERSION_OPENBSM); + ADD_U_INT16(dptr, e_type); + ADD_U_INT16(dptr, e_mod); + + timems = tm.tv_usec/1000; + /* Add the timestamp */ + ADD_U_INT64(dptr, tm.tv_sec); + ADD_U_INT64(dptr, timems); /* We need time in ms. */ + + return (t); +} + #if !defined(KERNEL) && !defined(_KERNEL) token_t * au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod) @@ -1181,9 +1345,11 @@ au_to_header64(__unused int rec_size, __unused au_event_t e_type, __unused au_emod_t e_mod) { + struct timeval tm; - errno = ENOTSUP; - return (NULL); + if (gettimeofday(&tm, NULL) == -1) + return (NULL); + return (au_to_header64_tm(rec_size, e_type, e_mod, tm)); } token_t * From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:21:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2191716D10A; Tue, 21 Nov 2006 17:21:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3BC2D16CF29 for ; Tue, 21 Nov 2006 17:20:48 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id EDDC243FDF for ; Tue, 21 Nov 2006 17:14:59 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFM57067320 for ; Tue, 21 Nov 2006 17:15:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFId6067286 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:18 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:15:18 GMT Message-Id: <200611211715.kALHFId6067286@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:21:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=110223 Change 110223 by sam@sam_ebb on 2006/11/18 18:43:31 IFC @ 110222 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#12 integrate .. //depot/projects/arm/src/UPDATING#8 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_private.h#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 integrate .. //depot/projects/arm/src/release/Makefile#7 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 integrate .. //depot/projects/arm/src/release/scripts/package-split.py#4 integrate .. //depot/projects/arm/src/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/arm/src/sbin/mount/mount.c#4 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#4 integrate .. //depot/projects/arm/src/share/man/man4/uark.4#1 branch .. //depot/projects/arm/src/share/man/man4/ucom.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhid.4#2 integrate .. //depot/projects/arm/src/share/man/man4/uhidev.4#2 delete .. //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 integrate .. //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 integrate .. //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#17 integrate .. //depot/projects/arm/src/sys/amd64/include/reg.h#3 integrate .. //depot/projects/arm/src/sys/arm/arm/nexus.c#5 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#13 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0/Makefile#11 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/Makefile#10 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0iic/main.c#15 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/Makefile#9 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#23 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#21 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#19 integrate .. //depot/projects/arm/src/sys/boot/i386/loader/main.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#19 integrate .. //depot/projects/arm/src/sys/conf/files.sun4v#4 integrate .. //depot/projects/arm/src/sys/ddb/db_watch.c#3 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.c#15 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bce.c#12 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp.c#14 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.c#8 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_library.h#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/arm/src/sys/dev/isp/ispmbox.h#8 integrate .. //depot/projects/arm/src/sys/dev/isp/ispvar.h#13 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi.c#11 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#27 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#18 integrate .. //depot/projects/arm/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/arm/src/sys/dev/pci/pci.c#17 integrate .. //depot/projects/arm/src/sys/dev/syscons/syscons.c#12 integrate .. //depot/projects/arm/src/sys/fs/procfs/procfs_ioctl.c#5 integrate .. //depot/projects/arm/src/sys/i386/i386/db_trace.c#9 integrate .. //depot/projects/arm/src/sys/i386/i386/intr_machdep.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/io_apic.c#8 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#21 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#24 integrate .. //depot/projects/arm/src/sys/i386/include/reg.h#4 integrate .. //depot/projects/arm/src/sys/kern/kern_condvar.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_synch.c#14 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#11 integrate .. //depot/projects/arm/src/sys/kern/sysv_msg.c#6 integrate .. //depot/projects/arm/src/sys/net/ethernet.h#3 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_node.c#8 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/autoconf.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/identcpu.c#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/mem.c#3 integrate .. //depot/projects/arm/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/arm/src/sys/sun4v/include/tte_hash.h#3 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/pmap.c#5 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/arm/src/sys/sun4v/sun4v/tte_hash.c#3 integrate .. //depot/projects/arm/src/sys/sys/sleepqueue.h#3 integrate .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/arm/src/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/arm/src/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/arm/src/tools/tools/nanobsd/FlashDevice.sub#3 integrate .. //depot/projects/arm/src/usr.sbin/Makefile#9 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.1#3 integrate .. //depot/projects/arm/src/usr.sbin/kbdcontrol/kbdcontrol.c#3 integrate .. //depot/projects/arm/src/usr.sbin/route6d/route6d.c#2 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/config.c#3 integrate .. //depot/projects/arm/src/usr.sbin/wpa/Makefile#2 integrate .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/arm/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/arm/src/UPDATING#8 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/arm/src/lib/libarchive/archive.h.in#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/arm/src/lib/libarchive/archive_private.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/arm/src/lib/libarchive/archive_write_open_file.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_cpio.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_pax.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_shar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/arm/src/lib/libarchive/archive_write_set_format_ustar.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/arm/src/release/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.988 2006/11/13 19:13:39 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1919,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/arm/src/release/scripts/package-split.py#4 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/arm/src/sbin/mount/mount.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/arm/src/share/man/man4/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/arm/src/share/man/man4/ucom.4#2 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/arm/src/share/man/man4/uhid.4#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/arm/src/share/man/man9/sleepqueue.9#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/arm/src/sys/amd64/amd64/db_trace.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.77 2006/11/15 19:53:47 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,7 +200,7 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, int access, struct dbreg *d); int amd64_clr_watch(int watchnum, struct dbreg *d); @@ -538,12 +538,11 @@ int access; struct dbreg *d; { - int i; - unsigned int mask; + int i, len; if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; @@ -563,25 +562,34 @@ } /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -596,7 +604,7 @@ if (watchnum < 0 || watchnum >= 4) return (-1); - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); DBREG_DRX(d, watchnum) = 0; return (0); @@ -615,25 +623,26 @@ avail = 0; for(i = 0; i < 4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - if (avail * 4 < size) + if (avail * 8 < size) return (-1); - for (i = 0; i < 4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } @@ -648,13 +657,13 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); for(i = 0; i < 4; i++) { - if (d.dr[7] & (3 << (i*2))) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); @@ -668,8 +677,7 @@ } -static -char * +static const char * watchtype_str(type) int type; { @@ -691,17 +699,21 @@ fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); for (i = 0; i < 4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } ==== //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:22:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1418316D352; Tue, 21 Nov 2006 17:21:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D188416CF3F for ; Tue, 21 Nov 2006 17:20:48 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E422B43F7A for ; Tue, 21 Nov 2006 17:14:43 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHF4fa066752 for ; Tue, 21 Nov 2006 17:15:04 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHF4V7066747 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:04 GMT (envelope-from sam@freebsd.org) Date: Tue, 21 Nov 2006 17:15:04 GMT Message-Id: <200611211715.kALHF4V7066747@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 110188 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:22:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=110188 Change 110188 by sam@sam_ebb on 2006/11/18 06:07:56 Interlock data updates to avoid scrambling i2c accesses. We remove the delay after a channel change as it doesn't seem needed and doing so insures we don't sleep (and release the mutex) while doing an update. If we need to bring back the delay then we need to handle sleeping; probably by moving the update time setting up. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#2 (text+ko) ==== @@ -67,6 +67,7 @@ struct ad7418_softc { device_t sc_dev; + struct mtx sc_mtx; int sc_curchan; /* current channel */ int sc_curtemp; int sc_curvolt; @@ -116,6 +117,7 @@ int conf; sc->sc_dev = dev; + mtx_init(&sc->sc_mtx, "ad7418", "ad7418", MTX_DEF); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "temp", CTLTYPE_INT | CTLFLAG_RD, sc, 0, @@ -165,7 +167,18 @@ ad7418_write_1(sc->sc_dev, AD7418_CONF, (ad7418_read_1(sc->sc_dev, AD7418_CONF) &~ AD7418_CONF_CHAN)|chan); sc->sc_curchan = chan; - tsleep(sc, 0, "ad7418", 1); /* XXX 1 tick should be 'nuf */ +#if 0 + /* + * NB: Linux driver delays here but chip data sheet + * says nothing and things appear to work fine w/o + * a delay on channel change. If this is enabled + * be sure to account for losing the mutex below + * in ad7418_update. + */ + mtx_assert(&sc->sc_mtx, MA_OWNED); + /* let channel change settle, 1 tick should be 'nuf (need ~1ms) */ + msleep(sc, &sc->sc_mtx, 0, "ad7418", 1); +#endif } static int @@ -187,6 +200,7 @@ { int v; + mtx_lock(&sc->sc_mtx); /* NB: no point in updating any faster than the chip */ if (ticks - sc->sc_lastupdate > hz) { ad7418_set_channel(sc, AD7418_CHAN_TEMP); @@ -199,6 +213,7 @@ sc->sc_curvolt = v; sc->sc_lastupdate = ticks; } + mtx_unlock(&sc->sc_mtx); } static device_method_t ad7418_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:23:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2780F16B288; Tue, 21 Nov 2006 17:21:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4711016CF77 for ; Tue, 21 Nov 2006 17:20:52 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 84B5343FD6 for ; Tue, 21 Nov 2006 17:15:34 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFWX6067581 for ; Tue, 21 Nov 2006 17:15:32 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFRgK067501 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:27 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:15:27 GMT Message-Id: <200611211715.kALHFRgK067501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:23:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=110236 Change 110236 by marcel@marcel_cluster on 2006/11/19 00:33:02 IFC @110235 Affected files ... .. //depot/projects/ia64/ObsoleteFiles.inc#13 integrate .. //depot/projects/ia64/UPDATING#92 integrate .. //depot/projects/ia64/lib/libarchive/archive.h.in#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_private.h#11 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 integrate .. //depot/projects/ia64/lib/libarchive/archive_write.c#12 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 integrate .. //depot/projects/ia64/release/Makefile#101 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 integrate .. //depot/projects/ia64/release/scripts/package-split.py#9 integrate .. //depot/projects/ia64/release/sun4v/boot_crunch.conf#1 branch .. //depot/projects/ia64/sbin/mount/mount.c#30 integrate .. //depot/projects/ia64/share/man/man4/Makefile#98 integrate .. //depot/projects/ia64/share/man/man4/uark.4#1 branch .. //depot/projects/ia64/share/man/man4/ucom.4#7 integrate .. //depot/projects/ia64/share/man/man4/uhid.4#6 integrate .. //depot/projects/ia64/share/man/man4/uhidev.4#4 delete .. //depot/projects/ia64/share/man/man9/p_candebug.9#3 integrate .. //depot/projects/ia64/share/man/man9/sleepqueue.9#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/db_trace.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/intr_machdep.c#15 integrate .. //depot/projects/ia64/sys/amd64/amd64/io_apic.c#12 integrate .. //depot/projects/ia64/sys/amd64/amd64/local_apic.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#43 integrate .. //depot/projects/ia64/sys/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/ia64/sys/amd64/amd64/nexus.c#18 integrate .. //depot/projects/ia64/sys/amd64/include/apicvar.h#13 integrate .. //depot/projects/ia64/sys/amd64/include/intr_machdep.h#9 integrate .. //depot/projects/ia64/sys/amd64/include/pmap.h#23 integrate .. //depot/projects/ia64/sys/amd64/include/reg.h#6 integrate .. //depot/projects/ia64/sys/amd64/pci/pci_bus.c#16 integrate .. //depot/projects/ia64/sys/arm/arm/nexus.c#8 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/iq31244_machdep.c#15 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/Makefile#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/boot2/boot2.c#3 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/Makefile#4 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/Makefile#5 integrate .. //depot/projects/ia64/sys/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/ia64/sys/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/ia64/sys/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/ia64/sys/boot/i386/loader/main.c#15 integrate .. //depot/projects/ia64/sys/compat/linux/linux_emul.c#4 integrate .. //depot/projects/ia64/sys/compat/linux/linux_getcwd.c#20 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.c#50 integrate .. //depot/projects/ia64/sys/conf/NOTES#112 integrate .. //depot/projects/ia64/sys/conf/files#151 integrate .. //depot/projects/ia64/sys/conf/files.amd64#42 integrate .. //depot/projects/ia64/sys/conf/files.i386#81 integrate .. //depot/projects/ia64/sys/conf/files.pc98#68 integrate .. //depot/projects/ia64/sys/conf/files.sun4v#5 integrate .. //depot/projects/ia64/sys/ddb/db_watch.c#9 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_acpi.c#19 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib_pci.c#12 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.c#71 integrate .. //depot/projects/ia64/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/ia64/sys/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#57 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#37 integrate .. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#69 integrate .. //depot/projects/ia64/sys/dev/isp/isp.c#32 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#35 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.h#28 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.h#3 integrate .. //depot/projects/ia64/sys/dev/isp/isp_pci.c#34 integrate .. //depot/projects/ia64/sys/dev/isp/isp_stds.h#2 integrate .. //depot/projects/ia64/sys/dev/isp/ispmbox.h#18 integrate .. //depot/projects/ia64/sys/dev/isp/ispvar.h#26 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_ioctl.h#3 integrate .. //depot/projects/ia64/sys/dev/mfi/mfi_linux.c#2 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.c#16 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt.h#15 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#12 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_pci.c#25 integrate .. //depot/projects/ia64/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#62 integrate .. //depot/projects/ia64/sys/dev/pci/pci_if.m#7 integrate .. //depot/projects/ia64/sys/dev/pci/pci_pci.c#33 integrate .. //depot/projects/ia64/sys/dev/pci/pci_private.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_if.m#5 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_private.h#8 integrate .. //depot/projects/ia64/sys/dev/pci/pcireg.h#16 integrate .. //depot/projects/ia64/sys/dev/pci/pcivar.h#18 integrate .. //depot/projects/ia64/sys/dev/syscons/syscons.c#44 integrate .. //depot/projects/ia64/sys/dev/usb/uark.c#1 branch .. //depot/projects/ia64/sys/dev/usb/usbdevs#79 integrate .. //depot/projects/ia64/sys/fs/procfs/procfs_ioctl.c#13 integrate .. //depot/projects/ia64/sys/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/ia64/sys/i386/i386/db_trace.c#25 integrate .. //depot/projects/ia64/sys/i386/i386/intr_machdep.c#14 integrate .. //depot/projects/ia64/sys/i386/i386/io_apic.c#13 integrate .. //depot/projects/ia64/sys/i386/i386/local_apic.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#75 integrate .. //depot/projects/ia64/sys/i386/i386/mptable_pci.c#5 integrate .. //depot/projects/ia64/sys/i386/i386/msi.c#1 branch .. //depot/projects/ia64/sys/i386/i386/nexus.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/pmap.c#98 integrate .. //depot/projects/ia64/sys/i386/include/apicvar.h#14 integrate .. //depot/projects/ia64/sys/i386/include/intr_machdep.h#10 integrate .. //depot/projects/ia64/sys/i386/include/pmap.h#31 integrate .. //depot/projects/ia64/sys/i386/include/reg.h#8 integrate .. //depot/projects/ia64/sys/i386/pci/pci_bus.c#29 integrate .. //depot/projects/ia64/sys/ia64/ia64/genassym.c#22 integrate .. //depot/projects/ia64/sys/ia64/ia64/interrupt.c#44 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#123 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#44 integrate .. //depot/projects/ia64/sys/ia64/include/kdb.h#4 integrate .. //depot/projects/ia64/sys/ia64/include/pcpu.h#6 integrate .. //depot/projects/ia64/sys/kern/kern_condvar.c#34 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#67 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#38 integrate .. //depot/projects/ia64/sys/kern/subr_sleepqueue.c#16 integrate .. //depot/projects/ia64/sys/kern/sysv_msg.c#24 integrate .. //depot/projects/ia64/sys/modules/Makefile#100 integrate .. //depot/projects/ia64/sys/modules/uark/Makefile#1 branch .. //depot/projects/ia64/sys/net/ethernet.h#9 integrate .. //depot/projects/ia64/sys/net/if_ethersubr.c#53 integrate .. //depot/projects/ia64/sys/netinet/ip_fw2.c#62 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_node.c#24 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#53 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/autoconf.c#9 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/identcpu.c#13 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/mem.c#14 integrate .. //depot/projects/ia64/sys/sun4v/conf/NOTES#4 integrate .. //depot/projects/ia64/sys/sun4v/include/asmacros.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/exception.S#4 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/pmap.c#6 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/ia64/sys/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/ia64/sys/sys/elf_common.h#8 integrate .. //depot/projects/ia64/sys/sys/lock_profile.h#4 integrate .. //depot/projects/ia64/sys/sys/mbuf.h#46 integrate .. //depot/projects/ia64/sys/sys/sleepqueue.h#7 integrate .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/Makefile#1 branch .. //depot/projects/ia64/tools/regression/sockets/unix_sendtorace/unix_sendtorace.c#1 branch .. //depot/projects/ia64/tools/regression/sysvmsg/msgtest.c#2 integrate .. //depot/projects/ia64/tools/tools/nanobsd/FlashDevice.sub#7 integrate .. //depot/projects/ia64/usr.sbin/Makefile#81 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.1#8 integrate .. //depot/projects/ia64/usr.sbin/kbdcontrol/kbdcontrol.c#9 integrate .. //depot/projects/ia64/usr.sbin/route6d/route6d.c#7 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/config.c#30 integrate .. //depot/projects/ia64/usr.sbin/wpa/Makefile#3 integrate .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/ia64/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#5 integrate Differences ... ==== //depot/projects/ia64/ObsoleteFiles.inc#13 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.59 2006/11/08 03:23:49 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.61 2006/11/16 22:34:17 brueffer Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061116: uhidev.4 removed +OLD_FILES+=usr/share/man/man4/uhidev.4.gz .if ${TARGET_ARCH} == "ia64" # 20061104: skiload.help removed OLD_FILES+=boot/skiload.help @@ -708,6 +710,8 @@ OLD_FILES+=usr/sbin/pim6stat OLD_FILES+=usr/sbin/pim6sd OLD_FILES+=usr/sbin/pim6dd +# 20010217 +OLD_FILES+=usr/share/doc/bind/misc/dns-setup # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX ==== //depot/projects/ia64/UPDATING#92 (text+ko) ==== @@ -20,6 +20,14 @@ in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. + +20061113: + Support for PCI Message Signalled Interrupts on i386 and amd64 + has been added to the kernel and various drivers will soon be + updated to use MSI when it is available. If there are any problems, + MSI can be disabled completely by setting the 'hw.pci.enable_msi' + and 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061110: The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having @@ -645,4 +653,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.463 2006/11/11 03:18:06 kmacy Exp $ +$FreeBSD: src/UPDATING,v 1.464 2006/11/15 20:02:20 jhb Exp $ ==== //depot/projects/ia64/lib/libarchive/archive.h.in#10 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.31 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.32 2006/11/15 05:33:38 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -46,8 +46,8 @@ /* * If ARCHIVE_API_VERSION != archive_api_version(), then the library you - * were linked with is using an incompatible API. This is almost - * certainly a fatal problem. + * were linked with is using an incompatible API to the one you were + * compiled with. This is almost certainly a fatal problem. * * ARCHIVE_API_FEATURE is incremented with each significant feature * addition, so you can test (at compile or run time) if a particular @@ -196,12 +196,17 @@ archive_skip_callback *, archive_close_callback *); /* - * The archive_read_open_file function is a convenience function built - * on archive_read_open that uses a canned callback suitable for - * common situations. Note that a NULL filename indicates stdin. + * A variety of shortcuts that invoke archive_read_open() with + * canned callbacks suitable for common situations. The ones that + * accept a block size handle tape blocking correctly. */ -int archive_read_open_file(struct archive *, const char *_file, - size_t _block_size); +/* Use this if you know the filename. Note: NULL indicates stdin. */ +int archive_read_open_filename(struct archive *, + const char *_filename, size_t _block_size); +/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */ +int archive_read_open_file(struct archive *, + const char *_filename, size_t _block_size); +/* Read an archive that's already open, using the file descriptor. */ int archive_read_open_fd(struct archive *, int _fd, size_t _block_size); @@ -325,6 +330,8 @@ archive_open_callback *, archive_write_callback *, archive_close_callback *); int archive_write_open_fd(struct archive *, int _fd); +int archive_write_open_filename(struct archive *, const char *_file); +/* A deprecated synonym for archive_write_open_filename() */ int archive_write_open_file(struct archive *, const char *_file); /* ==== //depot/projects/ia64/lib/libarchive/archive_private.h#11 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.23 2006/09/05 05:59:45 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.24 2006/11/15 05:14:20 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -182,7 +182,7 @@ int (*format_finish_entry)(struct archive *); int (*format_write_header)(struct archive *, struct archive_entry *); - int (*format_write_data)(struct archive *, + ssize_t (*format_write_data)(struct archive *, const void *buff, size_t); /* ==== //depot/projects/ia64/lib/libarchive/archive_read_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -65,6 +65,13 @@ archive_read_open_file(struct archive *a, const char *filename, size_t block_size) { + return (archive_read_open_filename(a, filename, block_size)); +} + +int +archive_read_open_filename(struct archive *a, const char *filename, + size_t block_size) +{ struct read_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.44 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.45 2006/11/13 16:50:18 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -497,7 +497,12 @@ if (tar->entry_bytes_remaining > 0) { bytes_read = (a->compression_read_ahead)(a, buff, 1); - if (bytes_read <= 0) + if (bytes_read == 0) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Truncated tar archive"); + return (ARCHIVE_FATAL); + } + if (bytes_read < 0) return (ARCHIVE_FATAL); if (bytes_read > tar->entry_bytes_remaining) bytes_read = tar->entry_bytes_remaining; ==== //depot/projects/ia64/lib/libarchive/archive_write.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.20 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write.c,v 1.21 2006/11/15 05:14:20 kientzle Exp $"); /* * This file contains the "essential" portions of the write API, that @@ -271,9 +271,7 @@ int archive_write_data(struct archive *a, const void *buff, size_t s) { - int ret; __archive_check_magic(a, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); archive_string_empty(&a->error_string); - ret = (a->format_write_data)(a, buff, s); - return (ret == ARCHIVE_OK ? (ssize_t)s : -1); + return ((a->format_write_data)(a, buff, s)); } ==== //depot/projects/ia64/lib/libarchive/archive_write_open_file.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.14 2006/11/13 00:29:57 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.15 2006/11/15 05:33:38 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -60,6 +60,12 @@ int archive_write_open_file(struct archive *a, const char *filename) { + return (archive_write_open_filename(a, filename)); +} + +int +archive_write_open_filename(struct archive *a, const char *filename) +{ struct write_file_data *mine; if (filename == NULL || filename[0] == '\0') { ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_cpio.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.7 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_cpio.c,v 1.8 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -45,7 +45,7 @@ #include "archive_entry.h" #include "archive_private.h" -static int archive_write_cpio_data(struct archive *, const void *buff, +static ssize_t archive_write_cpio_data(struct archive *, const void *buff, size_t s); static int archive_write_cpio_finish(struct archive *); static int archive_write_cpio_finish_entry(struct archive *); @@ -167,7 +167,7 @@ return (ret); } -static int +static ssize_t archive_write_cpio_data(struct archive *a, const void *buff, size_t s) { struct cpio *cpio; @@ -179,7 +179,10 @@ ret = (a->compression_write)(a, buff, s); cpio->entry_bytes_remaining -= s; - return (ret); + if (ret >= 0) + return (s); + else + return (ret); } /* ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_pax.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.35 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_pax.c,v 1.36 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -70,7 +70,7 @@ unsigned long nanos); static void add_pax_attr_w(struct archive_string *, const char *key, const wchar_t *wvalue); -static int archive_write_pax_data(struct archive *, +static ssize_t archive_write_pax_data(struct archive *, const void *, size_t); static int archive_write_pax_finish(struct archive *); static int archive_write_pax_finish_entry(struct archive *); @@ -1081,7 +1081,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_pax_data(struct archive *a, const void *buff, size_t s) { struct pax *pax; @@ -1094,7 +1094,10 @@ ret = (a->compression_write)(a, buff, s); pax->entry_bytes_remaining -= s; - return (ret); + if (ret == ARCHIVE_OK) + return (s); + else + return (ret); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_shar.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.12 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_shar.c,v 1.14 2006/11/15 05:20:14 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -64,9 +64,9 @@ static int archive_write_shar_finish(struct archive *); static int archive_write_shar_header(struct archive *, struct archive_entry *); -static int archive_write_shar_data_sed(struct archive *, +static ssize_t archive_write_shar_data_sed(struct archive *, const void * buff, size_t); -static int archive_write_shar_data_uuencode(struct archive *, +static ssize_t archive_write_shar_data_uuencode(struct archive *, const void * buff, size_t); static int archive_write_shar_finish_entry(struct archive *); static int shar_printf(struct archive *, const char *fmt, ...); @@ -323,12 +323,13 @@ } /* XXX TODO: This could be more efficient XXX */ -static int +static ssize_t archive_write_shar_data_sed(struct archive *a, const void *buff, size_t n) { struct shar *shar; const char *src; int ret; + size_t written = n; shar = (struct shar *)a->format_data; if (!shar->has_data) @@ -357,7 +358,9 @@ if (shar->outpos > 0) ret = (a->compression_write)(a, shar->outbuff, shar->outpos); - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (written); } #define UUENC(c) (((c)!=0) ? ((c) & 077) + ' ': '`') @@ -384,7 +387,7 @@ shar->outbuff[shar->outpos] = 0; } -static int +static ssize_t archive_write_shar_data_uuencode(struct archive *a, const void *buff, size_t length) { @@ -413,7 +416,7 @@ shar->uubuffer[shar->uuavail++] = *src++; shar->outbytes++; } - return (ARCHIVE_OK); + return (length); } static int ==== //depot/projects/ia64/lib/libarchive/archive_write_set_format_ustar.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.15 2006/11/10 06:39:46 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.16 2006/11/15 05:14:20 kientzle Exp $"); #ifdef HAVE_SYS_STAT_H #include @@ -113,7 +113,7 @@ { "" } /* padding */ }; -static int archive_write_ustar_data(struct archive *a, const void *buff, +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s); static int archive_write_ustar_finish(struct archive *); static int archive_write_ustar_finish_entry(struct archive *); @@ -493,7 +493,7 @@ return (ARCHIVE_OK); } -static int +static ssize_t archive_write_ustar_data(struct archive *a, const void *buff, size_t s) { struct ustar *ustar; @@ -504,5 +504,7 @@ s = ustar->entry_bytes_remaining; ret = (a->compression_write)(a, buff, s); ustar->entry_bytes_remaining -= s; - return (ret); + if (ret != ARCHIVE_OK) + return (ret); + return (s); } ==== //depot/projects/ia64/release/Makefile#101 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.917 2006/11/11 23:18:28 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.918 2006/11/16 23:09:35 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -257,6 +257,9 @@ CD_BOOT= ${CD}/bootonly CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 +.if !defined(NODOC) +CD_DOCS= ${CD}/docs +.endif .if defined(SEPARATE_LIVEFS) CD_LIVEFS= ${CD}/livefs .else @@ -982,12 +985,15 @@ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf .if !defined(NODOC) - @mkdir -p ${CD_DISC2}/usr/share/doc + echo "Building CDROM docs filesystem image" + @mkdir -p ${CD_DOCS} + @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf + @mkdir -p ${CD_DOCS}/usr/share/doc @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ -d /usr/doc/$$i ]; then \ mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DISC2}/usr/share/doc; \ + ${CD_DOCS}/usr/share/doc; \ fi \ done .endif @@ -1039,6 +1045,11 @@ FreeBSD_Packages \ ${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \ ${CD_DISC2_PKGS} +.if !defined(NODOC) + @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ + FreeBSD_Documentation \ + ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} +.endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ FreeBSD_LiveFS \ ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#167 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.987 2006/11/13 01:44:20 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.990 2006/11/17 20:15:26 bmah Exp $ 2000 @@ -1519,6 +1519,11 @@ The &man.snapinfo.8; utility, which shows snapshot locations on UFS filesystems, has been added. &merged; + The &man.sockstat.1; utility, which shows connected and + listening network sockets, now supports a new + command-line option, which can be used to filter displayed sockets + by protocol name (as listed in &man.protocols.5;). + The &man.strtonum.3; library function has been implemented based on OpenBSD's implementation. This is an improved version of &man.strtoll.3;. &merged; @@ -1538,6 +1543,11 @@ The &man.time.1; utility now prints the time that a given command has been running if sent a SIGINFO signal. + The &man.traceroute.8; program now supports + a flag, which causes it to display the + differences between the sent and received + packets. &merged; + The &man.traceroute.8; utility now supports a option, which sets a fixed destination port for probe packets. This can be useful for tracing behind @@ -1914,7 +1924,11 @@ The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.10.2 to 2.16.1. &merged; + updated from 2.10.2 to 2.16.1. As a part of this update, the + default prefix for GNOME (and some + related programs) has moved from + /usr/X11R6 + to /usr/local. &merged; The supported version of the KDE desktop environment ==== //depot/projects/ia64/release/scripts/package-split.py#9 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.13 2006/10/17 13:50:22 bmah Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.16 2006/11/17 05:10:41 kensmith Exp $ import os import sys @@ -31,10 +31,8 @@ pkgs.extend(['x11/xorg', 'x11/xorg-manpages', 'devel/imake-6']) - if arch == 'alpha': - pkgs.append('emulators/osf1_base') - elif arch == 'i386': - pkgs.append('emulators/linux_base-8') + if arch == 'i386': + pkgs.append('emulators/linux_base-fc4') return pkgs # List of packages for disc2. This includes packages that the X desktop @@ -56,7 +54,7 @@ 'astro/xearth', 'devel/gmake', 'editors/emacs', - 'editors/vim', + 'editors/vim-lite', 'emulators/mtools', 'graphics/png', 'graphics/xv', ==== //depot/projects/ia64/sbin/mount/mount.c#30 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/mount/mount.c,v 1.91 2006/10/31 21:54:51 pjd Exp $"; + "$FreeBSD: src/sbin/mount/mount.c,v 1.92 2006/11/14 01:07:42 rodrigc Exp $"; #endif /* not lint */ #include @@ -530,7 +530,10 @@ argv[argc] = NULL; if (debug) { - (void)printf("exec: mount_%s", vfstype); + if (use_mountprog(vfstype)) + printf("exec: mount_%s", vfstype); + else + printf("mount -t %s", vfstype); for (i = 1; i < argc; i++) (void)printf(" %s", argv[i]); (void)printf("\n"); ==== //depot/projects/ia64/share/man/man4/Makefile#98 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.365 2006/10/08 17:05:15 ceri Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.367 2006/11/16 22:32:26 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -349,6 +349,7 @@ twe.4 \ tx.4 \ txp.4 \ + uark.4 \ uart.4 \ ubsa.4 \ ubsec.4 \ @@ -365,7 +366,6 @@ ugen.4 \ uhci.4 \ uhid.4 \ - uhidev.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ ==== //depot/projects/ia64/share/man/man4/ucom.4#7 (text+ko) ==== @@ -34,16 +34,28 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.6 2005/04/17 16:08:51 simon Exp $ +.\" $FreeBSD: src/share/man/man4/ucom.4,v 1.7 2006/11/18 08:07:43 brueffer Exp $ .\" -.Dd November 25, 1999 +.Dd November 18, 2006 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device ucom" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +ucom_load="YES" +.Ed .Sh DESCRIPTION The .Nm @@ -69,6 +81,7 @@ .El .Sh SEE ALSO .Xr tty 4 , +.Xr uark 4 , .Xr uftdi 4 , .Xr umct 4 , .Xr umodem 4 , ==== //depot/projects/ia64/share/man/man4/uhid.4#6 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.5 2005/08/04 21:26:38 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/uhid.4,v 1.6 2006/11/16 22:32:27 brueffer Exp $ .\" -.Dd July 12, 1998 +.Dd November 16, 2006 .Dt UHID 4 .Os .Sh NAME @@ -128,7 +128,6 @@ .El .Sh SEE ALSO .Xr usbhidctl 1 , -.Xr uhidev 4 , .Xr usb 4 .Sh HISTORY The ==== //depot/projects/ia64/share/man/man9/p_candebug.9#3 (text+ko) ==== @@ -25,15 +25,16 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.3 2004/07/06 07:26:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.4 2006/11/18 17:56:59 ceri Exp $ .\" -.Dd November 11, 2003 +.Dd November 18, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME .Nm p_candebug .Nd determine debuggability of a process .Sh SYNOPSIS +.In sys/param.h .In sys/proc.h .Ft int .Fn p_candebug "struct thread *td" "struct proc *p" ==== //depot/projects/ia64/share/man/man9/sleepqueue.9#7 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.12 2005/04/19 16:30:25 jkoshy Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.13 2006/11/16 01:02:00 pjd Exp $ .\" .Dd March 10, 2004 .Dt SLEEPQUEUE 9 @@ -54,7 +54,7 @@ .Ft void .Fn sleepq_abort "struct thread *td" .Ft void -.Fn sleepq_add "void *wchan" "struct mtx *lock" "const char *wmesg" "int flags" +.Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" .Ft struct sleepqueue * .Fn sleepq_alloc "void" .Ft void @@ -157,12 +157,12 @@ must be locked by a prior call to .Fn sleepq_lock when this function is called. -If a mutex is specified via the +If a lock is specified via the .Fa lock argument, and if the kernel was compiled with .Cd "options INVARIANTS" , then the sleep queue code will perform extra checks to ensure that -the mutex is used by all threads sleeping on +the lock is used by all threads sleeping on .Fa wchan . The .Fa wmesg ==== //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.30 2005/03/30 22:57:41 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.31 2006/11/13 21:14:54 jhb Exp $"); /* * Instruction disassembler. @@ -84,6 +84,7 @@ #define Ib 21 /* byte immediate, unsigned */ #define Ibs 22 /* byte immediate, signed */ #define Iw 23 /* word immediate, unsigned */ +#define Ilq 24 /* long/quad immediate, unsigned */ #define O 25 /* direct address */ #define Db 26 /* byte displacement from EIP */ #define Dl 27 /* long displacement from EIP */ @@ -351,7 +352,6 @@ 0, 0, 0, - 0, db_inst_0f8x, db_inst_0f9x, db_inst_0fax, @@ -752,14 +752,14 @@ /*b6*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, /*b7*/ { "mov", FALSE, BYTE, op2(I, Ri), 0 }, -/*b8*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*b9*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*ba*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bb*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bc*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bd*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*be*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, -/*bf*/ { "mov", FALSE, LONG, op2(I, Ri), 0 }, +/*b8*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*b9*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*ba*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bb*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bc*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bd*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*be*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, +/*bf*/ { "mov", FALSE, LONG, op2(Ilq, Ri), 0 }, /*c0*/ { "", TRUE, BYTE, op2(Ib, E), db_Grp2 }, /*c1*/ { "", TRUE, LONG, op2(Ib, E), db_Grp2 }, @@ -854,17 +854,6 @@ int ss; }; -static const char * const db_index_reg_16[8] = { - "%bx,%si", - "%bx,%di", - "%bp,%si", - "%bp,%di", - "%si", - "%di", - "%bp", - "%bx" -}; - static const char * const db_reg[2][4][16] = { {{"%al", "%cl", "%dl", "%bl", "%ah", "%ch", "%dh", "%bh", @@ -927,7 +916,7 @@ int regmodrm; struct i_addr * addrp; /* out */ { - int mod, rm, sib, index, disp; + int mod, rm, sib, index, disp, size, have_sib; mod = f_mod(rex, regmodrm); rm = f_rm(rex, regmodrm); @@ -940,68 +929,49 @@ addrp->is_reg = FALSE; addrp->index = 0; - if (short_addr) { - addrp->index = 0; - addrp->ss = 0; - switch (mod) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:23:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5F6616D096; Tue, 21 Nov 2006 17:20:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 32D6416CE14 for ; Tue, 21 Nov 2006 17:20:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC05043FC0 for ; Tue, 21 Nov 2006 17:14:58 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFDb8067171 for ; Tue, 21 Nov 2006 17:15:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFD6D067165 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 21 Nov 2006 17:15:13 GMT Message-Id: <200611211715.kALHFD6D067165@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:23:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=110211 Change 110211 by rwatson@rwatson_fledge on 2006/11/18 11:52:56 When generating process*ex tokens and records, generate both sample IPv4 and IPv6 files, replicating logic from subject32ex code. Free buffers when done in subject32ex. Affected files ... .. //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#6 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#7 $ */ /* @@ -335,6 +335,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_token(directory, buf, subject32ex_token); + free(buf); } static void @@ -361,6 +362,7 @@ if (subject32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_subject32_ex"); write_record(directory, record_filename, subject32ex_token, AUE_NULL); + free(buf); } static au_id_t process32_auid = 0x12345678; @@ -404,28 +406,49 @@ } static void -generate_process32ex_token(const char *directory, const char *token_filename) +generate_process32ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); - write_token(directory, token_filename, process32ex_token); + write_token(directory, buf, process32ex_token); + free(buf); } static void -generate_process32ex_record(const char *directory, const char *record_filename) +generate_process32ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process32ex_token; + char *buf; - process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process32_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); + process32_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process32_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, @@ -433,6 +456,7 @@ if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); write_record(directory, record_filename, process32ex_token, AUE_NULL); + free(buf); } static au_id_t process64_auid = 0x12345678; @@ -476,12 +500,22 @@ } static void -generate_process64ex_token(const char *directory, const char *token_filename) +generate_process64ex_token(const char *directory, const char *token_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(token_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", token_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", token_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -489,15 +523,26 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_token(directory, token_filename, process64ex_token); + free(buf); } static void -generate_process64ex_record(const char *directory, const char *record_filename) +generate_process64ex_record(const char *directory, const char *record_filename, + u_int32_t type) { token_t *process64ex_token; + char *buf; - process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); - process64_tid_addr.at_type = AU_IPv4; + buf = (char *)malloc(strlen(record_filename) + 6); + if (type == AU_IPv6) { + inet_pton(AF_INET6, "fe80::1", process64_tid_addr.at_addr); + process64_tid_addr.at_type = AU_IPv6; + sprintf(buf, "%s%s", record_filename, "-IPv6"); + } else { + process64_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); + process64_tid_addr.at_type = AU_IPv4; + sprintf(buf, "%s%s", record_filename, "-IPv4"); + } process64ex_token = au_to_process64_ex(process64_auid, process64_euid, process64_egid, process64_ruid, process64_rgid, process64_pid, @@ -505,6 +550,7 @@ if (process64ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process64_ex"); write_record(directory, record_filename, process64ex_token, AUE_NULL); + free(buf); } static char return32_status = 0xd7; @@ -883,12 +929,20 @@ generate_ipc_token(directory, "ipc_token"); generate_path_token(directory, "path_token"); generate_subject32_token(directory, "subject32_token"); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv4); - generate_subject32ex_token(directory, "subject32ex_token", AU_IPv6); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv4); + generate_subject32ex_token(directory, "subject32ex_token", + AU_IPv6); generate_process32_token(directory, "process32_token"); - generate_process32ex_token(directory, "process32ex_token"); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv4); + generate_process32ex_token(directory, "process32ex_token", + AU_IPv6); generate_process64_token(directory, "process64_token"); - generate_process64ex_token(directory, "process64ex_token"); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv4); + generate_process64ex_token(directory, "process64ex_token", + AU_IPv6); generate_return32_token(directory, "return32_token"); generate_text_token(directory, "text_token"); generate_opaque_token(directory, "opaque_token"); @@ -914,9 +968,15 @@ generate_subject32ex_record(directory, "subject32ex_record", AU_IPv6); generate_process32_record(directory, "process32_record"); - generate_process32ex_record(directory, "process32ex_record"); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv4); + generate_process32ex_record(directory, "process32ex_record", + AU_IPv6); generate_process64_record(directory, "process64_record"); - generate_process64ex_record(directory, "process64ex_record"); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv4); + generate_process64ex_record(directory, "process64ex_record", + AU_IPv6); generate_return32_record(directory, "return32_record"); generate_text_record(directory, "text_record"); generate_opaque_record(directory, "opaque_record"); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:23:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3489416D5D6; Tue, 21 Nov 2006 17:21:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B25F916CF80 for ; Tue, 21 Nov 2006 17:20:52 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91A5644067 for ; Tue, 21 Nov 2006 17:15:19 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFhCH067706 for ; Tue, 21 Nov 2006 17:15:43 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFfQ7067702 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:41 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:15:41 GMT Message-Id: <200611211715.kALHFfQ7067702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:23:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=110253 Change 110253 by marcel@marcel_nfs on 2006/11/19 20:28:04 IFC @110251 Affected files ... .. //depot/projects/uart/amd64/amd64/db_trace.c#13 integrate .. //depot/projects/uart/amd64/amd64/intr_machdep.c#11 integrate .. //depot/projects/uart/amd64/amd64/io_apic.c#10 integrate .. //depot/projects/uart/amd64/amd64/machdep.c#24 integrate .. //depot/projects/uart/amd64/amd64/msi.c#2 integrate .. //depot/projects/uart/amd64/include/reg.h#3 integrate .. //depot/projects/uart/arm/arm/nexus.c#7 integrate .. //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 integrate .. //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0/arm_init.s#2 delete .. //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 integrate .. //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 integrate .. //depot/projects/uart/boot/arm/at91/bootiic/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 integrate .. //depot/projects/uart/boot/arm/at91/bootspi/arm_init.S#3 delete .. //depot/projects/uart/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/uart/boot/arm/at91/libat91/mci_device.c#3 delete .. //depot/projects/uart/boot/i386/loader/main.c#10 integrate .. //depot/projects/uart/boot/ia64/common/copy.c#2 integrate .. //depot/projects/uart/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/uart/compat/linux/linux_emul.c#3 integrate .. //depot/projects/uart/compat/linux/linux_getcwd.c#10 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#20 integrate .. //depot/projects/uart/conf/NOTES#45 integrate .. //depot/projects/uart/conf/files#77 integrate .. //depot/projects/uart/conf/files.sun4v#3 integrate .. //depot/projects/uart/ddb/db_watch.c#4 integrate .. //depot/projects/uart/dev/ata/ata-all.c#24 integrate .. //depot/projects/uart/dev/bce/if_bce.c#6 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/uart/dev/em/if_em.c#26 integrate .. //depot/projects/uart/dev/em/if_em.h#22 integrate .. //depot/projects/uart/dev/isp/isp.c#17 integrate .. //depot/projects/uart/dev/isp/isp_library.c#7 integrate .. //depot/projects/uart/dev/isp/isp_library.h#4 integrate .. //depot/projects/uart/dev/isp/isp_pci.c#18 integrate .. //depot/projects/uart/dev/isp/isp_stds.h#2 integrate .. //depot/projects/uart/dev/isp/ispmbox.h#10 integrate .. //depot/projects/uart/dev/isp/ispvar.h#15 integrate .. //depot/projects/uart/dev/mfi/mfi.c#9 integrate .. //depot/projects/uart/dev/mpt/mpt.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt.h#19 integrate .. //depot/projects/uart/dev/mpt/mpt_cam.c#21 integrate .. //depot/projects/uart/dev/mpt/mpt_pci.c#24 integrate .. //depot/projects/uart/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/uart/dev/pci/pci.c#27 integrate .. //depot/projects/uart/dev/syscons/syscons.c#18 integrate .. //depot/projects/uart/dev/usb/uark.c#1 branch .. //depot/projects/uart/dev/usb/usbdevs#28 integrate .. //depot/projects/uart/fs/procfs/procfs_ioctl.c#6 integrate .. //depot/projects/uart/gnu/fs/ext2fs/ext2_vfsops.c#7 integrate .. //depot/projects/uart/i386/i386/db_trace.c#13 integrate .. //depot/projects/uart/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/uart/i386/i386/io_apic.c#11 integrate .. //depot/projects/uart/i386/i386/machdep.c#27 integrate .. //depot/projects/uart/i386/i386/msi.c#2 integrate .. //depot/projects/uart/i386/i386/pmap.c#45 integrate .. //depot/projects/uart/i386/include/reg.h#4 integrate .. //depot/projects/uart/ia64/ia64/genassym.c#10 integrate .. //depot/projects/uart/ia64/ia64/interrupt.c#14 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#28 integrate .. //depot/projects/uart/ia64/ia64/mp_machdep.c#12 integrate .. //depot/projects/uart/ia64/include/kdb.h#4 integrate .. //depot/projects/uart/ia64/include/pcpu.h#4 integrate .. //depot/projects/uart/kern/kern_condvar.c#7 integrate .. //depot/projects/uart/kern/kern_synch.c#19 integrate .. //depot/projects/uart/kern/subr_sleepqueue.c#12 integrate .. //depot/projects/uart/kern/sysv_msg.c#11 integrate .. //depot/projects/uart/modules/Makefile#43 integrate .. //depot/projects/uart/modules/uark/Makefile#1 branch .. //depot/projects/uart/net/ethernet.h#3 integrate .. //depot/projects/uart/net/if_ethersubr.c#19 integrate .. //depot/projects/uart/nfsclient/nfs_node.c#14 integrate .. //depot/projects/uart/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/uart/sparc64/sparc64/autoconf.c#4 integrate .. //depot/projects/uart/sparc64/sparc64/identcpu.c#6 integrate .. //depot/projects/uart/sparc64/sparc64/mem.c#5 integrate .. //depot/projects/uart/sun4v/conf/NOTES#3 integrate .. //depot/projects/uart/sun4v/include/asmacros.h#2 integrate .. //depot/projects/uart/sun4v/include/cache.h#2 integrate .. //depot/projects/uart/sun4v/include/pcpu.h#2 integrate .. //depot/projects/uart/sun4v/include/tte_hash.h#2 integrate .. //depot/projects/uart/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/uart/sun4v/sun4v/clock.c#2 delete .. //depot/projects/uart/sun4v/sun4v/counter.c#2 delete .. //depot/projects/uart/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/uart/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/uart/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/exception.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/uart/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/uart/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/uart/sun4v/sun4v/mem.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/uart/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/uart/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/uart/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tlb.c#2 delete .. //depot/projects/uart/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/uart/sys/sleepqueue.h#4 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/db_trace.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.80 2006/11/17 20:27:00 jhb Exp $"); #include #include @@ -200,10 +200,10 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t); static void decode_syscall(int, struct thread *); -static char * watchtype_str(int type); +static const char * watchtype_str(int type); int amd64_set_watch(int watchnum, unsigned long watchaddr, int size, - int access, struct dbreg * d); -int amd64_clr_watch(int watchnum, struct dbreg * d); + int access, struct dbreg *d); +int amd64_clr_watch(int watchnum, struct dbreg *d); /* * Figure out how many arguments were passed into the frame at "fp". @@ -536,21 +536,20 @@ unsigned long watchaddr; int size; int access; - struct dbreg * d; + struct dbreg *d; { - int i; - unsigned int mask; - + int i, len; + if (watchnum == -1) { - for (i = 0, mask = 0x3; i < 4; i++, mask <<= 2) - if ((d->dr[7] & mask) == 0) + for (i = 0; i < 4; i++) + if (!DBREG_DR7_ENABLED(d->dr[7], i)) break; if (i < 4) watchnum = i; else return (-1); } - + switch (access) { case DBREG_DR7_EXEC: size = 1; /* size must be 1 for an execution breakpoint */ @@ -558,29 +557,39 @@ case DBREG_DR7_WRONLY: case DBREG_DR7_RDWR: break; - default : return (-1); + default: + return (-1); } - + /* - * we can watch a 1, 2, or 4 byte sized location + * we can watch a 1, 2, 4, or 8 byte sized location */ switch (size) { - case 1 : mask = 0x00; break; - case 2 : mask = 0x01 << 2; break; - case 4 : mask = 0x03 << 2; break; - default : return (-1); + case 1: + len = DBREG_DR7_LEN_1; + break; + case 2: + len = DBREG_DR7_LEN_2; + break; + case 4: + len = DBREG_DR7_LEN_4; + break; + case 8: + len = DBREG_DR7_LEN_8; + break; + default: + return (-1); } - mask |= access; - /* clear the bits we are about to affect */ - d->dr[7] &= ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); /* set drN register to the address, N=watchnum */ - DBREG_DRX(d,watchnum) = watchaddr; + DBREG_DRX(d, watchnum) = watchaddr; /* enable the watchpoint */ - d->dr[7] |= (0x2 << (watchnum*2)) | (mask << (watchnum*4+16)); + d->dr[7] |= DBREG_DR7_SET(watchnum, len, access, + DBREG_DR7_GLOBAL_ENABLE); return (watchnum); } @@ -589,15 +598,15 @@ int amd64_clr_watch(watchnum, d) int watchnum; - struct dbreg * d; + struct dbreg *d; { if (watchnum < 0 || watchnum >= 4) return (-1); - - d->dr[7] = d->dr[7] & ~((0x3 << (watchnum*2)) | (0x0f << (watchnum*4+16))); - DBREG_DRX(d,watchnum) = 0; - + + d->dr[7] &= ~DBREG_DR7_MASK(watchnum); + DBREG_DRX(d, watchnum) = 0; + return (0); } @@ -607,38 +616,38 @@ db_expr_t addr; db_expr_t size; { - int avail, wsize; - int i; struct dbreg d; - + int avail, i, wsize; + fill_dbregs(NULL, &d); - + avail = 0; - for(i=0; i<4; i++) { - if ((d.dr[7] & (3 << (i*2))) == 0) + for(i = 0; i < 4; i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) avail++; } - - if (avail*4 < size) + + if (avail * 8 < size) return (-1); - - for (i=0; i<4 && (size != 0); i++) { - if ((d.dr[7] & (3<<(i*2))) == 0) { - if (size > 4) + + for (i = 0; i < 4 && (size > 0); i++) { + if (!DBREG_DR7_ENABLED(d.dr[7], i)) { + if (size >= 8 || (avail == 1 && size > 4)) + wsize = 8; + else if (size > 2) wsize = 4; else wsize = size; - if (wsize == 3) - wsize++; - amd64_set_watch(i, addr, wsize, + amd64_set_watch(i, addr, wsize, DBREG_DR7_WRONLY, &d); addr += wsize; size -= wsize; + avail--; } } - + set_dbregs(NULL, &d); - + return(0); } @@ -648,28 +657,27 @@ db_expr_t addr; db_expr_t size; { + struct dbreg d; int i; - struct dbreg d; fill_dbregs(NULL, &d); - for(i=0; i<4; i++) { - if (d.dr[7] & (3 << (i*2))) { - if ((DBREG_DRX((&d), i) >= addr) && + for(i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + if ((DBREG_DRX((&d), i) >= addr) && (DBREG_DRX((&d), i) < addr+size)) amd64_clr_watch(i, &d); - + } } - + set_dbregs(NULL, &d); - + return(0); } -static -char * +static const char * watchtype_str(type) int type; { @@ -685,30 +693,33 @@ void db_md_list_watchpoints() { - int i; struct dbreg d; + int i, len, type; fill_dbregs(NULL, &d); db_printf("\nhardware watchpoints:\n"); - db_printf(" watch status type len address\n"); - db_printf(" ----- -------- ---------- --- ----------\n"); - for (i=0; i<4; i++) { - if (d.dr[7] & (0x03 << (i*2))) { - unsigned type, len; - type = (d.dr[7] >> (16+(i*4))) & 3; - len = (d.dr[7] >> (16+(i*4)+2)) & 3; - db_printf(" %-5d %-8s %10s %3d 0x%016lx\n", - i, "enabled", watchtype_str(type), - len + 1, DBREG_DRX((&d), i)); - } - else { + db_printf(" watch status type len address\n"); + db_printf(" ----- -------- ---------- --- ------------------\n"); + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ENABLED(d.dr[7], i)) { + type = DBREG_DR7_ACCESS(d.dr[7], i); + len = DBREG_DR7_LEN(d.dr[7], i); + if (len == DBREG_DR7_LEN_8) + len = 8; + else + len++; + db_printf(" %-5d %-8s %10s %3d ", + i, "enabled", watchtype_str(type), len); + db_printsym((db_addr_t)DBREG_DRX((&d), i), DB_STGY_ANY); + db_printf("\n"); + } else { db_printf(" %-5d disabled\n", i); } } - + db_printf("\ndebug register values:\n"); - for (i=0; i<8; i++) { + for (i = 0; i < 8; i++) { db_printf(" dr%d 0x%016lx\n", i, DBREG_DRX((&d), i)); } db_printf("\n"); ==== //depot/projects/uart/amd64/amd64/intr_machdep.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $ */ /* @@ -446,10 +446,6 @@ current_cpu++; if (current_cpu >= num_cpus) current_cpu = 0; - if (bootverbose) { - printf("INTR: Assigning IRQ %d", pic->pic_vector(isrc)); - printf(" to local APIC %u\n", apic_id); - } pic->pic_assign_cpu(isrc, apic_id); } @@ -483,7 +479,7 @@ if (num_cpus <= 1) return; - /* Round-robin assign each enabled source a CPU. */ + /* Round-robin assign a CPU to each enabled source. */ mtx_lock_spin(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { ==== //depot/projects/uart/amd64/amd64/io_apic.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.25 2006/10/10 23:23:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.26 2006/11/17 16:41:03 jhb Exp $"); #include "opt_isa.h" @@ -512,13 +512,6 @@ * be routed to other CPUs later after they are enabled. */ intpin->io_cpu = PCPU_GET(apic_id); - if (bootverbose && intpin->io_irq != IRQ_DISABLED) { - printf("ioapic%u: intpin %d -> ", io->io_id, i); - ioapic_print_irq(intpin); - printf(" (%s, %s)\n", intpin->io_edgetrigger ? - "edge" : "level", intpin->io_activehi ? "high" : - "low"); - } value = ioapic_read(apic, IOAPIC_REDTBL_LO(i)); ioapic_write(apic, IOAPIC_REDTBL_LO(i), value | IOART_INTMSET); } @@ -583,6 +576,8 @@ return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); + if (io->io_pins[pin].io_bus == bus_type) + return (0); io->io_pins[pin].io_bus = bus_type; if (bootverbose) printf("ioapic%u: intpin %d bus %s\n", io->io_id, pin, @@ -666,13 +661,17 @@ ioapic_set_polarity(void *cookie, u_int pin, enum intr_polarity pol) { struct ioapic *io; + int activehi; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || pol == INTR_POLARITY_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) return (EINVAL); - io->io_pins[pin].io_activehi = (pol == INTR_POLARITY_HIGH); + activehi = (pol == INTR_POLARITY_HIGH); + if (io->io_pins[pin].io_activehi == activehi) + return (0); + io->io_pins[pin].io_activehi = activehi; if (bootverbose) printf("ioapic%u: intpin %d polarity: %s\n", io->io_id, pin, pol == INTR_POLARITY_HIGH ? "high" : "low"); @@ -683,13 +682,17 @@ ioapic_set_triggermode(void *cookie, u_int pin, enum intr_trigger trigger) { struct ioapic *io; + int edgetrigger; io = (struct ioapic *)cookie; if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); - io->io_pins[pin].io_edgetrigger = (trigger == INTR_TRIGGER_EDGE); + return (EINVAL); + edgetrigger = (trigger == INTR_TRIGGER_EDGE); + if (io->io_pins[pin].io_edgetrigger == edgetrigger) + return (0); + io->io_pins[pin].io_edgetrigger = edgetrigger; if (bootverbose) printf("ioapic%u: intpin %d trigger: %s\n", io->io_id, pin, trigger == INTR_TRIGGER_EDGE ? "edge" : "level"); ==== //depot/projects/uart/amd64/amd64/machdep.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.660 2006/11/07 21:57:18 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.663 2006/11/17 20:27:01 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1692,7 +1692,6 @@ { struct pcb *pcb; int i; - u_int64_t mask1, mask2; if (td == NULL) { load_dr0(dbregs->dr[0]); @@ -1709,10 +1708,13 @@ * TRCTRAP or a general protection fault right here. * Upper bits of dr6 and dr7 must not be set */ - for (i = 0, mask1 = 0x3<<16, mask2 = 0x2<<16; i < 8; - i++, mask1 <<= 2, mask2 <<= 2) - if ((dbregs->dr[7] & mask1) == mask2) + for (i = 0; i < 4; i++) { + if (DBREG_DR7_ACCESS(dbregs->dr[7], i) == 0x02) + return (EINVAL); + if (td->td_frame->tf_cs == _ucode32sel && + DBREG_DR7_LEN(dbregs->dr[7], i) == DBREG_DR7_LEN_8) return (EINVAL); + } if ((dbregs->dr[6] & 0xffffffff00000000ul) != 0 || (dbregs->dr[7] & 0xffffffff00000000ul) != 0) return (EINVAL); @@ -1733,22 +1735,22 @@ * from within kernel mode? */ - if (dbregs->dr[7] & 0x3) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 0)) { /* dr0 is enabled */ if (dbregs->dr[0] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<2) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 1)) { /* dr1 is enabled */ if (dbregs->dr[1] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<4) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 2)) { /* dr2 is enabled */ if (dbregs->dr[2] >= VM_MAXUSER_ADDRESS) return (EINVAL); } - if (dbregs->dr[7] & 0x3<<6) { + if (DBREG_DR7_ENABLED(dbregs->dr[7], 3)) { /* dr3 is enabled */ if (dbregs->dr[3] >= VM_MAXUSER_ADDRESS) return (EINVAL); @@ -1832,9 +1834,8 @@ addr[nbp++] = (caddr_t)rdr3(); } - for (i=0; i -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.1 2006/11/13 22:23:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.2 2006/11/15 18:40:00 jhb Exp $"); #include #include @@ -315,7 +315,7 @@ /* We need count - cnt more sources starting at index 'cnt'. */ *newirq = cnt; *newcount = count - cnt; - for (j = 0; j < *newirq; j++) { + for (j = 0; j < *newcount; j++) { /* Create a new MSI source. */ msi = malloc(sizeof(struct msi_intsrc), M_MSI, ==== //depot/projects/uart/amd64/include/reg.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)reg.h 5.5 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/reg.h,v 1.35 2004/04/05 23:55:14 imp Exp $ + * $FreeBSD: src/sys/amd64/include/reg.h,v 1.38 2006/11/17 20:27:01 jhb Exp $ */ #ifndef _MACHINE_REG_H_ @@ -92,11 +92,26 @@ /* Index 8-15: reserved */ }; -#define DBREG_DR7_EXEC 0x00 /* break on execute */ -#define DBREG_DR7_WRONLY 0x01 /* break on write */ -#define DBREG_DR7_RDWR 0x03 /* break on read or write */ -#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by - register number */ +#define DBREG_DR7_LOCAL_ENABLE 0x01 +#define DBREG_DR7_GLOBAL_ENABLE 0x02 +#define DBREG_DR7_LEN_1 0x00 /* 1 byte length */ +#define DBREG_DR7_LEN_2 0x01 +#define DBREG_DR7_LEN_4 0x03 +#define DBREG_DR7_LEN_8 0x02 +#define DBREG_DR7_EXEC 0x00 /* break on execute */ +#define DBREG_DR7_WRONLY 0x01 /* break on write */ +#define DBREG_DR7_RDWR 0x03 /* break on read or write */ +#define DBREG_DR7_MASK(i) ((u_long)0xf << ((i) * 4 + 16) | 0x3 << (i) * 2) +#define DBREG_DR7_SET(i, len, access, enable) \ + ((u_long)((len) << 2 | (access)) << ((i) * 4 + 16) | (enable) << (i) * 2) +#define DBREG_DR7_GD 0x2000 +#define DBREG_DR7_ENABLED(d, i) (((d) & 0x3 << (i) * 2) != 0) +#define DBREG_DR7_ACCESS(d, i) ((d) >> ((i) * 4 + 16) & 0x3) +#define DBREG_DR7_LEN(d, i) ((d) >> ((i) * 4 + 18) & 0x3) + +#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by + register number */ + #ifdef _KERNEL /* * XXX these interfaces are MI, so they should be declared in a MI place. ==== //depot/projects/uart/arm/arm/nexus.c#7 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.9 2006/10/25 21:11:46 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.10 2006/11/17 11:56:56 cognet Exp $"); #include #include @@ -142,7 +142,7 @@ int i; for (i = rman_get_start(r); i <= rman_get_end(r); i++) - arm_mask_irq(rman_get_start(r)); + arm_mask_irq(i); error = arm_remove_irqhandler(ih); return (error); } ==== //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.3 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.4 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -474,7 +474,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#16 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.24 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.25 2006/11/17 00:53:39 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -477,7 +477,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = 0xa0000000 + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/uart/boot/arm/at91/boot0/Makefile#4 (text) ==== @@ -1,11 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.4 2006/08/18 20:26:54 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ + +.PATH: ${.CURDIR}/../libat91 P=boot0 FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/Makefile#3 (text) ==== @@ -1,12 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.2 2006/08/16 23:14:52 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0iic/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0iic FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include + +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0iic/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0iic/main.c,v 1.3 2006/11/09 19:55:25 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0iic/main.c,v 1.4 2006/11/16 00:49:50 imp Exp $ */ #include "at91rm9200.h" @@ -32,12 +32,19 @@ main(void) { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ + int len, sec; - while (xmodem_rx(addr) == -1) + printf("\nSend data to be written into EEPROM\n"); + while ((len = xmodem_rx(addr)) == -1) + continue; + sec = GetSeconds() + 1; + while (sec >= GetSeconds()) continue; + printf("\nWriting EEPROM from 0x%x to addr 0, 0x%x bytes\n", addr, + len); InitEEPROM(); - printf("Writing EEPROM from 0x%x to addr 0\n", addr); - WriteEEPROM(0, addr, 8192); - printf("Write complete. Press reset\n"); + printf("init done\n"); + WriteEEPROM(0, addr, len); + printf("\nWrote %d bytes. Press reset\n", len); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot0spi/Makefile#3 (text) ==== @@ -1,13 +1,14 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.2 2006/08/16 23:18:07 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0spi/Makefile,v 1.3 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../boot0 +.PATH: ${.CURDIR}/../libat91 P=boot0spi FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.S main.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include +CFLAGS+=-DBOOT_BOOT0 ==== //depot/projects/uart/boot/arm/at91/boot0spi/main.c#4 (text) ==== @@ -21,7 +21,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/boot/arm/at91/boot0spi/main.c,v 1.3 2006/10/21 22:43:07 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot0spi/main.c,v 1.4 2006/11/16 00:48:53 imp Exp $ */ #include "at91rm9200.h" @@ -29,21 +29,23 @@ #include "at91rm9200_lowlevel.h" #include "spi_flash.h" -#define OFFSET 0 +#define LOADER_OFFSET 0 +#define FPGA_OFFSET (15 * FLASH_PAGE_SIZE) +#define OFFSET LOADER_OFFSET int main(void) { int len, i, j, off; - char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ - char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ + char *addr = (char *)SDRAM_BASE + (1 << 20); /* download at + 1MB */ + char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* readback to + 2MB */ + char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* extra copy at + 3MB */ SPI_InitFlash(); printf("Waiting for data\n"); while ((len = xmodem_rx(addr)) == -1) continue; - printf("\nDownloaded %u bytes.\n", len); + // Need extra copy at addr3 memcpy(addr3, addr, (len + FLASH_PAGE_SIZE - 1) / FLASH_PAGE_SIZE * FLASH_PAGE_SIZE); printf("Writing %u bytes to flash at %u\n", len, OFFSET); for (i = 0; i < len; i+= FLASH_PAGE_SIZE) { @@ -57,5 +59,6 @@ if (j >= 10) printf("Bad Readback at %u\n", i); } + printf("Done\n"); return (1); } ==== //depot/projects/uart/boot/arm/at91/boot2/Makefile#2 (text+ko) ==== @@ -1,19 +1,16 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.2 2006/11/09 20:07:26 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.3 2006/11/16 00:48:04 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 ${.CURDIR}/../bootspi P=boot2 FILES=${P} -SRCS=arm_init.S boot2.c ${BOOT_FLAVOR}_board.c +SRCS=arm_init.S boot2.c ${BOOT_FLAVOR:L}_board.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include -.if ${BOOT_FLAVOR} == "tsc" -SRCS+=ee.c -.endif .if ${BOOT_FLAVOR} == "kb920x" CFLAGS+=-DBOOT_IIC .endif ==== //depot/projects/uart/boot/arm/at91/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.2 2006/11/09 20:07:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.3 2006/11/16 00:47:31 imp Exp $"); #include #include @@ -29,7 +29,6 @@ #include "emac.h" #include "lib.h" #include "sd-card.h" -#include "ee.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ ==== //depot/projects/uart/boot/arm/at91/bootiic/Makefile#5 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.4 2006/11/09 20:23:51 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootiic/Makefile,v 1.5 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootiic FILES=${P} @@ -11,4 +11,4 @@ .include -CFLAGS += -DBOOT_IIC +CFLAGS += -DBOOT_IIC -DBOOT_COMMANDS ==== //depot/projects/uart/boot/arm/at91/bootspi/Makefile#4 (text) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.5 2006/11/09 20:45:22 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.6 2006/11/16 00:53:27 imp Exp $ -.PATH: ${.CURDIR}/../libat91 +.PATH: ${.CURDIR}/../libat91 P=bootspi FILES=${P} @@ -14,3 +14,4 @@ .if ${MK_FPGA} == "yes" CFLAGS += -DTSC_FPGA .endif +CFLAGS += -DBOOT_COMMANDS ==== //depot/projects/uart/boot/i386/loader/main.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.38 2006/11/02 01:23:18 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.39 2006/11/16 13:32:30 ru Exp $"); /* * MD bootstrap main() and assorted miscellaneous @@ -191,7 +191,7 @@ extract_currdev(void) { struct i386_devdesc new_currdev; - int major, biosdev = -1; + int biosdev = -1; /* Assume we are booting from a BIOS disk by default */ new_currdev.d_dev = &biosdisk; @@ -222,7 +222,6 @@ B_CONTROLLER(initial_bootdev) - 1; new_currdev.d_kind.biosdisk.partition = B_PARTITION(initial_bootdev); biosdev = initial_bootinfo->bi_bios_dev; - major = B_TYPE(initial_bootdev); /* * If we are booted by an old bootstrap, we have to guess at the BIOS ==== //depot/projects/uart/boot/ia64/common/copy.c#2 (text+ko) ==== @@ -25,18 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include #include "libia64.h" -#define LDR_LOG2_PGSZ 20 - -uint64_t *ia64_pgtbl; -uint32_t ia64_pgtblsz; - static void * va2pa(vm_offset_t va, size_t *len) { ==== //depot/projects/uart/boot/ia64/common/libia64.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/uart/compat/linux/linux_emul.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:23:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 461B716B0D9; Tue, 21 Nov 2006 17:21:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AD7B916D072 for ; Tue, 21 Nov 2006 17:20:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 524F943D4C for ; Tue, 21 Nov 2006 17:15:34 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFnDm067792 for ; Tue, 21 Nov 2006 17:15:49 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFnbt067789 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:49 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:15:49 GMT Message-Id: <200611211715.kALHFnbt067789@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:23:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=110267 Change 110267 by marcel@marcel_nfs on 2006/11/20 00:07:25 Recurse into the efi directory. Affected files ... .. //depot/projects/ia64/sys/boot/i386/Makefile#8 edit .. //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/Makefile#8 (text+ko) ==== @@ -1,6 +1,6 @@ # $FreeBSD: src/sys/boot/i386/Makefile,v 1.20 2003/12/08 19:02:06 obrien Exp $ -SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader +SUBDIR= mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader efi # special boot programs, 'self-extracting boot2+loader' SUBDIR+= pxeldr ==== //depot/projects/ia64/sys/boot/i386/efi/Makefile#2 (text+ko) ==== @@ -1,5 +1,7 @@ # $FreeBSD$ +NO_MAN= + .include PROG= loader.sym @@ -27,21 +29,15 @@ .include "${.CURDIR}/../../common/Makefile.inc" CFLAGS+= -I${.CURDIR}/../../common -.PATH: ${.CURDIR}/../../forth -FILES= loader.efi loader.help loader.4th support.4th loader.conf +FILES= loader.efi FILESMODE_loader.efi= ${BINMODE} -FILESDIR_loader.conf= /boot/defaults - -.if !exists(${DESTDIR}/boot/loader.rc) -FILES+= loader.rc -.endif LDSCRIPT= ${.CURDIR}/ldscript.ia32 LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic ${PROG}: ${LDSCRIPT} -CLEANFILES= vers.c loader.efi loader.help +CLEANFILES= vers.c loader.efi NEWVERSWHAT= "EFI loader" ia32 @@ -60,10 +56,6 @@ -j .rela.dyn -j .reloc -j .sdata -j .text \ --target=efi-app-ia32 ${.ALLSRC} ${.TARGET} -loader.help: help.common help.i386 - cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \ - > ${.TARGET} - LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a LIBI386= ${.OBJDIR}/../libi386/libi386.a From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BBEC16B6B5; Tue, 21 Nov 2006 17:23:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9A6B316B385 for ; Tue, 21 Nov 2006 17:21:52 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2445C44003 for ; Tue, 21 Nov 2006 17:18:00 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHINEC068725 for ; Tue, 21 Nov 2006 17:18:23 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIMr0068722 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:22 GMT (envelope-from adamartin@FreeBSD.org) Date: Tue, 21 Nov 2006 17:18:22 GMT Message-Id: <200611211718.kALHIMr0068722@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 110310 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=110310 Change 110310 by adamartin@adamartin_hobbes on 2006/11/20 17:30:15 Autofs Device functions now mostly implemented. Also some improved 'queue' functions. Lastly, autofs config program, afsconfig, added to enable creation (and soon deletion) of /dev/autofs0...N devices. Affected files ... .. //depot/projects/soc2006/adamartin_autofs/afsconfig/Makefile#1 add .. //depot/projects/soc2006/adamartin_autofs/afsconfig/afsconfig.c#1 add .. //depot/projects/soc2006/adamartin_autofs/autofs/Makefile#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs.c#7 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs.h#7 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.c#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.h#5 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.h#4 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#6 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_subr.c#3 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_types.h#1 add Differences ... ==== //depot/projects/soc2006/adamartin_autofs/autofs/Makefile#6 (text+ko) ==== @@ -28,14 +28,21 @@ AUTOFS_DEV_SOURCE=autofs_ctl.c autofs_dev.c AUTOFS_FS_SOURCE=autofs_pfsops.c vnode_if.h -AUTOFS_CORE_SOURCE=autofs.c protocol.c autofs_subr.c -SRCS=$(AUTOFS_CORE_SOURCE) $(AUTOFS_FS_SOURCE) $(AUTOFS_DEV_SOURCE) +AUTOFS_CORE_SOURCE=autofs.c protocol.c +AUTOFS_SUPPORT_SOURCE=autofs_subr.c +SRCS=$(AUTOFS_CORE_SOURCE) $(AUTOFS_FS_SOURCE) $(AUTOFS_DEV_SOURCE) $(AUTOFS_SUPPORT_SOURCE) HEADERS=autofs.h cleanup.h protocol.h autofs_subr.h autofs_ctl.h autofs_dev.h debug.h KMOD=autofs autofs.c: $(HEADERS) -autofs_vfsops.c: $(HEADERS) +autofs_pfsops.c: $(HEADERS) + +protocol.c: $(HEADERS) + +autofs_subr.c: $(HEADERS) + +autofs_dev.c: $(HEADERS) autofs_vnops.c: $(HEADERS) ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs.c#7 (text+ko) ==== @@ -109,9 +109,7 @@ -int vn_iscdev( struct vnode *vp, int *errp ); - -int +static int vn_iscdev( struct vnode *vp, int *errp ) { $cleanup_init_size( 8 ); ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs.h#7 (text+ko) ==== @@ -40,6 +40,7 @@ #include "cleanup.h" +#include #define AUTOFS_VERSION ( 1 ) @@ -63,4 +64,46 @@ #define KPRINTF EPRINTF +/**************** FORWARD DEFINITIONS ******************/ +struct autofs_instance; +struct autofs_dev_bufs; +struct autofs_mounts; +struct vnode; +struct pfs_node; + +struct proc; + + +typedef struct proc kthread_t; +typedef struct autofs_instance autofs_instance_t; +typedef struct autofs_mounts autofs_mounts_t; + +/************** END FORWARD DEFINITIONS *****************/ + + +//typedef struct autofs_dev_bufs autofs_dev_bufs_t; + + +struct autofs_instance +{ + struct autofs_dev_bufs *device; + kthread_t *controller_thread; + + autofs_mounts_t *mount_list; + + void *extensions; +}; + + +struct autofs_mounts +{ + autofs_mounts_t *next; + autofs_instance_t *instance_p; + char *mountpoint; + struct pfs_node *mount_file; /**The pn_data field points to the autofs mount + structure **/ + int timeout; /* Timeout in seconds */ + int time_remaining; /* Time remaining until next timeout event */ +}; + #endif /*** __AUTOFS_MAIN_HEADER__ ***/ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.c#6 (text+ko) ==== @@ -67,7 +67,7 @@ int autofs_ctl_init() { - DEBUG KPRINTF( "Initializing " ); + DEBUG KPRINTF( "Initializing autofs ctl device...\n" ); return 0; } @@ -78,7 +78,22 @@ MALLOC_DECLARE( M_AUTOFS_DEV_BUFFERS ); MALLOC_DEFINE( M_AUTOFS_DEV_BUFFERS, "autofs_dev_buffers", "autofs device io buffers" ); -int create_autofs_node( int num ) +MALLOC_DEFINE( M_AUTOFS_DEV_LOCKS, "autofs_dev_lock", "Autofs mutex locks for individual devices..." ); + + +static int +destroy_autofs_node( int num ) +{ + int error; + + error= 0; + + + return ENOSYS; +} + +static int +create_autofs_node( int num ) { int error; struct cdevsw *autofs_cdevsw; @@ -88,11 +103,13 @@ error= 0; autofs_cdevsw= malloc( sizeof( struct cdevsw ), M_AUTOFS_DEV, M_WAITOK ); - autofs_dev_data= malloc( sizeof( struct autofs_dev_bufs ), M_AUTOFS_DEV_BUFFERS, - M_WAITOK ); + autofs_dev_data= malloc( sizeof( struct autofs_dev_bufs ), + M_AUTOFS_DEV_BUFFERS, M_WAITOK ); + autofs_dev_data->input= autofs_queue_init(); autofs_dev_data->output= autofs_queue_init(); + autofs_dev_data->instances= 0; autofs_cdevsw->d_open= autofs_dev_open; autofs_cdevsw->d_close= autofs_dev_close; @@ -131,10 +148,12 @@ { $cleanup_init_size( 8 ); int error= 0; - int *argp= (int *) arg_c; + int *argp; int arg; - argp= NULL; + //argp= NULL; + argp= (int *) arg_c; + arg= *argp; error= EOPNOTSUPP; //$return EOPNOTSUPP; @@ -156,6 +175,13 @@ break; + case AFSIODESTROYDEV: + error= destroy_autofs_node( arg ); + + $do_cleanup; + + break; + default: /* NOTREACHED */ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.h#5 (text+ko) ==== @@ -30,9 +30,12 @@ #ifndef __AUTOFS_CTL_H__ #define __AUTOFS_CTL_H__ +#include +#include +#ifdef _KERNEL #include "autofs.h" #include "autofs_subr.h" -#include + #include #include /* uprintf */ #include @@ -45,9 +48,7 @@ #include #include -#include -#define AUTOFS_CTL_DEV_NAME "autofs_ctl" @@ -55,7 +56,6 @@ extern struct cdevsw autofs_ctl_devops; -typedef int *_int_p; struct autofs_ctl_state { @@ -67,7 +67,9 @@ extern struct autofs_ctl_state autofs_ctl_state; extern int autofs_ctl_init( void ); -int create_autofs_node( int num ); + +//int destroy_autofs_node( int num ); +//int create_autofs_node( int num ); #define MAX_NODE_COUNT ( 32 ) @@ -76,21 +78,18 @@ -struct autofs_dev_bufs { - queue *input; - queue *output; -}; + +#endif + +typedef int *_int_p; /** Are we allowed to reuse group "a"? **/ +#define AFSIOCREATDEV _IOR('a', 1, _int_p) /* 1 - create autofs node */ +#define AFSIODESTROYDEV _IOR('a', 2, _int_p) /* 2 - destroy autofs node */ -#define AFSIOCREATDEV _IOR('a', 1, _int_p) /* 1 - create autofs node */ +#define AUTOFS_CTL_DEV_NAME "autofs_ctl" -#define AUTOFS_GET_BUFFERS( p_info )\ - ( (struct autofs_dev_bufs *) ( AUTOFS_GET_DEV( ( p_info ) )->si_priv ) ) - -#define AUTOFS_GET_DEV( p_info )\ - ( (struct cdev *) ( ( p_info )->pi_priv ) ) #endif /** __AUTOFS_CTL_H__ **/ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#6 (text+ko) ==== @@ -36,15 +36,21 @@ #include #include /* defines used in kernel.h */ #include /* types used in module initialization */ +#include /* used for devsw function */ #include #include #include #include +#include "debug.h" #include "cleanup.h" +#include "autofs_ctl.h" #include "autofs_dev.h" +#include "autofs_subr.h" +#define AUTOFS_IO_BUF_SIZE ( 4096 ) + struct uio *in_buffer, *out_buffer; int @@ -62,12 +68,134 @@ -int autofs_dev_open( struct cdev *dev, int oflags, int devtype, struct thread *td ) +int +autofs_dev_open( struct cdev *dev, int oflags, int devtype, + struct thread *td ) +{ + int error; + int *inst_p; + error= 0; + + inst_p= & ( AUTOFS_DEV_GET_PRIVATE( dev )->instances ); + + if( *inst_p == 0 ) + { + ( *inst_p )++; + } else { + DEBUG EPRINTF( "Tried to open the autofs device \"%s\" " + "multiple times!\n", dev->si_devsw->d_name ); + error= ENXIO; + } + + return error; +} + +int +autofs_dev_close( struct cdev *dev, int oflags, int devtype, + struct thread *td ) +{ + int error; + int *inst_p; + error= 0; + + inst_p= &( AUTOFS_DEV_GET_PRIVATE( dev )->instances ); + + if( *inst_p == 0 ) + { + DEBUG EPRINTF( "Tried to close device: \"%s\", beyond natural " + "close minimum!\n", dev->si_devsw->d_name ); + error= EDOOFUS; + } + else + { + ( *inst_p )--; + } + + + return error; +} + +MALLOC_DECLARE( M_AUTOFS_DEV_OUT ); +MALLOC_DEFINE( M_AUTOFS_DEV_OUT, "autofs read", "Autofs read bounce buffer" ); + + +int +autofs_dev_read( struct cdev *dev, struct uio *uio, int ioflag ) +{ + int remains; + struct autofs_dev_bufs *bufs; + queue *q; + int amt; + int error; + unsigned char out_buf[ AUTOFS_IO_BUF_SIZE ]; /* No more than a page! */ + + error= 0; + amt= MIN( uio->uio_resid, AUTOFS_IO_BUF_SIZE ); + + bufs= AUTOFS_DEV_GET_BUFFERS( dev ); + q= bufs->output; + + + do + { + remains= autofs_queue_remaining( q ); + /* + * We really should do SOME kind of sleep. This is more a spinlock + * right now. + */ + } + while( remains > 0 ); + + amt= MIN( remains, amt ); + autofs_queue_read( q, out_buf, amt ); + + error= uiomove( out_buf, amt, uio ); + + + return error; +} + +int +autofs_dev_write( struct cdev *dev, struct uio *uio, int ioflag ) { + struct autofs_dev_bufs *bufs; + queue *q; + int amt; int error; - int i; + unsigned char in_buf[ AUTOFS_IO_BUF_SIZE ]; /* No more than a page! */ + error= 0; - i= minor( dev ); + amt= MIN( uio->uio_resid, AUTOFS_IO_BUF_SIZE ); + + bufs= AUTOFS_DEV_GET_BUFFERS( dev ); + q= bufs->input; + + + error= uiomove( in_buf, amt, uio ); + if( error ) + { + return error; + } + + + autofs_queue_write( q, in_buf, amt ); + return error; } + +int +autofs_dev_poll( struct cdev *dev, int events, struct thread *td ) +{ + int rv= 0; + struct autofs_dev_bufs *bufs; + queue *q; + + bufs= AUTOFS_DEV_GET_BUFFERS( dev ); + q= bufs->output; + + + rv= autofs_queue_remaining( q ); + + return rv; +} ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.h#4 (text+ko) ==== @@ -1,3 +1,35 @@ +/*- + * Copyright (c) 2006 + * Adam Martin, Erez Zadok. All rights reserved. + * + * This code is derived from software in FreeBSD, and 4.4BSD. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The authors' names may not be used to endorse or promote products + * derived from this software without specific written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef __AUTOFS_DEVICE_HEADER__ +#define __AUTOFS_DEVICE_HEADER__ + #include #include @@ -14,3 +46,32 @@ int autofs_dev_read( struct cdev *dev, struct uio *uio, int ioflag ); int autofs_dev_write( struct cdev *dev, struct uio *uio, int ioflag ); int autofs_dev_poll( struct cdev *dev, int events, struct thread *td ); + + +struct autofs_dev_bufs; +typedef struct autofs_dev_bufs autofs_dev_bufs_t; + +struct autofs_dev_bufs +{ + queue *input; + queue *output; + int instances; + struct mtx *autofs_dev_lock; + autofs_instance_t *this_instance; +}; + + + + +#define AUTOFS_GET_BUFFERS( p_info )\ + ( AUTOFS_DEV_GET_BUFFERS( AUTOFS_GET_DEV( ( p_info ) ) ) ) + +#define AUTOFS_DEV_GET_PRIVATE AUTOFS_DEV_GET_BUFFERS +#define AUTOFS_DEV_GET_BUFFERS( afs_dev )\ + ( (struct autofs_dev_bufs *) ( ( afs_dev )->si_priv ) ) + +#define AUTOFS_GET_DEV( p_info )\ + ( (struct cdev *) ( ( p_info )->pi_priv ) ) + + +#endif /*** __AUTOFS_DEVICE_HEADER__ ***/ ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#6 (text+ko) ==== @@ -59,6 +59,7 @@ #include "protocol.h" #include "debug.h" #include "autofs_ctl.h" +#include "autofs_dev.h" MALLOC_DEFINE(M_AUTOFS_MOUNTBUF, "AutoFS mntbuf", "AutoFS mountpoint data, to simulate filesystem contents."); ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_subr.c#3 (text+ko) ==== @@ -4,7 +4,8 @@ int autofs_queue_write( queue *q, void *buf, int len ) { - m_append( (struct mbuf *) q, len, buf ); + struct mbuf *mb= (struct mbuf *) q; + m_append( mb, len, buf ); return 0; } @@ -12,8 +13,10 @@ int autofs_queue_read( queue *q, void *buf, int len ) { - m_copydata( (struct mbuf *) q, 0, len, (caddr_t) buf ); - m_adj( (struct mbuf *) q, len ); + struct mbuf *mb= (struct mbuf *) q; + + m_copydata( mb, 0, len, (caddr_t) buf ); + m_adj( mb, len ); return 0; } @@ -27,3 +30,14 @@ return (queue *) rv; } + +int +autofs_queue_remaining( queue *q ) +{ + struct mbuf *mb= (struct mbuf *) q; + int len; + + len= m_length( mb, NULL ); + + return len; /* How much remains... */ +} From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C075E16B6A4; Tue, 21 Nov 2006 17:23:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 386B216B334 for ; Tue, 21 Nov 2006 17:21:47 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA3AB440F8 for ; Tue, 21 Nov 2006 17:17:51 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIE6O068581 for ; Tue, 21 Nov 2006 17:18:14 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIEuD068573 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:14 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:14 GMT Message-Id: <200611211718.kALHIEuD068573@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110291 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=110291 Change 110291 by bushman@bushman_nss_ldap_cached on 2006/11/20 11:09:09 + Now, before writing something to cache, we check for such element existence. With this check we now avoid some race-condition situations, when 2 program write similar data to the same cache entry. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#10 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#10 (text) ==== @@ -339,6 +339,7 @@ struct cache_write_request *write_request; struct cache_write_response *write_response; cache_entry c_entry; + size_t tdata_size; TRACE_IN(on_write_request_process); init_comm_element(&qstate->response, CET_WRITE_RESPONSE); @@ -386,19 +387,35 @@ if (c_entry != NULL) { configuration_lock_entry(qstate->config_entry, CELT_POSITIVE); qstate->config_entry->positive_cache_entry = c_entry; - write_response->error_code = cache_write(c_entry, + + /* checking if there is already a record in the cache */ + write_response->error_code = cache_read(c_entry, write_request->cache_key, - write_request->cache_key_size, - write_request->data, - write_request->data_size); - configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE); + write_request->cache_key_size, NULL, + &tdata_size); + + if (write_response->error_code == -1) { + write_response->error_code = cache_write(c_entry, + write_request->cache_key, write_request->cache_key_size, + write_request->data, write_request->data_size); - if ((qstate->config_entry->common_query_timeout.tv_sec != 0) || - (qstate->config_entry->common_query_timeout.tv_usec != 0)) + if ((qstate->config_entry->common_query_timeout.tv_sec + != 0) || + (qstate->config_entry->common_query_timeout.tv_usec + != 0)) memcpy(&qstate->timeout, - &qstate->config_entry->common_query_timeout, - sizeof(struct timeval)); - + &qstate->config_entry->common_query_timeout, + sizeof(struct timeval)); + } else { + LOG_ERR_2("write_request", + "trying to write to entry '%s', despite that " + "there is already an element with specified " + "key in the cache", write_request->entry); + + write_response->error_code = -1; + } + + configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE); } else write_response->error_code = -1; @@ -417,6 +434,7 @@ struct cache_write_request *write_request; struct cache_write_response *write_response; cache_entry c_entry; + size_t tdata_size; TRACE_IN(on_negative_write_request_process); init_comm_element(&qstate->response, CET_WRITE_RESPONSE); @@ -468,20 +486,37 @@ if (c_entry != NULL) { configuration_lock_entry(qstate->config_entry, CELT_NEGATIVE); qstate->config_entry->negative_cache_entry = c_entry; - write_response->error_code = cache_write(c_entry, + + write_response->error_code = cache_read(c_entry, write_request->cache_key, - write_request->cache_key_size, - negative_data, - sizeof(negative_data)); + write_request->cache_key_size, + NULL, + &tdata_size); + if (write_response->error_code == -1) { + write_response->error_code = cache_write(c_entry, + write_request->cache_key, write_request->cache_key_size, + negative_data, sizeof(negative_data)); + + if ((qstate->config_entry->common_query_timeout.tv_sec + != 0) || + (qstate->config_entry->common_query_timeout.tv_usec + != 0)) + memcpy(&qstate->timeout, + &qstate->config_entry->common_query_timeout, + sizeof(struct timeval)); + } else + write_response->error_code = -1; + configuration_unlock_entry(qstate->config_entry, CELT_NEGATIVE); - - if ((qstate->config_entry->common_query_timeout.tv_sec != 0) || - (qstate->config_entry->common_query_timeout.tv_usec != 0)) - memcpy(&qstate->timeout, - &qstate->config_entry->common_query_timeout, - sizeof(struct timeval)); - } else + } else { + LOG_ERR_2("write_request", + "trying to write negative request to entry " + "'%s', despite that " + "there is already an element with specified " + "key in the cache", write_request->entry); + write_response->error_code = -1; + } fin: qstate->kevent_filter = EVFILT_WRITE; @@ -697,9 +732,11 @@ } configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE); - configuration_lock_entry(qstate->config_entry, CELT_NEGATIVE); - qstate->config_entry->negative_cache_entry = neg_c_entry; if (read_response->error_code == -1) { + configuration_lock_entry(qstate->config_entry, + CELT_NEGATIVE); + qstate->config_entry->negative_cache_entry = + neg_c_entry; read_response->error_code = cache_read(neg_c_entry, read_request->cache_key, read_request->cache_key_size, NULL, @@ -710,8 +747,9 @@ read_response->data = NULL; read_response->data_size = 0; } - } - configuration_unlock_entry(qstate->config_entry, CELT_NEGATIVE); + configuration_unlock_entry(qstate->config_entry, + CELT_NEGATIVE); + } if ((read_response->error_code == -1) && (qstate->config_entry->flags & From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F090016B6A8; Tue, 21 Nov 2006 17:23:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A8ED816B329 for ; Tue, 21 Nov 2006 17:21:48 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C050440F4 for ; Tue, 21 Nov 2006 17:17:49 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHICDa068526 for ; Tue, 21 Nov 2006 17:18:12 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIChp068522 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:12 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:12 GMT Message-Id: <200611211718.kALHIChp068522@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110285 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=110285 Change 110285 by imp@imp_paco-paco on 2006/11/20 06:41:20 Loopback Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91.c#25 integrate Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91.c#25 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.9 2006/11/19 23:47:51 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.10 2006/11/20 06:27:15 imp Exp $"); #include #include @@ -412,12 +412,12 @@ AT91RM92_SYS_SIZE, &sc->sc_sys_sh) != 0) panic("Enable to map IRQ registers"); sc->obio.sc_irq_rman.rm_type = RMAN_ARRAY; - sc->obio.sc_irq_rman.rm_descr = "AT91RM92 IRQs"; + sc->obio.sc_irq_rman.rm_descr = "AT91 IRQs"; sc->obio.sc_mem_rman.rm_type = RMAN_ARRAY; - sc->obio.sc_mem_rman.rm_descr = "AT91RM92 Memory"; + sc->obio.sc_mem_rman.rm_descr = "AT91 Memory"; #if 0 sc->sc_usbmem_rman.rm_type = RMAN_ARRAY; - sc->sc_usbmem_rman.rm_descr = "AT91RM92 USB Memory-mapped regs"; + sc->sc_usbmem_rman.rm_descr = "AT91RM9200 USB Memory-mapped regs"; #endif if (rman_init(&sc->obio.sc_irq_rman) != 0 || rman_manage_region(&sc->obio.sc_irq_rman, 1, 31) != 0) From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5743816B6AF; Tue, 21 Nov 2006 17:23:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9500016B382 for ; Tue, 21 Nov 2006 17:21:52 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 99CD844119 for ; Tue, 21 Nov 2006 17:18:13 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIXHi068816 for ; Tue, 21 Nov 2006 17:18:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIWrE068813 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:32 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:32 GMT Message-Id: <200611211718.kALHIWrE068813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=110322 Change 110322 by imp@imp_lighthouse on 2006/11/21 00:54:04 Don't return EIO when reset works (doesn't matter though) Add silly printf at91_twi_wait() returns 0 for success, not failure. We now seem to read things, but the data isn't returned to userland for reasosn unknown. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91_twi.c#27 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91_twi.c#27 (text+ko) ==== @@ -396,7 +396,7 @@ WR4(sc, TWI_CR, TWI_CR_MSEN | TWI_CR_SVDIS); WR4(sc, TWI_CWGR, sc->cwgr); - return EIO; + return 0; } static int @@ -435,6 +435,8 @@ * See http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-September/024411.html * for details. */ + printf("%d: flags %#x len %d buf %p\n", i, msgs[i].flags, + msgs[i].len, msgs[i].buf); rdwr = (msgs[i].flags & IIC_M_RD) ? TWI_MMR_MREAD : 0; WR4(sc, TWI_MMR, TWI_MMR_DADR(msgs[i].slave) | rdwr); len = msgs[i].len; @@ -446,7 +448,7 @@ while (len--) { if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (!at91_twi_wait(sc, TWI_SR_RXRDY)) { + if (at91_twi_wait(sc, TWI_SR_RXRDY)) { printf("1\n"); return (EIO); } @@ -457,13 +459,13 @@ WR4(sc, TWI_THR, *buf++); if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (!at91_twi_wait(sc, TWI_SR_TXRDY)) { + if (at91_twi_wait(sc, TWI_SR_TXRDY)) { printf("3\n"); return (EIO); } } } - if (!at91_twi_wait(sc, TWI_SR_TXCOMP)) { + if (at91_twi_wait(sc, TWI_SR_TXCOMP)) { printf("2\n"); return (EIO); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EFB716B695; Tue, 21 Nov 2006 17:23:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CDA4316D61B for ; Tue, 21 Nov 2006 17:21:59 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BA0644148 for ; Tue, 21 Nov 2006 17:18:21 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIdRB068898 for ; Tue, 21 Nov 2006 17:18:39 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIaft068869 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:36 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:36 GMT Message-Id: <200611211718.kALHIaft068869@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110330 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=110330 Change 110330 by bushman@bushman_nss_ldap_cached on 2006/11/21 08:20:32 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/amd.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#11 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.local.dist#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.usr.dist#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipfilter#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/Makefile#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/ar.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#12 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/arith.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/htonl.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/htons.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/ntohl.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/net/ntohs.S#3 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/cerror.S#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/ptrace.S#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/byte_swap_2.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/byte_swap_4.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/Makefile.inc#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/gethostbyname.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/ntoh.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/resolver.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/Makefile.inc#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/htonl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/htons.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/ntohl.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/net/ntohs.S#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/Makefile.inc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/clock_gettime.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/getpid.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/kqueue.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/ptrace.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/statfs.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_ok.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.endian.mk#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.port.mk#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.sys.mk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.freebsd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fetch/fetch.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrace/ktrace.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/if.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/sockstat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/sockstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/vmstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/getdate.y#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/top/machine.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/vmstat/vmstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/vmstat/vmstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/Makefile#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidd/client.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/bsnmpd/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ipfwpcap/ipfwpcap.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/kbdcontrol/kbdcontrol.1#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/kbdcontrol/kbdcontrol.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mountd/mountd.c#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pccard/dumpcis/dumpcis.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/portsnap/phttpget/phttpget.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/eui64.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/eui64.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/ipv6cp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/ipv6cp.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/options.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/pathnames.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/pppd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/pppd.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/sys-bsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/route6d/route6d.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/config.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/index.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/install.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/installUpgrade.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/wpa_passphrase/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.563 2006/10/16 22:18:13 jb Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.564 2006/11/13 05:52:11 ru Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -30,18 +30,17 @@ # entries works correctly. Do it first since it is less likely to # grow dependencies on include and lib than vice versa. # -# We must do lib and libexec before bin, because if installworld +# We must do lib/ and libexec/ before bin/, because if installworld # installs a new /bin/sh, the 'make' command will *immediately* # use that new version. And the new (dynamically-linked) /bin/sh # will expect to find appropriate libraries in /lib and /libexec. # -# We must do etc last for install/distribute to work. -# -SUBDIR= share/info include lib libexec bin +SUBDIR= share/info lib libexec +SUBDIR+=bin .if ${MK_GAMES} != "no" SUBDIR+=games .endif -SUBDIR+=gnu +SUBDIR+=gnu include .if ${MK_KERBEROS} != "no" SUBDIR+=kerberos5 .endif @@ -55,7 +54,11 @@ .if !defined(NO_SHARE) SUBDIR+=share .endif -SUBDIR+=sys usr.bin usr.sbin etc +SUBDIR+=sys usr.bin usr.sbin +# +# We must do etc/ last for install/distribute to work. +# +SUBDIR+=etc # These are last, since it is nice to at least get the base system # rebuilt before you do them. ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/amd.map#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/amd.map,v 1.9 2002/05/15 22:24:29 obrien Exp $ +# $FreeBSD: src/etc/amd.map,v 1.10 2006/11/06 01:42:11 obrien Exp $ # /defaults type:=host;fs:=${autodir}/${rhost}/host;rhost:=${key} -* opts:=rw,grpid,resvport,vers=3,proto=udp,nosuid,nodev +* opts:=rw,grpid,resvport,vers=3,proto=tcp,nosuid,nodev ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#11 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.301 2006/10/28 20:08:12 phk Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.302 2006/11/06 15:11:24 rwatson Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -478,6 +478,7 @@ ############################################################## auditd_enable="NO" # Run the audit daemon. +auditd_program="/usr/sbin/auditd" # Path to the audit daemon. auditd_flags="" # Which options to pass to the audit daemon. cached_enable="NO" # Run the nsswitch caching daemon. cron_enable="YES" # Run the periodic job daemon. ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.local.dist#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.120 2006/10/02 00:23:13 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.125 2006/11/12 12:02:34 ache Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -725,8 +725,6 @@ .. lt_LT.UTF-8 .. - mn_MN.UTF-8 - .. nl_BE.ISO8859-1 .. nl_BE.ISO8859-15 ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.usr.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.322 2006/10/02 00:23:14 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.323 2006/11/09 18:10:33 des Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -551,6 +551,12 @@ .. mn_MN.UTF-8 .. + nb_NO.ISO8859-1 + .. + nb_NO.ISO8859-15 + .. + nb_NO.UTF-8 + .. nl_BE.ISO8859-1 .. nl_BE.ISO8859-15 @@ -563,6 +569,12 @@ .. nl_NL.UTF-8 .. + nn_NO.ISO8859-1 + .. + nn_NO.ISO8859-15 + .. + nn_NO.UTF-8 + .. no_NO.ISO8859-1 .. no_NO.ISO8859-15 ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipfilter#2 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: ipfilter,v 1.10 2001/02/28 17:03:50 lukem Exp $ -# $FreeBSD: src/etc/rc.d/ipfilter,v 1.24 2005/07/07 05:59:44 jkim Exp $ +# $FreeBSD: src/etc/rc.d/ipfilter,v 1.25 2006/11/11 10:48:34 ceri Exp $ # # PROVIDE: ipfilter @@ -93,11 +93,17 @@ if [ -r "${ipfilter_rules}" ]; then ${ipfilter_program:-/sbin/ipf} -I \ -f "${ipfilter_rules}" ${ipfilter_flags} + if [ $? -ne 0 ]; then + err 1 'Load of rules into alternate set failed; aborting reload' + fi fi ${ipfilter_program:-/sbin/ipf} -I -6 -Fa if [ -r "${ipv6_ipfilter_rules}" ]; then ${ipfilter_program:-/sbin/ipf} -I -6 \ -f "${ipv6_ipfilter_rules}" ${ipfilter_flags} + if [ $? -ne 0 ]; then + err 1 'Load of IPv6 rules into alternate set failed; aborting reload' + fi fi ${ipfilter_program:-/sbin/ipf} -s ==== //depot/projects/soc2006/nss_ldap_cached/src/include/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.265 2006/10/31 22:22:29 pjd Exp $ +# $FreeBSD: src/include/Makefile,v 1.266 2006/11/11 16:26:54 trhodes Exp $ # # Doing a "make install" builds /usr/include. @@ -36,7 +36,7 @@ LDIRS= bsm cam geom net net80211 netatalk netatm netgraph netinet netinet6 \ netipsec ${_netipx} netkey netnatm ${_netncp} netsmb \ nfs nfsclient nfsserver \ - pccard posix4 sys vm + pccard sys vm LSUBDIRS= cam/scsi \ dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \ @@ -111,7 +111,7 @@ INCSLINKS+= machine/$i ${INCLUDEDIR}/$i .endfor .for i in ${PHDRS} -INCSLINKS+= posix4/$i ${INCLUDEDIR}/$i +INCSLINKS+= sys/$i ${INCLUDEDIR}/$i .endfor .if ${MACHINE} != ${MACHINE_ARCH} ==== //depot/projects/soc2006/nss_ldap_cached/src/include/ar.h#2 (text+ko) ==== @@ -39,11 +39,15 @@ * SUCH DAMAGE. * * @(#)ar.h 8.2 (Berkeley) 1/21/94 + * + * $FreeBSD: src/include/ar.h,v 1.2 2006/11/13 04:28:29 jkoshy Exp $ */ #ifndef _AR_H_ #define _AR_H_ +#include + /* Pre-4BSD archives had these magic numbers in them. */ #define OARMAG1 0177555 #define OARMAG2 0177545 @@ -62,6 +66,6 @@ char ar_size[10]; /* size in bytes */ #define ARFMAG "`\n" char ar_fmag[2]; /* consistency check */ -}; +} __packed; #endif /* !_AR_H_ */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#12 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.218 2006/09/30 11:32:46 ru Exp $ +# $FreeBSD: src/lib/Makefile,v 1.219 2006/11/11 17:16:32 jkoshy Exp $ .include @@ -28,7 +28,7 @@ # # Otherwise, the SUBDIR list should be in alphabetical order. -SUBDIR= ${_csu} libbsm libcom_err libcrypt libkvm msun libmd libncurses \ +SUBDIR= ${_csu} libbsm libcom_err libcrypt libelf libkvm msun libmd libncurses \ libnetgraph libnssutil \ libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} libalias libarchive ${_libatm} \ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/arith.h#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * MD header for contrib/gdtoa * - * $FreeBSD: src/lib/libc/arm/arith.h,v 1.1 2004/05/14 12:04:29 cognet Exp $ + * $FreeBSD: src/lib/libc/arm/arith.h,v 1.2 2006/11/06 20:49:23 cognet Exp $ */ /* @@ -11,6 +11,11 @@ * architecture. See contrib/gdtoa/gdtoaimp.h for details. */ +#ifndef __ARMEB__ #define IEEE_8087 #define Arith_Kind_ASL 1 #define Sudden_Underflow +#else +#define IEEE_MC68k +#define Arith_Kind_ASL 2 +#endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/cerror.S#2 (text+ko) ==== @@ -32,14 +32,13 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/arm/sys/cerror.S,v 1.2 2004/11/09 16:49:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/arm/sys/cerror.S,v 1.3 2006/11/09 01:28:16 cognet Exp $"); #include "SYS.h" .globl _C_LABEL(__error) .type _C_LABEL(__error),%function ASENTRY(CERROR) -#if 1 stmfd sp!, {r4, lr} mov r4, r0 bl PIC_SYM(_C_LABEL(__error), PLT) @@ -47,30 +46,3 @@ mvn r0, #0x00000000 mvn r1, #0x00000000 ldmfd sp!, {r4, pc} -#else -#ifdef PIC - /* Setup the GOT */ - ldr r3, .Lgot - add r3, pc, r3 -.L1: - ldr r1, .Lerrno - ldr r1, [r3, r1] -#else - ldr r1, .Lerrno -#endif /* PIC */ - str r0, [r1] - mvn r0, #0x00000000 - mvn r1, #0x00000000 - RET - -#if 0 - .align 0 -.Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif /* PIC */ - - .globl _C_LABEL(errno) - -.Lerrno: - .word PIC_SYM(_C_LABEL(errno), GOT) -#endif /* _REENTRANT */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/sys/ptrace.S#2 (text+ko) ==== @@ -32,46 +32,17 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/arm/sys/ptrace.S,v 1.2 2004/11/09 16:49:14 cognet Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/arm/sys/ptrace.S,v 1.3 2006/11/09 01:28:16 cognet Exp $"); #include "SYS.h" ENTRY(ptrace) -#ifdef _REENTRANT stmfd sp!, {r0-r3, lr} sub sp, sp, #4 /* align stack */ - bl PIC_SYM(_C_LABEL(__errno), PLT) + bl PIC_SYM(_C_LABEL(__error), PLT) add sp, sp, #4 /* unalign stack */ mov r1, #0x00000000 str r1, [r0] ldmfd sp!, {r0-r3, lr} -#else - stmfd sp!, {r0, r1} -#ifdef PIC - /* Setup the GOT */ - ldr r0, .Lgot - add r0, pc, r0 -.L1: - ldr r1, .Lerrno - ldr r1, [r0, r1] -#else - ldr r1, .Lerrno -#endif /* PIC */ - mov r0, #0x00000000 - str r0, [r1] - ldmfd sp!, {r0, r1} -#endif /* _REENTRANT */ - SYSTRAP(ptrace) bcs PIC_SYM(CERROR, PLT) RET - -#ifndef _REENTRANT -#ifdef PIC - .align 0 -.Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif /* PIC */ - -.Lerrno: - .word PIC_SYM(_C_LABEL(errno), GOT) -#endif /* !_REENTRANT */ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/Makefile.inc#7 (text+ko) ==== @@ -1,15 +1,15 @@ # from @(#)Makefile.inc 8.2 (Berkeley) 9/5/93 -# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.61 2006/07/26 08:36:46 yar Exp $ +# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.62 2006/11/06 22:07:47 cognet Exp $ # machine-independent net sources -.PATH: ${.CURDIR}/${MACHINE_ARCH}/net ${.CURDIR}/net +.PATH: ${.CURDIR}/net -SRCS+= addr2ascii.c ascii2addr.c base64.c ether_addr.c eui64.c \ +SRCS+= addr2ascii.c ascii2addr.c base64.c ether_addr.c eui64.c \ gai_strerror.c getaddrinfo.c gethostnamadr.c \ getifaddrs.c getifmaddrs.c getnameinfo.c \ getnetnamadr.c getprotoent.c getservent.c \ if_indextoname.c if_nameindex.c if_nametoindex.c \ - ip6opt.c linkaddr.c map_v4v6.c name6.c \ + ip6opt.c linkaddr.c map_v4v6.c name6.c ntoh.c \ nsdispatch.c nslexer.c nsparser.c nss_compat.c \ rcmd.c rcmdsh.c recv.c rthdr.c send.c sockatmark.c vars.c @@ -40,11 +40,6 @@ ${LEX} ${LFLAGS} -o/dev/stdout ${.IMPSRC} | \ sed -e '/YY_BUF_SIZE/s/16384/1024/' >${.TARGET} -# machine-dependent net sources -.if exists(${.CURDIR}/${MACHINE_ARCH}/net/Makefile.inc) -.include "${.CURDIR}/${MACHINE_ARCH}/net/Makefile.inc" -.endif - MAN+= addr2ascii.3 byteorder.3 ethers.3 eui64.3 \ getaddrinfo.3 gai_strerror.3 gethostbyname.3 \ getifaddrs.3 getifmaddrs.3 getipnodebyname.3 \ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/gethostbyname.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95 -.\" $FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.36 2006/09/17 21:27:33 ru Exp $ +.\" $FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.37 2006/11/04 09:42:22 lawrance Exp $ .\" .Dd May 12, 2006 .Dt GETHOSTBYNAME 3 @@ -49,7 +49,7 @@ .Lb libc .Sh SYNOPSIS .In netdb.h -.Vt extern int h_errno ; +.Vt int h_errno ; .Ft struct hostent * .Fn gethostbyname "const char *name" .Ft struct hostent * @@ -261,7 +261,7 @@ is indicated by return of a .Dv NULL pointer. -The external integer +The integer .Va h_errno may then be checked to see whether this is a temporary failure or an invalid or unknown host. ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/resolver.3#3 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)resolver.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/resolver.3,v 1.31 2006/07/17 09:27:26 stefanf Exp $ +.\" $FreeBSD: src/lib/libc/net/resolver.3,v 1.32 2006/11/04 09:42:22 lawrance Exp $ .\" -.Dd June 4, 1993 +.Dd November 4, 2006 .Dt RESOLVER 3 .Os .Sh NAME @@ -410,6 +410,20 @@ .Fn res_init function will return 0 on success, or \-1 in a threaded program if per-thread storage could not be allocated. +.Pp +The +.Fn res_mkquery , +.Fn res_search , +and +.Fn res_query +functions return the size of the response on success, or \-1 if an +error occurs. +The integer +.Vt h_errno +may be checked to determine the reason for error. +See +.Xr gethostbyname 3 +for more information. .Sh FILES .Bl -tag -width /etc/resolv.conf .It Pa /etc/resolv.conf ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/Makefile.inc#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.9 2003/08/11 07:14:07 bms Exp $ +# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.10 2006/11/03 23:43:18 kmacy Exp $ SRCS+= __sparc_sigtramp_setup.c \ __sparc_utrap.c \ @@ -11,6 +11,9 @@ sigcode.S CFLAGS+= -I${.CURDIR}/sparc64/fpu +.if ${MACHINE} == "sun4v" +CFLAGS+= -DSUN4V +.endif MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.4 2002/06/30 05:36:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.5 2006/11/03 23:43:18 kmacy Exp $"); .register %g2, #ignore .register %g3, #ignore @@ -38,6 +38,10 @@ #include "assym.s" ENTRY(__sparc_utrap_gen) +#ifdef SUN4V + save + ta %xcc, ST_FPEMU_CONTEXT +#endif sub %sp, UF_SIZEOF, %sp stx %o0, [%sp + SPOFF + CCFSZ + UF_TYPE] ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/clock_gettime.2#3 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.22 2006/09/17 21:27:34 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.23 2006/11/04 09:35:36 danger Exp $ .\" -.Dd November 18, 2005 +.Dd November 4, 2006 .Dt CLOCK_GETTIME 2 .Os .Sh NAME @@ -44,7 +44,7 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS -.In sys/time.h +.In time.h .Ft int .Fn clock_gettime "clockid_t clock_id" "struct timespec *tp" .Ft int @@ -82,7 +82,7 @@ The structure pointed to by .Fa tp is defined in -.In sys/time.h +.In sys/timespec.h as: .Pp .Bd -literal ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/extattr_get_file.2#2 (text+ko) ==== @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/extattr_get_file.2,v 1.17 2005/06/10 16:54:17 rodrigc Exp $ +.\" $FreeBSD: src/lib/libc/sys/extattr_get_file.2,v 1.18 2006/11/06 15:12:43 rwatson Exp $ .\" .Dd February 23, 2005 .Dt EXTATTR 2 @@ -48,7 +48,6 @@ .Sh SYNOPSIS .In sys/types.h .In sys/extattr.h -.In sys/uio.h .Ft ssize_t .Fn extattr_get_fd "int fd" "int attrnamespace" "const char *attrname" "void *data" "size_t nbytes" .Ft int ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/getpid.2#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)getpid.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.14 2002/12/18 09:22:30 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.15 2006/11/02 14:10:56 ru Exp $ .\" -.Dd June 4, 1993 +.Dd November 2, 2006 .Dt GETPID 2 .Os .Sh NAME @@ -75,7 +75,12 @@ system calls are always successful, and no return value is reserved to indicate an error. .Sh SEE ALSO -.Xr gethostid 3 +.Xr fork 2 , +.Xr getpgrp 2 , +.Xr kill 2 , +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr exec 3 .Sh STANDARDS The .Fn getpid ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/kqueue.2#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.44 2006/09/17 21:27:34 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.45 2006/11/20 22:20:04 jhb Exp $ .\" .Dd August 25, 2006 .Dt KQUEUE 2 @@ -364,6 +364,8 @@ .Bl -tag -width XXNOTE_TRACKERR .It NOTE_EXIT The process has exited. +The exit status will be stored in +.Va data . .It NOTE_FORK The process has called .Fn fork . ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/ptrace.2#2 (text+ko) ==== @@ -1,8 +1,8 @@ -.\" $FreeBSD: src/lib/libc/sys/ptrace.2,v 1.37 2005/02/13 22:25:13 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/ptrace.2,v 1.38 2006/11/09 11:27:18 trhodes Exp $ .\" $NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $ .\" .\" This file is in the public domain. -.Dd August 11, 2003 +.Dd November 9, 2006 .Dt PTRACE 2 .Os .Sh NAME @@ -297,6 +297,8 @@ .Fa data argument is to be set to the size of the structure known to the caller. This allows the structure to grow without affecting older programs. +.It PT_GETLWPLIST +This request can be used to get the current thread list. .El .Pp Additionally, machine-specific requests can exist. ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/statfs.2#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)statfs.2 8.5 (Berkeley) 5/24/95 -.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.27 2006/01/10 23:24:47 grog Exp $ +.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.28 2006/11/01 23:40:44 pjd Exp $ .\" -.Dd November 26, 2004 +.Dd November 1, 2006 .Dt STATFS 2 .Os .Sh NAME @@ -115,6 +115,9 @@ .It Dv MNT_SOFTDEP Soft updates being done (see .Xr ffs 7 ) . +.It Dv MNT_GJOURNAL +Journaling with gjournal is enabled (see +.Xr gjournal 8 ) . .It Dv MNT_SUIDDIR Special handling of SUID bit on directories. .It Dv MNT_UNION ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_ok.3#2 (text+ko) ==== @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $FreeBSD: src/lib/libutil/login_ok.3,v 1.14 2004/07/02 23:52:19 ru Exp $ +.\" $FreeBSD: src/lib/libutil/login_ok.3,v 1.15 2006/11/05 19:00:08 trhodes Exp $ .\" .Dd January 2, 1997 .Os @@ -56,7 +56,7 @@ An empty .Em ttys.allow list (or if no such capability exists for -the give login class) logins via any tty device are allowed unless +the given login class) logins via any tty device are allowed unless the .Em ttys.deny list exists and is non-empty, and the device or its ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.endian.mk#3 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/share/mk/bsd.endian.mk,v 1.3 2006/08/22 07:51:10 ru Exp $ +# $FreeBSD: src/share/mk/bsd.endian.mk,v 1.4 2006/11/05 15:33:26 cognet Exp $ .if ${MACHINE_ARCH} == "amd64" || \ ${MACHINE_ARCH} == "i386" || \ ${MACHINE_ARCH} == "ia64" || \ - (${MACHINE_ARCH} == "arm" && !defined(ARM_BIG_ENDIAN)) + (${MACHINE_ARCH} == "arm" && !defined(TARGET_BIG_ENDIAN)) TARGET_ENDIANNESS= 1234 .elif ${MACHINE_ARCH} == "powerpc" || \ ${MACHINE_ARCH} == "sparc64" || \ ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # Binaries BINOWN?= root @@ -170,6 +172,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -449,5 +452,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.port.mk#3 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.sys.mk#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.38 2006/08/11 17:28:59 des Exp $ +# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.39 2006/11/04 04:39:05 jb Exp $ # # This file contains common settings used for building FreeBSD # sources. @@ -67,5 +67,9 @@ . endif .endif +.if defined(IGNORE_PRAGMA) +CWARNFLAGS += -Wno-unknown-pragmas +.endif + # Allow user-specified additional warning flags CFLAGS += ${CWARNFLAGS} ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.freebsd#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD * - * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.187 2006/10/01 16:17:10 xride Exp $ + * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.188 2006/11/07 14:35:34 laszlof Exp $ */ #ifndef _calendar_freebsd_ @@ -33,6 +33,7 @@ 02/01 Juli Mallett born in Washington, Pennsylvania, United States, 1985 02/02 Diomidis D. Spinellis born in Athens, Greece, 1967 02/02 Yoichi Nakayama born in Tsu, Mie, Japan, 1976 +02/05 Frank Laszlo born in Howell, Michigan, United States, 1983 02/10 Simon Barner born in Rosenheim, Bayern, Germany, 1980 02/10 David Greenman born in Portland, Oregon, United States, 1968 02/10 Paul Richards born in Ammanford, Carmarthenshire, United Kingdom, 1968 ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fetch/fetch.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.bin/fetch/fetch.c,v 1.77 2005/12/30 23:36:26 des Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/fetch/fetch.c,v 1.78 2006/11/10 22:05:41 des Exp $"); #include #include @@ -569,6 +569,8 @@ if (tmppath != NULL) { mkstemps(tmppath, strlen(slash) + 1); of = fopen(tmppath, "w"); + chown(tmppath, sb.st_uid, sb.st_gid); + chmod(tmppath, sb.st_mode & ALLPERMS); } } if (of == NULL) ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.1#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)jot.1 8.1 (Berkeley) 6/6/93 -.\" $FreeBSD: src/usr.bin/jot/jot.1,v 1.18 2006/10/20 04:31:01 cperciva Exp $ +.\" $FreeBSD: src/usr.bin/jot/jot.1,v 1.23 2006/11/06 15:11:50 dds Exp $ .\" -.Dd June 6, 1993 +.Dd November 6, 2006 .Dt JOT 1 .Os .Sh NAME @@ -106,7 +106,8 @@ While at least one of them must appear, any of the other three may be omitted, and will be considered as such if given as -.Fl "" . +.Fl "" +or as an empty string. Any three of these arguments determines the fourth. If four are specified and the given and computed values of .Ar reps @@ -114,7 +115,7 @@ If fewer than three are specified, defaults are assigned left to right, except for .Ar s , -which assumes its default unless both +which assumes a default of 1 or -1 if both .Ar begin and .Ar end @@ -139,7 +140,28 @@ The last argument must be a real number. .Pp Random numbers are obtained through -.Xr random 3 . +.Xr arc4random 3 +when no seed is specified, +and through +.Xr random 3 +when a seed is given. +When +.Nm +is asked to generate random integers or characters with begin +and end values in the range of the random number generator function +and no format is specified with one of the +.Fl w , +.Fl b , +or +.Fl p +options, +.Nm +will arrange for all the values in the range to appear in the output +with an equal probability. +In all other cases be careful to ensure that the output format's +rounding or truncation will not skew the distribution of output +values in an unintended way. +.Pp The name .Nm derives in part from @@ -149,6 +171,10 @@ .Ex -std .Sh EXAMPLES The command +.Dl jot - 1 10 +.Pp +prints the integers from 1 to 10, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6FEF16B6CB; Tue, 21 Nov 2006 17:23:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6AD7816D064 for ; Tue, 21 Nov 2006 17:20:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1DEBA4405B for ; Tue, 21 Nov 2006 17:15:20 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFhqj067719 for ; Tue, 21 Nov 2006 17:15:43 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFh74067716 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:43 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:15:43 GMT Message-Id: <200611211715.kALHFh74067716@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110255 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=110255 Change 110255 by marcel@marcel_cluster on 2006/11/19 20:34:38 keep an accurate version history. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/version#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/efi/version#2 (text+ko) ==== @@ -1,14 +1,6 @@ -$FreeBSD: src/sys/boot/i386/loader/version,v 1.8 2001/12/11 00:49:33 jhb Exp $ +$FreeBSD$ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. -1.1: New calling conventions for fopen. -1.0: New semantics for finding the kernel, new boot. -0.8: Set/getenv & cia, copyin/out. -0.7: Supports large KVM -0.6: Increased dictionary size -- supports loader.4th -0.5: First release version -0.2: Initial integration with BTX -0.1: Initial i386 version, inspiration and some structure from the - NetBSD version. +0.1: Initial i386 version. Derived from ia64. From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 906FD16B73D; Tue, 21 Nov 2006 17:23:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 18F6516D09B for ; Tue, 21 Nov 2006 17:20:59 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 65B8044088 for ; Tue, 21 Nov 2006 17:15:34 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFcdW067659 for ; Tue, 21 Nov 2006 17:15:38 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFcRq067656 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:38 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:15:38 GMT Message-Id: <200611211715.kALHFcRq067656@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=110247 Change 110247 by rdivacky@rdivacky_witten on 2006/11/19 16:46:00 Attempt to fix the mismerge of p4 integrate. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#37 (text+ko) ==== @@ -1413,11 +1413,6 @@ printf(ARGS(getpid, "")); #endif -#ifdef DEBUG - if (ldebug(getpid)) - printf(ARGS(getpid, "")); -#endif - if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1454,11 +1449,6 @@ printf(ARGS(getppid, "")); #endif -#ifdef DEBUG - if (ldebug(getppid)) - printf(ARGS(getppid, "")); -#endif - if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1505,10 +1495,6 @@ int linux_getgid(struct thread *td, struct linux_getgid_args *args) { -#ifdef DEBUG - if (ldebug(getgid)) - printf(ARGS(getgid, "")); -#endif #ifdef DEBUG if (ldebug(getgid)) @@ -1522,10 +1508,6 @@ int linux_getuid(struct thread *td, struct linux_getuid_args *args) { -#ifdef DEBUG - if (ldebug(getuid)) - printf(ARGS(getuid, "")); -#endif #ifdef DEBUG if (ldebug(getuid)) From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:24:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 353E316B769; Tue, 21 Nov 2006 17:23:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B97316D0C8 for ; Tue, 21 Nov 2006 17:21:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 775514408D for ; Tue, 21 Nov 2006 17:15:34 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHFaQC067627 for ; Tue, 21 Nov 2006 17:15:36 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHFZ08067622 for perforce@freebsd.org; Tue, 21 Nov 2006 17:15:35 GMT (envelope-from rdivacky@FreeBSD.org) Date: Tue, 21 Nov 2006 17:15:35 GMT Message-Id: <200611211715.kALHFZ08067622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 110242 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:24:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=110242 Change 110242 by rdivacky@rdivacky_witten on 2006/11/19 09:59:09 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 integrate .. //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/genassym.c#3 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/kdb.h#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/ethernet.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/autoconf.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/identcpu.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/mem.c#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/conf/NOTES#6 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/cache.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/autoconf.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/clock.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/counter.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/db_disasm.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/eeprom.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/elf_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/gdb_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/identcpu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/in_cksum.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/iommu.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/mem.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_bus.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/ofw_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/prof_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/rwindow.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/sys_machdep.c#2 delete .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/tlb.c#2 delete Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.25 2006/10/22 11:52:11 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.27 2006/11/18 17:27:39 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -426,7 +426,7 @@ #ifdef DEBUG if (ldebug(getcwd)) - printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); + printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); #endif len = args->bufsize; ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#36 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.194 2006/11/15 10:01:06 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.197 2006/11/18 14:37:54 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -118,7 +118,7 @@ l_ulong totalbig; l_ulong freebig; l_uint mem_unit; - char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* Pads structure */ + char _f[20-2*sizeof(l_long)-sizeof(l_int)]; /* padding */ }; int linux_sysinfo(struct thread *td, struct linux_sysinfo_args *args) @@ -1413,6 +1413,11 @@ printf(ARGS(getpid, "")); #endif +#ifdef DEBUG + if (ldebug(getpid)) + printf(ARGS(getpid, "")); +#endif + if (linux_use26(td)) { em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); @@ -1449,6 +1454,11 @@ printf(ARGS(getppid, "")); #endif +#ifdef DEBUG + if (ldebug(getppid)) + printf(ARGS(getppid, "")); +#endif + if (!linux_use26(td)) { PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pptr->p_pid; @@ -1500,6 +1510,11 @@ printf(ARGS(getgid, "")); #endif +#ifdef DEBUG + if (ldebug(getgid)) + printf(ARGS(getgid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_rgid; return (0); } @@ -1512,6 +1527,11 @@ printf(ARGS(getuid, "")); #endif +#ifdef DEBUG + if (ldebug(getuid)) + printf(ARGS(getuid, "")); +#endif + td->td_retval[0] = td->td_ucred->cr_ruid; return (0); } ==== //depot/projects/linuxolator/src/sys/conf/files.sun4v#5 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.4 2006/11/13 01:02:18 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.6 2006/11/18 07:24:56 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -37,20 +37,18 @@ libkern/ffsl.c standard libkern/fls.c standard libkern/flsl.c standard -sun4v/sun4v/autoconf.c standard +sparc64/sparc64/autoconf.c standard sun4v/sun4v/bus_machdep.c standard -sun4v/sun4v/clock.c standard -sun4v/sun4v/counter.c standard -sun4v/sun4v/db_disasm.c optional ddb +sparc64/sparc64/clock.c standard +sparc64/sparc64/counter.c standard +sparc64/sparc64/db_disasm.c optional ddb sun4v/sun4v/db_interface.c optional ddb sun4v/sun4v/db_trace.c optional ddb sun4v/sun4v/db_hwwatch.c optional ddb sun4v/sun4v/dump_machdep.c standard -sun4v/sun4v/elf_machdep.c standard +sparc64/sparc64/elf_machdep.c standard sun4v/sun4v/exception.S standard no-obj -sun4v/sun4v/eeprom.c optional eeprom ebus | eeprom fhc | \ - eeprom sbus -sun4v/sun4v/gdb_machdep.c optional gdb +sparc64/sparc64/gdb_machdep.c optional gdb sun4v/sun4v/hv_pci.c optional pci sun4v/sun4v/trap_trace.S optional trap_tracing sparc64/pci/ofw_pci.c optional pci @@ -63,27 +61,27 @@ sun4v/sun4v/hvcons.c standard sun4v/sun4v/hcall.S standard sun4v/sun4v/hviommu.c standard -sun4v/sun4v/identcpu.c standard -sun4v/sun4v/in_cksum.c optional inet +sparc64/sparc64/identcpu.c standard +sparc64/sparc64/in_cksum.c optional inet sun4v/sun4v/interrupt.S standard no-obj sun4v/sun4v/intr_machdep.c standard sun4v/sun4v/locore.S standard no-obj sun4v/sun4v/machdep.c standard -sun4v/sun4v/mem.c optional mem +sparc64/sparc64/mem.c optional mem sun4v/sun4v/mp_exception.S optional smp sun4v/sun4v/mp_locore.S optional smp sun4v/sun4v/mp_machdep.c optional smp sun4v/sun4v/nexus.c standard sun4v/sun4v/t1_copy.S standard -sun4v/sun4v/ofw_bus.c standard -sun4v/sun4v/ofw_machdep.c standard +sparc64/sparc64/ofw_bus.c standard +sparc64/sparc64/ofw_machdep.c standard sun4v/sun4v/pmap.c standard -sun4v/sun4v/prof_machdep.c optional profiling-routine -sun4v/sun4v/rwindow.c standard +sparc64/sparc64/prof_machdep.c optional profiling-routine +sparc64/sparc64/rwindow.c standard sun4v/sun4v/rtc.c standard sun4v/sun4v/simdisk.c optional simulator sun4v/sun4v/support.S standard -sun4v/sun4v/sys_machdep.c standard +sparc64/sparc64/sys_machdep.c standard sun4v/sun4v/swtch.S standard sun4v/sun4v/tsb.c standard sun4v/sun4v/tte.c standard ==== //depot/projects/linuxolator/src/sys/dev/em/if_em.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.164 2006/11/15 20:04:56 jhb Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.165 2006/11/18 23:18:43 csjp Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -248,7 +248,6 @@ static void em_update_link_status(struct adapter *); static int em_get_buf(struct adapter *, int); static void em_enable_vlans(struct adapter *); -static void em_disable_vlans(struct adapter *); static int em_encap(struct adapter *, struct mbuf **); static void em_smartspeed(struct adapter *); static int em_82547_fifo_workaround(struct adapter *, int); @@ -761,7 +760,7 @@ } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting. */ adapter->watchdog_timer = EM_TX_TIMEOUT; @@ -1507,45 +1506,6 @@ } /* - * When operating in promiscuous mode, hardware stripping of the - * VLAN tag on receive is disabled. This should not prevent us - * from doing hardware insertion of the VLAN tag here as that - * is controlled by the dma descriptor flags and not the receive - * tag strip setting. Unfortunatly this hardware switches the - * VLAN encapsulation type from 802.1q to ISL when stripping om - * receive is disabled. This means we have to add the vlan - * encapsulation here in the driver, since it will have come down - * from the VLAN layer with a tag instead of a VLAN header. - */ - if ((m_head->m_flags & M_VLANTAG) && adapter->em_insert_vlan_header) { - struct ether_vlan_header *evl; - struct ether_header eh; - - m_head = m_pullup(m_head, sizeof(eh)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - eh = *mtod(m_head, struct ether_header *); - M_PREPEND(m_head, sizeof(*evl), M_DONTWAIT); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - m_head = m_pullup(m_head, sizeof(*evl)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - evl = mtod(m_head, struct ether_vlan_header *); - bcopy(&eh, evl, sizeof(*evl)); - evl->evl_proto = evl->evl_encap_proto; - evl->evl_encap_proto = htons(ETHERTYPE_VLAN); - evl->evl_tag = htons(m_head->m_pkthdr.ether_vtag); - *m_headp = m_head; - } - - /* * TSO workaround: * If an mbuf contains only the IP and TCP header we have * to pull 4 bytes of data into it. @@ -1915,29 +1875,16 @@ if (ifp->if_flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - /* - * Disable VLAN stripping in promiscous mode. - * This enables bridging of vlan tagged frames to occur - * and also allows vlan tags to be seen in tcpdump. - * XXX: This is a bit bogus as tcpdump may be used - * w/o promisc mode as well. - */ - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_disable_vlans(adapter); - adapter->em_insert_vlan_header = 1; } else if (ifp->if_flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; reg_rctl &= ~E1000_RCTL_UPE; E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - adapter->em_insert_vlan_header = 0; - } else - adapter->em_insert_vlan_header = 0; + } } static void em_disable_promisc(struct adapter *adapter) { - struct ifnet *ifp = adapter->ifp; uint32_t reg_rctl; reg_rctl = E1000_READ_REG(&adapter->hw, RCTL); @@ -1945,10 +1892,6 @@ reg_rctl &= (~E1000_RCTL_UPE); reg_rctl &= (~E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_enable_vlans(adapter); - adapter->em_insert_vlan_header = 0; } @@ -2429,7 +2372,7 @@ */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -3816,16 +3759,6 @@ } static void -em_disable_vlans(struct adapter *adapter) -{ - uint32_t ctrl; - - ctrl = E1000_READ_REG(&adapter->hw, CTRL); - ctrl &= ~E1000_CTRL_VME; - E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); -} - -static void em_enable_intr(struct adapter *adapter) { E1000_WRITE_REG(&adapter->hw, IMS, (IMS_ENABLE_MASK)); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.131 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.132 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -114,9 +114,9 @@ static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); static void isp_mark_portdb(ispsoftc_t *, int); -static void isp_plogx_24xx(ispsoftc_t *, uint16_t, uint32_t, int *); +static int isp_plogx(ispsoftc_t *, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); -static void isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); +static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); static int isp_getpdb(ispsoftc_t *, uint16_t, isp_pdb_t *, int); static uint64_t isp_get_portname(ispsoftc_t *, int, int); static int isp_fclink_test(ispsoftc_t *, int); @@ -2083,36 +2083,47 @@ /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards + * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. */ -static void -isp_plogx_24xx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int *log_ret) +static int +isp_plogx(ispsoftc_t *isp, uint16_t handle, uint32_t portid, int flags, int gs) { mbreg_t mbs; uint8_t q[QENTRY_LEN]; - isp_plogx_t *plp = (isp_plogx_t *) q; - uint8_t *scp = FCPARAM(isp)->isp_scratch; + isp_plogx_t *plp; + uint8_t *scp; uint32_t sst, parm1; - int junk; + int rval; + + if (!IS_24XX(isp)) { + int action = flags & PLOGX_FLG_CMD_MASK; + if (action == PLOGX_FLG_CMD_PLOGI) { + return (isp_port_login(isp, handle, portid)); + } else if (action == PLOGX_FLG_CMD_LOGO) { + return (isp_port_logout(isp, handle, portid)); + } else { + return (MBOX_INVALID_COMMAND); + } + } MEMZERO(q, QENTRY_LEN); + plp = (isp_plogx_t *) q; plp->plogx_header.rqs_entry_count = 1; plp->plogx_header.rqs_entry_type = RQSTYPE_LOGIN; plp->plogx_handle = 0xffffffff; plp->plogx_nphdl = handle; plp->plogx_portlo = portid; plp->plogx_rspsz_porthi = (portid >> 16) & 0xff; - if (log_ret) { - plp->plogx_flags = *log_ret; - } else { - log_ret = &junk; - } + plp->plogx_flags = flags; if (isp->isp_dblev & ISP_LOGDEBUG1) { isp_print_bytes(isp, "IOCB LOGX", QENTRY_LEN, plp); } - /* - * XXX: We're going to assume somebody has acquired SCRATCH for us - */ + + if (gs == 0) { + FC_SCRATCH_ACQUIRE(isp); + } + scp = FCPARAM(isp)->isp_scratch; isp_put_plogx(isp, plp, (isp_plogx_t *) scp); @@ -2128,7 +2139,8 @@ MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { - *log_ret = mbs.param[0]; + rval = mbs.param[0]; + goto out; } MEMORYBARRIER(isp, SYNC_SFORCPU, QENTRY_LEN, QENTRY_LEN); scp += QENTRY_LEN; @@ -2138,19 +2150,19 @@ } if (plp->plogx_status == PLOGX_STATUS_OK) { - *log_ret = 0; - return; + rval = 0; + goto out; } else if (plp->plogx_status != PLOGX_STATUS_IOCBERR) { isp_prt(isp, ISP_LOGWARN, "status 0x%x on port login IOCB", plp->plogx_status); - *log_ret = -1; - return; + rval = -1; + goto out; } sst = plp->plogx_ioparm[0].lo16 | (plp->plogx_ioparm[0].hi16 << 16); parm1 = plp->plogx_ioparm[1].lo16 | (plp->plogx_ioparm[1].hi16 << 16); - *log_ret = -1; + rval = -1; switch (sst) { case PLOGX_IOCBERR_NOLINK: @@ -2166,8 +2178,8 @@ case PLOGX_IOCBERR_FAILED: isp_prt(isp, ISP_LOGERR, "PLOGX(0x%x) of Port 0x%06x failed: reason 0x%x (last LOGIN" - " state 0x%x)", *log_ret, portid, - parm1 & 0xff, (parm1 >> 8) & 0xff); + " state 0x%x)", flags, portid, parm1 & 0xff, + (parm1 >> 8) & 0xff); break; case PLOGX_IOCBERR_NOFABRIC: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no fabric"); @@ -2179,7 +2191,7 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- not logged in (last LOGIN state 0x%x)", parm1); - *log_ret = MBOX_NOT_LOGGED_IN; + rval = MBOX_NOT_LOGGED_IN; break; case PLOGX_IOCBERR_REJECT: isp_prt(isp, ISP_LOGERR, "PLOGX failed: LS_RJT = 0x%x", parm1); @@ -2195,13 +2207,13 @@ isp_prt(isp, ISP_LOGDEBUG0, "portid 0x%x already logged in with N-port handle 0x%x", portid, parm1); - *log_ret = MBOX_PORT_ID_USED | (handle << 16); + rval = MBOX_PORT_ID_USED | (handle << 16); break; case PLOGX_IOCBERR_HNDLUSED: isp_prt(isp, ISP_LOGDEBUG0, "N-port handle 0x%x already used for portid 0x%x", handle, parm1); - *log_ret = MBOX_LOOP_ID_USED; + rval = MBOX_LOOP_ID_USED; break; case PLOGX_IOCBERR_NOHANDLE: isp_prt(isp, ISP_LOGERR, "PLOGX failed- no handle allocated"); @@ -2210,11 +2222,16 @@ isp_prt(isp, ISP_LOGERR, "PLOGX failed- no FLOGI_ACC"); break; default: - isp_prt(isp, ISP_LOGERR, "status %x from %s", plp->plogx_status, - (*log_ret)? "PLOGI" : "LOGO"); - *log_ret = -1; + isp_prt(isp, ISP_LOGERR, "status %x from %x", plp->plogx_status, + flags); + rval = -1; break; } +out: + if (gs == 0) { + FC_SCRATCH_RELEASE(isp); + } + return (rval); } static int @@ -2239,14 +2256,14 @@ switch (mbs.param[0]) { case MBOX_PORT_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: portid 0x%06x already logged in as %u", + "isp_plogi_old: portid 0x%06x already logged in as %u", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); break; case MBOX_LOOP_ID_USED: isp_prt(isp, ISP_LOGDEBUG0, - "isp_port_login: handle %u in use for port id 0x%02xXXXX", + "isp_plogi_old: handle %u in use for port id 0x%02xXXXX", handle, mbs.param[1] & 0xff); return (MBOX_LOOP_ID_USED); @@ -2255,24 +2272,24 @@ case MBOX_COMMAND_ERROR: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x in PLOGI to port 0x%06x", + "isp_plogi_old: error 0x%x in PLOGI to port 0x%06x", mbs.param[1], portid); return (MBOX_COMMAND_ERROR); case MBOX_ALL_IDS_USED: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: all IDs used for fabric login"); + "isp_plogi_old: all IDs used for fabric login"); return (MBOX_ALL_IDS_USED); default: isp_prt(isp, ISP_LOGINFO, - "isp_port_login: error 0x%x on port login of 0x%06x@0x%0x", + "isp_plogi_old: error 0x%x on port login of 0x%06x@0x%0x", mbs.param[0], portid, handle); return (mbs.param[0]); } } -static void +static int isp_port_logout(ispsoftc_t *isp, uint16_t handle, uint32_t portid) { mbreg_t mbs; @@ -2288,6 +2305,7 @@ mbs.logval = MBLOGNONE; mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); + return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); } static int @@ -2725,19 +2743,10 @@ lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, lp); if (lp->autologin == 0) { - if (IS_24XX(isp)) { - int action = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT | - PLOGX_FLG_FREE_NPHDL; - FC_SCRATCH_ACQUIRE(isp); - isp_plogx_24xx(isp, lp->handle, - lp->portid, &action); - FC_SCRATCH_RELEASE(isp); - } else { - isp_port_logout(isp, lp->handle, - lp->portid); - } + (void) isp_plogx(isp, lp->handle, lp->portid, + PLOGX_FLG_CMD_LOGO | + PLOGX_FLG_IMPLICIT | + PLOGX_FLG_FREE_NPHDL, 0); } else { lp->autologin = 0; } @@ -2987,7 +2996,7 @@ lp->new_roles = tmp.roles; lp->state = FC_PORTDB_STATE_PENDING_VALID; isp_prt(isp, ISP_LOGSANCFG, - "Loop Port 0x%06x@0x%x Pending Valid", + "Loop Port 0x%02x@0x%x Pending Valid", tmp.portid, tmp.handle); break; } @@ -3686,7 +3695,7 @@ static int isp_login_device(ispsoftc_t *isp, uint32_t portid, isp_pdb_t *p, uint16_t *ohp) { - int lim, i, r, logval; + int lim, i, r; uint16_t handle; if (IS_24XX(isp)) { @@ -3704,14 +3713,8 @@ */ r = isp_getpdb(isp, handle, p, 0); if (r == 0 && p->portid != portid) { - if (IS_24XX(isp)) { - logval = - PLOGX_FLG_CMD_LOGO | - PLOGX_FLG_IMPLICIT; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - isp_port_logout(isp, handle, portid); - } + (void) isp_plogx(isp, handle,portid, + PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT, 1); } else if (r == 0) { break; } @@ -3721,22 +3724,17 @@ /* * Now try and log into the device */ - if (IS_24XX(isp)) { - logval = PLOGX_FLG_CMD_PLOGI; - isp_plogx_24xx(isp, handle, portid, &logval); - } else { - logval = isp_port_login(isp, handle, portid); - } + r = isp_plogx(isp, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); if (FCPARAM(isp)->isp_loopstate != LOOP_SCANNING_FABRIC) { return (-1); } - if (logval == 0) { + if (r == 0) { *ohp = handle; break; - } else if ((logval & 0xffff) == MBOX_PORT_ID_USED) { - handle = logval >> 16; + } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { + handle = r >> 16; break; - } else if (logval != MBOX_LOOP_ID_USED) { + } else if (r != MBOX_LOOP_ID_USED) { i = lim; break; } else { @@ -3929,6 +3927,9 @@ } } else { handle += 1; + if (handle == NPH_MGT_ID) { + handle++; + } if (handle >= FL_ID && handle <= SNS_ID) { handle = SNS_ID+1; } else if (IS_24XX(isp)) { @@ -4423,6 +4424,11 @@ isp_mboxcmd(isp, arg); return(0); + case ISPCTL_PLOGX: + { + isp_plcmd_t *p = arg; + return (isp_plogx(isp, p->handle, p->portid, p->flags, 0)); + } #ifdef ISP_TARGET_MODE case ISPCTL_TOGGLE_TMODE: { ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#5 (text) ==== @@ -32,7 +32,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.9 2006/11/16 00:39:56 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_library.c,v 1.10 2006/11/18 03:53:16 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -1038,6 +1038,36 @@ } void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_get_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXGET_32(isp, &src->ms_handle, dst->ms_handle); + ISP_IOXGET_16(isp, &src->ms_nphdl, dst->ms_nphdl); + ISP_IOXGET_16(isp, &src->ms_status, dst->ms_status); + ISP_IOXGET_16(isp, &src->ms_flags, dst->ms_flags); + ISP_IOXGET_16(isp, &src->ms_reserved1, dst->ms_reserved1); + ISP_IOXGET_16(isp, &src->ms_time, dst->ms_time); + ISP_IOXGET_16(isp, &src->ms_cmd_cnt, dst->ms_cmd_cnt); + ISP_IOXGET_16(isp, &src->ms_tot_cnt, dst->ms_tot_cnt); + ISP_IOXGET_8(isp, &src->ms_type, dst->ms_type); + ISP_IOXGET_8(isp, &src->ms_r_ctl, dst->ms_r_ctl); + ISP_IOXGET_16(isp, &src->ms_rxid, dst->ms_rxid); + ISP_IOXGET_16(isp, &src->ms_reserved2, dst->ms_reserved2); + ISP_IOXGET_32(isp, &src->ms_rsp_bcnt, dst->ms_rsp_bcnt); + ISP_IOXGET_32(isp, &src->ms_cmd_bcnt, dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_base, + dst->ms_dataseg[i].ds_base); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_basehi, + dst->ms_dataseg[i].ds_basehi); + ISP_IOXGET_32(isp, &src->ms_dataseg[i].ds_count, + dst->ms_dataseg[i].ds_count); + } +} + +void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *src, isp_ct_pt_t *dst) { int i; @@ -1067,6 +1097,36 @@ } } +void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *src, isp_ms_t *dst) +{ + int i; + + isp_put_hdr(isp, &src->ms_header, &dst->ms_header); + ISP_IOXPUT_32(isp, src->ms_handle, &dst->ms_handle); + ISP_IOXPUT_16(isp, src->ms_nphdl, &dst->ms_nphdl); + ISP_IOXPUT_16(isp, src->ms_status, &dst->ms_status); + ISP_IOXPUT_16(isp, src->ms_flags, &dst->ms_flags); + ISP_IOXPUT_16(isp, src->ms_reserved1, &dst->ms_reserved1); + ISP_IOXPUT_16(isp, src->ms_time, &dst->ms_time); + ISP_IOXPUT_16(isp, src->ms_cmd_cnt, &dst->ms_cmd_cnt); + ISP_IOXPUT_16(isp, src->ms_tot_cnt, &dst->ms_tot_cnt); + ISP_IOXPUT_8(isp, src->ms_type, &dst->ms_type); + ISP_IOXPUT_8(isp, src->ms_r_ctl, &dst->ms_r_ctl); + ISP_IOXPUT_16(isp, src->ms_rxid, &dst->ms_rxid); + ISP_IOXPUT_16(isp, src->ms_reserved2, &dst->ms_reserved2); + ISP_IOXPUT_32(isp, src->ms_rsp_bcnt, &dst->ms_rsp_bcnt); + ISP_IOXPUT_32(isp, src->ms_cmd_bcnt, &dst->ms_cmd_bcnt); + for (i = 0; i < 2; i++) { + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_base, + &dst->ms_dataseg[i].ds_base); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_basehi, + &dst->ms_dataseg[i].ds_basehi); + ISP_IOXPUT_32(isp, src->ms_dataseg[i].ds_count, + &dst->ms_dataseg[i].ds_count); + } +} + /* * Generic SNS request - not particularly useful since the per-command data * isn't always 16 bit words. ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#4 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.4 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_library.h,v 1.5 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Qlogic Host Adapter Library Functions * @@ -91,8 +91,12 @@ extern void isp_get_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_get_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_ct_pt(ispsoftc_t *isp, isp_ct_pt_t *, isp_ct_pt_t *); extern void +isp_put_ms(ispsoftc_t *isp, isp_ms_t *, isp_ms_t *); +extern void isp_put_sns_request(ispsoftc_t *, sns_screq_t *, sns_screq_t *); extern void isp_put_gid_ft_request(ispsoftc_t *, sns_gid_ft_req_t *, ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * FreeBSD Version. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.126 2006/11/17 17:32:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.127 2006/11/18 03:53:16 mjacob Exp $"); #include #include @@ -1057,7 +1057,6 @@ cmd &= ~PCIM_CMD_INTX_DISABLE; } -#ifdef WE_KNEW_WHAT_WE_WERE_DOING if (IS_24XX(isp)) { int reg; @@ -1089,11 +1088,6 @@ pci_write_config(dev, reg, 2, pectl); } } -#else - if (IS_24XX(isp)) { - cmd &= ~PCIM_CMD_INTX_DISABLE; - } -#endif pci_write_config(dev, PCIR_COMMAND, cmd, 2); ==== //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.2 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_stds.h,v 1.3 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * ==== //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.54 2006/11/16 00:39:56 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispmbox.h,v 1.55 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Mailbox and Queue Entry Definitions for for Qlogic ISP SCSI adapters. * @@ -329,6 +329,7 @@ #define RQSTYPE_IP_RECV 0x23 #define RQSTYPE_IP_RECV_CONT 0x24 #define RQSTYPE_CT_PASSTHRU 0x29 +#define RQSTYPE_MS_PASSTHRU 0x29 #define RQSTYPE_ABORT_IO 0x33 #define RQSTYPE_T6RQS 0x48 #define RQSTYPE_LOGIN 0x52 @@ -631,6 +632,29 @@ ispds64_t ctp_dataseg[2]; } isp_ct_pt_t; +/* + * MS Passthru IOCB + */ +typedef struct { + isphdr_t ms_header; + uint32_t ms_handle; + uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */ + uint16_t ms_status; + uint16_t ms_flags; + uint16_t ms_reserved1; /* low 8 bits */ + uint16_t ms_time; + uint16_t ms_cmd_cnt; /* Command DSD count */; + uint16_t ms_tot_cnt; /* Total DSD Count */ + uint8_t ms_type; /* MS type */ + uint8_t ms_r_ctl; /* R_CTL */ + uint16_t ms_rxid; /* RX_ID */ + uint16_t ms_reserved2; + uint32_t ms_handle2; + uint32_t ms_rsp_bcnt; /* Response byte count */ + uint32_t ms_cmd_bcnt; /* Command byte count */ + ispds64_t ms_dataseg[2]; +} isp_ms_t; + /* * Completion Status Codes. */ @@ -1108,6 +1132,17 @@ } isp_pdb_t; /* + * Genericized Port Login/Logout software structure + */ +typedef struct { + uint16_t handle; + uint32_t + flags : 8, + portid : 24; +} isp_plcmd_t; +/* the flags to use are those for PLOGX_FLG_* below */ + +/* * ISP24XX- Login/Logout Port IOCB */ typedef struct { ==== //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.79 2006/11/14 08:45:48 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/ispvar.h,v 1.80 2006/11/18 03:53:16 mjacob Exp $ */ /*- * Soft Definitions for for Qlogic ISP SCSI adapters. * @@ -791,7 +791,8 @@ ISPCTL_GET_PORTNAME, /* get portname from an N-port handle */ ISPCTL_RUN_MBOXCMD, /* run a mailbox command */ ISPCTL_TOGGLE_TMODE, /* toggle target mode */ - ISPCTL_GET_PDB /* get a single port database entry */ + ISPCTL_GET_PDB, /* get a single port database entry */ + ISPCTL_PLOGX /* do a port login/logout */ } ispctl_t; int isp_control(ispsoftc_t *, ispctl_t, void *); ==== //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#7 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.22 2006/11/14 16:48:00 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.23 2006/11/18 07:33:53 scottl Exp $"); #include "opt_mfi.h" @@ -57,7 +57,6 @@ static int mfi_alloc_commands(struct mfi_softc *); static void mfi_release_command(struct mfi_command *cm); static int mfi_comms_init(struct mfi_softc *); -static int mfi_polled_command(struct mfi_softc *, struct mfi_command *); static int mfi_wait_command(struct mfi_softc *, struct mfi_command *); static int mfi_get_controller_info(struct mfi_softc *); static int mfi_get_log_state(struct mfi_softc *, @@ -91,7 +90,7 @@ SYSCTL_INT(_hw_mfi, OID_AUTO, event_locale, CTLFLAG_RW, &mfi_event_locale, 0, "event message locale"); -static int mfi_event_class = MFI_EVT_CLASS_DEBUG; +static int mfi_event_class = 10; TUNABLE_INT("hw.mfi.event_class", &mfi_event_class); SYSCTL_INT(_hw_mfi, OID_AUTO, event_class, CTLFLAG_RW, &mfi_event_class, 0, "event message class"); @@ -546,8 +545,10 @@ init->header.cmd = MFI_CMD_INIT; init->header.data_len = sizeof(struct mfi_init_qinfo); init->qinfo_new_addr_lo = cm->cm_frame_busaddr + MFI_FRAME_SIZE; + cm->cm_data = NULL; + cm->cm_flags = MFI_CMD_POLLED; - if ((error = mfi_polled_command(sc, cm)) != 0) { + if ((error = mfi_mapcmd(sc, cm)) != 0) { device_printf(sc->mfi_dev, "failed to send init command\n"); mtx_unlock(&sc->mfi_io_lock); return (error); @@ -574,15 +575,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Controller info buffer map failed\n"); - free(ci, M_MFIBUF); - mfi_release_command(cm); - mtx_unlock(&sc->mfi_io_lock); - return (error); - } - - /* It's ok if this fails, just use default info instead */ - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get controller info\n"); sc->mfi_max_io = (sc->mfi_max_sge - 1) * PAGE_SIZE / MFI_SECTOR_LEN; @@ -620,11 +612,6 @@ cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED; if ((error = mfi_mapcmd(sc, cm)) != 0) { - device_printf(sc->mfi_dev, "Log state buffer map failed\n"); - goto out; - } - - if ((error = mfi_polled_command(sc, cm)) != 0) { device_printf(sc->mfi_dev, "Failed to get log state\n"); goto out; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF00F16B826; Tue, 21 Nov 2006 17:23:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C5EA816B31D for ; Tue, 21 Nov 2006 17:21:45 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B25A440F2 for ; Tue, 21 Nov 2006 17:17:48 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIBDO068508 for ; Tue, 21 Nov 2006 17:18:11 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIB37068497 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:11 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:11 GMT Message-Id: <200611211718.kALHIB37068497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110283 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=110283 Change 110283 by imp@imp_paco-paco on 2006/11/20 06:36:53 Bring in the most trivial diffs Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#13 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#26 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#10 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#8 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#20 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#5 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#8 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#17 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#10 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#5 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#5 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#8 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#9 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#3 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#4 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#7 edit .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#13 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Compact Flash Support for the Avila Gateworks XScale boards. ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#9 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#9 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.ixp425,v 1.1 2006/11/19 23:55:23 sam Exp $ arm/arm/cpufunc_asm_xscale.S standard arm/arm/irq_dispatch.S standard arm/xscale/ixp425/ixp425.c standard @@ -16,7 +16,8 @@ arm/xscale/ixp425/ixp425_a4x_io.S optional uart dev/uart/uart_dev_ns8250.c optional uart # -# NPE-based Ethernet support (requires qmgr also) +# NPE-based Ethernet support (requires qmgr also). Note the +# firmware images must be downloaded from the Intel web site. # arm/xscale/ixp425/if_npe.c optional npe arm/xscale/ixp425/ixp425_npe.c optional npe ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#26 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -1668,5 +1668,6 @@ DRIVER_MODULE(npe, ixp, npe_driver, npe_devclass, 0, 0); DRIVER_MODULE(miibus, npe, miibus_driver, miibus_devclass, 0, 0); +MODULE_DEPEND(npe, ixpqmgr, 1, 1, 1); MODULE_DEPEND(npe, miibus, 1, 1, 1); MODULE_DEPEND(npe, ether, 1, 1, 1); ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#10 (text+ko) ==== @@ -25,6 +25,8 @@ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. + * + * $FreeBSD: src/sys/arm/xscale/ixp425/if_npereg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ /* ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixdp425_pci.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#4 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. */ -/* $FreeBSD$ */ +/* $FreeBSD: src/sys/arm/xscale/ixp425/ixdp425reg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ #ifndef _IXDP425REG_H_ #define _IXDP425REG_H_ /* GPIOs */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#20 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#3 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_a4x_io.S,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * bus_space I/O functions with offset*4 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#4 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_a4x_space.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_intr.h,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_mem.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#9 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Intel XScale Network Processing Engine (NPE) support. @@ -99,7 +99,7 @@ #include #include -#include +#include #include struct ixpnpe_softc { ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#8 (text+ko) ==== @@ -20,6 +20,8 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npevar.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ #ifndef _IXP425_NPEVAR_H_ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#17 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_pci.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#3 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_pci_asm.S,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#10 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_pci_space.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * bus_space PCI functions for ixp425 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * Intel XScale Queue Manager support. ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#3 (text+ko) ==== @@ -25,6 +25,8 @@ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. + * + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_qmgr.h,v 1.1 2006/11/19 23:55:23 sam Exp $ */ /*- ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_space.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * bus_space I/O functions for ixp425 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_timer.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#4 (text+ko) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_wdog.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); /* * IXP425 Watchdog Timer Support. ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#8 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#9 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.1 2006/11/19 23:55:23 sam Exp $ * */ ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#3 (text+ko) ==== @@ -1,5 +1,5 @@ #GW2348-4 board configuration -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/std.avila,v 1.1 2006/11/19 23:55:23 sam Exp $ include "../xscale/ixp425/std.ixp425" files "../xscale/ixp425/files.avila" makeoptions KERNPHYSADDR=0x10200000 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#4 (text+ko) ==== @@ -1,5 +1,5 @@ #XScale IXP425 generic configuration -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/std.ixp425,v 1.1 2006/11/19 23:55:23 sam Exp $ files "../xscale/ixp425/files.ixp425" include "../xscale/std.xscale" cpu CPU_XSCALE_IXP425 ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c,v 1.1 2006/11/19 23:55:23 sam Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 306B416B813; Tue, 21 Nov 2006 17:23:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6455A16B33B for ; Tue, 21 Nov 2006 17:21:47 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id F35CD44101 for ; Tue, 21 Nov 2006 17:17:53 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIGNo068608 for ; Tue, 21 Nov 2006 17:18:16 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIGab068605 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:16 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:16 GMT Message-Id: <200611211718.kALHIGab068605@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=110295 Change 110295 by bushman@bushman_nss_ldap_cached on 2006/11/20 13:42:55 get**ent() calls should always return NULL after the end of the items list is reached. New session should be opened only after set**ent() call. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nscache.c#6 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nscache.c#6 (text) ==== @@ -361,9 +361,6 @@ res = 0; } else { free(buffer); - __close_cached_mp_read_session(rs); - rs = INVALID_CACHED_MP_READ_SESSION; - cache_info->set_mp_rs_func(rs); return (res == -1 ? NS_RETURN : NS_UNAVAIL); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D837116B837; Tue, 21 Nov 2006 17:23:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8854C16B345 for ; Tue, 21 Nov 2006 17:21:48 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0977844103 for ; Tue, 21 Nov 2006 17:17:54 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIIth068638 for ; Tue, 21 Nov 2006 17:18:18 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIHHI068634 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:17 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:17 GMT Message-Id: <200611211718.kALHIHHI068634@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=110299 Change 110299 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:17:21 Forgot to include it into pre-previous commit and commited empty changes set during previous commit. Now everything should be right. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#9 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#9 (text) ==== @@ -149,8 +149,12 @@ TRACE_IN(set_check_files); entry = find_create_entry(config, entry_name); -// if (entry != NULL) -// entry->check_files = flag; + if (entry != NULL) { + if (flag != 0) + entry->flags |= CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG; + else + entry->flags &= ~CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG; + } TRACE_OUT(set_check_files); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3D0016B8AB; Tue, 21 Nov 2006 17:23:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3839716D633 for ; Tue, 21 Nov 2006 17:22:01 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 44CB944142 for ; Tue, 21 Nov 2006 17:18:41 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIpAe069021 for ; Tue, 21 Nov 2006 17:18:51 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIpcY069017 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:51 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:51 GMT Message-Id: <200611211718.kALHIpcY069017@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=110339 Change 110339 by imp@imp_lighthouse on 2006/11/21 15:29:12 oops, on read copyout, not write. Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iic.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iic.c#7 (text+ko) ==== @@ -246,13 +246,15 @@ char *buf = NULL; void **usrbufs = NULL; - if (!sc) - return (EINVAL); + if (!sc) { printf("iic einval\n"); + return (EINVAL); } if ((error = iicbus_request_bus(device_get_parent(iicdev), iicdev, (flags & O_NONBLOCK) ? IIC_DONTWAIT : - (IIC_WAIT | IIC_INTR)))) + (IIC_WAIT | IIC_INTR)))) { + printf("bus request failed %d\n", error); return (error); + } switch (cmd) { case I2CSTART: @@ -310,18 +312,12 @@ case I2CRDWR: buf = malloc(sizeof(*d->msgs) * d->nmsgs, M_TEMP, M_WAITOK); - if (buf == NULL) { - error = ENOMEM; - break; - } usrbufs = malloc(sizeof(void *) * d->nmsgs, M_TEMP, M_ZERO | M_WAITOK); - if (usrbufs == NULL) { - error = ENOMEM; + error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs); + if (error) { + printf("copying returns %d\n", error); break; } - error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs); - if (error) - break; /* Allocate kernel buffers for userland data, copyin write data */ for (i = 0; i < d->nmsgs; i++) { m = &((struct iic_msg *)buf)[i]; @@ -331,10 +327,11 @@ copyin(usrbufs[i], m->buf, m->len); } error = iicbus_transfer(parent, (struct iic_msg *)buf, d->nmsgs); + printf("transfer returns %d\n", error); /* Copyout all read segments, free up kernel buffers */ for (i = 0; i < d->nmsgs; i++) { m = &((struct iic_msg *)buf)[i]; - if (!(m->flags & IIC_M_RD)) + if (m->flags & IIC_M_RD) copyout(m->buf, usrbufs[i], m->len); free(m->buf, M_TEMP); } From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3B1F16B814; Tue, 21 Nov 2006 17:23:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3E0BE16B2FB for ; Tue, 21 Nov 2006 17:21:44 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FF8743ECF for ; Tue, 21 Nov 2006 17:17:43 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHI5vG068422 for ; Tue, 21 Nov 2006 17:18:05 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHI3JE068414 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:03 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:03 GMT Message-Id: <200611211718.kALHI3JE068414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=110277 Change 110277 by imp@imp_paco-paco on 2006/11/20 04:49:56 IFC @110276 Affected files ... .. //depot/projects/arm/src/share/man/man9/Makefile#4 integrate .. //depot/projects/arm/src/share/man/man9/cr_cansee.9#1 branch .. //depot/projects/arm/src/share/man/man9/p_candebug.9#2 integrate .. //depot/projects/arm/src/share/man/man9/p_cansee.9#1 branch .. //depot/projects/arm/src/share/mk/bsd.own.mk#8 integrate .. //depot/projects/arm/src/share/mk/bsd.port.mk#3 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#18 integrate .. //depot/projects/arm/src/sys/amd64/amd64/pmap.c#27 integrate .. //depot/projects/arm/src/sys/amd64/include/pmap.h#10 integrate .. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#12 integrate .. //depot/projects/arm/src/sys/arm/arm/identcpu.c#10 integrate .. //depot/projects/arm/src/sys/arm/arm/nexus_io.c#4 integrate .. //depot/projects/arm/src/sys/arm/at91/at91.c#24 integrate .. //depot/projects/arm/src/sys/arm/include/bus.h#6 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/arm/src/sys/boot/ia64/common/copy.c#3 integrate .. //depot/projects/arm/src/sys/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#8 integrate .. //depot/projects/arm/src/sys/conf/files#54 integrate .. //depot/projects/arm/src/sys/conf/options.arm#17 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.c#33 integrate .. //depot/projects/arm/src/sys/dev/iicbus/ad7418.c#1 branch .. //depot/projects/arm/src/sys/dev/iicbus/ds1672.c#1 branch .. //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#8 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt.h#20 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#28 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#19 integrate .. //depot/projects/arm/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#22 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#25 integrate .. //depot/projects/arm/src/sys/i386/include/pmap.h#7 integrate .. //depot/projects/arm/src/sys/ia64/ia64/genassym.c#4 integrate .. //depot/projects/arm/src/sys/ia64/ia64/interrupt.c#5 integrate .. //depot/projects/arm/src/sys/ia64/ia64/machdep.c#10 integrate .. //depot/projects/arm/src/sys/ia64/ia64/mp_machdep.c#6 integrate .. //depot/projects/arm/src/sys/ia64/include/kdb.h#3 integrate .. //depot/projects/arm/src/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/arm/src/sys/kern/imgact_elf.c#7 integrate .. //depot/projects/arm/src/sys/net/bridgestp.c#12 integrate .. //depot/projects/arm/src/sys/net/ethernet.h#4 integrate .. //depot/projects/arm/src/sys/net/if_ethersubr.c#16 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs.h#6 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_socket.c#15 integrate .. //depot/projects/arm/src/sys/sun4v/conf/NOTES#4 integrate .. //depot/projects/arm/src/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/arm/src/sys/vm/vm_meter.c#7 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/BRIDGE-MIB.txt#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#1 branch .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#1 branch .. //depot/projects/arm/src/usr.sbin/mountd/mountd.c#3 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/index.c#2 integrate Differences ... ==== //depot/projects/arm/src/share/man/man9/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.284 2006/11/11 08:59:34 ru Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.285 2006/11/19 13:35:03 ceri Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -41,6 +41,7 @@ config_intrhook.9 \ contigmalloc.9 \ copy.9 \ + cr_cansee.9 \ critical_enter.9 \ cr_seeothergids.9 \ cr_seeotheruids.9 \ @@ -157,6 +158,7 @@ panic.9 \ pbuf.9 \ p_candebug.9 \ + p_cansee.9 \ pci.9 \ pfil.9 \ pfind.9 \ ==== //depot/projects/arm/src/share/man/man9/p_candebug.9#2 (text+ko) ==== @@ -25,15 +25,16 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.3 2004/07/06 07:26:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/p_candebug.9,v 1.5 2006/11/19 13:36:04 ceri Exp $ .\" -.Dd November 11, 2003 +.Dd November 19, 2006 .Os .Dt P_CANDEBUG 9 .Sh NAME .Nm p_candebug .Nd determine debuggability of a process .Sh SYNOPSIS +.In sys/param.h .In sys/proc.h .Ft int .Fn p_candebug "struct thread *td" "struct proc *p" @@ -128,10 +129,10 @@ The MAC subsystem denied debuggability. .El .Sh SEE ALSO -.Xr intro 2 , .Xr jail 2 , .Xr sysctl 8 , .Xr cr_seeothergids 9 , .Xr cr_seeotheruids 9 , .Xr mac 9 , +.Xr p_cansee 9 , .Xr prison_check 9 ==== //depot/projects/arm/src/share/mk/bsd.own.mk#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.59 2006/11/19 16:28:52 ru Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -104,10 +104,12 @@ .if !target(____) ____: +.if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) .include "${SRCCONF}" .endif +.endif # # CPU model, derived from MACHINE_ARCH @@ -175,6 +177,7 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz +.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the @@ -453,5 +456,6 @@ MK_${var}_SUPPORT:= yes .endif .endfor +.endif # !_WITHOUT_SRCCONF .endif # !target(____) ==== //depot/projects/arm/src/share/mk/bsd.port.mk#3 (text+ko) ==== @@ -1,10 +1,11 @@ -# $FreeBSD: src/share/mk/bsd.port.mk,v 1.308 2006/08/24 18:04:49 obrien Exp $ +# $FreeBSD: src/share/mk/bsd.port.mk,v 1.309 2006/11/19 16:28:52 ru Exp $ PORTSDIR?= /usr/ports BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk -# Needed to keep bsd.own.mk from reading in /etc/src.conf when building ports. -SRCCONF= /dev/null +# Needed to keep bsd.own.mk from reading in /etc/src.conf +# and setting MK_* variables when building ports. +_WITHOUT_SRCCONF= .include .include "${BSDPORTMK}" ==== //depot/projects/arm/src/sys/amd64/amd64/machdep.c#18 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.663 2006/11/17 20:27:01 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.664 2006/11/19 20:54:57 alc Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -833,7 +833,7 @@ static void getmemsize(caddr_t kmdp, u_int64_t first) { - int i, physmap_idx, pa_indx, da_indx; + int i, off, physmap_idx, pa_indx, da_indx; vm_paddr_t pa, physmap[PHYSMAP_SIZE]; u_long physmem_tunable; pt_entry_t *pte; @@ -1096,14 +1096,17 @@ /* Trim off space for the message buffer. */ phys_avail[pa_indx] -= round_page(MSGBUF_SIZE); - avail_end = phys_avail[pa_indx]; + /* Map the message buffer. */ + for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) + pmap_kenter((vm_offset_t)msgbufp + off, phys_avail[pa_indx] + + off); } u_int64_t hammer_time(u_int64_t modulep, u_int64_t physfree) { caddr_t kmdp; - int gsel_tss, off, x; + int gsel_tss, x; struct pcpu *pc; u_int64_t msr; char *env; @@ -1270,10 +1273,6 @@ /* now running on new page tables, configured,and u/iom is accessible */ - /* Map the message buffer. */ - for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) - pmap_kenter((vm_offset_t)msgbufp + off, avail_end + off); - msgbufinit(msgbufp, MSGBUF_SIZE); fpuinit(); ==== //depot/projects/arm/src/sys/amd64/amd64/pmap.c#27 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.573 2006/11/12 21:48:32 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.574 2006/11/19 20:54:57 alc Exp $"); /* * Manages physical address maps. @@ -168,8 +168,7 @@ struct pmap kernel_pmap_store; -vm_paddr_t avail_start; /* PA of first available physical page */ -vm_paddr_t avail_end; /* PA of last available physical page */ +static vm_paddr_t avail_start; /* PA of first available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ ==== //depot/projects/arm/src/sys/amd64/include/pmap.h#10 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.136 2006/11/13 20:33:54 ru Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.137 2006/11/19 20:54:57 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -296,7 +296,6 @@ extern caddr_t CADDR1; extern pt_entry_t *CMAP1; -extern vm_paddr_t avail_end; extern vm_paddr_t phys_avail[]; extern vm_paddr_t dump_avail[]; extern vm_offset_t virtual_avail; ==== //depot/projects/arm/src/sys/arm/arm/cpufunc.c#12 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.13 2006/11/07 22:36:56 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.14 2006/11/19 23:55:23 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/arm/identcpu.c#10 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.9 2006/11/07 22:36:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.10 2006/11/19 23:45:33 sam Exp $"); #include #include #include ==== //depot/projects/arm/src/sys/arm/arm/nexus_io.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.6 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.7 2006/11/19 23:46:50 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/at91/at91.c#24 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.8 2006/08/28 20:05:00 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.9 2006/11/19 23:47:51 sam Exp $"); #include #include ==== //depot/projects/arm/src/sys/arm/include/bus.h#6 (text+ko) ==== @@ -67,7 +67,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/arm/include/bus.h,v 1.8 2005/04/18 21:45:33 imp Exp $ + * $FreeBSD: src/sys/arm/include/bus.h,v 1.9 2006/11/19 23:46:49 sam Exp $ */ #ifndef _MACHINE_BUS_H_ ==== //depot/projects/arm/src/sys/boot/ia64/common/copy.c#3 (text+ko) ==== @@ -25,18 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.8 2006/11/05 22:03:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/common/copy.c,v 1.9 2006/11/19 20:04:11 marcel Exp $"); #include #include #include "libia64.h" -#define LDR_LOG2_PGSZ 20 - -uint64_t *ia64_pgtbl; -uint32_t ia64_pgtblsz; - static void * va2pa(vm_offset_t va, size_t *len) { ==== //depot/projects/arm/src/sys/boot/ia64/common/libia64.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.1 2006/11/05 22:03:03 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/common/libia64.h,v 1.2 2006/11/19 20:04:11 marcel Exp $ */ #ifndef _LIBIA64_H_ @@ -45,9 +45,6 @@ * and shared by all loader implementations. */ -extern uint64_t *ia64_pgtbl; -extern uint32_t ia64_pgtblsz; - extern int ia64_autoload(void); extern ssize_t ia64_copyin(const void *, vm_offset_t, size_t); ==== //depot/projects/arm/src/sys/compat/linux/linux_getcwd.c#8 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.26 2006/11/18 13:31:03 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.27 2006/11/18 17:27:39 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -426,7 +426,7 @@ #ifdef DEBUG if (ldebug(getcwd)) - printf(ARGS(getcwd, "%p, %ld", args->buf, (long)args->bufsize); + printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); #endif len = args->bufsize; ==== //depot/projects/arm/src/sys/conf/files#54 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1162 2006/11/15 09:13:24 maxim Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1163 2006/11/19 23:43:29 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -664,6 +664,8 @@ dev/ieee488/pcii.c optional pcii dev/ieee488/tnt4882.c optional tnt4882 dev/ieee488/upd7210.c optional pcii | tnt4882 +dev/iicbus/ad7418.c optional ad7418 +dev/iicbus/ds1672.c optional ds1672 dev/iicbus/if_ic.c optional ic dev/iicbus/iic.c optional iic dev/iicbus/iicbb.c optional iicbb ==== //depot/projects/arm/src/sys/conf/options.arm#17 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/sys/conf/options.arm,v 1.13 2006/08/24 23:51:28 cognet Exp $ +#$FreeBSD: src/sys/conf/options.arm,v 1.14 2006/11/19 23:56:44 sam Exp $ ARM9_CACHE_WRITE_THROUGH opt_global.h ARM_CACHE_LOCK_ENABLE opt_global.h ARMFPE opt_global.h ==== //depot/projects/arm/src/sys/dev/em/if_em.c#33 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.164 2006/11/15 20:04:56 jhb Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.165 2006/11/18 23:18:43 csjp Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -248,7 +248,6 @@ static void em_update_link_status(struct adapter *); static int em_get_buf(struct adapter *, int); static void em_enable_vlans(struct adapter *); -static void em_disable_vlans(struct adapter *); static int em_encap(struct adapter *, struct mbuf **); static void em_smartspeed(struct adapter *); static int em_82547_fifo_workaround(struct adapter *, int); @@ -761,7 +760,7 @@ } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting. */ adapter->watchdog_timer = EM_TX_TIMEOUT; @@ -1507,45 +1506,6 @@ } /* - * When operating in promiscuous mode, hardware stripping of the - * VLAN tag on receive is disabled. This should not prevent us - * from doing hardware insertion of the VLAN tag here as that - * is controlled by the dma descriptor flags and not the receive - * tag strip setting. Unfortunatly this hardware switches the - * VLAN encapsulation type from 802.1q to ISL when stripping om - * receive is disabled. This means we have to add the vlan - * encapsulation here in the driver, since it will have come down - * from the VLAN layer with a tag instead of a VLAN header. - */ - if ((m_head->m_flags & M_VLANTAG) && adapter->em_insert_vlan_header) { - struct ether_vlan_header *evl; - struct ether_header eh; - - m_head = m_pullup(m_head, sizeof(eh)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - eh = *mtod(m_head, struct ether_header *); - M_PREPEND(m_head, sizeof(*evl), M_DONTWAIT); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - m_head = m_pullup(m_head, sizeof(*evl)); - if (m_head == NULL) { - *m_headp = NULL; - return (ENOBUFS); - } - evl = mtod(m_head, struct ether_vlan_header *); - bcopy(&eh, evl, sizeof(*evl)); - evl->evl_proto = evl->evl_encap_proto; - evl->evl_encap_proto = htons(ETHERTYPE_VLAN); - evl->evl_tag = htons(m_head->m_pkthdr.ether_vtag); - *m_headp = m_head; - } - - /* * TSO workaround: * If an mbuf contains only the IP and TCP header we have * to pull 4 bytes of data into it. @@ -1915,29 +1875,16 @@ if (ifp->if_flags & IFF_PROMISC) { reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - /* - * Disable VLAN stripping in promiscous mode. - * This enables bridging of vlan tagged frames to occur - * and also allows vlan tags to be seen in tcpdump. - * XXX: This is a bit bogus as tcpdump may be used - * w/o promisc mode as well. - */ - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_disable_vlans(adapter); - adapter->em_insert_vlan_header = 1; } else if (ifp->if_flags & IFF_ALLMULTI) { reg_rctl |= E1000_RCTL_MPE; reg_rctl &= ~E1000_RCTL_UPE; E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - adapter->em_insert_vlan_header = 0; - } else - adapter->em_insert_vlan_header = 0; + } } static void em_disable_promisc(struct adapter *adapter) { - struct ifnet *ifp = adapter->ifp; uint32_t reg_rctl; reg_rctl = E1000_READ_REG(&adapter->hw, RCTL); @@ -1945,10 +1892,6 @@ reg_rctl &= (~E1000_RCTL_UPE); reg_rctl &= (~E1000_RCTL_MPE); E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); - - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) - em_enable_vlans(adapter); - adapter->em_insert_vlan_header = 0; } @@ -2429,7 +2372,7 @@ */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -3816,16 +3759,6 @@ } static void -em_disable_vlans(struct adapter *adapter) -{ - uint32_t ctrl; - - ctrl = E1000_READ_REG(&adapter->hw, CTRL); - ctrl &= ~E1000_CTRL_VME; - E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); -} - -static void em_enable_intr(struct adapter *adapter) { E1000_WRITE_REG(&adapter->hw, IMS, (IMS_ENABLE_MASK)); ==== //depot/projects/arm/src/sys/dev/iicbus/iicbus.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.22 2006/07/14 23:15:06 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.23 2006/11/19 23:42:32 sam Exp $"); /* * Autoconfiguration and support routines for the Philips serial I2C bus ==== //depot/projects/arm/src/sys/dev/mpt/mpt.h#20 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/mpt/mpt.h,v 1.31 2006/11/15 20:04:57 jhb Exp $ */ +/* $FreeBSD: src/sys/dev/mpt/mpt.h,v 1.32 2006/11/19 23:15:42 mjacob Exp $ */ /*- * Generic defines for LSI '909 FC adapters. * FreeBSD Version. @@ -496,7 +496,8 @@ uint32_t mpt_pers_mask; uint32_t unit : 8, - : 3, + : 2, + msi_enable : 1, twildcard : 1, tenabled : 1, do_cfg_role : 1, ==== //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#28 (text+ko) ==== @@ -94,7 +94,7 @@ * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_cam.c,v 1.40 2006/11/17 00:19:55 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_cam.c,v 1.41 2006/11/19 23:13:12 mjacob Exp $"); #include #include @@ -2327,7 +2327,7 @@ req->IOCStatus = le16toh(tmf_reply->IOCStatus); req->ResponseCode = tmf_reply->ResponseCode; - mpt_lprt(mpt, MPT_PRT_INFO, "TMF complete: req %p:%u status 0x%x\n", + mpt_lprt(mpt, MPT_PRT_DEBUG, "TMF complete: req %p:%u status 0x%x\n", req, req->serno, le16toh(tmf_reply->IOCStatus)); TAILQ_REMOVE(&mpt->request_pending_list, req, links); if ((req->state & REQ_STATE_NEED_WAKEUP) != 0) { @@ -3566,7 +3566,7 @@ } tmf_req->TaskMsgContext = abort_ctx; - mpt_lprt(mpt, MPT_PRT_INFO, + mpt_lprt(mpt, MPT_PRT_DEBUG, "Issuing TMF %p:%u with MsgContext of 0x%x\n", mpt->tmf_req, mpt->tmf_req->serno, tmf_req->MsgContext); if (mpt->verbose > MPT_PRT_DEBUG) { @@ -3578,6 +3578,8 @@ TAILQ_INSERT_HEAD(&mpt->request_pending_list, mpt->tmf_req, links); error = mpt_send_handshake_cmd(mpt, sizeof(*tmf_req), tmf_req); if (error != MPT_OK) { + TAILQ_REMOVE(&mpt->request_pending_list, mpt->tmf_req, links); + mpt->tmf_req->state = REQ_STATE_FREE; mpt_reset(mpt, TRUE); } return (error); ==== //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#19 (text+ko) ==== @@ -99,7 +99,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.42 2006/11/16 02:40:18 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.44 2006/11/19 23:24:52 mjacob Exp $"); #include #include @@ -326,6 +326,8 @@ } mpt->do_cfg_role = 1; } + + mpt->msi_enable = 0; } #else static void @@ -350,6 +352,13 @@ mpt->cfg_role = tval; mpt->do_cfg_role = 1; } + + tval = 0; + mpt->msi_enable = 0; + if (resource_int_value(device_get_name(mpt->dev), + device_get_unit(mpt->dev), "msi_enable", &tval) == 0 && tval == 1) { + mpt->msi_enable = 1; + } } #endif @@ -512,12 +521,13 @@ /* Get a handle to the interrupt */ iqd = 0; - if (pci_msi_count(dev) == 1) { + if (mpt->msi_enable && pci_msi_count(dev) == 1) { mpt->pci_msi_count = 1; - if (pci_alloc_msi(dev, &mpt->pci_msi_count) == 0) + if (pci_alloc_msi(dev, &mpt->pci_msi_count) == 0) { iqd = 1; - else + } else { mpt->pci_msi_count = 0; + } } mpt->pci_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &iqd, RF_ACTIVE | RF_SHAREABLE); ==== //depot/projects/arm/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * @(#)ffs_vfsops.c 8.8 (Berkeley) 4/18/94 - * $FreeBSD: src/sys/gnu/fs/ext2fs/ext2_vfsops.c,v 1.159 2006/11/06 13:41:58 rwatson Exp $ + * $FreeBSD: src/sys/gnu/fs/ext2fs/ext2_vfsops.c,v 1.160 2006/11/18 18:22:11 rodrigc Exp $ */ /*- @@ -119,7 +119,10 @@ static int compute_sb_data(struct vnode * devvp, struct ext2_super_block * es, struct ext2_sb_info * fs); -static const char *ext2_opts[] = { "from", "export" }; +static const char *ext2_opts[] = { "from", "export", "union", "acls", "exec", + "atime", "union", "suiddir", "multilabel", "symfollow", "clusterr", + "clusterw" }; + /* * VFS Operations. * ==== //depot/projects/arm/src/sys/i386/i386/machdep.c#22 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.642 2006/11/17 19:20:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.643 2006/11/19 20:54:57 alc Exp $"); #include "opt_apic.h" #include "opt_atalk.h" @@ -1608,7 +1608,7 @@ static void getmemsize(int first) { - int i, physmap_idx, pa_indx, da_indx; + int i, off, physmap_idx, pa_indx, da_indx; int hasbrokenint12, has_smap; u_long physmem_tunable; u_int extmem; @@ -2036,7 +2036,10 @@ /* Trim off space for the message buffer. */ phys_avail[pa_indx] -= round_page(MSGBUF_SIZE); - avail_end = phys_avail[pa_indx]; + /* Map the message buffer. */ + for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) + pmap_kenter((vm_offset_t)msgbufp + off, phys_avail[pa_indx] + + off); } void @@ -2044,7 +2047,7 @@ int first; { struct gate_descriptor *gdp; - int gsel_tss, metadata_missing, off, x; + int gsel_tss, metadata_missing, x; struct pcpu *pc; thread0.td_kstack = proc0kstack; @@ -2269,10 +2272,6 @@ /* now running on new page tables, configured,and u/iom is accessible */ - /* Map the message buffer. */ - for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) - pmap_kenter((vm_offset_t)msgbufp + off, avail_end + off); - msgbufinit(msgbufp, MSGBUF_SIZE); /* make a call gate to reenter kernel with */ ==== //depot/projects/arm/src/sys/i386/i386/pmap.c#25 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.578 2006/11/16 11:46:24 maxim Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.579 2006/11/19 20:54:57 alc Exp $"); /* * Manages physical address maps. @@ -196,7 +196,6 @@ static struct pmaplist allpmaps; static struct mtx allpmaps_lock; -vm_paddr_t avail_end; /* PA of last available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ int pgeflag = 0; /* PG_G or-in */ ==== //depot/projects/arm/src/sys/i386/include/pmap.h#7 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/i386/include/pmap.h,v 1.124 2006/11/13 20:33:54 ru Exp $ + * $FreeBSD: src/sys/i386/include/pmap.h,v 1.125 2006/11/19 20:54:58 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -361,7 +361,6 @@ extern caddr_t CADDR1; extern pt_entry_t *CMAP1; -extern vm_paddr_t avail_end; extern vm_paddr_t phys_avail[]; extern vm_paddr_t dump_avail[]; extern int pseflag; ==== //depot/projects/arm/src/sys/ia64/ia64/genassym.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.43 2006/11/01 04:54:50 jb Exp $ + * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.44 2006/11/18 21:48:13 marcel Exp $ */ #include "opt_compat.h" @@ -91,7 +91,6 @@ ASSYM(PAGE_SHIFT, PAGE_SHIFT); ASSYM(PAGE_SIZE, PAGE_SIZE); -ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_CURRENT_PMAP, offsetof(struct pcpu, pc_current_pmap)); ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread)); ==== //depot/projects/arm/src/sys/ia64/ia64/interrupt.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.55 2006/04/03 23:56:40 marcel Exp $ */ +/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.56 2006/11/18 21:52:26 marcel Exp $ */ /* $NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $ */ /*- @@ -224,7 +224,7 @@ cpumask_t mybit = PCPU_GET(cpumask); intr = intr_disable(); - savectx(PCPU_GET(pcb)); + savectx(PCPU_PTR(pcb)); atomic_set_int(&stopped_cpus, mybit); while ((started_cpus & mybit) == 0) /* spin */; ==== //depot/projects/arm/src/sys/ia64/ia64/machdep.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.210 2006/11/03 04:06:17 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.212 2006/11/18 23:15:25 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -108,7 +108,7 @@ u_int64_t pa_bootinfo; struct bootinfo bootinfo; -struct pcpu early_pcpu; +struct pcpu pcpu0; extern char kstack[]; vm_offset_t proc0kstack; @@ -403,17 +403,7 @@ void cpu_pcpu_init(struct pcpu *pcpu, int cpuid, size_t size) { - size_t pcpusz; - /* - * Make sure the PCB is 16-byte aligned by making the PCPU - * a multiple of 16 bytes. We assume the PCPU is 16-byte - * aligned itself. - */ - pcpusz = (sizeof(struct pcpu) + 15) & ~15; - KASSERT(size >= pcpusz + sizeof(struct pcb), - ("%s: too small an allocation for pcpu", __func__)); - pcpu->pc_pcb = (struct pcb *)((char*)pcpu + pcpusz); pcpu->pc_acpi_id = cpuid; } @@ -611,6 +601,16 @@ bootverbose = 1; /* + * Setup the PCPU data for the bootstrap processor. It is needed + * by printf(). Also, since printf() has critical sections, we + * need to initialize at least pc_curthread. + */ + pcpup = &pcpu0; + ia64_set_k4((u_int64_t)pcpup); + pcpu_init(pcpup, 0, sizeof(pcpu0)); + PCPU_SET(curthread, &thread0); + + /* * Initialize the console before we print anything out. */ cninit(); @@ -781,21 +781,11 @@ #else proc_linkup(&proc0, &thread0); #endif - /* - * Init mapping for kernel stack for proc 0 - */ + proc0kstack = (vm_offset_t)kstack; thread0.td_kstack = proc0kstack; thread0.td_kstack_pages = KSTACK_PAGES; - /* - * Setup the global data for the bootstrap cpu. - */ - pcpup = (struct pcpu *)pmap_steal_memory(PAGE_SIZE); - ia64_set_k4((u_int64_t)pcpup); - pcpu_init(pcpup, 0, PAGE_SIZE); - PCPU_SET(curthread, &thread0); - mutex_init(); /* ==== //depot/projects/arm/src/sys/ia64/ia64/mp_machdep.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.61 2006/05/16 14:32:15 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.62 2006/11/18 21:52:26 marcel Exp $"); #include "opt_kstack_pages.h" @@ -200,8 +200,8 @@ } if (acpiid != 0) { - pc = (struct pcpu *)kmem_alloc(kernel_map, PAGE_SIZE); - pcpu_init(pc, acpiid, PAGE_SIZE); + pc = (struct pcpu *)malloc(sizeof(*pc), M_PMAP, M_WAITOK); + pcpu_init(pc, acpiid, sizeof(*pc)); } else pc = pcpup; ==== //depot/projects/arm/src/sys/ia64/include/kdb.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/kdb.h,v 1.3 2006/04/03 22:51:47 marcel Exp $ + * $FreeBSD: src/sys/ia64/include/kdb.h,v 1.4 2006/11/18 21:52:26 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -33,7 +33,7 @@ #include #include -#define KDB_STOPPEDPCB(pc) (pc)->pc_pcb +#define KDB_STOPPEDPCB(pc) (&(pc)->pc_pcb) static __inline void kdb_cpu_clear_singlestep(void) ==== //depot/projects/arm/src/sys/ia64/include/pcpu.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/pcpu.h,v 1.17 2003/11/17 03:40:41 bde Exp $ + * $FreeBSD: src/sys/ia64/include/pcpu.h,v 1.18 2006/11/18 21:52:26 marcel Exp $ */ #ifndef _MACHINE_PCPU_H_ @@ -32,13 +32,15 @@ #ifdef _KERNEL +#include + #define PCPU_MD_FIELDS \ - struct pcb *pc_pcb; /* Used by IPI_STOP */ \ + struct pcb pc_pcb; /* Used by IPI_STOP */ \ struct pmap *pc_current_pmap; /* active pmap */ \ uint64_t pc_lid; /* local CPU ID */ \ - uint32_t pc_awake:1; /* CPU is awake? */ \ uint64_t pc_clock; /* Clock counter. */ \ uint64_t pc_clockadj; /* Clock adjust. */ \ + uint32_t pc_awake:1; /* CPU is awake? */ \ uint32_t pc_acpi_id /* ACPI CPU id. */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6CCE216B832; Tue, 21 Nov 2006 17:23:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8533216B343 for ; Tue, 21 Nov 2006 17:21:48 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id AAF6344102 for ; Tue, 21 Nov 2006 17:17:54 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIH8P068631 for ; Tue, 21 Nov 2006 17:18:17 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIHis068628 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:17 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:17 GMT Message-Id: <200611211718.kALHIHis068628@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=110298 Change 110298 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:16:20 Additions to the previous commit. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#8 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#8 (text) ==== From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A396916B834; Tue, 21 Nov 2006 17:23:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 85EDC16B344 for ; Tue, 21 Nov 2006 17:21:48 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 20C0544104 for ; Tue, 21 Nov 2006 17:17:55 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIHWd068625 for ; Tue, 21 Nov 2006 17:18:17 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIHOc068621 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:17 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:17 GMT Message-Id: <200611211718.kALHIHOc068621@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110297 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=110297 Change 110297 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:11:17 Parser and configuration updated to support "check-files" configuration directive. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/agent.c#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.c#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.h#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#7 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/agent.c#8 (text) ==== @@ -240,8 +240,9 @@ { int retval; - TRACE_IN(agent_check_changes); - if ((agent_ == NULL) || (agent_->check_changes_func == NULL)) { + TRACE_IN(agent_check_changes); + if ((agent_ == NULL) || (agent_->check_changes_func == NULL) || + (!(config_entry->flags & CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG))) { TRACE_OUT(agent_check_changes); return (0); } ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.c#8 (text) ==== @@ -149,6 +149,7 @@ return (NULL); } memset(retval, 0, sizeof(struct configuration_entry)); + retval->flags = CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG; res = pthread_mutex_init(&retval->positive_cache_lock, NULL); if (res != 0) { ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/config.h#8 (text) ==== @@ -61,7 +61,7 @@ #define CONFIG_ENTRY_PERFORM_ACTUAL_LOOKUPS_FLAG (1 << 1) #define CONFIG_ENTRY_PRECACHING_ENABLED_FLAG (1 << 2) #define CONFIG_ENTRY_PRECACHING_NO_AUTO_FLUSH_FLAG (1 << 3) - +#define CONFIG_ENTRY_CHECK_FOR_CHANGES_FLAG (1 << 4) extern const char *c_default_entries[6]; ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/parser.c#7 (text) ==== From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1ECAA16B839; Tue, 21 Nov 2006 17:23:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8914116B346 for ; Tue, 21 Nov 2006 17:21:48 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21B15440E4 for ; Tue, 21 Nov 2006 17:17:47 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIADa068484 for ; Tue, 21 Nov 2006 17:18:10 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHI7JX068455 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:07 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:07 GMT Message-Id: <200611211718.kALHI7JX068455@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=110281 Change 110281 by imp@imp_paco-paco on 2006/11/20 05:58:36 IFC @@110280 (-i for extra goodness) Affected files ... .. //depot/projects/arm/src/gnu/usr.bin/cc/cc_tools/arm-freebsd.h.diff#2 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_mci.c#26 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_mcireg.h#7 integrate .. //depot/projects/arm/src/sys/arm/conf/AVILA#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#12 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#6 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#25 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#7 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#19 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#7 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#16 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#7 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#6 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/Makefile#15 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#31 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.c#5 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.h#2 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/arm_init.S#5 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcmp.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcpy.c#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/memset.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcmp.c#4 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcpy.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcvt.c#3 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/strlen.c#3 integrate .. //depot/projects/arm/src/sys/dev/mmc/bridge.h#6 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmc.c#22 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcbr_if.m#6 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcbrvar.h#4 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcbus_if.m#6 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcreg.h#15 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcsd.c#11 integrate .. //depot/projects/arm/src/sys/dev/mmc/mmcvar.h#2 integrate .. //depot/projects/arm/src/sys/kern/kern_resource.c#12 integrate Differences ... ==== //depot/projects/arm/src/gnu/usr.bin/cc/cc_tools/arm-freebsd.h.diff#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/at91/at91_mci.c#26 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/at91/at91_mcireg.h#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/conf/AVILA#9 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_ata.c#12 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npe.c#25 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/if_npereg.h#9 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425_pci.c#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixdp425reg.h#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#19 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_io.S#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_iic.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_intr.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_mem.c#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npe.c#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_npevar.h#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#16 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_asm.S#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#9 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_qmgr.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_timer.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_wdog.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425reg.h#7 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#8 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.avila#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/std.ixp425#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/Makefile#15 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.1 2006/04/19 17:16:48 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot2/Makefile,v 1.3 2006/11/16 00:48:04 imp Exp $ .PATH: ${.CURDIR}/../libat91 ${.CURDIR}/../bootspi ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#31 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.79 2005/11/03 07:35:36 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.3 2006/11/16 00:47:31 imp Exp $"); #include #include ==== //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.c#5 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/bootspi/ee.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/arm_init.S#5 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcmp.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/memcpy.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/memset.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcmp.c#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcpy.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strcvt.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/strlen.c#3 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/bridge.h#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmc.c#22 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcbr_if.m#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcbrvar.h#4 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcbus_if.m#6 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcreg.h#15 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcsd.c#11 (text+ko) ==== ==== //depot/projects/arm/src/sys/dev/mmc/mmcvar.h#2 (text+ko) ==== ==== //depot/projects/arm/src/sys/kern/kern_resource.c#12 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.162 2006/11/06 13:42:00 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.163 2006/11/20 05:50:59 davidxu Exp $"); #include "opt_compat.h" @@ -545,6 +545,7 @@ rtp_to_pri(struct rtprio *rtp, struct thread *td) #endif { + u_char newpri; mtx_assert(&sched_lock, MA_OWNED); if (rtp->prio > RTP_PRIO_MAX) @@ -552,23 +553,23 @@ switch (RTP_PRIO_BASE(rtp->type)) { case RTP_PRIO_REALTIME: #ifdef KSE - kg->kg_user_pri = PRI_MIN_REALTIME + rtp->prio; + newpri = PRI_MIN_REALTIME + rtp->prio; #else - td->td_user_pri = PRI_MIN_REALTIME + rtp->prio; + newpri = PRI_MIN_REALTIME + rtp->prio; #endif break; case RTP_PRIO_NORMAL: #ifdef KSE - kg->kg_user_pri = PRI_MIN_TIMESHARE + rtp->prio; + newpri = PRI_MIN_TIMESHARE + rtp->prio; #else - td->td_user_pri = PRI_MIN_TIMESHARE + rtp->prio; + newpri = PRI_MIN_TIMESHARE + rtp->prio; #endif break; case RTP_PRIO_IDLE: #ifdef KSE - kg->kg_user_pri = PRI_MIN_IDLE + rtp->prio; + newpri = PRI_MIN_IDLE + rtp->prio; #else - td->td_user_pri = PRI_MIN_IDLE + rtp->prio; + newpri = PRI_MIN_IDLE + rtp->prio; #endif break; default: @@ -576,11 +577,13 @@ } #ifdef KSE sched_class(kg, rtp->type); + sched_user_prio(kg, newpri); if (curthread->td_ksegrp == kg) { sched_prio(curthread, kg->kg_user_pri); /* XXX dubious */ } #else sched_class(td, rtp->type); /* XXX fix */ + sched_user_prio(td, newpri); if (curthread == td) sched_prio(curthread, td->td_user_pri); /* XXX dubious */ #endif @@ -603,23 +606,23 @@ #endif case PRI_REALTIME: #ifdef KSE - rtp->prio = kg->kg_user_pri - PRI_MIN_REALTIME; + rtp->prio = kg->kg_base_user_pri - PRI_MIN_REALTIME; #else - rtp->prio = td->td_user_pri - PRI_MIN_REALTIME; + rtp->prio = td->td_base_user_pri - PRI_MIN_REALTIME; #endif break; case PRI_TIMESHARE: #ifdef KSE - rtp->prio = kg->kg_user_pri - PRI_MIN_TIMESHARE; + rtp->prio = kg->kg_base_user_pri - PRI_MIN_TIMESHARE; #else - rtp->prio = td->td_user_pri - PRI_MIN_TIMESHARE; + rtp->prio = td->td_base_user_pri - PRI_MIN_TIMESHARE; #endif break; case PRI_IDLE: #ifdef KSE - rtp->prio = kg->kg_user_pri - PRI_MIN_IDLE; + rtp->prio = kg->kg_base_user_pri - PRI_MIN_IDLE; #else - rtp->prio = td->td_user_pri - PRI_MIN_IDLE; + rtp->prio = td->td_base_user_pri - PRI_MIN_IDLE; #endif break; default: From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B16DA16B83B; Tue, 21 Nov 2006 17:23:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6903516B33E for ; Tue, 21 Nov 2006 17:21:47 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A5D5440F9 for ; Tue, 21 Nov 2006 17:17:53 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIHmN068618 for ; Tue, 21 Nov 2006 17:18:17 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIG5t068612 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:16 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:16 GMT Message-Id: <200611211718.kALHIG5t068612@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=110296 Change 110296 by bushman@bushman_nss_ldap_cached on 2006/11/20 13:44:08 - pending_write_session removed + reference counting for cache multipart write sessions added to simplify the "clear cached" command implementation Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.c#7 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.h#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#11 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.c#7 (text) ==== @@ -51,9 +51,11 @@ static int cache_lifetime_common_continue_func(struct cache_common_entry_ *, struct cache_policy_item_ *); static void clear_cache_entry(struct cache_entry_ *); +static void delete_cache_mp_write_session(struct cache_mp_write_session_ *); static void destroy_cache_entry(struct cache_entry_ *); static void destroy_cache_mp_read_session(struct cache_mp_read_session_ *); static void destroy_cache_mp_write_session(struct cache_mp_write_session_ *); +static void destroy_queued_cache_mp_write_sessions(struct cache_mp_entry_ *); static int entries_bsearch_cmp_func(const void *, const void *); static int entries_qsort_cmp_func(const void *, const void *); static struct cache_entry_ ** find_cache_entry_p(struct cache_ *, @@ -182,6 +184,21 @@ } static void +delete_cache_mp_write_session(struct cache_mp_write_session_ *ws) +{ + + TRACE_IN(delete_cache_mp_write_session); + assert(ws != NULL); + assert(ws->parent_entry != NULL); + + if (ws->parent_entry->rs_size == 0) + destroy_cache_mp_write_session(ws); + else + TAILQ_INSERT_HEAD(&ws->parent_entry->del_ws_head, ws, entries); + TRACE_OUT(delete_cache_mp_write_session); +} + +static void destroy_cache_mp_write_session(struct cache_mp_write_session_ *ws) { @@ -200,6 +217,26 @@ TRACE_OUT(destroy_cache_mp_write_session); } +static void +destroy_queued_cache_mp_write_sessions(struct cache_mp_entry_ *entry) +{ + + struct cache_mp_write_session_ *ws, *nws; + + TRACE_IN(destroy_queued_cache_mp_write_sessions); + assert(entry != NULL); + + nws = NULL; + TAILQ_FOREACH_SAFE(ws, &entry->del_ws_head, entries, nws) { + if (ws->ref_counter == 0) { + TAILQ_REMOVE(&entry->del_ws_head, ws, entries); + destroy_cache_mp_write_session(ws); + } + } + + TRACE_OUT(destroy_queued_cache_mp_write_sessions); +} + static void destroy_cache_mp_read_session(struct cache_mp_read_session_ *rs) { @@ -258,6 +295,12 @@ TAILQ_REMOVE(&mp_entry->ws_head, ws, entries); destroy_cache_mp_write_session(ws); } + + while (!TAILQ_EMPTY(&mp_entry->del_ws_head)) { + ws = TAILQ_FIRST(&mp_entry->del_ws_head); + TAILQ_REMOVE(&mp_entry->del_ws_head, ws, entries); + destroy_cache_mp_write_session(ws); + } while (!TAILQ_EMPTY(&mp_entry->rs_head)) { rs = TAILQ_FIRST(&mp_entry->rs_head); @@ -268,10 +311,6 @@ if (mp_entry->completed_write_session != NULL) destroy_cache_mp_write_session( mp_entry->completed_write_session); - - if (mp_entry->pending_write_session != NULL) - destroy_cache_mp_write_session( - mp_entry->pending_write_session); } free(entry->name); @@ -322,24 +361,17 @@ } else { mp_entry = (struct cache_mp_entry_ *)entry; - /* - * NOTE: currently multipart entries are cleared only if - * there are no opened read sessions. It leads to possible - * failues of cache clearing requests. Possibly, some simple - * reference counting should be used to avoid this - */ - if (mp_entry->rs_size == 0) { - if (mp_entry->completed_write_session != NULL) { - destroy_cache_mp_write_session( - mp_entry->completed_write_session); - mp_entry->completed_write_session = NULL; - } + if (mp_entry->completed_write_session != NULL) { + delete_cache_mp_write_session( + mp_entry->completed_write_session); + mp_entry->completed_write_session = NULL; + } + destroy_queued_cache_mp_write_sessions(mp_entry); - memset(&mp_entry->creation_time, 0, - sizeof(struct timeval)); - memset(&mp_entry->last_request_time, 0, - sizeof(struct timeval)); - } + memset(&mp_entry->creation_time, 0, + sizeof(struct timeval)); + memset(&mp_entry->last_request_time, 0, + sizeof(struct timeval)); } } @@ -693,6 +725,7 @@ new_mp_entry->name = new_mp_entry->mp_params.entry_name; TAILQ_INIT(&new_mp_entry->ws_head); + TAILQ_INIT(&new_mp_entry->del_ws_head); TAILQ_INIT(&new_mp_entry->rs_head); new_mp_entry->get_time_func = the_cache->params.get_time_func; @@ -1097,25 +1130,12 @@ TAILQ_REMOVE(&ws->parent_entry->ws_head, ws, entries); --ws->parent_entry->ws_size; - if (ws->parent_entry->completed_write_session == NULL) { - /* - * If there is no completed session yet, this will be the one - */ - ws->parent_entry->get_time_func( - &ws->parent_entry->creation_time); - ws->parent_entry->completed_write_session = ws; - } else { - /* - * If there is a completed session, then we'll save our session - * as a pending session. If there is already a pending session, - * it would be destroyed. - */ - if (ws->parent_entry->pending_write_session != NULL) - destroy_cache_mp_write_session( - ws->parent_entry->pending_write_session); + if (ws->parent_entry->completed_write_session != NULL) + delete_cache_mp_write_session( + ws->parent_entry->completed_write_session); - ws->parent_entry->pending_write_session = ws; - } + ws->parent_entry->get_time_func(&ws->parent_entry->creation_time); + ws->parent_entry->completed_write_session = ws; TRACE_OUT(close_cache_mp_write_session); } @@ -1126,7 +1146,7 @@ struct cache_mp_read_session_ * open_cache_mp_read_session(struct cache_entry_ *entry) { - struct cache_mp_entry_ *mp_entry; + struct cache_mp_entry_ *mp_entry; struct cache_mp_read_session_ *retval; TRACE_IN(open_cache_mp_read_session); @@ -1157,6 +1177,8 @@ } memset(retval, 0, sizeof(struct cache_mp_read_session_)); + ++mp_entry->completed_write_session->ref_counter; + retval->linked_ws = mp_entry->completed_write_session; retval->parent_entry = mp_entry; retval->current_item = TAILQ_FIRST( &mp_entry->completed_write_session->items); @@ -1233,16 +1255,9 @@ assert(rs->parent_entry != NULL); TAILQ_REMOVE(&rs->parent_entry->rs_head, rs, entries); - --rs->parent_entry->rs_size; - - if ((rs->parent_entry->rs_size == 0) && - (rs->parent_entry->pending_write_session != NULL)) { - destroy_cache_mp_write_session( - rs->parent_entry->completed_write_session); - rs->parent_entry->completed_write_session = - rs->parent_entry->pending_write_session; - rs->parent_entry->pending_write_session = NULL; - } + --rs->parent_entry->rs_size; + --rs->linked_ws->ref_counter; + destroy_queued_cache_mp_write_sessions(rs->parent_entry); destroy_cache_mp_read_session(rs); TRACE_OUT(close_cache_mp_read_session); ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cachelib.h#5 (text) ==== @@ -183,12 +183,14 @@ size_t items_size; TAILQ_ENTRY(cache_mp_write_session_) entries; + int ref_counter; }; struct cache_mp_read_session_ { struct cache_mp_entry_ *parent_entry; struct cache_mp_data_item_ *current_item; + struct cache_mp_write_session_ *linked_ws; /* Data are read from it*/ TAILQ_ENTRY(cache_mp_read_session_) entries; }; @@ -204,9 +206,13 @@ TAILQ_HEAD(write_sessions_head, cache_mp_write_session_) ws_head; size_t ws_size; + /* Write sessions, queued for deletion */ + TAILQ_HEAD(del_write_sessions_head, cache_mp_write_session_) + del_ws_head; + /* All opened read sessions */ TAILQ_HEAD(read_sessions_head, cache_mp_read_session_) rs_head; - size_t rs_size; + size_t rs_size; /* * completed_write_session is the committed write sessions. All read @@ -218,7 +224,6 @@ * the read sessions. */ struct cache_mp_write_session_ *completed_write_session; - struct cache_mp_write_session_ *pending_write_session; struct timeval creation_time; struct timeval last_request_time; ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/query.c#11 (text) ==== @@ -1097,6 +1097,7 @@ break; default: transform_response->error_code = -1; + break; } fin: From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB1C816B83E; Tue, 21 Nov 2006 17:23:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ABEA516B336 for ; Tue, 21 Nov 2006 17:21:48 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CFE943F0E for ; Tue, 21 Nov 2006 17:17:49 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIC54068519 for ; Tue, 21 Nov 2006 17:18:12 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHICXM068512 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:12 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:12 GMT Message-Id: <200611211718.kALHICXM068512@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110284 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=110284 Change 110284 by imp@imp_paco-paco on 2006/11/20 06:40:12 Merge cleaned up files.avila by hand, it didn't take for some reason. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#7 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#7 (text+ko) ==== @@ -1,6 +1,4 @@ -#$FreeBSD$ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.1 2006/11/19 23:55:23 sam Exp $ arm/xscale/ixp425/avila_machdep.c standard -arm/xscale/ixp425/avila_ata.c optional ata_avila -arm/xscale/ixp425/ad7418.c optional adc_avila -arm/xscale/ixp425/ds1672.c optional rtc_avila +arm/xscale/ixp425/avila_ata.c optional avila_ata arm/xscale/ixp425/ixdp425_pci.c optional pci From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 295C816B823; Tue, 21 Nov 2006 17:23:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8F78D16B35B for ; Tue, 21 Nov 2006 17:21:50 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB6DB440F6 for ; Tue, 21 Nov 2006 17:17:49 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHICSW068534 for ; Tue, 21 Nov 2006 17:18:12 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHICRN068530 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:12 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:12 GMT Message-Id: <200611211718.kALHICRN068530@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110286 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=110286 Change 110286 by imp@imp_paco-paco on 2006/11/20 07:04:48 these have been moved in cvs. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ad7418.c#3 delete .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ds1672.c#4 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C2D3916B844; Tue, 21 Nov 2006 17:23:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 40FBF16B372 for ; Tue, 21 Nov 2006 17:21:51 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B8B144004 for ; Tue, 21 Nov 2006 17:17:57 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIKDY068679 for ; Tue, 21 Nov 2006 17:18:20 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIKY8068675 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:20 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:20 GMT Message-Id: <200611211718.kALHIKY8068675@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=110304 Change 110304 by bushman@bushman_nss_ldap_cached on 2006/11/20 15:56:29 Some basic signal-handling added, graceful restart and shutdown (on SIGHUP and SIGTERM signals respectively) implemented. Still need some code to properly handle blocked threads (will be useful with perform-actuall-lookups option set to "yes"). Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.c#12 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.c#12 (text) ==== @@ -91,14 +91,16 @@ #endif static void precache_entries(struct configuration *); static void print_version_info(void); -static void processing_loop(cache, struct runtime_env *, +static int processing_loop(cache, struct runtime_env *, struct configuration *); static void process_socket_event(struct kevent *, struct runtime_env *, struct configuration *); static void process_timer_event(struct kevent *, struct runtime_env *, struct configuration *); static void *processing_thread(void *); +static void tune_runtime_env_kqueue(struct runtime_env *); static void usage(void); +static int wait_for_hup_term(void); void get_time_func(struct timeval *); @@ -175,6 +177,23 @@ TRACE_OUT(destroy_cache_); } +static void +tune_runtime_env_kqueue(struct runtime_env *env) +{ + struct kevent eventlist[3]; + struct timespec timeout; + + EV_SET(&eventlist[0], env->sockfd, EVFILT_READ, EV_ADD | EV_ONESHOT, + 0, 0, 0); + EV_SET(&eventlist[1], SIGTERM, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + EV_SET(&eventlist[2], SIGHUP, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + memset(&timeout, 0, sizeof(struct timespec)); + kevent(env->queue, eventlist, + sizeof(eventlist) / sizeof(struct kevent), NULL, 0, &timeout); +} + /* * Socket and kqueues are prepared here. We have one global queue for both * socket and timers events. @@ -185,9 +204,6 @@ int serv_addr_len; struct sockaddr_un serv_addr; - struct kevent eventlist; - struct timespec timeout; - struct runtime_env *retval; TRACE_IN(init_runtime_env); @@ -238,12 +254,8 @@ TRACE_OUT(init_runtime_env); return (NULL); } + tune_runtime_env_kqueue(retval); - EV_SET(&eventlist, retval->sockfd, EVFILT_READ, EV_ADD | EV_ONESHOT, - 0, 0, 0); - memset(&timeout, 0, sizeof(struct timespec)); - kevent(retval->queue, &eventlist, 1, NULL, 0, &timeout); - LOG_MSG_2("runtime environment", "successfully initialized"); TRACE_OUT(init_runtime_env); return (retval); @@ -259,8 +271,6 @@ duplicate_runtime_env(struct runtime_env *env) { struct runtime_env *retval; - struct timespec timeout; - struct kevent eventlist; TRACE_IN(duplicate_runtime_env); retval = malloc(sizeof(struct runtime_env)); @@ -276,10 +286,7 @@ TRACE_OUT(duplicate_runtime_env); return (NULL); } - EV_SET(&eventlist, retval->sockfd, EVFILT_READ, EV_ADD | EV_ONESHOT, - 0, 0, 0); - memset(&timeout, 0, sizeof(struct timespec)); - kevent(retval->queue, &eventlist, 1, NULL, 0, &timeout); + tune_runtime_env_kqueue(retval); TRACE_OUT(duplicate_runtime_env); return (retval); @@ -600,9 +607,10 @@ /* * Processing loop is the basic processing routine, that forms a body of each - * procssing thread + * procssing thread. It works till its thread receives a signal and returns + * the signal number. */ -static void +static int processing_loop(cache the_cache, struct runtime_env *env, struct configuration *config) { @@ -648,6 +656,8 @@ process_timer_event(event_data, env, config); break; + case EVFILT_SIGNAL: + return (event_data->ident); default: break; } @@ -675,6 +685,8 @@ sigemptyset(&new); sigaddset(&new, SIGPIPE); + sigaddset(&new, SIGTERM); + sigaddset(&new, SIGHUP); if (pthread_sigmask(SIG_BLOCK, &new, NULL) != 0) LOG_ERR_1("processing thread", "thread can't block the SIGPIPE signal"); @@ -700,6 +712,51 @@ time->tv_usec = 0; } +int +wait_for_hup_term() +{ + struct kevent eventlist[2]; + int queue, nevents; + + queue = kqueue(); + if (queue == -1) { + LOG_ERR_2("wait_for_hup_term", "can't create kqueue"); + return (-1); + } + + EV_SET(&eventlist[0], SIGTERM, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + EV_SET(&eventlist[1], SIGHUP, EVFILT_SIGNAL, EV_ADD | EV_ONESHOT, + 0, 0, 0); + + nevents = kevent(queue, eventlist, + sizeof(eventlist) / sizeof(struct kevent), eventlist, + sizeof(eventlist) / sizeof(struct kevent), NULL); + if (nevents == 0) { + LOG_ERR_2("wait_for_hup_term", "kevent() returned 0 events"); + close(queue); + return (-1); + } else { + if (nevents != 1) { + LOG_ERR_2("wait_for_hup_term", "kevent() returned more " + "than 1 event"); + close(queue); + return (-1); + } + + if (eventlist[0].flags & EV_ERROR) { + LOG_ERR_2("wait_for_hup_term", "error while registering" + " event with kevent()"); + close(queue); + return (-1); + } + + assert(eventlist[0].filter == EVFILT_SIGNAL); + close(queue); + return (eventlist[0].ident); + } +} + /* * The idea of _nss_cache_cycle_prevention_function is that nsdispatch will * search for this symbol in the executable. This symbol is the attribute of @@ -721,11 +778,13 @@ struct pidfh *pidfile; pid_t pid; + sigset_t psigmask; char const *config_file; char const *error_str; int error_line; int i, res; + int do_gracerestart; int trace_mode_enabled; int force_single_threaded; @@ -735,7 +794,6 @@ int show_statistics; int daemon_mode, interactive_mode; - /* by default all debug messages are omitted */ TRACE_OFF(); @@ -884,8 +942,14 @@ if (trace_mode_enabled == 1) TRACE_ON(); - /* blocking the main thread from receiving SIGPIPE signal */ - sigblock(sigmask(SIGPIPE)); + sigemptyset(&psigmask); + sigaddset(&psigmask, SIGPIPE); + sigaddset(&psigmask, SIGTERM); + sigaddset(&psigmask, SIGHUP); + if (pthread_sigmask(SIG_BLOCK, &psigmask, NULL) != 0) { + LOG_ERR_1("main", "can't set process signal mask"); + return (-1); + } /* daemonization */ if (do_not_daemonize == 0) { @@ -921,6 +985,9 @@ } LOG_MSG_1("main", "request agents registered successfully"); +gracerestart: + do_gracerestart = 0; + /* configuration initialization */ s_configuration = init_configuration(); if (s_configuration == NULL) { @@ -1029,14 +1096,30 @@ thread_args = NULL; } - for (i = 0; i < s_configuration->threads_num; ++i) { - if (threads[i] != NULL) - pthread_join(threads[i], NULL); + switch (wait_for_hup_term()) { + case SIGHUP: + do_gracerestart = 1; + break; + case SIGTERM: + break; + default: + LOG_ERR_1("main", "wait_for_hup_term() failed"); + break; } } else { LOG_MSG_1("main", "working in single-threaded mode"); precache_entries(s_configuration); - processing_loop(s_cache, s_runtime_env, s_configuration); + res = processing_loop(s_cache, s_runtime_env, s_configuration); + switch (res) { + case SIGHUP: + do_gracerestart = 1; + break; + case SIGTERM: + break; + default: + LOG_ERR_1("main", "processing_loop() returned %d", res); + break; + } } fin: @@ -1048,6 +1131,9 @@ /* configuration destruction */ destroy_configuration(s_configuration); + + if (do_gracerestart != 0) + goto gracerestart; /* agents table destruction */ destroy_agent_table(s_agent_table); From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C174B16B855; Tue, 21 Nov 2006 17:23:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B709D16B362 for ; Tue, 21 Nov 2006 17:21:50 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B739843DB8 for ; Tue, 21 Nov 2006 17:17:56 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIJX0068661 for ; Tue, 21 Nov 2006 17:18:19 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIJHP068658 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:19 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 17:18:19 GMT Message-Id: <200611211718.kALHIJHP068658@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110302 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=110302 Change 110302 by imp@imp_paco-paco on 2006/11/20 14:56:04 Merge from head Affected files ... .. //depot/projects/arm/src/sys/arm/conf/AVILA#10 edit Differences ... ==== //depot/projects/arm/src/sys/arm/conf/AVILA#10 (text+ko) ==== @@ -1,4 +1,5 @@ -# GENERIC -- Generic kernel configuration file for FreeBSD/arm +# AVILA -- Gateworks Avila XScale board +# kernel configuration file for FreeBSD/arm # # For more information on this file, please read the handbook section on # Kernel Configuration Files: @@ -15,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/IQ31244,v 1.15 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.1 2006/11/19 23:58:12 sam Exp $ machine arm ident AVILA @@ -35,9 +36,15 @@ options HZ=100 options DEVICE_POLLING -options INVARIANTS #Enable calls of extra sanity checking -options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS #Enable checks to detect deadlocks and cycles +# Debugging for use in -current +options KDB +#options GDB +options DDB #Enable the kernel debugger +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options DIAGNOSTIC options SCHED_4BSD #4BSD scheduler options KSE @@ -85,12 +92,12 @@ device ixpiic device ixpwdog # watchdog timer -device rtc_avila # DS1762 on I2C bus -device adc_avila # AD7418 on I2C bus +device ds1672 # DS1672 on I2C bus +device ad7418 # AD7418 on I2C bus device ata -device ata_avila # Gateworks CF/IDE support device atadisk # ATA disk drives +device avila_ata # Gateworks CF/IDE support device npe # Network Processing Engine device npe_fw # NPE firmware @@ -104,16 +111,6 @@ device loop device if_bridge -# Debugging for use in -current -options KDB -#options GDB -options DDB #Enable the kernel debugger -#options INVARIANTS #Enable calls of extra sanity checking -#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS -#options WITNESS #Enable checks to detect deadlocks and cycles -#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed -#options DIAGNOSTIC - # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O @@ -122,7 +119,6 @@ device random # Entropy device #options ARM_USE_SMALL_ALLOC -# Floppy drives # Wireless NIC cards device wlan # 802.11 support From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:25:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B4F616B85E; Tue, 21 Nov 2006 17:23:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 270E816B36B for ; Tue, 21 Nov 2006 17:21:51 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3996443D77 for ; Tue, 21 Nov 2006 17:17:55 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHIINL068654 for ; Tue, 21 Nov 2006 17:18:18 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHIImg068649 for perforce@freebsd.org; Tue, 21 Nov 2006 17:18:18 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:18:18 GMT Message-Id: <200611211718.kALHIImg068649@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110301 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:25:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=110301 Change 110301 by bushman@bushman_nss_ldap_cached on 2006/11/20 14:24:30 check-files directive description added to the man page. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.conf.5#5 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cached/cached.conf.5#5 (text) ==== @@ -121,15 +121,14 @@ .Ar cachename .Xr cached 8 will act similarly to the NSCD. -.Pp -.Sy NOTE : -this feature is currently experimental \[em] it supports only -.Dq Li passwd , -.Dq Li groups -and -.Dq Li services -cachenames. -.El +.It Va check-files Oo Ar cachename Oc Op Cm yes | no +If enabled, the +.Xr cached 8 +will watch local files (files, that correspond to the +.Dq files +nsswitch source) for changes and flush the cache everytime they're changed. +This option defaults to +.Cm yes . .Sh NOTES You can use the .Ql # From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:38:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1248716A671; Tue, 21 Nov 2006 17:38:49 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E531616AFA9 for ; Tue, 21 Nov 2006 17:38:48 +0000 (UTC) (envelope-from bushman@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 49F3143D81 for ; Tue, 21 Nov 2006 17:38:24 +0000 (GMT) (envelope-from bushman@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALHAYas066267 for ; Tue, 21 Nov 2006 17:10:34 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALHAYbh066262 for perforce@freebsd.org; Tue, 21 Nov 2006 17:10:34 GMT (envelope-from bushman@freebsd.org) Date: Tue, 21 Nov 2006 17:10:34 GMT Message-Id: <200611211710.kALHAYbh066262@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110330 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:38:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=110330 From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:39:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E49F16B146; Tue, 21 Nov 2006 17:39:03 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 44E4B16B143 for ; Tue, 21 Nov 2006 17:39:03 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F83B43D5F for ; Tue, 21 Nov 2006 17:38:39 +0000 (GMT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8uYf065327 for ; Tue, 21 Nov 2006 17:08:56 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8t2b065317 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:55 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:55 GMT Message-Id: <200611211708.kALH8t2b065317@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110254 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:39:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=110254 Change 110254 by marcel@marcel_cluster on 2006/11/19 20:31:11 Remove loader.rc and help.i386.They will be made and installed as part of the standard loader. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/help.i386#2 delete .. //depot/projects/ia64/sys/boot/i386/efi/loader.rc#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:39:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F25FC16B1B9; Tue, 21 Nov 2006 17:39:03 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D0D4216B1B6 for ; Tue, 21 Nov 2006 17:39:03 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id DEBC643D66 for ; Tue, 21 Nov 2006 17:38:39 +0000 (GMT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8uuX065328 for ; Tue, 21 Nov 2006 17:08:56 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8t0K065322 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:55 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:55 GMT Message-Id: <200611211708.kALH8t0K065322@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110254 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:39:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=110254 Change 110254 by marcel@marcel_cluster on 2006/11/19 20:31:11 Remove loader.rc and help.i386.They will be made and installed as part of the standard loader. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/help.i386#2 delete .. //depot/projects/ia64/sys/boot/i386/efi/loader.rc#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue Nov 21 17:39:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16DFD16B277; Tue, 21 Nov 2006 17:39:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D128016B272 for ; Tue, 21 Nov 2006 17:39:05 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B855743D66 for ; Tue, 21 Nov 2006 17:38:41 +0000 (GMT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALH8u80065342 for ; Tue, 21 Nov 2006 17:08:56 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALH8uPk065336 for perforce@freebsd.org; Tue, 21 Nov 2006 17:08:56 GMT (envelope-from marcel@freebsd.org) Date: Tue, 21 Nov 2006 17:08:56 GMT Message-Id: <200611211708.kALH8uPk065336@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 110255 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 17:39:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=110255 Change 110255 by marcel@marcel_cluster on 2006/11/19 20:34:38 keep an accurate version history. Affected files ... .. //depot/projects/ia64/sys/boot/i386/efi/version#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/i386/efi/version#2 (text+ko) ==== @@ -1,14 +1,6 @@ -$FreeBSD: src/sys/boot/i386/loader/version,v 1.8 2001/12/11 00:49:33 jhb Exp $ +$FreeBSD$ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. -1.1: New calling conventions for fopen. -1.0: New semantics for finding the kernel, new boot. -0.8: Set/getenv & cia, copyin/out. -0.7: Supports large KVM -0.6: Increased dictionary size -- supports loader.4th -0.5: First release version -0.2: Initial integration with BTX -0.1: Initial i386 version, inspiration and some structure from the - NetBSD version. +0.1: Initial i386 version. Derived from ia64. From owner-p4-projects@FreeBSD.ORG Tue Nov 21 20:00:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A35DD16A47C; Tue, 21 Nov 2006 20:00:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 603B716A415 for ; Tue, 21 Nov 2006 20:00:28 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A96E43D5A for ; Tue, 21 Nov 2006 19:59:46 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kALJxEY3000665 for ; Tue, 21 Nov 2006 19:59:14 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kALJxE83000662 for perforce@freebsd.org; Tue, 21 Nov 2006 19:59:14 GMT (envelope-from imp@freebsd.org) Date: Tue, 21 Nov 2006 19:59:14 GMT Message-Id: <200611211959.kALJxE83000662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110344 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 20:00:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=110344 Change 110344 by imp@imp_lighthouse on 2006/11/21 19:58:18 pretty up Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iic.c#8 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iic.c#8 (text+ko) ==== @@ -315,10 +315,10 @@ usrbufs = malloc(sizeof(void *) * d->nmsgs, M_TEMP, M_ZERO | M_WAITOK); error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs); if (error) { - printf("copying returns %d\n", error); + printf("copyin msgs returns %d\n", error); break; } - /* Allocate kernel buffers for userland data, copyin write data */ + /* Alloc kernel buffers for userland data, copyin write data */ for (i = 0; i < d->nmsgs; i++) { m = &((struct iic_msg *)buf)[i]; usrbufs[i] = m->buf; @@ -327,7 +327,6 @@ copyin(usrbufs[i], m->buf, m->len); } error = iicbus_transfer(parent, (struct iic_msg *)buf, d->nmsgs); - printf("transfer returns %d\n", error); /* Copyout all read segments, free up kernel buffers */ for (i = 0; i < d->nmsgs; i++) { m = &((struct iic_msg *)buf)[i]; From owner-p4-projects@FreeBSD.ORG Wed Nov 22 02:12:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DCD616A416; Wed, 22 Nov 2006 02:12:31 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CABA116A407 for ; Wed, 22 Nov 2006 02:12:30 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id F0E6143D45 for ; Wed, 22 Nov 2006 02:12:04 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAM2CU3Y000169 for ; Wed, 22 Nov 2006 02:12:30 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAM2CTvW000166 for perforce@freebsd.org; Wed, 22 Nov 2006 02:12:29 GMT (envelope-from imp@freebsd.org) Date: Wed, 22 Nov 2006 02:12:29 GMT Message-Id: <200611220212.kAM2CTvW000166@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110355 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 02:12:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=110355 Change 110355 by imp@imp_lighthouse on 2006/11/22 02:12:22 Remove useless junk that doesn't work. calculate clock divisors correctly. remove debugging busy wait faster. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91_twi.c#28 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91_twi.c#28 (text+ko) ==== @@ -227,133 +227,15 @@ at91_twi_wait(struct at91_twi_softc *sc, uint32_t bit) { int err = 0; - int counter = 10000; + int counter = 100000; while (!(RD4(sc, TWI_SR) & bit) && counter-- >= 0) - DELAY(10); + continue; if (counter <= 0) err = EIO; return (err); } -/* - * Stop the transfer by entering a STOP state on the iic bus. For read - * operations, we've already entered the STOP state, since we need to do - * that to read the last character. For write operations, we need to - * wait for the TXCOMP bit to turn on before returning. - */ -static int -at91_twi_stop(device_t dev) -{ - struct at91_twi_softc *sc; - int err = 0; - - sc = device_get_softc(dev); - if (sc->sc_started) { - WR4(sc, TWI_CR, TWI_CR_STOP); - err = at91_twi_wait(sc, TWI_SR_TXCOMP); - } - return (err); -} - -/* - * enter a START condition without requiring the device to be in a STOP - * state. - */ -static int -at91_twi_repeated_start(device_t dev, u_char slave, int timeout) -{ - struct at91_twi_softc *sc; - - sc = device_get_softc(dev); - WR4(sc, TWI_MMR, TWI_MMR_DADR(slave)); - return (0); -} - -/* - * enter a START condition from an idle state. - */ -static int -at91_twi_start(device_t dev, u_char slave, int timeout) -{ - struct at91_twi_softc *sc; - - sc = device_get_softc(dev); - WR4(sc, TWI_MMR, TWI_MMR_DADR(slave)); - sc->sc_started = 1; - return (0); -} - -static int -at91_twi_write(device_t dev, char *buf, int len, int *sent, int timeout /* us */) -{ - struct at91_twi_softc *sc; - uint8_t *walker; - int err = 0; - - walker = buf; - sc = device_get_softc(dev); - AT91_TWI_LOCK(sc); - WR4(sc, TWI_MMR, ~TWI_MMR_MREAD & RD4(sc, TWI_MMR)); - WR4(sc, TWI_CR, TWI_CR_START); - sc->sc_started = 1; -// WR4(sc, TWI_IER, TWI_SR_TXRDY); - while (len--) { - WR4(sc, TWI_THR, *walker++); - while (!(sc->flags & TXRDY)) { - err = msleep(sc, &sc->sc_mtx, PZERO | PCATCH, "twiwr", - 0); - if (err) - goto errout; - } - } -errout:; - WR4(sc, TWI_IDR, TWI_SR_TXRDY); - AT91_TWI_UNLOCK(sc); - return (err); -} - -static int -at91_twi_read(device_t dev, char *buf, int len, int *read, int last, - int delay /* us */) -{ - struct at91_twi_softc *sc; - char *walker; - int err = 0; - - walker = buf; - sc = device_get_softc(dev); - AT91_TWI_LOCK(sc); - WR4(sc, TWI_MMR, TWI_MMR_MREAD | RD4(sc, TWI_MMR)); - WR4(sc, TWI_CR, TWI_CR_START); - sc->sc_started = 1; -// WR4(sc, TWI_IER, TWI_SR_RXRDY); - while (len-- > 0) { - err = 0; - while (!(sc->flags & RXRDY)) { - err = msleep(sc, &sc->sc_mtx, PZERO | PCATCH, "twird", - 0); - if (err) - goto errout; - } - sc->flags &= ~RXRDY; - *walker++ = RD4(sc, TWI_RHR) & 0xff; - if (len == 1 && last) - break; - } - if (!last) - goto errout; - WR4(sc, TWI_CR, TWI_CR_STOP); - err = at91_twi_wait(sc, TWI_SR_TXCOMP); - *walker = RD4(sc, TWI_RHR) & 0xff; - if (read) - *read = walker - buf; -errout:; - WR4(sc, TWI_IDR, TWI_SR_RXRDY); - AT91_TWI_UNLOCK(sc); - return (err); -} - static int at91_twi_rst_card(device_t dev, u_char speed, u_char addr, u_char *oldaddr) { @@ -371,22 +253,21 @@ rate = 1; /* - * 8 * is because "rate == 1" -> 4 clocks down, 4 clocks up. The * speeds are for 1.5kb/s, 45kb/s and 90kb/s. */ switch (speed) { case IIC_SLOW: - ckdiv = 8 * AT91C_MASTER_CLOCK / 1500; + ckdiv = AT91C_MASTER_CLOCK / (1500 * 4) - 2; break; case IIC_FAST: - ckdiv = 8 * AT91C_MASTER_CLOCK / 45000; + ckdiv = AT91C_MASTER_CLOCK / (45000 * 4) - 2; break; case IIC_UNKNOWN: case IIC_FASTEST: default: - ckdiv = 8 * AT91C_MASTER_CLOCK / 90000; + ckdiv = AT91C_MASTER_CLOCK / (90000 * 4) - 2; break; } @@ -435,8 +316,6 @@ * See http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-September/024411.html * for details. */ - printf("%d: flags %#x len %d buf %p\n", i, msgs[i].flags, - msgs[i].len, msgs[i].buf); rdwr = (msgs[i].flags & IIC_M_RD) ? TWI_MMR_MREAD : 0; WR4(sc, TWI_MMR, TWI_MMR_DADR(msgs[i].slave) | rdwr); len = msgs[i].len; @@ -448,10 +327,8 @@ while (len--) { if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (at91_twi_wait(sc, TWI_SR_RXRDY)) { - printf("1\n"); + if (at91_twi_wait(sc, TWI_SR_RXRDY)) return (EIO); - } *buf++ = RD4(sc, TWI_RHR) & 0xff; } } else { @@ -459,16 +336,12 @@ WR4(sc, TWI_THR, *buf++); if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (at91_twi_wait(sc, TWI_SR_TXRDY)) { - printf("3\n"); + if (at91_twi_wait(sc, TWI_SR_TXRDY)) return (EIO); - } } } - if (at91_twi_wait(sc, TWI_SR_TXCOMP)) { - printf("2\n"); + if (at91_twi_wait(sc, TWI_SR_TXCOMP)) return (EIO); - } } return (0); } @@ -481,11 +354,6 @@ /* iicbus interface */ DEVMETHOD(iicbus_callback, at91_twi_callback), - DEVMETHOD(iicbus_repeated_start, at91_twi_repeated_start), - DEVMETHOD(iicbus_start, at91_twi_start), - DEVMETHOD(iicbus_stop, at91_twi_stop), - DEVMETHOD(iicbus_write, at91_twi_write), - DEVMETHOD(iicbus_read, at91_twi_read), DEVMETHOD(iicbus_reset, at91_twi_rst_card), DEVMETHOD(iicbus_transfer, at91_twi_transfer), { 0, 0 } From owner-p4-projects@FreeBSD.ORG Wed Nov 22 02:14:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D08C016A415; Wed, 22 Nov 2006 02:14:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 92E8616A40F for ; Wed, 22 Nov 2006 02:14:33 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B89AC43D46 for ; Wed, 22 Nov 2006 02:14:07 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAM2EX6k000636 for ; Wed, 22 Nov 2006 02:14:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAM2EXAZ000632 for perforce@freebsd.org; Wed, 22 Nov 2006 02:14:33 GMT (envelope-from imp@freebsd.org) Date: Wed, 22 Nov 2006 02:14:33 GMT Message-Id: <200611220214.kAM2EXAZ000632@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110356 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 02:14:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=110356 Change 110356 by imp@imp_lighthouse on 2006/11/22 02:14:23 increment block to terminate loop try to get counts right, but something isn't quite right... Affected files ... .. //depot/projects/arm/src/sys/dev/flash/at45d.c#10 edit Differences ... ==== //depot/projects/arm/src/sys/dev/flash/at45d.c#10 (text+ko) ==== @@ -257,7 +257,7 @@ at45d_get_mfg_info(sc->dev, buf); printf("Reply is %#x %#x %#x %#x\n", buf[0], buf[1], buf[2], buf[3]); at45d_wait_for_device_ready(sc->dev); - printf("Status is %#x\b", at45d_get_status(sc->dev)); + printf("Status is %#x\n", at45d_get_status(sc->dev)); sc->disk = disk_alloc(); sc->disk->d_open = at45d_open; @@ -324,8 +324,9 @@ bioq_remove(&sc->bio_queue, bp); AT45D_UNLOCK(sc); sz = sc->disk->d_sectorsize; + printf("Size is %d\n", sz); end = bp->bio_pblkno + (bp->bio_bcount / sz); - for (block = bp->bio_pblkno; block < end; ) { + for (block = bp->bio_pblkno; block < end; block++) { char *vaddr = bp->bio_data + (block - bp->bio_pblkno) * sz; if (bp->bio_cmd == BIO_READ) txBuf[0] = CONTINUOUS_ARRAY_READ_HF; @@ -335,6 +336,7 @@ txBuf[1] = ((block >> 5) & 0xFF); txBuf[2] = ((block << 3) & 0xF8); txBuf[3] = 0; + txBuf[4] = 0; cmd.tx_cmd = txBuf; cmd.tx_cmd_sz = 5; cmd.rx_cmd = rxBuf; From owner-p4-projects@FreeBSD.ORG Wed Nov 22 06:02:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A65516A415; Wed, 22 Nov 2006 06:02:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 458CD16A40F for ; Wed, 22 Nov 2006 06:02:29 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6A78043D45 for ; Wed, 22 Nov 2006 06:02:02 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAM62Scj056162 for ; Wed, 22 Nov 2006 06:02:28 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAM62SPn056159 for perforce@freebsd.org; Wed, 22 Nov 2006 06:02:28 GMT (envelope-from imp@freebsd.org) Date: Wed, 22 Nov 2006 06:02:28 GMT Message-Id: <200611220602.kAM62SPn056159@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 110365 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 06:02:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=110365 Change 110365 by imp@imp_lighthouse on 2006/11/22 06:02:23 Remove debug in diff reduction against -current. Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iic.c#9 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iic.c#9 (text+ko) ==== @@ -246,15 +246,13 @@ char *buf = NULL; void **usrbufs = NULL; - if (!sc) { printf("iic einval\n"); - return (EINVAL); } + if (!sc) + return (EINVAL); if ((error = iicbus_request_bus(device_get_parent(iicdev), iicdev, (flags & O_NONBLOCK) ? IIC_DONTWAIT : - (IIC_WAIT | IIC_INTR)))) { - printf("bus request failed %d\n", error); + (IIC_WAIT | IIC_INTR)))) return (error); - } switch (cmd) { case I2CSTART: @@ -284,10 +282,6 @@ break; } buf = malloc((unsigned long)s->count, M_TEMP, M_WAITOK); - if (buf == NULL) { - error = ENOMEM; - break; - } error = copyin(s->buf, buf, s->count); if (error) break; @@ -300,10 +294,6 @@ break; } buf = malloc((unsigned long)s->count, M_TEMP, M_WAITOK); - if (buf == NULL) { - error = ENOMEM; - break; - } error = iicbus_read(parent, buf, s->count, &count, s->last, 10); if (error) break; @@ -314,10 +304,8 @@ buf = malloc(sizeof(*d->msgs) * d->nmsgs, M_TEMP, M_WAITOK); usrbufs = malloc(sizeof(void *) * d->nmsgs, M_TEMP, M_ZERO | M_WAITOK); error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs); - if (error) { - printf("copyin msgs returns %d\n", error); + if (error) break; - } /* Alloc kernel buffers for userland data, copyin write data */ for (i = 0; i < d->nmsgs; i++) { m = &((struct iic_msg *)buf)[i]; From owner-p4-projects@FreeBSD.ORG Wed Nov 22 11:22:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6258816A415; Wed, 22 Nov 2006 11:22:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1508C16A40F for ; Wed, 22 Nov 2006 11:22:24 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id C90A243D49 for ; Wed, 22 Nov 2006 11:21:55 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMBMNvr028147 for ; Wed, 22 Nov 2006 11:22:23 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMBMM8L028140 for perforce@freebsd.org; Wed, 22 Nov 2006 11:22:22 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 11:22:22 GMT Message-Id: <200611221122.kAMBMM8L028140@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110377 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 11:22:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=110377 Change 110377 by gonzo@gonzo_hq on 2006/11/22 11:21:40 o Add copyin implementation. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/support.S#9 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/support.S#9 (text+ko) ==== @@ -284,10 +284,27 @@ * copyin(9) * int copyin(const void *useraddr, void *kernaddr, size_t len) */ -ENTRY(copyin) - break - jr ra - nop +NESTED(copyin, CALLFRAME_SIZ, ra) + subu sp, sp, CALLFRAME_SIZ + .mask 0x80000000, -4 + sw ra, CALLFRAME_RA(sp) + blt a0, zero, _C_LABEL(copyerr) + move v0, a0 # swap a0, a1 for call to memcpy + move a0, a1 + move a1, v0 + lw t2, pcpup + lw v1, PC_CURPCB(t2) + la v0, _C_LABEL(copyerr) + jal memcpy + sw v0, PCB_ONFAULT(v1) + + lw t2, pcpup + lw v1, PC_CURPCB(t2) + lw ra, CALLFRAME_RA(sp) + addu sp, sp, CALLFRAME_SIZ + sw zero, PCB_ONFAULT(v1) + j ra + move v0, zero END(copyin) /* From owner-p4-projects@FreeBSD.ORG Wed Nov 22 13:04:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1895416A494; Wed, 22 Nov 2006 13:04:33 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E8AD516A4A7 for ; Wed, 22 Nov 2006 13:04:32 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21CCD43D46 for ; Wed, 22 Nov 2006 13:04:04 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMD4WB0056090 for ; Wed, 22 Nov 2006 13:04:32 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMD4W1O056087 for perforce@freebsd.org; Wed, 22 Nov 2006 13:04:32 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 13:04:32 GMT Message-Id: <200611221304.kAMD4W1O056087@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110379 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 13:04:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=110379 Change 110379 by gonzo@gonzo_hq on 2006/11/22 13:03:37 o Add kern/syscalls.c for syscallnames array. Affected files ... .. //depot/projects/mips2/src/sys/conf/files.mips#15 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/files.mips#15 (text+ko) ==== @@ -1,5 +1,8 @@ # $FreeBSD$ -mips/mips/autoconf.c standard +# syscalls.c is for syscallnames array which +# is used in debug output +kern/syscalls.c standard +mips/mips/autoconf.c standard mips/mips/busdma_machdep.c standard mips/mips/cache.c standard mips/mips/copystr.S standard From owner-p4-projects@FreeBSD.ORG Wed Nov 22 13:08:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D2B416A47C; Wed, 22 Nov 2006 13:08:39 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ECF7F16A416 for ; Wed, 22 Nov 2006 13:08:38 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB93243D58 for ; Wed, 22 Nov 2006 13:08:09 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMD8cqQ056337 for ; Wed, 22 Nov 2006 13:08:38 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMD8b0c056332 for perforce@freebsd.org; Wed, 22 Nov 2006 13:08:37 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 13:08:37 GMT Message-Id: <200611221308.kAMD8b0c056332@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110380 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 13:08:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=110380 Change 110380 by gonzo@gonzo_hq on 2006/11/22 13:08:06 o Set "User mode" bit in status register in exec_setregs. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#23 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#23 (text+ko) ==== @@ -276,7 +276,7 @@ tf->tf_regs[TF_EPC] = (register_t)entry; tf->tf_regs[TF_SP] = (register_t)stack; - /* XXX tf->tf_regs[TF_SR] |= MIPS_SR_KSU_USER; ? */ + tf->tf_regs[TF_SR] |= MIPS_SR_KSU_USER; } intptr_t From owner-p4-projects@FreeBSD.ORG Wed Nov 22 13:16:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5FA6916A50E; Wed, 22 Nov 2006 13:16:31 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 347AA16A4FC for ; Wed, 22 Nov 2006 13:16:31 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0DFD14401F for ; Wed, 22 Nov 2006 13:12:57 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMDChsJ057436 for ; Wed, 22 Nov 2006 13:12:43 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMDChJh057432 for perforce@freebsd.org; Wed, 22 Nov 2006 13:12:43 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 13:12:43 GMT Message-Id: <200611221312.kAMDChJh057432@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110381 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 13:16:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=110381 Change 110381 by gonzo@gonzo_hq on 2006/11/22 13:11:55 o a1 may be changed during pmap_activate call, so don't rely on pre-call value, get it from stack after call. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/swtch.S#6 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/swtch.S#6 (text+ko) ==== @@ -46,9 +46,9 @@ lw t3, 0(sp) addu sp, 8 - lw t1, TD_MD_PTE0(a1) # a1 = stack_pte[0] - lw t2, TD_MD_PTE1(a1) # a2 = stack_pte[1] - lw v0, TD_MD_REALSTACK(a1) # va = md_realstack + lw t1, TD_MD_PTE0(t3) # a1 = stack_pte[0] + lw t2, TD_MD_PTE1(t3) # a2 = stack_pte[1] + lw v0, TD_MD_REALSTACK(t3) # va = md_realstack li s0, MIPS_KSSEG_START blt v0, s0, resume nop From owner-p4-projects@FreeBSD.ORG Wed Nov 22 13:20:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D64F716A415; Wed, 22 Nov 2006 13:20:54 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B2D5A16A40F for ; Wed, 22 Nov 2006 13:20:54 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id E8D7743D55 for ; Wed, 22 Nov 2006 13:20:25 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMDKs3H058293 for ; Wed, 22 Nov 2006 13:20:54 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMDKs7h058289 for perforce@freebsd.org; Wed, 22 Nov 2006 13:20:54 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 13:20:54 GMT Message-Id: <200611221320.kAMDKs7h058289@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110382 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 13:20:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=110382 Change 110382 by gonzo@gonzo_hq on 2006/11/22 13:20:47 o use page index based on virtual addres to grab page for segment. o bzero newly created segment to prevent garbage PTEs. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#14 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#14 (text+ko) ==== @@ -1160,7 +1160,7 @@ VM_OBJECT_LOCK(pmap->pm_pteobj); mem = vm_page_grab(pmap->pm_pteobj, - MIPS_PMAP_SEGSIZE, + va >> SEGSHIFT, VM_ALLOC_NORMAL | VM_ALLOC_RETRY | \ VM_ALLOC_WIRED | VM_ALLOC_ZERO); @@ -1172,6 +1172,10 @@ pmap_segmap(pmap, va) = (pt_entry_t *)MIPS_PHYS_TO_KSEG0(VM_PAGE_TO_PHYS(mem)); + + /* Fill new segment with invalid pte's */ + bzero((caddr_t) pmap_segmap(pmap, va), + MIPS_PMAP_SEGSIZE * sizeof(pt_entry_t *)); } } From owner-p4-projects@FreeBSD.ORG Wed Nov 22 13:34:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E1B216A47B; Wed, 22 Nov 2006 13:34:11 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 76AD616A415 for ; Wed, 22 Nov 2006 13:34:11 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9A51E43D49 for ; Wed, 22 Nov 2006 13:33:42 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMDYBqo061422 for ; Wed, 22 Nov 2006 13:34:11 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMDYAPu061419 for perforce@freebsd.org; Wed, 22 Nov 2006 13:34:10 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 13:34:10 GMT Message-Id: <200611221334.kAMDYAPu061419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110383 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 13:34:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=110383 Change 110383 by gonzo@gonzo_hq on 2006/11/22 13:33:31 o Since we provide trapframe using exception_store_registers for every trap call there is no need to check curthread's td_frame. o Add syscal "case" in trap function. o Replace "XXX send signal" comment with panic call for it's harder to be ignored unlike comment. o Add syscall function. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/trap.c#10 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/trap.c#10 (text+ko) ==== @@ -25,18 +25,31 @@ * $FreeBSD$ */ +#include #include "opt_ddb.h" #include -#include #include #include +#include +#include +#include +#include +#include +#include +#include #include +#ifdef KTRACE +#include +#include +#endif +#include +#include #include #include +#include #include -#include #include #include @@ -47,10 +60,16 @@ #include #include +#include + #ifdef DDB #include #endif +#ifdef KDB +#include +#endif + struct trap_identifier { u_int ExcCode; const char *Mnemonic; @@ -90,30 +109,27 @@ { 31, "VCED", "Virtual coherency (data)" } }; #define MAXTRAPID 31 +#define MAXARGS 8 + +void syscall(struct thread *, struct trapframe *); +extern const char *syscallnames[]; /* Protected by critical sections, for checking for bad addresses. */ static volatile char *trap_addr; static volatile int trap_error; void -trap(struct trapframe *retf, u_int cause, void *badvaddr) +trap(struct trapframe * tf, u_int cause, void *badvaddr) { vm_offset_t va; vm_map_t map; struct thread *td; - struct trapframe *tf; struct trap_identifier *tid; int code, kernelmode; int ftype, error; platform_trap_enter(); - if (curthread != NULL) - tf = curthread->td_frame; - else - tf = retf; - bcopy(retf, tf, sizeof *tf); - code = (cause & MIPS3_CR_EXC_CODE) >> MIPS_CR_EXC_CODE_SHIFT; kernelmode = (tf->tf_regs[TF_SR] & MIPS_SR_KSU_USER) == 0; @@ -166,7 +182,16 @@ goto done; if (kernelmode) break; - /* XXX send signal */ + + /* TODO: send signal */ + panic("Send signal to userland here... error=%d, va=0x%08x\n", + error, va); + + case TrSys: + syscall(curthread, tf); + goto done; + break; + case TrAdEL: case TrDBE: if (trap_error == -1/* && trap_addr == badvaddr*/) { @@ -237,7 +262,6 @@ #endif done: platform_trap_exit(); - bcopy(tf, retf, sizeof *tf); } int @@ -261,3 +285,153 @@ return (0); return (error); } + +/* + * Following conventions are used for syscall implementation: + * - Syscall number is passed in v0 + * - Arguments in a0,a1,...,stack.. + * - Error flag is returned in a3 (a3 != 0 ergo there was an error) + * - v0 (possibly v1) contains return value + */ +void +syscall(struct thread *td, struct trapframe *frame) +{ + + struct proc *p = td->td_proc; + int code, error; + u_int nargs, i; + register_t *args, copyargs[MAXARGS]; + struct sysent *callp; + int locked = 0; + int args_shift = 0; + + PCPU_LAZY_INC(cnt.v_syscall); + td->td_pticks = 0; + if (td->td_ucred != td->td_proc->p_ucred) + cred_update_thread(td); + + code = frame->tf_regs[TF_V0] & 0x000fffff; + + /* + * For SYS_syscall first argument is an actual syscall number + * and following are arguments + */ + if(code == SYS_syscall) + { + code = frame->tf_regs[TF_A0]; + args_shift = 1; + } + + /* TODO: implement */ + if(code == SYS___syscall) + panic("SYS___syscall: to implement"); + + if (p->p_sysent->sv_mask) + code &= p->p_sysent->sv_mask; + if (code >= p->p_sysent->sv_size) + callp = &p->p_sysent->sv_table[0]; + else + callp = &p->p_sysent->sv_table[code]; + nargs = callp->sy_narg & SYF_ARGMASK; + + printf("syscall enter thread %p pid %d proc " \ + "%s code %d(%s) nargs: %d\n", td, + td->td_proc->p_pid, td->td_proc->p_comm, code, + syscallnames[code], nargs); + + /* Copy arguments from a0..a4 */ + for(i = 0; i < MIN(nargs, 4 - args_shift); i++) + copyargs[i] = frame->tf_regs[TF_A0 + i + args_shift]; + + /* Copy arguments from stack (if any) */ + if(i < nargs) + { + error = copyin((void *)frame->tf_regs[TF_SP], copyargs + i, + (nargs - i) * sizeof(register_t)); + + if (error) + goto bad; + } + + args = copyargs; + error = 0; + +#ifdef KTRACE + if (KTRPOINT(td, KTR_SYSCALL)) + ktrsyscall(code, nargs, args); +#endif + + CTR4(KTR_SYSC, "syscall enter thread %p pid %d proc %s code %d", td, + td->td_proc->p_pid, td->td_proc->p_comm, code); + + if ((callp->sy_narg & SYF_MPSAFE) == 0) + mtx_lock(&Giant); + locked = 1; + if (error == 0) { + td->td_retval[0] = 0; + td->td_retval[1] = 0; + STOPEVENT(p, S_SCE, (callp->sy_narg & SYF_ARGMASK)); + PTRACESTOP_SC(p, td, S_PT_SCE); + AUDIT_SYSCALL_ENTER(code, td); + error = (*callp->sy_call)(td, args); + AUDIT_SYSCALL_EXIT(error, td); + KASSERT(td->td_ar == NULL, + ("returning from syscall with td_ar set!")); + } + switch (error) { + case 0: + frame->tf_regs[TF_V0] = td->td_retval[0]; + /* + * XXXMIPS: should we consider this case for 32-bit or + * only for 64bits? + */ + /* frame->tf_regs[TF_V1] = td->td_retval[1]; */ + frame->tf_regs[TF_A3] = 0; + break; + + case ERESTART: + /* + * Reconstruct the pc to point at the swi. + */ + panic("TODO: implement ERESTART in syscall"); + /* frame->tf_pc -= INSN_SIZE; */ + break; + + case EJUSTRETURN: + /* nothing to do */ + break; + + default: +bad: + frame->tf_regs[TF_V0] = error; + frame->tf_regs[TF_A3] = 1; + break; + } + + if (locked && (callp->sy_narg & SYF_MPSAFE) == 0) + mtx_unlock(&Giant); + + WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning", + (code >= 0 && code < SYS_MAXSYSCALL) ? syscallnames[code] : "???"); + KASSERT(td->td_critnest == 0, + ("System call %s returning in a critical section", + (code >= 0 && code < SYS_MAXSYSCALL) ? syscallnames[code] : "???")); + KASSERT(td->td_locks == 0, + ("System call %s returning with %d locks held", + (code >= 0 && code < SYS_MAXSYSCALL) ? syscallnames[code] : "???", + td->td_locks)); + + /* XXXMIPS: Check for branch delay? */ + frame->tf_regs[TF_EPC] += 4; + userret(td, frame); + + CTR4(KTR_SYSC, "syscall exit thread %p pid %d proc %s code %d", td, + td->td_proc->p_pid, td->td_proc->p_comm, code); + + STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); +#ifdef KTRACE + if (KTRPOINT(td, KTR_SYSRET)) + ktrsysret(code, error, td->td_retval[0]); +#endif +} From owner-p4-projects@FreeBSD.ORG Wed Nov 22 13:51:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD9F016A412; Wed, 22 Nov 2006 13:51:34 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7DDEF16A403 for ; Wed, 22 Nov 2006 13:51:34 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6389A43D55 for ; Wed, 22 Nov 2006 13:51:05 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMDpXiW064181 for ; Wed, 22 Nov 2006 13:51:33 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMDpXIe064178 for perforce@freebsd.org; Wed, 22 Nov 2006 13:51:33 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 13:51:33 GMT Message-Id: <200611221351.kAMDpXIe064178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110385 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 13:51:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=110385 Change 110385 by gonzo@gonzo_hq on 2006/11/22 13:51:16 o Remove kern/syscalls.c from standard files set, it could be enabled by INVARIANTS options. Pointed out by: cognet@ o Enable INVARIANTS and INVARIANTS_SUPPORT in default MALTA config. Affected files ... .. //depot/projects/mips2/src/sys/conf/files.mips#16 edit .. //depot/projects/mips2/src/sys/mips/conf/MALTA#10 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/files.mips#16 (text+ko) ==== @@ -1,7 +1,4 @@ # $FreeBSD$ -# syscalls.c is for syscallnames array which -# is used in debug output -kern/syscalls.c standard mips/mips/autoconf.c standard mips/mips/busdma_machdep.c standard mips/mips/cache.c standard ==== //depot/projects/mips2/src/sys/mips/conf/MALTA#10 (text+ko) ==== @@ -51,8 +51,8 @@ # Debugging for use in -current -#options INVARIANTS #Enable calls of extra sanity checking -#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +options INVARIANTS #Enable calls of extra sanity checking +options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed From owner-p4-projects@FreeBSD.ORG Wed Nov 22 14:36:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D508A16A47E; Wed, 22 Nov 2006 14:36:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B061E16A403 for ; Wed, 22 Nov 2006 14:36:35 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8839743D5E for ; Wed, 22 Nov 2006 14:36:03 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMEaWcm073152 for ; Wed, 22 Nov 2006 14:36:32 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMEaWMB073149 for perforce@freebsd.org; Wed, 22 Nov 2006 14:36:32 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 14:36:32 GMT Message-Id: <200611221436.kAMEaWMB073149@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110389 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 14:36:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=110389 Change 110389 by gonzo@gonzo_hq on 2006/11/22 14:36:23 o Use 32-bit parameters for mips/include/runq.h like arm or i386 does. Thanks to: cognet@ Affected files ... .. //depot/projects/mips2/src/sys/mips/include/runq.h#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/runq.h#3 (text+ko) ==== @@ -29,8 +29,8 @@ #ifndef _MACHINE_RUNQ_H_ #define _MACHINE_RUNQ_H_ -#define RQB_LEN (1) /* Number of priority status words. */ -#define RQB_L2BPW (6) /* Log2(sizeof(rqb_word_t) * NBBY)). */ +#define RQB_LEN (2) /* Number of priority status words. */ +#define RQB_L2BPW (5) /* Log2(sizeof(rqb_word_t) * NBBY)). */ #define RQB_BPW (1< X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E19E416A416; Wed, 22 Nov 2006 14:40:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B951816A412 for ; Wed, 22 Nov 2006 14:40:43 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D69343D7F for ; Wed, 22 Nov 2006 14:40:08 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMEebLG073423 for ; Wed, 22 Nov 2006 14:40:37 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMEebK2073420 for perforce@freebsd.org; Wed, 22 Nov 2006 14:40:37 GMT (envelope-from csjp@freebsd.org) Date: Wed, 22 Nov 2006 14:40:37 GMT Message-Id: <200611221440.kAMEebK2073420@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 110390 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 14:40:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=110390 Change 110390 by csjp@csjp_xor on 2006/11/22 14:40:25 Instead of coverting the data to big endian on copy, do a straight memory copy. The user is expected to have the address data in network byte order already. This is consistent with how we read the machine portion of the regular termid. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#56 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#56 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#55 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#56 $ */ #include @@ -1104,12 +1104,10 @@ ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); - if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); - } + if (tid->at_type == AU_IPv6) + ADD_MEM(dptr, &tid->at_addr[0], 4 * sizeof(u_int32_t)); + else + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); return (t); } From owner-p4-projects@FreeBSD.ORG Wed Nov 22 15:07:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E57516A47E; Wed, 22 Nov 2006 15:07:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8DCFF16A412 for ; Wed, 22 Nov 2006 15:07:15 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D0C1943D46 for ; Wed, 22 Nov 2006 15:06:41 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMF7AnJ079604 for ; Wed, 22 Nov 2006 15:07:10 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMF7AIO079601 for perforce@freebsd.org; Wed, 22 Nov 2006 15:07:10 GMT (envelope-from csjp@freebsd.org) Date: Wed, 22 Nov 2006 15:07:10 GMT Message-Id: <200611221507.kAMF7AIO079601@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 110391 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 15:07:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=110391 Change 110391 by csjp@csjp_xor on 2006/11/22 15:06:52 Take first crack at implementing extended subject tokens in the kernel. This allows us to use IPv6 addresses in our subject tokens essentially. We accomplish this mainly by replacing the auditinfo portion of the process with an auditinfo_addr, a slighy larger, but more flexible type. When setaudit(2) is called, we parse out the relevant information of the supplied auditinfo structure and store it inside the auditinfo_addr structure. For getaudit(2), we convert the auditinfo_addr data into an auditinfo structure (assuming that it's an IPv4 address). If getaudit(2) is called and the process has an IPv6 address, an error of E2BIG is returned. This is consistent with what Solaris is doing. This can be an indicator to the caller that they should be using getaudit_addr(2) instead. Implement set{get}audit_addr(2) system calls effectively the same way that setaudit(2)/getaudit(2) were implemented. Only main difference is in getaudit_addr(2), if the size of the supplied buffer is not large enough to store the IPv6 data, we return EOVERFLOW. Since set{get}audit_addr(2) have been implemented, add support for auditon(A_GETPINFO_ADDR), which will return audit settings for the process. NOTES: - Before we commit kernel generated records, we convert them to BSM format. When building the subject token, we inspect the type of address: For AU_IPv4, we still use a regular subject token. For AU_IPv6, we use the extended token. In the future, we might just want to do away witH the use of the regular subject token in the kernel all together. Affected files ... .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#38 edit .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit.h#21 edit .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_arg.c#23 edit .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm.c#24 edit .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#27 edit .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#36 edit .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_syscalls.c#26 edit .. //depot/projects/trustedbsd/audit3/sys/sys/proc.h#17 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#38 (text+ko) ==== @@ -182,7 +182,7 @@ ar->k_ar.ar_subj_asid = td->td_proc->p_au->ai_asid; ar->k_ar.ar_subj_pid = td->td_proc->p_pid; ar->k_ar.ar_subj_amask = td->td_proc->p_au->ai_mask; - ar->k_ar.ar_subj_term = td->td_proc->p_au->ai_termid; + ar->k_ar.ar_subj_term_addr = td->td_proc->p_au->ai_termid; bcopy(td->td_proc->p_comm, ar->k_ar.ar_subj_comm, MAXCOMLEN); PROC_UNLOCK(td->td_proc); ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit.h#21 (text+ko) ==== @@ -88,7 +88,7 @@ #define ARG_SADDRINET 0x0000000000100000ULL #define ARG_SADDRINET6 0x0000000000200000ULL #define ARG_SADDRUNIX 0x0000000000400000ULL -#define ARG_UNUSED1 0x0000000000800000ULL +#define ARG_TERMID_ADDR 0x0000000000400000ULL #define ARG_UNUSED2 0x0000000001000000ULL #define ARG_UPATH1 0x0000000002000000ULL #define ARG_UPATH2 0x0000000004000000ULL ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_arg.c#23 (text+ko) ==== @@ -371,10 +371,10 @@ ar->k_ar.ar_arg_ruid = p->p_ucred->cr_ruid; ar->k_ar.ar_arg_rgid = p->p_ucred->cr_rgid; ar->k_ar.ar_arg_asid = p->p_au->ai_asid; - ar->k_ar.ar_arg_termid = p->p_au->ai_termid; + ar->k_ar.ar_arg_termid_addr = p->p_au->ai_termid; ar->k_ar.ar_arg_pid = p->p_pid; ARG_SET_VALID(ar, ARG_AUID | ARG_EUID | ARG_EGID | ARG_RUID | - ARG_RGID | ARG_ASID | ARG_TERMID | ARG_PID | ARG_PROCESS); + ARG_RGID | ARG_ASID | ARG_TERMID_ADDR | ARG_PID | ARG_PROCESS); } void ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm.c#24 (text+ko) ==== @@ -392,16 +392,40 @@ rec = kau_open(); /* Create the subject token */ - tid.port = ar->ar_subj_term.port; - tid.machine = ar->ar_subj_term.machine; - subj_tok = au_to_subject32(ar->ar_subj_auid, /* audit ID */ - ar->ar_subj_cred.cr_uid, /* eff uid */ - ar->ar_subj_egid, /* eff group id */ - ar->ar_subj_ruid, /* real uid */ - ar->ar_subj_rgid, /* real group id */ - ar->ar_subj_pid, /* process id */ - ar->ar_subj_asid, /* session ID */ - &tid); + switch (ar->ar_subj_term_addr.at_type) { + case AU_IPv4: + tid.port = ar->ar_subj_term_addr.at_port; + tid.machine = ar->ar_subj_term_addr.at_addr[0]; + subj_tok = au_to_subject32(ar->ar_subj_auid, /* audit ID */ + ar->ar_subj_cred.cr_uid, /* eff uid */ + ar->ar_subj_egid, /* eff group id */ + ar->ar_subj_ruid, /* real uid */ + ar->ar_subj_rgid, /* real group id */ + ar->ar_subj_pid, /* process id */ + ar->ar_subj_asid, /* session ID */ + &tid); + break; + case AU_IPv6: + subj_tok = au_to_subject32_ex(ar->ar_subj_auid, + ar->ar_subj_cred.cr_uid, + ar->ar_subj_egid, + ar->ar_subj_ruid, + ar->ar_subj_rgid, + ar->ar_subj_pid, + ar->ar_subj_asid, + &ar->ar_subj_term_addr); + break; + default: + bzero(&tid, sizeof(tid)); + subj_tok = au_to_subject32(ar->ar_subj_auid, + ar->ar_subj_cred.cr_uid, + ar->ar_subj_egid, + ar->ar_subj_ruid, + ar->ar_subj_rgid, + ar->ar_subj_pid, + ar->ar_subj_asid, + &tid); + } /* * The logic inside each case fills in the tokens required for the ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#27 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#26 $ + * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#27 $ * $FreeBSD: src/sys/security/audit/audit_bsm_token.c,v 1.7 2006/09/01 11:45:40 wsalamon Exp $ */ @@ -973,12 +973,10 @@ ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->at_port); ADD_U_INT32(dptr, tid->at_type); - ADD_U_INT32(dptr, tid->at_addr[0]); - if (tid->at_type == AU_IPv6) { - ADD_U_INT32(dptr, tid->at_addr[1]); - ADD_U_INT32(dptr, tid->at_addr[2]); - ADD_U_INT32(dptr, tid->at_addr[3]); - } + if (tid->at_type == AU_IPv6) + ADD_MEM(dptr, &tid->at_addr[0], 4 * sizeof(u_int32_t)); + else + ADD_MEM(dptr, &tid->at_addr[0], sizeof(u_int32_t)); return (t); } ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#36 (text+ko) ==== @@ -180,6 +180,7 @@ pid_t ar_subj_asid; /* Audit session ID */ pid_t ar_subj_pid; struct au_tid ar_subj_term; + struct au_tid_addr ar_subj_term_addr; char ar_subj_comm[MAXCOMLEN + 1]; struct au_mask ar_subj_amask; @@ -193,6 +194,7 @@ pid_t ar_arg_pid; pid_t ar_arg_asid; struct au_tid ar_arg_termid; + struct au_tid_addr ar_arg_termid_addr; uid_t ar_arg_uid; uid_t ar_arg_auid; gid_t ar_arg_gid; ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_syscalls.c#26 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/sys/sys/proc.h#17 (text+ko) ==== @@ -621,7 +621,7 @@ struct p_sched *p_sched; /* (*) Scheduler-specific data. */ STAILQ_HEAD(, ktr_request) p_ktr; /* (o) KTR event queue. */ LIST_HEAD(, mqueue_notifier) p_mqnotifier; /* (c) mqueue notifiers.*/ - struct auditinfo *p_au; /* (c) Process audit properties. */ + struct auditinfo_addr *p_au; /* (c) Process audit properties. */ }; #define p_session p_pgrp->pg_session From owner-p4-projects@FreeBSD.ORG Wed Nov 22 15:28:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A9D816A417; Wed, 22 Nov 2006 15:28:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4D11816A407 for ; Wed, 22 Nov 2006 15:28:40 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D271A43D5A for ; Wed, 22 Nov 2006 15:28:08 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMFSbLR083199 for ; Wed, 22 Nov 2006 15:28:37 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMFSbkS083196 for perforce@freebsd.org; Wed, 22 Nov 2006 15:28:37 GMT (envelope-from csjp@freebsd.org) Date: Wed, 22 Nov 2006 15:28:37 GMT Message-Id: <200611221528.kAMFSbkS083196@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 110392 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 15:28:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=110392 Change 110392 by csjp@csjp_xor on 2006/11/22 15:27:54 Include code that should have come in my previous submit Affected files ... .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_syscalls.c#27 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_syscalls.c#27 (text+ko) ==== @@ -329,14 +329,19 @@ if ((tp = pfind(udata.au_aupinfo.ap_pid)) == NULL) return (EINVAL); + if (tp->p_au->ai_termid.at_type == AU_IPv6) { + PROC_UNLOCK(tp); + return (EINVAL); + } udata.au_aupinfo.ap_auid = tp->p_au->ai_auid; udata.au_aupinfo.ap_mask.am_success = tp->p_au->ai_mask.am_success; udata.au_aupinfo.ap_mask.am_failure = tp->p_au->ai_mask.am_failure; udata.au_aupinfo.ap_termid.machine = - tp->p_au->ai_termid.machine; - udata.au_aupinfo.ap_termid.port = tp->p_au->ai_termid.port; + tp->p_au->ai_termid.at_addr[0]; + udata.au_aupinfo.ap_termid.port = + (dev_t)tp->p_au->ai_termid.at_port; udata.au_aupinfo.ap_asid = tp->p_au->ai_asid; PROC_UNLOCK(tp); break; @@ -369,7 +374,18 @@ break; case A_GETPINFO_ADDR: - return (ENOSYS); + if (udata.au_aupinfo_addr.ap_pid < 1) + return (EINVAL); + if ((tp = pfind(udata.au_aupinfo_addr.ap_pid)) == NULL) + return (EINVAL); + udata.au_aupinfo_addr.ap_auid = tp->p_au->ai_auid; + udata.au_aupinfo_addr.ap_mask.am_success = + tp->p_au->ai_mask.am_success; + udata.au_aupinfo_addr.ap_mask.am_failure = + tp->p_au->ai_mask.am_failure; + udata.au_aupinfo_addr.ap_termid = tp->p_au->ai_termid; + udata.au_aupinfo_addr.ap_asid = tp->p_au->ai_asid; + PROC_UNLOCK(tp); break; case A_GETKAUDIT: @@ -507,7 +523,15 @@ return (error); PROC_LOCK(td->td_proc); - ai = *td->td_proc->p_au; + if (td->td_proc->p_au->ai_termid.at_type == AU_IPv6) { + PROC_UNLOCK(td->td_proc); + return (E2BIG); + } + ai.ai_auid = td->td_proc->p_au->ai_auid; + ai.ai_mask = td->td_proc->p_au->ai_mask; + ai.ai_asid = td->td_proc->p_au->ai_asid; + ai.ai_termid.machine = td->td_proc->p_au->ai_termid.at_addr[0]; + ai.ai_termid.port = td->td_proc->p_au->ai_termid.at_port; PROC_UNLOCK(td->td_proc); return (copyout(&ai, uap->auditinfo, sizeof(ai))); @@ -541,7 +565,12 @@ * XXXRW: Test privilege while holding the proc lock? */ PROC_LOCK(td->td_proc); - *td->td_proc->p_au = ai; + td->td_proc->p_au->ai_auid = ai.ai_auid; + td->td_proc->p_au->ai_mask = ai.ai_mask; + td->td_proc->p_au->ai_asid = ai.ai_asid; + td->td_proc->p_au->ai_termid.at_addr[0] = ai.ai_termid.machine; + td->td_proc->p_au->ai_termid.at_port = ai.ai_termid.port; + td->td_proc->p_au->ai_termid.at_type = AU_IPv4; PROC_UNLOCK(td->td_proc); return (0); @@ -552,6 +581,7 @@ int getaudit_addr(struct thread *td, struct getaudit_addr_args *uap) { + struct auditinfo_addr aia; int error; #ifdef MAC @@ -563,7 +593,12 @@ error = suser(td); if (error) return (error); - return (ENOSYS); + if (uap->length < sizeof(aia)) + return (EOVERFLOW); + PROC_LOCK(td->td_proc); + aia = *td->td_proc->p_au; + PROC_UNLOCK(td->td_proc); + return (copyout(&aia, uap->auditinfo_addr, sizeof(aia))); } /* MPSAFE */ @@ -571,6 +606,7 @@ int setaudit_addr(struct thread *td, struct setaudit_addr_args *uap) { + struct auditinfo_addr aia; int error; error = suser(td); @@ -582,8 +618,13 @@ if (error) return (error); #endif - - return (ENOSYS); + error = copyin(uap->auditinfo_addr, &aia, sizeof(aia)); + if (error) + return (error); + PROC_LOCK(td->td_proc); + *td->td_proc->p_au = aia; + PROC_UNLOCK(td->td_proc); + return (error); } /* From owner-p4-projects@FreeBSD.ORG Wed Nov 22 16:12:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2CA7E16A417; Wed, 22 Nov 2006 16:12:34 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E393C16A407 for ; Wed, 22 Nov 2006 16:12:33 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F5FD43D6B for ; Wed, 22 Nov 2006 16:12:03 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAMGCWPr092486 for ; Wed, 22 Nov 2006 16:12:32 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAMGCWTd092481 for perforce@freebsd.org; Wed, 22 Nov 2006 16:12:32 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 22 Nov 2006 16:12:32 GMT Message-Id: <200611221612.kAMGCWTd092481@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110394 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 16:12:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=110394 Change 110394 by gonzo@gonzo_hq on 2006/11/22 16:12:27 o __start arguments (argc/argv/env) are located right on stack pointer. Affected files ... .. //depot/projects/mips2/src/lib/csu/mips/crt1.c#3 edit Differences ... ==== //depot/projects/mips2/src/lib/csu/mips/crt1.c#3 (text+ko) ==== @@ -81,13 +81,13 @@ " _start: \n" " /* Get argc, argv from stack */ \n" " \n" -" /* lw a0, -32(sp) */\n" +" /* lw a0, 0(sp) */\n" " /* move a1, sp */\n" -" /* addu a1, 32 + 4 */\n" +" /* addu a1, 4 */\n" " \n" -" lw $4, -32($29) \n" +" lw $4, 0($29) \n" " move $5, $29 \n" -" addu $5, 36 \n" +" addu $5, 4 \n" " /* TODO: Ensure the stack is properly aligned before calling C code. */\n" "\n" " j __start "); From owner-p4-projects@FreeBSD.ORG Fri Nov 24 13:36:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B701716A415; Fri, 24 Nov 2006 13:36:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 69F9416A403 for ; Fri, 24 Nov 2006 13:36:47 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD97B43D55 for ; Fri, 24 Nov 2006 13:36:04 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAODajdh031271 for ; Fri, 24 Nov 2006 13:36:45 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAODajA2031267 for perforce@freebsd.org; Fri, 24 Nov 2006 13:36:45 GMT (envelope-from bushman@freebsd.org) Date: Fri, 24 Nov 2006 13:36:45 GMT Message-Id: <200611241336.kAODajA2031267@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110479 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 13:36:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=110479 Change 110479 by bushman@bushman_nss_ldap_cached on 2006/11/24 13:36:39 + some style reworking of nscache.h (to avoid using typedefs) + NSS_MP_CACHE_HANDLING implementation chaged to be more general and flexible - we use the same nss_mp_cache_data structure for all nsswitch databases. + getXXent() calls now don't rewind automatically after reaching the end of the records list Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/getgrent.c#6 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/getpwent.c#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/include/nscache.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/include/nscachedcli.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getaddrinfo.c#6 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/gethostnamadr.c#6 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getnetnamadr.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getprotoent.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getservent.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nscache.c#7 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nscachedcli.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nsdispatch.c#7 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/rpc/getrpcent.c#3 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/getgrent.c#6 (text+ko) ==== @@ -300,9 +300,8 @@ setgrent(void) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(group, (void *)nss_lt_all, NULL, NULL); #endif static const ns_dtab dtab[] = { @@ -320,9 +319,8 @@ setgroupent(int stayopen) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(group, (void *)nss_lt_all, NULL, NULL); #endif static const ns_dtab dtab[] = { @@ -341,9 +339,8 @@ endgrent(void) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(group, (void *)nss_lt_all, NULL, NULL); #endif static const ns_dtab dtab[] = { @@ -361,9 +358,9 @@ struct group **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - grp_marshal_func, grp_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(group, (void *)nss_lt_all, + grp_marshal_func, grp_unmarshal_func); #endif static const ns_dtab dtab[] = { @@ -390,10 +387,9 @@ struct group **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_name, - grp_id_func, grp_marshal_func, grp_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(group, (void *)nss_lt_name, + grp_id_func, grp_marshal_func, grp_unmarshal_func); #endif static const ns_dtab dtab[] = { @@ -420,10 +416,9 @@ struct group **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_id, - grp_id_func, grp_marshal_func, grp_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(group, (void *)nss_lt_id, + grp_id_func, grp_marshal_func, grp_unmarshal_func); #endif static const ns_dtab dtab[] = { @@ -535,4 +530,3 @@ key.gid = 0; /* not used */ return (getgr(wrap_getgrent_r, key)); } - ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/getpwent.c#3 (text+ko) ==== @@ -302,9 +302,9 @@ setpwent(void) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - passwd, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(passwd, (void *)nss_lt_all, + NULL, NULL); #endif static const ns_dtab dtab[] = { @@ -321,9 +321,9 @@ setpassent(int stayopen) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - passwd, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(passwd, (void *)nss_lt_all, + NULL, NULL); #endif static const ns_dtab dtab[] = { @@ -342,8 +342,8 @@ endpwent(void) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - passwd, (void *)nss_lt_all, + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(passwd, (void *)nss_lt_all, NULL, NULL); #endif @@ -362,9 +362,9 @@ struct passwd **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - passwd, (void *)nss_lt_all, - pwd_marshal_func, pwd_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(passwd, (void *)nss_lt_all, + pwd_marshal_func, pwd_unmarshal_func); #endif static const ns_dtab dtab[] = { @@ -392,10 +392,9 @@ struct passwd **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - passwd, (void *)nss_lt_name, - pwd_id_func, pwd_marshal_func, pwd_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(passwd, (void *)nss_lt_name, + pwd_id_func, pwd_marshal_func, pwd_unmarshal_func); #endif static const ns_dtab dtab[] = { @@ -423,10 +422,9 @@ struct passwd **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - passwd, (void *)nss_lt_id, - pwd_id_func, pwd_marshal_func, pwd_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(passwd, (void *)nss_lt_id, + pwd_id_func, pwd_marshal_func, pwd_unmarshal_func); #endif static const ns_dtab dtab[] = { ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/include/nscache.h#3 (text) ==== @@ -31,22 +31,23 @@ #include "nscachedcli.h" -typedef int (*nss_cache_id_func_t)(char *, size_t *, va_list, void *); -typedef int (*nss_cache_marshal_func_t)(char *, size_t *, void *, va_list, +typedef int (*nss_cache_id_func)(char *, size_t *, va_list, void *); +typedef int (*nss_cache_marshal_func)(char *, size_t *, void *, va_list, void *); -typedef int (*nss_cache_unmarshal_func_t)(char *, size_t, void *, va_list, +typedef int (*nss_cache_unmarshal_func)(char *, size_t, void *, va_list, void *); -typedef void (*nss_set_mp_ws_func_t)(cached_mp_write_session); -typedef cached_mp_write_session (*nss_get_mp_ws_func_t)(void); +struct nss_mp_cache_state { + cached_mp_write_session mp_write_session; + cached_mp_read_session mp_read_session; + char *mp_buffer; + size_t mp_bufsize; + int finished; +}; -typedef void (*nss_set_mp_rs_func_t)(cached_mp_read_session); -typedef cached_mp_read_session (*nss_get_mp_rs_func_t)(void); +typedef struct nss_mp_cache_state *(*nss_get_mp_cache_state_func)(void); -typedef void (*nss_set_mp_buffer_func_t)(char *, size_t); -typedef char *(*nss_get_mp_buffer_func_t)(size_t *); - -typedef struct _nss_cache_info { +struct nss_cache_info { char *entry_name; void *mdata; @@ -54,144 +55,64 @@ * These 3 functions should be implemented specifically for each * nsswitch database. */ - nss_cache_id_func_t id_func; /* marshals the request parameters */ - nss_cache_marshal_func_t marshal_func; /* marshals response */ - nss_cache_unmarshal_func_t unmarshal_func; /* unmarshals response */ + nss_cache_id_func id_func; /* marshals the request parameters */ + nss_cache_marshal_func marshal_func; /* marshals response */ + nss_cache_unmarshal_func unmarshal_func; /* unmarshals response */ - /* - * These 4 functions should be generated with NSS_MP_CACHE_HANDLING - * macro. - */ - nss_set_mp_ws_func_t set_mp_ws_func; /* sets current write session */ - nss_get_mp_ws_func_t get_mp_ws_func; /* gets current write session */ + /* Gets thread-specific cache data for get**ent() requests handling */ + nss_get_mp_cache_state_func get_mp_cache_state_func; +}; - nss_set_mp_rs_func_t set_mp_rs_func; /* sets current read session */ - nss_get_mp_rs_func_t get_mp_rs_func; /* gets current read session */ - - nss_set_mp_buffer_func_t set_mp_buffer_func; - nss_get_mp_buffer_func_t get_mp_buffer_func; -} nss_cache_info; - -/* - * NSS_MP_CACHE_HANDLING implements the set_mp_ws, get_mp_ws, set_mp_rs, - * get_mp_rs functions, that are used in _nss_cache_info. It uses - * NSS_TLS_HANDLING macro to organize thread local storage. - */ -#define NSS_MP_CACHE_HANDLING(name) \ -struct name##_mp_state { \ - cached_mp_write_session mp_write_session; \ - cached_mp_read_session mp_read_session; \ - char *mp_buffer; \ - size_t mp_bufsize; \ -}; \ - \ -static void \ -name##_mp_endstate(void *s) { \ - struct name##_mp_state *mp_state; \ - \ - mp_state = (struct name##_mp_state *)s; \ - if (mp_state->mp_write_session != INVALID_CACHED_MP_WRITE_SESSION)\ - __abandon_cached_mp_write_session(mp_state->mp_write_session);\ - \ - if (mp_state->mp_read_session != INVALID_CACHED_MP_READ_SESSION)\ - __close_cached_mp_read_session(mp_state->mp_read_session);\ - \ - free(mp_state->mp_buffer); \ -} \ -NSS_TLS_HANDLING(name##_mp); \ - \ -static void \ -name##_set_mp_ws(cached_mp_write_session ws) \ -{ \ - struct name##_mp_state *mp_state; \ - int res; \ - \ - res = name##_mp_getstate(&mp_state); \ - if (res != 0) \ - return; \ - \ - mp_state->mp_write_session = ws; \ -} \ - \ -static cached_mp_write_session \ -name##_get_mp_ws(void) \ -{ \ - struct name##_mp_state *mp_state; \ - int res; \ - \ - res = name##_mp_getstate(&mp_state); \ - if (res != 0) \ - return (INVALID_CACHED_MP_WRITE_SESSION); \ - \ - return (mp_state->mp_write_session); \ -} \ - \ -static void \ -name##_set_mp_rs(cached_mp_read_session rs) \ -{ \ - struct name##_mp_state *mp_state; \ - int res; \ - \ - res = name##_mp_getstate(&mp_state); \ - if (res != 0) \ - return; \ - \ - mp_state->mp_read_session = rs; \ -} \ - \ -static cached_mp_read_session \ -name##_get_mp_rs(void) \ -{ \ - struct name##_mp_state *mp_state; \ - int res; \ - \ - res = name##_mp_getstate(&mp_state); \ - if (res != 0) \ - return (INVALID_CACHED_MP_READ_SESSION); \ - \ - return (mp_state->mp_read_session); \ -} \ - \ -static void \ -name##_set_mp_buffer(char *buf, size_t bufsize) \ -{ \ - struct name##_mp_state *mp_state; \ - int res; \ - \ - res = name##_mp_getstate(&mp_state); \ - if (res != 0) \ - return; \ - \ - mp_state->mp_buffer = buf; \ - mp_state->mp_bufsize = bufsize; \ -} \ - \ -static char * \ -name##_get_mp_buffer(size_t *bufsize) \ -{ \ - struct name##_mp_state *mp_state; \ - int res; \ - \ - res = name##_mp_getstate(&mp_state); \ - if (res != 0) \ - return (NULL); \ - \ - *bufsize = mp_state->mp_bufsize; \ - return (mp_state->mp_buffer); \ +#define NSS_MP_CACHE_HANDLING(name) \ +static pthread_key_t name##_state_key; \ +static void name##_keyinit(void); \ +static struct nss_mp_cache_state *name##_get_mp_state(void); \ + \ +static void \ +name##_keyinit(void) \ +{ \ + \ + (void)_pthread_key_create(&name##_state_key, \ + __nss_mp_cache_data_end_state); \ +} \ + \ +static struct nss_mp_cache_state * \ +name##_get_mp_state(void) \ +{ \ + static struct nss_mp_cache_state st; \ + static pthread_once_t keyinit = PTHREAD_ONCE_INIT; \ + int rv; \ + struct nss_mp_cache_state *p; \ + \ + if (!__isthreaded || _pthread_main_np() != 0) { \ + return (&st); \ + } \ + rv = _pthread_once(&keyinit, name##_keyinit); \ + if (rv != 0) \ + return (NULL); \ + p = _pthread_getspecific(name##_state_key); \ + if (p != NULL) \ + return (p); \ + p = calloc(1, sizeof(*p)); \ + if (p == NULL) \ + return (NULL); \ + rv = _pthread_setspecific(name##_state_key, p); \ + if (rv != 0) { \ + free(p); \ + return (NULL); \ + } \ + return (p); \ } - /* * These macros should be used to initialize _nss_cache_info structure. For * multipart queries in setXXXent and getXXXent functions mf and uf * (marshal function and unmarshal function) should be both NULL. */ #define NS_COMMON_CACHE_INFO_INITIALIZER(name, mdata, if, mf, uf) \ - {#name, mdata, if, mf, uf, NULL, NULL, NULL, NULL, NULL, NULL} + {#name, mdata, if, mf, uf, NULL} #define NS_MP_CACHE_INFO_INITIALIZER(name, mdata, mf, uf) \ - {#name, mdata, NULL, mf, uf, name##_set_mp_ws, name##_get_mp_ws,\ - name##_set_mp_rs, name##_get_mp_rs, name##_set_mp_buffer,\ - name##_get_mp_buffer } + {#name, mdata, NULL, mf, uf, name##_get_mp_state} /* * Analog of other XXX_CB macros. Has the pointer to _nss_cache_info @@ -210,18 +131,21 @@ #define NS_GET_NEWP(cp, cb, ib) \ ((char *)(cb) + (size_t)(cp) - (size_t)(ib)) -typedef struct _nss_cache_data { +struct nss_cache_data { char *key; size_t key_size; - nss_cache_info const *info; -} nss_cache_data; + struct nss_cache_info const *info; +}; __BEGIN_DECLS /* dummy function, which is needed to make nss_method_lookup happy */ extern int __nss_cache_handler(void *, void *, va_list); +extern void __nss_mp_cache_data_end_state(void *); + #ifdef _NS_PRIVATE + extern int __nss_common_cache_read(void *, void *, va_list); extern int __nss_common_cache_write(void *, void *, va_list); extern int __nss_common_cache_write_negative(void *); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/include/nscachedcli.h#3 (text) ==== ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getaddrinfo.c#6 (text+ko) ==== @@ -1654,10 +1654,9 @@ int error = 0; #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, NULL, addrinfo_id_func, addrinfo_marshal_func, - addrinfo_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(hosts, NULL, addrinfo_id_func, + addrinfo_marshal_func, addrinfo_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/gethostnamadr.c#6 (text+ko) ==== @@ -619,10 +619,9 @@ char abuf[MAXDNAME]; #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_name, - host_id_func, host_marshal_func, host_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(hosts, (void *)nss_lt_name, + host_id_func, host_marshal_func, host_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -677,10 +676,9 @@ res_state statp; #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_id, - host_id_func, host_marshal_func, host_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(hosts, (void *)nss_lt_id, + host_id_func, host_marshal_func, host_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getnetnamadr.c#4 (text+ko) ==== @@ -280,10 +280,9 @@ size_t buflen, struct netent **result, int *h_errorp) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - networks, (void *)nss_lt_name, - net_id_func, net_marshal_func, net_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(networks, (void *)nss_lt_name, + net_id_func, net_marshal_func, net_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -305,10 +304,9 @@ size_t buflen, struct netent **result, int *h_errorp) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - networks, (void *)nss_lt_id, - net_id_func, net_marshal_func, net_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(networks, (void *)nss_lt_id, + net_id_func, net_marshal_func, net_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getprotoent.c#4 (text+ko) ==== @@ -282,10 +282,9 @@ size_t buflen, struct protoent **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - protocols, (void *)nss_lt_name, - __proto_id_func, __proto_marshal_func, __proto_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(protocols, (void *)nss_lt_name, + __proto_id_func, __proto_marshal_func, __proto_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -311,10 +310,9 @@ size_t buflen, struct protoent **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - protocols, (void *)nss_lt_id, - __proto_id_func, __proto_marshal_func, __proto_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(protocols, (void *)nss_lt_id, + __proto_id_func, __proto_marshal_func, __proto_unmarshal_func); #endif static const ns_dtab dtab[] = { @@ -342,9 +340,9 @@ struct protoent **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - protocols, (void *)nss_lt_all, - __proto_marshal_func, __proto_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(protocols, (void *)nss_lt_all, + __proto_marshal_func, __proto_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -369,9 +367,9 @@ setprotoent(int stayopen) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - protocols, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(protocols, (void *)nss_lt_all, + NULL, NULL); #endif static const ns_dtab dtab[] = { @@ -389,9 +387,9 @@ endprotoent(void) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - protocols, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(protocols, (void *)nss_lt_all, + NULL, NULL); #endif static const ns_dtab dtab[] = { ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getservent.c#4 (text+ko) ==== @@ -358,10 +358,9 @@ char *buffer, size_t bufsize, struct servent **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - services, (void *)nss_lt_name, - serv_id_func, serv_marshal_func, serv_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(services, (void *)nss_lt_name, + serv_id_func, serv_marshal_func, serv_unmarshal_func); #endif /* NS_CACHING */ static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -387,10 +386,9 @@ char *buffer, size_t bufsize, struct servent **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - services, (void *)nss_lt_id, - serv_id_func, serv_marshal_func, serv_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER(services, (void *)nss_lt_id, + serv_id_func, serv_marshal_func, serv_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -416,9 +414,9 @@ struct servent **result) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - services, (void *)nss_lt_all, - serv_marshal_func, serv_unmarshal_func); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(services, (void *)nss_lt_all, + serv_marshal_func, serv_unmarshal_func); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -443,9 +441,9 @@ setservent(int stayopen) { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - services, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(services, (void *)nss_lt_all, + NULL, NULL); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING @@ -462,9 +460,9 @@ endservent() { #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - services, (void *)nss_lt_all, - NULL, NULL); + static const struct nss_cache_info cache_info = + NS_MP_CACHE_INFO_INITIALIZER(services, (void *)nss_lt_all, + NULL, NULL); #endif static const ns_dtab dtab[] = { #ifdef NS_CACHING ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/nscache.c#7 (text) ==== @@ -50,6 +50,21 @@ return (NS_UNAVAIL); } +void +__nss_mp_cache_data_end_state(void *p) +{ + struct nss_mp_cache_state *mp_state; + + mp_state = p; + if (mp_state->mp_write_session != INVALID_CACHED_MP_WRITE_SESSION) + __abandon_cached_mp_write_session(mp_state->mp_write_session); + + if (mp_state->mp_read_session != INVALID_CACHED_MP_READ_SESSION) + __close_cached_mp_read_session(mp_state->mp_read_session); + + free(mp_state->mp_buffer); +} + int __nss_common_cache_read(void *retval, void *mdata, va_list ap) { @@ -59,18 +74,18 @@ char *buffer; size_t buffer_size, size; - nss_cache_info const *cache_info; - nss_cache_data *cache_data; + struct nss_cache_info const *cache_info; + struct nss_cache_data *cache_data; va_list ap_new; int res; - cache_data = (nss_cache_data *)mdata; + cache_data = mdata; cache_info = cache_data->info; memset(¶ms, 0, sizeof(struct cached_connection_params)); params.socket_path = CACHED_SOCKET_PATH; - cache_data->key = (char *)malloc(NSS_CACHE_KEY_INITIAL_SIZE); + cache_data->key = malloc(NSS_CACHE_KEY_INITIAL_SIZE); if (cache_data->key == NULL) { cache_data->key_size = 0; return (NS_UNAVAIL); @@ -108,7 +123,7 @@ cache_data->key_size = size; buffer_size = NSS_CACHE_BUFFER_INITIAL_SIZE; - buffer = (char *)malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); + buffer = malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); if (buffer == NULL) return (NS_UNAVAIL); @@ -127,7 +142,7 @@ free(buffer); buffer = NULL; } else - buffer = (char *)reallocf(buffer, buffer_size); + buffer = reallocf(buffer, buffer_size); if (buffer == NULL) return (NS_UNAVAIL); @@ -177,12 +192,12 @@ char *buffer; size_t buffer_size; - nss_cache_info const *cache_info; - nss_cache_data *cache_data; + struct nss_cache_info const *cache_info; + struct nss_cache_data *cache_data; va_list ap_new; int res; - cache_data = (nss_cache_data *)mdata; + cache_data = mdata; cache_info = cache_data->info; if (cache_data->key == NULL) @@ -198,7 +213,7 @@ } buffer_size = NSS_CACHE_BUFFER_INITIAL_SIZE; - buffer = (char *)malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); + buffer = malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); if (buffer == NULL) { __close_cached_connection(connection); free(cache_data->key); @@ -220,7 +235,7 @@ buffer_size <<= 1; free(buffer); - buffer = (char *)malloc(buffer_size); + buffer = malloc(buffer_size); if (buffer == NULL) { res = NS_UNAVAIL; break; @@ -252,10 +267,10 @@ cached_connection connection; int res; - nss_cache_info const *cache_info; - nss_cache_data *cache_data; + struct nss_cache_info const *cache_info; + struct nss_cache_data *cache_data; - cache_data = (nss_cache_data *)mdata; + cache_data = mdata; cache_info = cache_data->info; if (cache_data->key == NULL) @@ -282,58 +297,61 @@ __nss_mp_cache_read(void *retval, void *mdata, va_list ap) { struct cached_connection_params params; - cached_mp_read_session rs; char *buffer; size_t buffer_size; - nss_cache_info const *cache_info; - nss_cache_data *cache_data; + struct nss_cache_info const *cache_info; + struct nss_cache_data *cache_data; + struct nss_mp_cache_state *mp_state; va_list ap_new; int res; - cache_data = (nss_cache_data *)mdata; + cache_data = mdata; cache_info = cache_data->info; - if (cache_info->get_mp_ws_func() != INVALID_CACHED_MP_WRITE_SESSION) + mp_state = cache_info->get_mp_cache_state_func(); + if ((mp_state == NULL) || + (mp_state->mp_write_session != INVALID_CACHED_MP_WRITE_SESSION)) return (NS_UNAVAIL); - buffer = cache_info->get_mp_buffer_func(&buffer_size); - if (buffer != NULL) { + if (mp_state->finished != 0) + return (NS_RETURN); + + if (mp_state->mp_buffer != NULL) { + buffer = mp_state->mp_buffer; + buffer_size = mp_state->mp_bufsize; res = 0; goto unmarsh; } - - rs = cache_info->get_mp_rs_func(); - if (rs == INVALID_CACHED_MP_READ_SESSION) { + + if (mp_state->mp_read_session == INVALID_CACHED_MP_READ_SESSION) { memset(¶ms, 0, sizeof(struct cached_connection_params)); params.socket_path = CACHED_SOCKET_PATH; - rs = __open_cached_mp_read_session(¶ms, - cache_info->entry_name); - if (rs == INVALID_CACHED_MP_READ_SESSION) + mp_state->mp_read_session = __open_cached_mp_read_session( + ¶ms, cache_info->entry_name); + if (mp_state->mp_read_session == INVALID_CACHED_MP_READ_SESSION) return (NS_UNAVAIL); - - cache_info->set_mp_rs_func(rs); } buffer_size = NSS_CACHE_BUFFER_INITIAL_SIZE; - buffer = (char *)malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); + buffer = malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); if (buffer == NULL) { - __close_cached_mp_read_session(rs); - rs = INVALID_CACHED_MP_READ_SESSION; - cache_info->set_mp_rs_func(rs); + __close_cached_mp_read_session(mp_state->mp_read_session); + mp_state->mp_read_session = INVALID_CACHED_MP_READ_SESSION; return (NS_UNAVAIL); } do { - res = __cached_mp_read(rs, buffer, &buffer_size); + res = __cached_mp_read(mp_state->mp_read_session, buffer, + &buffer_size); if (res == -2) { if (buffer_size > NSS_CACHE_BUFFER_SIZE_LIMIT) { free(buffer); res = -1; } else { - buffer = (char *)reallocf(buffer, buffer_size); + buffer = reallocf(buffer, buffer_size); if (buffer == NULL) { res = -1; break; @@ -343,7 +361,8 @@ } while (res == -2); unmarsh: - cache_info->set_mp_buffer_func(NULL, 0); + mp_state->mp_buffer = NULL; + mp_state->mp_bufsize = 0; if (res == 0) { va_copy(ap_new, ap); res = cache_info->unmarshal_func(buffer, buffer_size, retval, @@ -351,16 +370,19 @@ va_end(ap_new); if (res != NS_SUCCESS) { - if (res == NS_RETURN) - cache_info->set_mp_buffer_func(buffer, - buffer_size); - else + if (res == NS_RETURN) { + mp_state->mp_buffer = buffer; + mp_state->mp_bufsize = buffer_size; + } else free(buffer); return (res); } else res = 0; } else { free(buffer); + __close_cached_mp_read_session(mp_state->mp_read_session); + mp_state->mp_read_session = INVALID_CACHED_MP_READ_SESSION; + mp_state->finished = 1; return (res == -1 ? NS_RETURN : NS_UNAVAIL); } @@ -372,35 +394,38 @@ __nss_mp_cache_write(void *retval, void *mdata, va_list ap) { struct cached_connection_params params; - cached_mp_write_session ws; char *buffer; size_t buffer_size; - nss_cache_info const *cache_info; - nss_cache_data *cache_data; + struct nss_cache_info const *cache_info; + struct nss_cache_data *cache_data; + struct nss_mp_cache_state *mp_state; va_list ap_new; int res; - cache_data = (nss_cache_data *)mdata; + cache_data = mdata; cache_info = cache_data->info; - + mp_state = cache_info->get_mp_cache_state_func(); + + if ((mp_state == NULL) || + (mp_state->mp_read_session != INVALID_CACHED_MP_READ_SESSION)) + return (NS_UNAVAIL); + buffer_size = NSS_CACHE_BUFFER_INITIAL_SIZE; - buffer = (char *)malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); + buffer = malloc(NSS_CACHE_BUFFER_INITIAL_SIZE); if (buffer == NULL) return (NS_UNAVAIL); - ws = cache_info->get_mp_ws_func(); - if (ws == INVALID_CACHED_MP_WRITE_SESSION) { + if (mp_state->mp_write_session == INVALID_CACHED_MP_WRITE_SESSION) { memset(¶ms, 0, sizeof(struct cached_connection_params)); params.socket_path = CACHED_SOCKET_PATH; - ws = __open_cached_mp_write_session(¶ms, - cache_info->entry_name); - if (ws == INVALID_CACHED_MP_WRITE_SESSION) + mp_state->mp_write_session = __open_cached_mp_write_session( + ¶ms, cache_info->entry_name); + if (mp_state->mp_write_session == + INVALID_CACHED_MP_WRITE_SESSION) return (NS_UNAVAIL); - - cache_info->set_mp_ws_func(ws); } do { @@ -418,7 +443,7 @@ buffer_size <<= 1; free(buffer); - buffer = (char *)malloc(buffer_size); + buffer = malloc(buffer_size); if (buffer == NULL) { res = NS_UNAVAIL; break; @@ -431,7 +456,8 @@ return (res); } - res = __cached_mp_write(ws, buffer, buffer_size); + res = __cached_mp_write(mp_state->mp_write_session, buffer, + buffer_size); free(buffer); return (res == 0 ? NS_SUCCESS : NS_UNAVAIL); @@ -440,48 +466,47 @@ int __nss_mp_cache_write_submit(void *retval, void *mdata, va_list ap) { - cached_mp_write_session ws; + struct nss_cache_info const *cache_info; + struct nss_cache_data *cache_data; + struct nss_mp_cache_state *mp_state; - nss_cache_info const *cache_info; - nss_cache_data *cache_data; - - cache_data = (nss_cache_data *)mdata; + cache_data = mdata; cache_info = cache_data->info; + mp_state = cache_info->get_mp_cache_state_func(); - ws = cache_info->get_mp_ws_func(); - if (ws != INVALID_CACHED_MP_WRITE_SESSION) { - __close_cached_mp_write_session(ws); - ws = INVALID_CACHED_MP_WRITE_SESSION; - cache_info->set_mp_ws_func(ws); + if ((mp_state != NULL) && (mp_state->mp_write_session != + INVALID_CACHED_MP_WRITE_SESSION)) { + __close_cached_mp_write_session(mp_state->mp_write_session); + mp_state->mp_write_session = INVALID_CACHED_MP_WRITE_SESSION; } + return (NS_UNAVAIL); } int >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 24 13:37:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1630616A4A7; Fri, 24 Nov 2006 13:37:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E912216A47B for ; Fri, 24 Nov 2006 13:37:47 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32ED343D53 for ; Fri, 24 Nov 2006 13:37:06 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAODbluV031362 for ; Fri, 24 Nov 2006 13:37:47 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAODblQv031359 for perforce@freebsd.org; Fri, 24 Nov 2006 13:37:47 GMT (envelope-from bushman@freebsd.org) Date: Fri, 24 Nov 2006 13:37:47 GMT Message-Id: <200611241337.kAODblQv031359@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110480 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 13:37:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=110480 Change 110480 by bushman@bushman_nss_ldap_cached on 2006/11/24 13:37:12 + libnssutil should be in the list of prebuild libraries - as libutil depends on it Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#6 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#6 (text+ko) ==== @@ -1020,7 +1020,7 @@ lib/libbz2 lib/libcom_err lib/libcrypt lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ lib/libkiconv lib/libkvm lib/libmd \ - lib/libncurses lib/libopie lib/libpam \ + lib/libncurses lib/libnssutil lib/libopie lib/libpam \ lib/libradius lib/libsbuf lib/libtacplus lib/libutil \ ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_secure_lib_libssh} \ @@ -1029,6 +1029,7 @@ _generic_libs= gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib lib/libopie__L lib/libtacplus__L: lib/libmd__L +lib/libutil__L: lib/libnssutil__L .if ${MK_CRYPT} != "no" .if ${MK_OPENSSL} != "no" From owner-p4-projects@FreeBSD.ORG Fri Nov 24 14:29:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8820A16A47C; Fri, 24 Nov 2006 14:29:52 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6471A16A412 for ; Fri, 24 Nov 2006 14:29:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 620C043D5F for ; Fri, 24 Nov 2006 14:29:10 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAOETppR046051 for ; Fri, 24 Nov 2006 14:29:51 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAOETpHc046027 for perforce@freebsd.org; Fri, 24 Nov 2006 14:29:51 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 24 Nov 2006 14:29:51 GMT Message-Id: <200611241429.kAOETpHc046027@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110481 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 14:29:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=110481 Change 110481 by gonzo@gonzo_hq on 2006/11/24 14:28:53 o Elminate limitation on 4-bytes only pci_config write for GT chip. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips4k/malta/gt_pci.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips4k/malta/gt_pci.c#3 (text+ko) ==== @@ -459,11 +459,56 @@ { struct gt_pci_softc *sc = device_get_softc(dev); uint32_t addr; + uint32_t reg_data; + uint32_t shift, mask; + + if(bytes != 4) + { + reg_data = gt_pci_read_config(dev, bus, slot, func, reg, 4); + + /* + * XXX: We assume that words readed from GT chip are BE. + * Should we set the mode explicitly during chip + * Initialization? + */ + switch(reg % 4) + { + case 3: + shift = 24; + break; + case 2: + shift = 16; + break; + case 1: + shift = 8; + break; + default: + shift = 0; + break; + } - /* - * It's possible to write only 4 bytes at the moment - */ - KASSERT(bytes == 4, ("Unsupport write size")); + switch(bytes) + { + case 1: + mask = 0xff; + data = (reg_data & ~ (mask << shift)) | (data << shift); + break; + case 2: + mask = 0xffff; + if(reg % 4 == 0) + data = (reg_data & ~mask) | data; + else + data = (reg_data & ~ (mask << shift)) | + (data << shift); + break; + case 4: + break; + default: + panic("gt_pci_readconfig: wrong bytes count"); + break; + } + } + if (gt_pci_conf_setup(sc, bus, slot, func, reg & ~3, &addr)) return; From owner-p4-projects@FreeBSD.ORG Fri Nov 24 14:52:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64A6D16A416; Fri, 24 Nov 2006 14:52:27 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3FD6916A403 for ; Fri, 24 Nov 2006 14:52:27 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2B44D43D5E for ; Fri, 24 Nov 2006 14:51:38 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAOEqJD2057144 for ; Fri, 24 Nov 2006 14:52:19 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAOEqJks057140 for perforce@freebsd.org; Fri, 24 Nov 2006 14:52:19 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 24 Nov 2006 14:52:19 GMT Message-Id: <200611241452.kAOEqJks057140@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110482 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 14:52:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=110482 Change 110482 by gonzo@gonzo_hq on 2006/11/24 14:51:19 o Add mutex to pmap struct o Add macroses to handle pmap locking Affected files ... .. //depot/projects/mips2/src/sys/mips/include/pmap.h#7 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/pmap.h#7 (text+ko) ==== @@ -111,6 +111,10 @@ #ifndef LOCORE +#include +#include +#include + struct pv_entry; /* @@ -144,6 +148,7 @@ extern struct segtab *segbase; /* current segtab base */ typedef struct pmap { + struct mtx pm_mtx; struct pmap_statistics pm_stats; int pm_asid; int pm_asidgen; @@ -160,6 +165,21 @@ LIST_ENTRY(pmap) pm_list; /* list of all pmaps. */ } *pmap_t; +#ifdef _KERNEL +#define pmap_kernel() kernel_pmap + +#define PMAP_ASSERT_LOCKED(pmap) \ + mtx_assert(&(pmap)->pm_mtx, MA_OWNED) +#define PMAP_LOCK(pmap) mtx_lock(&(pmap)->pm_mtx) +#define PMAP_LOCK_DESTROY(pmap) mtx_destroy(&(pmap)->pm_mtx) +#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, "pmap", \ + NULL, MTX_DEF | MTX_DUPOK) +#define PMAP_OWNED(pmap) mtx_owned(&(pmap)->pm_mtx) +#define PMAP_MTX(pmap) (&(pmap)->pm_mtx) +#define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx) +#define PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->pm_mtx) +#endif + struct md_page { int pv_list_count; TAILQ_HEAD(,pv_entry) pv_list; From owner-p4-projects@FreeBSD.ORG Fri Nov 24 15:05:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 020C216A417; Fri, 24 Nov 2006 15:05:37 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CDE0916A415 for ; Fri, 24 Nov 2006 15:05:36 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id D5B8043D55 for ; Fri, 24 Nov 2006 15:04:54 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAOF5aMm060667 for ; Fri, 24 Nov 2006 15:05:36 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAOF5a0S060664 for perforce@freebsd.org; Fri, 24 Nov 2006 15:05:36 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 24 Nov 2006 15:05:36 GMT Message-Id: <200611241505.kAOF5a0S060664@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110483 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 15:05:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=110483 Change 110483 by gonzo@gonzo_hq on 2006/11/24 15:05:32 o Replace splvm/splx with proper locking Reported by: INVARIANTS Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#15 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#15 (text+ko) ==== @@ -97,6 +97,7 @@ #include #include #include +#include #include #include @@ -325,6 +326,7 @@ kernel_pmap->pm_active = ~0; kernel_pmap->pm_asid = 0; kernel_pmap->pm_asidgen = 1; + PMAP_LOCK_INIT(kernel_pmap); TAILQ_INIT(&kernel_pmap->pm_pvlist); /* @@ -420,7 +422,7 @@ * Now it is safe to enable pv_table recording. */ pmap_initialized = TRUE; -} +} void pmap_init2(void); /* XXX */ @@ -698,6 +700,7 @@ struct pmap *pmap; { + PMAP_LOCK_INIT(pmap); pmap->pm_private.pm_direct_map = kptmap; pmap->pm_ptphint = NULL; pmap->pm_active = 0; @@ -746,6 +749,7 @@ /* XXXMIPS: put proper asid generation here */ pmap->pm_asid = 1; pmap->pm_asidgen = 1; + PMAP_LOCK_INIT(pmap); TAILQ_INIT(&pmap->pm_pvlist); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); mtx_lock_spin(&allpmaps_lock); @@ -880,9 +884,7 @@ { pv_entry_t pv; int rtval; - int s; - s = splvm(); if (m->md.pv_list_count < pmap->pm_stats.resident_count) { TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { if (pmap == pv->pv_pmap && va == pv->pv_va) @@ -907,7 +909,6 @@ free_pv_entry(pv); } - splx(s); return rtval; } @@ -919,10 +920,10 @@ pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t mpte, vm_page_t m) { - int s; pv_entry_t pv; - s = splvm(); + vm_page_lock_queues(); + PMAP_LOCK(pmap); pv = get_pv_entry(); pv->pv_va = va; pv->pv_pmap = pmap; @@ -933,7 +934,8 @@ TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); m->md.pv_list_count++; vm_page_unlock_queues(); - splx(s); + PMAP_UNLOCK(pmap); + vm_page_unlock_queues(); } /* @@ -977,8 +979,15 @@ if (pmap == NULL) return; + vm_page_lock_queues(); + PMAP_LOCK(pmap); + if (pmap->pm_stats.resident_count == 0) + { + PMAP_UNLOCK(pmap); + vm_page_unlock_queues(); return; + } count = (eva - sva) >> PAGE_SHIFT; va = sva; @@ -988,6 +997,9 @@ tlb_remove(pmap, va); va += PAGE_SIZE; } + + PMAP_UNLOCK(pmap); + vm_page_unlock_queues(); } /* @@ -1008,7 +1020,6 @@ { register pv_entry_t pv; pt_entry_t *pte, tpte; - int s; #if defined(PMAP_DIAGNOSTIC) /* @@ -1020,14 +1031,18 @@ } #endif - s = splvm(); + vm_page_lock_queues(); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { + PMAP_LOCK(pv->pv_pmap); pte = pmap_pte(pv->pv_pmap, pv->pv_va); pv->pv_pmap->pm_stats.resident_count--; if (pmap_pte_pa(pte) != VM_PAGE_TO_PHYS(m)) + { + PMAP_UNLOCK(pv->pv_pmap); panic("pmap_remove_all: pv_table for %x is inconsistent", VM_PAGE_TO_PHYS(m)); + } tpte = *pte; @@ -1052,11 +1067,11 @@ m->md.pv_list_count--; /* pmap_unuse_pt(pv->pv_pmap, pv->pv_va, pv->pv_ptem); */ free_pv_entry(pv); + PMAP_UNLOCK(pv->pv_pmap); } vm_page_flag_clear(m, PG_WRITEABLE); - - splx(s); + vm_page_unlock_queues(); } /* @@ -1261,20 +1276,14 @@ { vm_page_t m; vm_pindex_t diff, psize; - int s; psize = atop(end - start); m = m_start; - /* - * XXXMIPS: check if locking required. - */ - s = splvm(); while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { pmap_enter(pmap, start + ptoa(diff), m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), FALSE); m = TAILQ_NEXT(m, listq); } - splx(s); } void @@ -1422,26 +1431,28 @@ { pv_entry_t pv; int loops = 0; - int s; if (!pmap_initialized || (m->flags & PG_FICTITIOUS)) return FALSE; - s = splvm(); + vm_page_lock_queues(); + PMAP_LOCK(pmap); /* * Not found, check current mappings returning immediately if found. */ TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { if (pv->pv_pmap == pmap) { - splx(s); + PMAP_UNLOCK(pmap); + vm_page_unlock_queues(); return TRUE; } loops++; if (loops >= 16) break; } - splx(s); + PMAP_UNLOCK(pmap); + vm_page_unlock_queues(); return (FALSE); } @@ -1460,7 +1471,6 @@ pt_entry_t *pte, tpte; vm_page_t m; pv_entry_t pv, npv; - int s; #ifdef PMAP_REMOVE_PAGES_CURPROC_ONLY if (!curthread || (pmap != vmspace_pmap(curthread->td_proc->p_vmspace))) { @@ -1469,7 +1479,8 @@ } #endif - s = splvm(); + vm_page_lock_queues(); + PMAP_LOCK(pmap); for(pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { @@ -1505,7 +1516,8 @@ /* pmap_unuse_pt(pv->pv_pmap, pv->pv_va, pv->pv_ptem); */ free_pv_entry(pv); } - splx(s); + PMAP_UNLOCK(pmap); + vm_page_unlock_queues(); pmap_invalidate_all(pmap); } From owner-p4-projects@FreeBSD.ORG Fri Nov 24 17:09:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C8D7F16A412; Fri, 24 Nov 2006 17:09:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A49DD16A40F for ; Fri, 24 Nov 2006 17:09:13 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id B41C243D62 for ; Fri, 24 Nov 2006 17:08:25 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAOH976n092098 for ; Fri, 24 Nov 2006 17:09:07 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAOH97nb092095 for perforce@freebsd.org; Fri, 24 Nov 2006 17:09:07 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 24 Nov 2006 17:09:07 GMT Message-Id: <200611241709.kAOH97nb092095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110486 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 17:09:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=110486 Change 110486 by gonzo@gonzo_hq on 2006/11/24 17:08:31 o Add UserIntr and UserGenException routines o Handle case of userland-generated traps and interrupts in ExceptionVector code. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/exception.S#14 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#14 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#13 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#14 $ */ /* $NetBSD: mipsX_subr.S,v 1.19 2005/12/11 12:18:09 christos Exp $ */ @@ -199,6 +199,42 @@ .dword GenericException /* Res (30) */ .dword VCED /* VCED */ + #### + #### Here comes user exception handlers + #### + .dword UserIntr /* Int */ + .dword UserGenericException /* TLBMod */ + .dword UserGenericException /* TLBL */ + .dword UserGenericException /* TLBS */ + .dword UserGenericException /* AdEL */ + .dword UserGenericException /* AdES */ + .dword UserGenericException /* IBE */ + .dword UserGenericException /* DBE */ + .dword UserGenericException /* Sys */ + .dword UserGenericException /* Bp */ + .dword UserGenericException /* RI */ + .dword UserGenericException /* CpU */ + .dword UserGenericException /* Ov */ + .dword UserGenericException /* Tr */ + .dword UserGenericException /* VCEI */ + .dword UserGenericException /* FPE */ + .dword UserGenericException /* Res (16) */ + .dword UserGenericException /* Res (17) */ + .dword UserGenericException /* Res (18) */ + .dword UserGenericException /* Res (19) */ + .dword UserGenericException /* Res (20) */ + .dword UserGenericException /* Res (21) */ + .dword UserGenericException /* Res (22) */ + .dword UserGenericException /* WATCH */ + .dword UserGenericException /* Res (24) */ + .dword UserGenericException /* Res (25) */ + .dword UserGenericException /* Res (26) */ + .dword UserGenericException /* Res (27) */ + .dword UserGenericException /* Res (28) */ + .dword UserGenericException /* Res (29) */ + .dword UserGenericException /* Res (30) */ + .dword VCED /* VCED */ + .text .set noreorder @@ -212,10 +248,14 @@ LEAF(ExceptionVector) .set noat - mfc0 k0, MIPS_COP_0_CAUSE - and k0, MIPS3_CR_EXC_CODE + mfc0 k0, MIPS_COP_0_CAUSE ## k0 = cause + and k0, MIPS3_CR_EXC_CODE ## mask out srl k0, MIPS_CR_EXC_CODE_SHIFT + mfc0 k1, MIPS_COP_0_STATUS + and k1, k1, MIPS_SR_KSU_USER + sll k1, k1, 4 sll k0, 3 /* Index 64-bits. */ + or k0, k0, k1 la k1, ExceptionHandlerTable addu k1, k0 lw k1, 0(k1) @@ -280,7 +320,6 @@ mtc0 zero, MIPS_COP_0_STATUS COP0_SYNC nop - nop jal trap nop 2: @@ -317,17 +356,21 @@ 1: .asciiz "Cache Vector" .text +/* + * Handles kernel mode TLBInvalid exception for KVA + * All other cases are handled by GeneticException + */ LEAF(TLBInvalidVector) .set noat mfc0 k0, MIPS_COP_0_BAD_VADDR # k0=badaddr + li k1, VM_MIN_KERNEL_ADDRESS bgez k0, GenericException - nop + subu k0, k0, k1 /* VPN2 = (VA >> page_shift) / 2 */ - la k1, VM_MIN_KERNEL_ADDRESS - subu k0, k0, k1 srl k0, PAGE_SHIFT + 1 + /* * XXXMIPS: * offset == VPN2 * sizeof(pt_entry_t) * 2 @@ -394,9 +437,7 @@ eret tlbnotfound: - la k0, panic - mtc0 k0, MIPS_COP_0_EXC_PC - la a0, 2f + break eret VEND(TLBInvalidVector) .data @@ -404,7 +445,7 @@ .text /* - * XXX kernel only. For now that makes sense. + * Handle TLBMiss exception. */ LEAF(TLBMissVector) .set noat @@ -412,6 +453,7 @@ mfc0 k0, MIPS_COP_0_BAD_VADDR # k0=badaddr bltz k0, 5f # k0<0 -> 5f (kernel fault) nop + 6: /* Userland */ lui k1, %hi(segtab_active) @@ -424,6 +466,7 @@ mfc0 k0, MIPS_COP_0_BAD_VADDR # k0=bad address (again) beq k1, zero, 7f # ==0 -- no page table srl k0, 10 # k0=VPN (aka va>>10) + nop andi k0, k0, 0xff8 # k0=page tab offset addu k1, k1, k0 # k1=pte address @@ -438,13 +481,11 @@ nop # standard nop tlbwr # write to tlb nop # standard nop - nop # needed by R4000/4400 - nop # needed by R4000/4400 eret # return from exception 5: j KVATLBMiss nop -7: j GenericException +7: j UserGenericException nop VEND(TLBMissVector) @@ -562,6 +603,128 @@ .set at END(VCEDX) +/* + * Handle trap from userspace (VM-related, syscall, etc..) + */ +NESTED(UserGenericException, TF_SIZE, ra) + .set noat + .set noreorder + .mask 0x80000000, -4 + lw k1, pcpup + lw k1, PC_CURTHREAD(k1) + lw k1, TD_MD_REALSTACK(k1) # load wired region + la k0, 1f + j exception_save_registers + nop +1: + move a0, k1 # For following trap call + addu sp, k1, -TF_SIZE # Switch to kernel's stack + + ### + ### Fill out trap arcguments and call it + ### + /* + * Call trap() with arguments: + * trapframe, cause, badvaddr. + * + * Cause is set up above when computing the code. + */ + mfc0 a1, MIPS_COP_0_CAUSE + mfc0 a2, MIPS_COP_0_BAD_VADDR + mfc0 t0, MIPS_COP_0_STATUS + .set at + and t0, t0, ~(MIPS_SR_COP_1_BIT | MIPS_SR_EXL | MIPS_SR_KSU_MASK | MIPS_SR_INT_IE) + .set noat + + mtc0 t0, MIPS_COP_0_STATUS + COP0_SYNC + + nop + jal trap + nop + + + ### + ### TODO: Check pending traps here. + ### + + /* + * Make sure interrupts are disabled for the purposes of + * having a clean go at restoring. + */ + mtc0 zero, MIPS_COP_0_CAUSE + + ### + ### Restore regiters and bail out + ### + addu sp, sp, TF_SIZE ## Restore pointer to saved + ## registers + move k1, sp + jal exception_restore_registers + nop + eret + .set at +VEND(UserGenericException) + .data +1: .asciiz "UserGenericException" + .text + +/* + * Handle interrupt from userspace + */ +NESTED(UserIntr, TF_SIZE, ra) + .set noat + .set noreorder + .mask 0x80000000, -4 + lw k1, pcpup + lw k1, PC_CURTHREAD(k1) + lw k1, TD_MD_REALSTACK(k1) # load wired region + la k0, 1f + j exception_save_registers + nop +1: + move a0, k1 # For following trap call + addu sp, k1, -TF_SIZE # Switch to kernel's stack + + mfc0 t0, MIPS_COP_0_STATUS + .set at + and t0, t0, ~(MIPS_SR_COP_1_BIT | MIPS_SR_EXL | MIPS_SR_KSU_MASK | MIPS_SR_INT_IE) + .set noat + + mtc0 t0, MIPS_COP_0_STATUS + COP0_SYNC + + nop + jal cpu_intr + nop + + + ### + ### TODO: Check pending traps here. + ### + + /* + * Make sure interrupts are disabled for the purposes of + * having a clean go at restoring. + */ + mtc0 zero, MIPS_COP_0_CAUSE + mtc0 zero, MIPS_COP_0_STATUS + + ### + ### Restore regiters and bail out + ### + addu sp, sp, TF_SIZE ## Restore pointer to saved + ## registers + move k1, sp + jal exception_restore_registers + nop + eret + .set at + +VEND(UserIntr) + .data +1: .asciiz "UserIntr" + .text /* * Restore registers from a trapframe pointed to in k1, returning to ra From owner-p4-projects@FreeBSD.ORG Fri Nov 24 22:08:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B874D16A417; Fri, 24 Nov 2006 22:08:31 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9326916A412 for ; Fri, 24 Nov 2006 22:08:31 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F96843D62 for ; Fri, 24 Nov 2006 22:07:47 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAOM8UQN059791 for ; Fri, 24 Nov 2006 22:08:30 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAOM8UuN059788 for perforce@freebsd.org; Fri, 24 Nov 2006 22:08:30 GMT (envelope-from gabor@FreeBSD.org) Date: Fri, 24 Nov 2006 22:08:30 GMT Message-Id: <200611242208.kAOM8UuN059788@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 110496 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 22:08:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=110496 Change 110496 by gabor@gabor_server on 2006/11/24 22:07:59 IFC Affected files ... .. //depot/projects/soc2006/gabor_ports/GIDs#5 integrate .. //depot/projects/soc2006/gabor_ports/MOVED#15 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.gnustep.mk#5 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.php.mk#6 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.sites.mk#12 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.wx.mk#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/scripts/chkmodules.pl#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/scripts/chkorigin.sh#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/scripts/chkversion.pl#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/scripts/tindex#4 integrate .. //depot/projects/soc2006/gabor_ports/UIDs#5 integrate .. //depot/projects/soc2006/gabor_ports/UPDATING#17 integrate Differences ... ==== //depot/projects/soc2006/gabor_ports/GIDs#5 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/GIDs,v 1.16 2006/11/11 16:36:23 ahze Exp $ +$FreeBSD: ports/GIDs,v 1.18 2006/11/16 08:58:31 alexbl Exp $ # Please keep this file sorted by GID! bind:*:53: rdfdb:*:55: @@ -47,6 +47,7 @@ _symon:*:115: smokeping:*:117: ircproxyd:*:118: +fetchmail:*:124 postfix:*:125: maildrop:*:126: vchat:*:128: @@ -71,6 +72,7 @@ haclient:*:275: mrtg:*:279: dkfilter:*:325: +wildfire:*:340: ldap:*:389: tiarra:*:398: drweb:*:426: ==== //depot/projects/soc2006/gabor_ports/MOVED#15 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1183 2006/11/12 06:43:14 rafan Exp $ +# $FreeBSD: ports/MOVED,v 1.1188 2006/11/23 13:55:02 pav Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -2539,3 +2539,11 @@ editors/openoffice.org-2.0|editors/openoffice.org-2|2006-11-12|Better version number handling editors/openoffice.org-2.0-devel|editors/openoffice.org-2-devel|2006-11-12|Better version number handling devel/ply|devel/py-ply|2006-11-12|Rename to consistency with other Python ports +devel/py-lucene|textproc/py-lucene|2006-11-15|Moved to be consistent with Lucene port +math/p5-AI-NeuralNet-Mesh||2006-11-21|Has expired: project no longer exists +net/p5-Archie||2006-11-21|Has expired: project no longer exists +www/mod_jk2||2006-11-21|Has expired: "JK2 is officially unsupported, no further development will take place." +www/mod_jk2-apache2||2006-11-21|Has expired: "JK2 is officially unsupported, no further development will take place." +devel/p5-IO-Stty||2006-11-21|Has expired: project no longer exists +print/pecl-panda||2006-11-22|Has expired: Project is dead and does not work +mail/dbmail-devel|mail/dbmail21|2006-11-23|Renamed ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.gnustep.mk#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: ports/Mk/bsd.gnustep.mk,v 1.32 2006/10/31 05:27:21 dinoex Exp $ +# $FreeBSD: ports/Mk/bsd.gnustep.mk,v 1.36 2006/11/20 03:47:08 dinoex Exp $ # # This file contains some variable definitions that are supposed to # make your life easier when dealing with ports related to the GNUstep. @@ -72,15 +72,30 @@ # USE_GNUSTEP_SYSTEM_LIBS+= Renaissance:x11-toolkits/renaissance # depends on a shared lib in System directrory # +# USE_GNUSTEP_SYSTEM_BUNDLES+= EtoileMenus:x11-themes/etoile-etoilemenus +# depends on Bundles installed in System directrory at build and runtime +# +# USE_GNUSTEP_SYSTEM_THEMES+= Camaelon:x11-themes/etoile-camaelon +# depends on Themes installed in System directrory at build and runtime +# # USE_GNUSTEP_LOCAL_LIBS+= pantomime:mail/pantomime # depends on a shared lib in Local directrory # +# USE_GNUSTEP_LOCAL_BUNDLES+= Cddb:audio/cddb-bundle +# depends on Bundles installed in Local directrory at build and runtime +# +# USE_GNUSTEP_LOCAL_THEMES+= WildMenus:x11-themes/etoile-wildmenus +# depends on Themes installed in Local directrory at build and runtime +# # USE_GNUSTEP_SYSTEM_APPS+= ProjectCenter:devel/projectcenter.app # depends on Application installed in System directrory at runtime # # USE_GNUSTEP_LOCAL_APPS+= Ink:misc/gnustep-examples # depends on Application installed in Local directrory at runtime # +# USE_GNUSTEP_LOCAL_TOOLS+= zillion:net/zillion +# depends on Tool installed in Local directrory at runtime +# # --------------------------------------------------------------------------- .if !defined(_POSTMKINCLUDED) @@ -126,10 +141,11 @@ .endif SYSTEMDIR= ${GNUSTEP_PREFIX}/System SYSMAKEDIR= ${SYSTEMDIR}/Library/Makefiles -BUNDLEDIR= ${SYSTEMDIR}/Library/Bundles +SYSBUNDLEDIR= ${SYSTEMDIR}/Library/Bundles SYSLIBDIR= ${SYSTEMDIR}/Library/Libraries COMBOLIBDIR= ${SYSTEMDIR}/Library/Libraries LOCALLIBDIR= ${GNUSTEP_PREFIX}/Local/Library/Libraries +LOCALBUNDLEDIR= ${GNUSTEP_PREFIX}/Local/Library/Bundles .if defined(WITH_GNUSTEP_DEVEL) PKGNAMESUFFIX?= -devel${PKGNAMESUFFIX2} PLIST_SUB+= GNUSTEP_DEVEL="" @@ -217,8 +233,8 @@ # Backend using xlib # .if defined(USE_GNUSTEP_XLIB) -BUILD_DEPENDS+= ${BUNDLEDIR}/${BACKXLIB}.bundle/${BACKXLIB}:${PORTSDIR}/${GNUSTEP_BACK_PORT} -RUN_DEPENDS+= ${BUNDLEDIR}/${BACKXLIB}.bundle/${BACKXLIB}:${PORTSDIR}/${GNUSTEP_BACK_PORT} +BUILD_DEPENDS+= ${SYSBUNDLEDIR}/${BACKXLIB}.bundle/${BACKXLIB}:${PORTSDIR}/${GNUSTEP_BACK_PORT} +RUN_DEPENDS+= ${SYSBUNDLEDIR}/${BACKXLIB}.bundle/${BACKXLIB}:${PORTSDIR}/${GNUSTEP_BACK_PORT} BACKXLIB= libgnustep-back${BACKSUFFIX} MAKE_FLAGS+= GUI_BACKEND_LIB=back @@ -228,8 +244,8 @@ # Backend using xdps # .if defined(USE_GNUSTEP_XDPS) -BUILD_DEPENDS+= ${BUNDLEDIR}/${BACKXDPS}.bundle/${BACKXDPS}:${PORTSDIR}/${GNUSTEP_XDPS_PORT} -RUN_DEPENDS+= ${BUNDLEDIR}/${BACKXDPS}.bundle/${BACKXDPS}:${PORTSDIR}/${GNUSTEP_XDPS_PORT} +BUILD_DEPENDS+= ${SYSBUNDLEDIR}/${BACKXDPS}.bundle/${BACKXDPS}:${PORTSDIR}/${GNUSTEP_XDPS_PORT} +RUN_DEPENDS+= ${SYSBUNDLEDIR}/${BACKXDPS}.bundle/${BACKXDPS}:${PORTSDIR}/${GNUSTEP_XDPS_PORT} BACKXDPS= libgnustep-xdps${BACKSUFFIX} MAKE_FLAGS+= GUI_BACKEND_LIB=xdps @@ -239,8 +255,8 @@ # Backend using libart # .if defined(USE_GNUSTEP_LIBART) -BUILD_DEPENDS+= ${BUNDLEDIR}/${BACKART}.bundle/${BACKART}:${PORTSDIR}/${GNUSTEP_ART_PORT} -RUN_DEPENDS+= ${BUNDLEDIR}/${BACKART}.bundle/${BACKART}:${PORTSDIR}/${GNUSTEP_ART_PORT} +BUILD_DEPENDS+= ${SYSBUNDLEDIR}/${BACKART}.bundle/${BACKART}:${PORTSDIR}/${GNUSTEP_ART_PORT} +RUN_DEPENDS+= ${SYSBUNDLEDIR}/${BACKART}.bundle/${BACKART}:${PORTSDIR}/${GNUSTEP_ART_PORT} BACKART= libgnustep-art${BACKSUFFIX} MAKE_FLAGS+= GUI_BACKEND_LIB=art @@ -250,8 +266,8 @@ # Backend using cairo # .if defined(USE_GNUSTEP_CAIRO) -BUILD_DEPENDS+= ${BUNDLEDIR}/${BACKCAIRO}.bundle/${BACKCAIRO}:${PORTSDIR}/${GNUSTEP_CAIRO_PORT} -RUN_DEPENDS+= ${BUNDLEDIR}/${BACKCAIRO}.bundle/${BACKCAIRO}:${PORTSDIR}/${GNUSTEP_CAIRO_PORT} +BUILD_DEPENDS+= ${SYSBUNDLEDIR}/${BACKCAIRO}.bundle/${BACKCAIRO}:${PORTSDIR}/${GNUSTEP_CAIRO_PORT} +RUN_DEPENDS+= ${SYSBUNDLEDIR}/${BACKCAIRO}.bundle/${BACKCAIRO}:${PORTSDIR}/${GNUSTEP_CAIRO_PORT} BACKCAIRO= libgnustep-cairo${BACKSUFFIX} MAKE_FLAGS+= GUI_BACKEND_LIB=cairo @@ -268,6 +284,26 @@ .endif # --------------------------------------------------------------------------- +# source system bundles +# +.if defined(USE_GNUSTEP_SYSTEM_BUNDLES) +.for _GNUSTEP_DEP in ${USE_GNUSTEP_SYSTEM_BUNDLES} +BUILD_DEPENDS+= ${SYSBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.bundle/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +RUN_DEPENDS+= ${SYSBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.bundle/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +.endfor +.endif + +# --------------------------------------------------------------------------- +# source system themes +# +.if defined(USE_GNUSTEP_SYSTEM_THEMES) +.for _GNUSTEP_DEP in ${USE_GNUSTEP_SYSTEM_THEMES} +BUILD_DEPENDS+= ${SYSBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.themeEngine/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +RUN_DEPENDS+= ${SYSBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.themeEngine/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +.endfor +.endif + +# --------------------------------------------------------------------------- # source local libs # .if defined(USE_GNUSTEP_LOCAL_LIBS) @@ -278,6 +314,26 @@ .endif # --------------------------------------------------------------------------- +# source local bundles +# +.if defined(USE_GNUSTEP_LOCAL_BUNDLES) +.for _GNUSTEP_DEP in ${USE_GNUSTEP_LOCAL_BUNDLES} +BUILD_DEPENDS+= ${LOCALBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.bundle/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +RUN_DEPENDS+= ${LOCALBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.bundle/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +.endfor +.endif + +# --------------------------------------------------------------------------- +# source local themes +# +.if defined(USE_GNUSTEP_LOCAL_THEMES) +.for _GNUSTEP_DEP in ${USE_GNUSTEP_LOCAL_THEMES} +BUILD_DEPENDS+= ${LOCALBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.themeEngine/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +RUN_DEPENDS+= ${LOCALBUNDLEDIR}/${_GNUSTEP_DEP:C/:.*//}.themeEngine/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +.endfor +.endif + +# --------------------------------------------------------------------------- # source system apps # .if defined(USE_GNUSTEP_SYSTEM_APPS) @@ -296,6 +352,15 @@ .endif # --------------------------------------------------------------------------- +# source local tools +# +.if defined(USE_GNUSTEP_LOCAL_TOOLS) +.for _GNUSTEP_DEP in ${USE_GNUSTEP_LOCAL_TOOLS} +RUN_DEPENDS+= ${GNUSTEP_PREFIX}/Local/Tools/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +.endfor +.endif + +# --------------------------------------------------------------------------- # source GNUstep.sh # .if defined(USE_GNUSTEP_CONFIGURE) ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.php.mk#6 (text+ko) ==== @@ -7,7 +7,7 @@ # Please send all suggested changes to the maintainer instead of committing # them to CVS yourself. # -# $FreeBSD: ports/Mk/bsd.php.mk,v 1.34 2006/11/06 17:43:10 ale Exp $ +# $FreeBSD: ports/Mk/bsd.php.mk,v 1.35 2006/11/22 06:59:37 ale Exp $ # # Adding 'USE_PHP=yes' to a port includes this Makefile after bsd.ports.pre.mk. # If the port requires a predefined set of PHP extensions, they can be @@ -231,7 +231,7 @@ exif fileinfo fribidi ftp gd gettext gmp \ hash iconv imap interbase ldap mbstring mcrypt \ mhash ming mssql mysql ncurses odbc \ - openssl panda pcntl pcre pdf pgsql posix \ + openssl pcntl pcre pdf pgsql posix \ pspell radius readline recode session shmop snmp \ sockets sybase_ct sysvmsg sysvsem sysvshm \ tokenizer wddx xml xmlrpc yaz zip zlib @@ -281,7 +281,6 @@ openssl_DEPENDS=security/php${PHP_VER}-openssl oracle_DEPENDS= databases/php${PHP_VER}-oracle overload_DEPENDS=lang/php${PHP_VER}-overload -panda_DEPENDS= print/pecl-panda pcntl_DEPENDS= devel/php${PHP_VER}-pcntl pcre_DEPENDS= devel/php${PHP_VER}-pcre pdf_DEPENDS= print/pecl-pdflib ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.sites.mk#12 (text+ko) ==== @@ -20,7 +20,7 @@ # # Note: all entries should terminate with a slash. # -# $FreeBSD: ports/Mk/bsd.sites.mk,v 1.401 2006/11/05 12:27:42 sat Exp $ +# $FreeBSD: ports/Mk/bsd.sites.mk,v 1.402 2006/11/24 19:24:51 pav Exp $ # # Where to put distfiles that don't have any other master site @@ -1120,7 +1120,8 @@ ftp://ctan.tug.org/tex-archive/%SUBDIR%/ \ ftp://ftp.dante.de/tex-archive/%SUBDIR%/ \ ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,text/CTAN/&,} \ - ftp://ftp.chg.ru/pub/TeX/CTAN/%SUBDIR%/ + ftp://ftp.chg.ru/pub/TeX/CTAN/%SUBDIR%/ \ + ftp://mirror.macomnet.net/pub/CTAN/%SUBDIR%/ .endif .if !defined(IGNORE_MASTER_SITE_THEMES) ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.wx.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.wx.mk,v 1.1 2006/07/05 02:13:12 linimon Exp $ +# $FreeBSD: ports/Mk/bsd.wx.mk,v 1.2 2006/11/13 21:15:38 alepulver Exp $ # # bsd.wx.mk - Support for WxWidgets based ports. # @@ -14,7 +14,7 @@ # components (with run and/or build dependencies). It can be used after and/or # before bsd.port.pre.mk, but Python components will only work if Python # variables (e.g. USE_PYTHON) are defined before it (this is a bsd.python.mk -# limitation). +# limitation), at least it is manually included. # USE_WX - Set to the list of WxWidgets versions that can be used by # the port. The syntax allows the following elements: # - Single version (e.g. "2.4"). @@ -29,7 +29,7 @@ # WX_COMPS - Set to the list of WxWidgets components the port uses. # Several components can be specified separated by spaces. By # default it will have the value of "wx". Suffixes in the form -# "_xxx" may be added to the components to determine the +# ":xxx" may be added to the components to determine the # dependency type. # The available components are: # wx - The WxWidgets library. @@ -41,20 +41,23 @@ # build - Requires component for building. # lib - Requires component for building and running. # run - Requires component for running. -# If no suffix is present then "lib" will be used. +# If no suffix is present then "run" will be used for "python" +# and "lib" for others. # WX_CONF_ARGS - Set to "absolute" or "relative" if the port needs configure # arguments in addition to the WX_CONFIG environment variable. # It determines the type of parameters that have to be passed # to the configure script. In the first case it adds -# "--with-wx-config=${WX_CONFIG}" (absolute path of WX_CONFIG), -# and in second one "--with-wx=${X11BASE}" and +# "--with-wx-config=${WX_CONFIG}" (absolute path of +# WX_CONFIG), and in second one "--with-wx=${X11BASE}" plus # "--with-wx-config=${WX_CONFIG:T} (prefix and name). -# WX_UNICODE - Set to "yes" (or anything) if the port needs the Unicode -# version of the WxWidgets library and/or contributed -# libraries. +# WX_PREMK - Define to determine version and define WX_CONFIG/WX_VERSION +# after (in case the port needs to manually run +# the script). +# WX_UNICODE - Define if the port needs the Unicode version of the +# WxWidgets library and/or contributed libraries. # NOTE: this should NOT be used for ports that can be compiled -# with Unicode or not, but for the ones that require it. The -# first case is handled by the user variable WITH_UNICODE. +# with Unicode or not, but for the ones that require it. +# WANT_UNICODE - Define if the port prefers Unicode, but doesn't require it. # WANT_WX - Set to "yes" or a valid single version (no ranges, etc). # In both cases it will detect the installed WxWidgets # components and add them to the variable HAVE_WX. If a @@ -70,23 +73,23 @@ # # The following variables are intended for the user and can be defined in # make.conf. -# WITH_UNICODE - If the variable is defined and both the running FreeBSD -# version and the selected WxWidgets version support Unicode, -# then the Unicode version of WxWidgets is used. -# WITH_WX_VER - If the variable is defined the version it contains will be -# used as the default for ports that support multiple -# WxWidgets versions. It can contain multiple versions, and -# the last possible one will be used. +# WITH_UNICODE - Define if you prefer the Unicode version when available. +# WITHOUT_UNICODE +# - Define if you prefer the non Unicode version (this +# variable disables WITH_UNICODE and WANT_UNICODE). +# WITH_WX_VER - Define to the list of prefered versions in reverse order. # # The following variables are defined by this file, to be read from the port. +# WX_CONFIG - The path to the wx-config program (with different name). +# WXRC_CMD - The path to the wxrc program (with different name). +# WX_VERSION - The WxWidgets version that is going to be used. # WX_UNICODE - If this variable is not defined by the port (which means it # requires the Unicode version of WxWidgets), it will be # defined in the case the Unicode version is used (enabled by -# the user through WITH_UNICODE). -# WX_VERSION - The WxWidgets version that is going to be used. +# WITH_UNICODE or WANT_UNICODE). # HAVE_WX - The list of WxWidgets components installed, if WANT_WX was # defined. The components will have version suffix if it was -# set to "yes"). +# set to "yes". # # Examples: # - A port that needs WxWidgets 2.6 and contributed libraries with Unicode. @@ -96,11 +99,11 @@ # - A port that needs WxPython 2.4 for running. # USE_PYTHON= yes # USE_WX= 2.4 -# WX_COMPS= python_run +# WX_COMPS= python:run # - A port that needs WxPython 2.4 or 2.6 for building. # USE_PYTHON= yes # USE_WX= 2.4 2.6 -# WX_COMPS= python_build +# WX_COMPS= python:build # - A port that needs WxWidgets version 2.4 or higher and contributed # libraries. # USE_WX= 2.4+ @@ -108,11 +111,6 @@ # - A port that needs WxWidgets of any version other than 2.4. # USE_WX_NOT= 2.4 # -# Notes: -# - The version is processed on each inclusion, so USE_WX, USE_WX_NOT and -# WX_UNICODE can be modified before and after including bsd.port.pre.mk. -# After determining the version and Unicode, WX_CONFIG will be defined. -# WX_Include_MAINTAINER= alepulver@FreeBSD.org @@ -129,20 +127,14 @@ # _WX_DEP_TYPES_ALL - List of valid dependency types. # _WX_VERS_ALL - List of supported versions. # _WX_VERS_UC_ALL - List of Unicode capable versions. -# _WX_CHANGE_VARS - List of variables allowed to change between pre and -# post inclusions (related to version). -# _WX_LISTS_ORDER - Reverse lists preference order. -# _WX_AUTO_VARS - Variables defined sometimes that may have to be -# redefined later. +# _WX_VERS_LISTS - Reverse lists preference order. # _WX_COMPS_ALL= wx contrib python mozilla svg _WX_DEP_TYPES_ALL= build lib run _WX_VERS_ALL= 2.4 2.6 _WX_VERS_UC_ALL= 2.6 -_WX_CHANGE_VARS= USE_WX USE_WX_NOT WX_UNICODE -_WX_LISTS_ORDER= _WX_VER_FINAL WANT_WX_VER WITH_WX_VER -_WX_AUTO_VARS= USE_WX WX_CONFIG +_WX_VERS_LISTS= WANT_WX_VER WITH_WX_VER # # Variables used to determine what is needed: @@ -150,55 +142,74 @@ # _WX_LIB_comp_ver - Name of the shared library (optional). # _WX_SHVER_comp_ver - Shared library version (optional). # _WX_FILE_comp_ver - File installed by that component. +# _WX_DEPTYPE_comp_ver - Default dependency type (optional). # -_WX_PORT_wx_2.4= wxgtk24 +_WX_PORT_wx_2.4= x11-toolkits/wxgtk24 _WX_LIB_wx_2.4= wx_gtk2-2.4 -_WX_PORT_contrib_2.4= wxgtk24-contrib +_WX_PORT_contrib_2.4= x11-toolkits/wxgtk24-contrib _WX_LIB_contrib_2.4= wx_gtk2_canvas-2.4 -_WX_PORT_python_2.4= py-wxPython24 +_WX_PORT_python_2.4= x11-toolkits/py-wxPython24 _WX_FILE_python_2.4= ${PYTHON_SITELIBDIR}/wx/__init__.py -_WX_PORT_mozilla_2.4= wxmozilla +_WX_PORT_mozilla_2.4= x11-toolkits/wxmozilla _WX_LIB_mozilla_2.4= wxmozilla_gtk2-2.4 -_WX_PORT_wx_2.6= wxgtk26${_WX_UCL} +_WX_PORT_wx_2.6= x11-toolkits/wxgtk26${_WX_UCL} _WX_LIB_wx_2.6= wx_base${_WX_UC}-2.6 -_WX_PORT_contrib_2.6= wxgtk26${_WX_UCL}-contrib +_WX_PORT_contrib_2.6= x11-toolkits/wxgtk26${_WX_UCL}-contrib _WX_LIB_contrib_2.6= wx_gtk2${_WX_UC}_animate-2.6 -_WX_PORT_python_2.6= py-wxPython26${_WX_UCL} +_WX_PORT_python_2.6= x11-toolkits/py-wxPython26${_WX_UCL} _WX_FILE_python_2.6= ${PYTHON_SITELIBDIR}/wx-2.6-gtk2${_WX_PYSUFX}/wx/__init__.py -_WX_PORT_svg_2.6= wxsvg +_WX_PORT_svg_2.6= x11-toolkits/wxsvg _WX_LIB_svg_2.6= wxsvg # Set _WX_SHVER_comp_ver to 0 and _WX_FILE_comp_ver for libs appropiately. +# Set _WX_DEPTYPE_comp_ver for "python" to "run", and others to "lib". .for comp in ${_WX_COMPS_ALL} +_WX_COMP= ${comp} . for ver in ${_WX_VERS_ALL} . if defined(_WX_LIB_${comp}_${ver}) _WX_SHVER_${comp}_${ver}= 0 _WX_FILE_${comp}_${ver}= ${X11BASE}/lib/lib${_WX_LIB_${comp}_${ver}}.so.${_WX_SHVER_${comp}_${ver}} . endif +. if ${_WX_COMP} == "python" +_WX_DEPTYPE_${comp}_${ver}= run +. else +_WX_DEPTYPE_${comp}_${ver}= lib +. endif . endfor .endfor .endif # !_WX_Defined_Done # +# Check if the user/port wants Unicode. +# + +.if ${OSVERSION} >= 500000 && (!defined(WITHOUT_UNICODE) && \ + (defined(WITH_UNICODE) || defined(WANT_UNICODE))) +_WX_UC_AVAILABLE= yes +.else +.undef _WX_UC_AVAILABLE +.endif + +# # Check for present components. # -.if !defined(AFTERPORTMK) && defined(WANT_WX) +.if defined(WANT_WX) && defined(BEFOREPORTMK) # Check if Unicode will be used. . for __WANT_WX in ${WANT_WX} -. if defined(WITH_UNICODE) && ${OSVERSION} >= 500000 && \ +. if defined(_WX_UC_AVAILABLE) && \ (${_WX_VERS_UC_ALL:M${__WANT_WX}} != "" || ${WANT_WX:L} == "yes") _WX_WANT_UNICODE= yes . endif @@ -247,50 +258,17 @@ IGNORE?= selected an invalid value for WANT_WX: ${__WANT_WX} . endif . endfor -.endif # ! AFTERPORTMK && WANT_WX - -# -# Check if the version has changed between inclusions. -# - -.if defined(_WX_Version_Done) -. undef _WX_HAS_CHANGED - -. for var in ${_WX_CHANGE_VARS} -. if (defined(${var}) && !defined(_WX_OLD_${var})) || \ - (!defined(${var}) && defined(_WX_OLD_${var})) || \ - (defined(_WX_OLD_${var}) && ${_WX_OLD_${var}} != ${${var}}) -_WX_HAS_CHANGED= yes -. endif -. endfor -.endif # _WX_Version_Done +.endif # WANT_WX && BEFOREPORTMK # # Select WxWidgets version. # -.if (!defined(_WX_Version_Done) || defined(_WX_HAS_CHANGED)) && \ - (defined(USE_WX) || defined(USE_WX_NOT)) +.if !defined(_WX_Version_Done) && (defined(_POSTMKINCLUDED) || \ + (defined(WX_PREMK) && defined(BEFOREPORTMK) && \ + (defined(USE_WX) || defined(USE_WX_NOT)))) _WX_Version_Done= yes -# Handle automatic variables. - -.for var in ${_WX_AUTO_VARS} -. if defined(_WX_${var}_DEFINED) -. undef ${var} -. endif -. if !defined(${var}) -_WX_${var}_DEFINED= yes -. endif -.endfor - -# Reset old variable values. - -.if defined(_WX_HAS_CHANGED) -. undef _WX_VER -. undef _WX_IGNORE -.endif - # Set defaults (if one isn't present). USE_WX?= ${_WX_VERS_ALL} @@ -349,7 +327,7 @@ # Check for a null version. .if empty(_WX_VER_MERGED) -_WX_IGNORE?= selected a null or invalid WxWidgets version +IGNORE?= selected a null or invalid WxWidgets version .endif # @@ -365,9 +343,9 @@ . endif .endfor -# Requested by the user (optional). +# Requested by the user or port (optional). -.if defined(WITH_UNICODE) && ${OSVERSION} >= 500000 +.if defined(_WX_UC_AVAILABLE) . for ver in ${_WX_VER_UC} . if ${_WX_VERS_UC_ALL:M${ver}} != "" WX_UNICODE= yes @@ -379,9 +357,9 @@ .if defined(WX_UNICODE) . if ${OSVERSION} < 500000 -_WX_IGNORE?= requires FreeBSD versions >= 5.X (because of Unicode) +IGNORE?= requires FreeBSD versions >= 5.X (because of Unicode) . elif empty(_WX_VER_UC) -_WX_IGNORE?= selected a WxWidgets version which does not support Unicode: ${_WX_VER_MERGED} +IGNORE?= selected a WxWidgets version which does not support Unicode: ${_WX_VER_MERGED} . endif .endif @@ -410,7 +388,7 @@ # 3) _WX_VER_FINAL - Available versions. # -.for list in ${_WX_LISTS_ORDER} +.for list in _WX_VER_FINAL ${_WX_VERS_LISTS} . if defined(${list}) . for ver in ${${list}} . if ${_WX_VER_FINAL:M${ver}} != "" @@ -424,30 +402,19 @@ # Set variables. # -WX_VERSION= ${_WX_VER} WX_CONFIG?= ${X11BASE}/bin/wxgtk2${_WX_UC}-${_WX_VER}-config +WXRC_CMD?= ${X11BASE}/bin/wxrc-gtk2${_WX_UC}-${_WX_VER} +WX_VERSION?= ${_WX_VER} -# Define old values for detecting changes. - -.for var in ${_WX_CHANGE_VARS} -. if defined(${var}) -_WX_OLD_${var}:= ${${var}} -. endif -.endfor - -.endif # ! _WX_Version_Done || _WX_HAS_CHANGED +.endif # !_WX_Version_Done && (_POSTMKINCLUDED || \ +# (WX_PREMK && BEFOREPORTMK && (USE_WX || USE_WX_NOT))) # # Process components list and add dependencies, variables, etc. # -.if !defined(BEFOREPORTMK) -# Error check. +.if defined(_POSTMKINCLUDED) -.if defined(_WX_IGNORE) -IGNORE?= ${_WX_IGNORE} -.endif - # # Component parsing. # @@ -466,10 +433,11 @@ _WX_COMPS_FINAL= # .for comp in ${WX_COMPS} -_WX_COMP= ${comp:C/_([[:alpha:]]+)$//} -_WX_DEP_TYPE= ${comp:C/.+_([[:alpha:]]+)$/\1/} +_WX_COMP= ${comp:C/:([[:alpha:]]+)$//} . if ${_WX_COMP} == ${comp} -_WX_DEP_TYPE= lib +_WX_DEP_TYPE= ${_WX_DEPTYPE_${comp}_${_WX_VER}} +. else +_WX_DEP_TYPE= ${comp:C/.+:([[:alpha:]]+)$/\1/} . endif _WX_COMP_NEW= ${_WX_COMP}_${_WX_DEP_TYPE} . for __WX_COMP in ${_WX_COMP} @@ -501,16 +469,19 @@ .for comp in ${_WX_COMPS_FINAL} _WX_COMP= ${comp:C/_([[:alpha:]]+)$//} _WX_DEP_TYPE= ${comp:C/.+_([[:alpha:]]+)$/\1/} -. if ${_WX_DEP_TYPE} == "lib" -. if defined(_WX_LIB_${_WX_COMP}_${_WX_VER}) -LIB_DEPENDS+= ${_WX_LIB_${_WX_COMP}_${_WX_VER}}:${PORTSDIR}/x11-toolkits/${_WX_PORT_${_WX_COMP}_${_WX_VER}} +# XXX Need a .for loop here so the variable is expanded before the assignment. +. for comp_part in ${_WX_COMP} +. if ${_WX_DEP_TYPE} == "lib" +. if defined(_WX_LIB_${_WX_COMP}_${_WX_VER}) +LIB_DEPENDS+= ${_WX_LIB_${comp_part}_${_WX_VER}}:${PORTSDIR}/${_WX_PORT_${comp_part}_${_WX_VER}} +. else +BUILD_DEPENDS+= ${_WX_FILE_${comp_part}_${_WX_VER}}:${PORTSDIR}/${_WX_PORT_${comp_part}_${_WX_VER}} +RUN_DEPENDS+= ${_WX_FILE_${comp_part}_${_WX_VER}}:${PORTSDIR}/${_WX_PORT_${comp_part}_${_WX_VER}} +. endif . else -BUILD_DEPENDS+= ${_WX_FILE_${_WX_COMP}_${_WX_VER}}:${PORTSDIR}/x11-toolkits/${_WX_PORT_${_WX_COMP}_${_WX_VER}} -RUN_DEPENDS+= ${_WX_FILE_${_WX_COMP}_${_WX_VER}}:${PORTSDIR}/x11-toolkits/${_WX_PORT_${_WX_COMP}_${_WX_VER}} +${_WX_DEP_TYPE:U}_DEPENDS+= ${_WX_FILE_${comp_part}_${_WX_VER}}:${PORTSDIR}/${_WX_PORT_${comp_part}_${_WX_VER}} . endif -. else -${_WX_DEP_TYPE:U}_DEPENDS+= ${_WX_FILE_${_WX_COMP}_${_WX_VER}}:${PORTSDIR}/x11-toolkits/${_WX_PORT_${_WX_COMP}_${_WX_VER}} -. endif +. endfor .endfor # @@ -531,4 +502,4 @@ . endif .endif -.endif # ! BEFOREPORTMK +.endif # _POSTMKINCLUDED ==== //depot/projects/soc2006/gabor_ports/Tools/scripts/chkmodules.pl#2 (text+ko) ==== @@ -28,9 +28,9 @@ # (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: ports/Tools/scripts/chkmodules.pl,v 1.4 2005/01/09 10:21:17 krion Exp $ +# $FreeBSD: ports/Tools/scripts/chkmodules.pl,v 1.5 2006/11/23 12:16:59 erwin Exp $ # -# MAINTAINER= eik@FreeBSD.org +# MAINTAINER= erwin@FreeBSD.org # # CVSROOT-ports/modules auditing script, based on a shell script by # Clement Laforet. ==== //depot/projects/soc2006/gabor_ports/Tools/scripts/chkorigin.sh#2 (text+ko) ==== @@ -28,9 +28,9 @@ # (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: ports/Tools/scripts/chkorigin.sh,v 1.2 2004/03/28 19:13:34 eik Exp $ +# $FreeBSD: ports/Tools/scripts/chkorigin.sh,v 1.3 2006/11/23 12:16:59 erwin Exp $ # -# MAINTAINER= eik@FreeBSD.org +# MAINTAINER= erwin@FreeBSD.org # # PKGORIGIN connects packaged or installed ports to the directory they # originally came from. Although often overlooked, they are extremly ==== //depot/projects/soc2006/gabor_ports/Tools/scripts/chkversion.pl#2 (text+ko) ==== @@ -28,9 +28,9 @@ # (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: ports/Tools/scripts/chkversion.pl,v 1.13 2004/06/04 22:23:03 eik Exp $ +# $FreeBSD: ports/Tools/scripts/chkversion.pl,v 1.16 2006/11/23 14:04:52 erwin Exp $ # -# MAINTAINER= eik@FreeBSD.org +# MAINTAINER= erwin@FreeBSD.org # # PORTVERSION and PKGORIGIN auditing script # @@ -66,6 +66,7 @@ require 5.005; use strict; +use POSIX; use File::Find; use Cwd 'abs_path'; @@ -103,6 +104,8 @@ my $versionfile = "$versiondir/VERSIONS"; my $useindex = !-w $versiondir; +my $starttime = strftime("%a %b %e %G %k:%M:%S %Z",localtime); + sub readfrom { my $dir = shift; @@ -319,7 +322,7 @@ } sub template { - my ($from, $rcpt, $replyto, $ports) = @_; + my ($from, $rcpt, $replyto, $starttime, $ports) = @_; my $portlist = join ', ', sort keys %{$ports}; substr($portlist, 32) = '...' @@ -350,6 +353,7 @@ $_ =~ s/%%CC%%/$cc/og; $_ =~ s/%%REPLYTO%%/$replyto/og; $_ =~ s/%%SUBJECT%%/$portlist/og; + $_ =~ s/%%STARTTIME%%/$starttime/og; $header .= $_; } return $header; @@ -377,16 +381,16 @@ my $tmpl; -$tmpl = template $h_from, $rcpt_orig, $h_replyto, \%pkgorigin; +$tmpl = template $h_from, $rcpt_orig, $h_replyto, $starttime, \%pkgorigin; mail $tmpl, $rcpt_orig, \%pkgorigin; -$tmpl = template $h_from, $rcpt_vers, $h_replyto, \%backwards; +$tmpl = template $h_from, $rcpt_vers, $h_replyto, $starttime, \%backwards; mail $tmpl, $rcpt_vers, \%backwards; -$tmpl = template $h_from, $rcpt_watch, $h_replyto, \%watched; +$tmpl = template $h_from, $rcpt_watch, $h_replyto, $starttime, \%watched; mail $tmpl, $rcpt_watch, \%watched; -$tmpl = template $h_from, $rcpt_watch, $h_replyto, \%watchedm; +$tmpl = template $h_from, $rcpt_watch, $h_replyto, $starttime, \%watchedm; mail $tmpl, $rcpt_watchm, \%watchedm; exit((%pkgorigin || %backwards) ? 1 : 0); @@ -408,6 +412,8 @@ Please fix any errors as soon as possible. + The ports tree was updated at %%STARTTIME%%. + . From: %%FROM%% To: %%RCPT%% @@ -426,6 +432,8 @@ Please fix any errors as soon as possible. + The ports tree was updated at %%STARTTIME%%. + . From: %%FROM%% To: %%RCPT%% @@ -438,6 +446,8 @@ You have requested to be notified of version changes in the following ports: + The ports tree was updated at %%STARTTIME%%. + . From: %%FROM%% To: %%RCPT%% @@ -450,4 +460,6 @@ You have requested to be notified of maintainer changes in the following ports: + The ports tree was updated at %%STARTTIME%%. + . ==== //depot/projects/soc2006/gabor_ports/Tools/scripts/tindex#4 (text+ko) ==== @@ -8,6 +8,9 @@ # When INDEX is broken, assemble the list of committers who touched files # on the most recent 'cvs update', and put those committers "on the hook". # These committers all stay on the hook until INDEX is buildable again. +# +# MAINTAINER= erwin@FreeBSD.org +# # -------------------------------------------------------- # Change these! ==== //depot/projects/soc2006/gabor_ports/UIDs#5 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/UIDs,v 1.20 2006/11/11 16:36:23 ahze Exp $ +$FreeBSD: ports/UIDs,v 1.22 2006/11/16 08:58:31 alexbl Exp $ # Please keep this file sorted by UID! bind:*:53:53:Bind Sandbox:/:/sbin/nologin majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent @@ -57,6 +57,7 @@ hplip:*:116:116:HPLIP Server:/nonexistent:/sbin/nologin smokeping:*:117:117:SmokePing Daemon:/nonexistent:/sbin/nologin ircproxyd:*:118:118:Night Light IRC Proxy:/nonexistent:/sbin/nologin +fetchmail:*:124:124:Fetchmail mail-retrieval daemon:/nonexistent:/sbin/nologin postfix:*:125:125:Postfix Mail System:/var/spool/postfix:/sbin/nologin vchat:*:128:128:VChat Conferencing System:/nonexistent:/sbin/nologin _bgpd:*:130:130:BGP Daemon:/var/empty:/sbin/nologin @@ -82,6 +83,7 @@ hacluster:*:275:275:Heartbeat cluster user:/nonexistent:/sbin/nologin mrtg:*:279:279:MRTG daemon:/nonexistent:/sbin/nologin dkfilter:*:325:325:DK Filter Owner:/nonexistent:/sbin/nologin +wildfire:*:340:340::0:0:Wildfire Daemon:/nonexistent:/sbin/nologin ldap:*:389:389:OpenLDAP Server:/nonexistent:/sbin/nologin tiarra:*:398:398:Tiarra IRC Proxy:/nonexistent:/usr/sbin/nologin drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin ==== //depot/projects/soc2006/gabor_ports/UPDATING#17 (text+ko) ==== @@ -6,6 +6,13 @@ time you update your ports collection, before attempting any port upgrades. +20061121: + AFFECTS: users of www/hastymail + AUTHOR: miwi@FreeBSD.org + + The default install location has changed from + ${PREFIX}/www/data/hastymail to ${PREFIX}/www/hastymail. + 20061109 AFFECTS: users of milter-bogom, dk-milter, dkim-milter AUTHOR: ache@freebsd.org @@ -4400,4 +4407,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.424 2006/11/09 13:37:21 ache Exp $ +$FreeBSD: ports/UPDATING,v 1.425 2006/11/21 19:32:14 miwi Exp $ From owner-p4-projects@FreeBSD.ORG Fri Nov 24 23:02:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29FDE16A49E; Fri, 24 Nov 2006 23:02:44 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B66FC16A47B for ; Fri, 24 Nov 2006 23:02:43 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 96A4F43D46 for ; Fri, 24 Nov 2006 23:01:59 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAON2hvJ070860 for ; Fri, 24 Nov 2006 23:02:43 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAON2gtu070854 for perforce@freebsd.org; Fri, 24 Nov 2006 23:02:42 GMT (envelope-from gabor@FreeBSD.org) Date: Fri, 24 Nov 2006 23:02:42 GMT Message-Id: <200611242302.kAON2gtu070854@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 110500 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2006 23:02:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=110500 Change 110500 by gabor@gabor_server on 2006/11/24 23:02:40 Create my branch to refine the current DESTDIR implementation. Affected files ... .. //depot/projects/soc2006/gabor_destdir/.cvsignore#1 branch .. //depot/projects/soc2006/gabor_destdir/CHANGES#1 branch .. //depot/projects/soc2006/gabor_destdir/COPYRIGHT#1 branch .. //depot/projects/soc2006/gabor_destdir/GIDs#1 branch .. //depot/projects/soc2006/gabor_destdir/KNOBS#1 branch .. //depot/projects/soc2006/gabor_destdir/LEGAL#1 branch .. //depot/projects/soc2006/gabor_destdir/MOVED#1 branch .. //depot/projects/soc2006/gabor_destdir/Makefile#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.apache.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.autotools.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.database.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.emacs.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.gcc.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.gnome.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.gnustep.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.gstreamer.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.java.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.kde.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.linux-rpm.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.local.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.lua.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.mail.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.openssl.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.php.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.options.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.post.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.pre.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.subdir.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.python.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.ruby.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.scons.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.sdl.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.sites.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.tcl.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.wx.mk#1 branch .. //depot/projects/soc2006/gabor_destdir/README#1 branch .. //depot/projects/soc2006/gabor_destdir/Templates/README.category#1 branch .. //depot/projects/soc2006/gabor_destdir/Templates/README.port#1 branch .. //depot/projects/soc2006/gabor_destdir/Templates/README.top#1 branch .. //depot/projects/soc2006/gabor_destdir/Templates/config.guess#1 branch .. //depot/projects/soc2006/gabor_destdir/Templates/config.sub#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/make_index#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/make_readmes#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/4/bindist/README#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/4/bindist/delete#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/4/bindist/dirlist#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/4/bindist/files/usr/bin/uname#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/4/mkbindist.conf#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/5/bindist/files/usr/bin/uname#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/5/mkbindist.conf#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/README#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/mlist#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/portbuild.conf#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/allgohans#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/bothlogs#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildenv#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildfailure#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildscript#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildsuccess#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/checkmachines#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/checkmachines.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/chopindex#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/claim-chroot#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/clean-chroot#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/cleanup-chroots#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/comparelogs#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/cpdistfiles#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/cppackages#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/docppackages#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dodistfiles#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dologs#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackages#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackages.wrapper#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackages2#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackagestats#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dosetupnode#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/flushsquid#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/getmachine#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/keeprestr#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/makeduds#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/makeindex#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/makeparallel#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/makerestr#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/makeworld#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/mkbindist#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/pdispatch#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/pnohang.c#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/pollmachine#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/portbuild#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/processfail#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/processlogs#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/processlogs2#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/processonelog#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/prunebad#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/prunefailure#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/prunepkgs#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/ptimeout.c#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/releasemachine#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/reportload#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/reportload.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/setupnode#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/showrunning#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/stats#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/updatefailure#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/MOVEDlint.awk#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/README#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/README.patchtool#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/README.portsearch#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/addport#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/bad-pkgdescrs.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/bump_revision.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/check-latest-link#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/checkcats.py#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/checknewver.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/checksize.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/checksum.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/chkdepschain.py#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/chkmodules.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/chkorigin.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/chkversion.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/close-pr#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/consistency-check#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/distclean.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/distinfochecker#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/domakedescribe#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/doportlint#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/getpr#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/gnomedepends.py#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/mkptools/mkpbuild#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/mkptools/mkpclean#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/mkptools/mkpextr#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/mkptools/mkpinstall#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/mkptools/mkpmerge#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/mkptools/mkppackage#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/mkptools/mkpskel#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/modulesupdate#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/parse-kdump.tcl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/patchtool.py#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/pkg-stash/pkg-list.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/pkg-stash/pkg-stash.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/plist#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/portsearch#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/portsvar.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/prdone#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/prpatch#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/Makefile#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/README#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/checkdeps.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/config#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/doit.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/oneshot.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/scrubindex.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/release/setup.sh#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/rmport#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/security-check.awk#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/splitpatch.pl#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/sunshar.rb#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/sunshar/Makefile#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/sunshar/sunshar.1#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/tindex#1 branch .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/update-patches#1 branch .. //depot/projects/soc2006/gabor_destdir/UIDs#1 branch .. //depot/projects/soc2006/gabor_destdir/UPDATING#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Sat Nov 25 10:53:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E96C916A415; Sat, 25 Nov 2006 10:53:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 94BA716A407 for ; Sat, 25 Nov 2006 10:53:41 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 613C943D58 for ; Sat, 25 Nov 2006 10:52:54 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPArfhD036868 for ; Sat, 25 Nov 2006 10:53:41 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPArfaJ036863 for perforce@freebsd.org; Sat, 25 Nov 2006 10:53:41 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 25 Nov 2006 10:53:41 GMT Message-Id: <200611251053.kAPArfaJ036863@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 110511 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 10:53:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=110511 Change 110511 by gonzo@gonzo_hq on 2006/11/25 10:53:04 o Disable DMA for gxemul by returning ENOENT from bus_dma_tag_create. This makes sence for gxemul but should be fixed ASAP when real hardware step into game. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#3 (text+ko) ==== @@ -111,6 +111,9 @@ vm_offset_t _wsize; }; +/* XXXMIPS: waith with DMA till real hardware will be used */ +#define NO_DMA + #define DMAMAP_LINEAR 0x1 #define DMAMAP_MBUF 0x2 #define DMAMAP_UIO 0x4 @@ -189,6 +192,7 @@ * with the tag are meant to never be defered. * XXX Should have a way to identify which driver is responsible here. */ +#ifndef NO_DMA static void dflt_lock(void *arg, bus_dma_lock_op_t op) { @@ -198,6 +202,7 @@ printf("DRIVER_ERROR: busdma dflt_lock called\n"); #endif } +#endif static __inline bus_dmamap_t _busdma_alloc_dmamap(void) @@ -238,6 +243,7 @@ bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, void *lockfuncarg, bus_dma_tag_t *dmat) { +#ifndef NO_DMA bus_dma_tag_t newtag; int error = 0; @@ -311,6 +317,9 @@ CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d", __func__, newtag, (newtag != NULL ? newtag->flags : 0), error); return (error); +#else + return ENOSYS; +#endif } From owner-p4-projects@FreeBSD.ORG Sat Nov 25 12:13:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9353016A40F; Sat, 25 Nov 2006 12:13:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 45B5A16A4CA for ; Sat, 25 Nov 2006 12:13:36 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D3F243D49 for ; Sat, 25 Nov 2006 12:12:35 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPCDMZ7053172 for ; Sat, 25 Nov 2006 12:13:22 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPCDL8U053167 for perforce@freebsd.org; Sat, 25 Nov 2006 12:13:21 GMT (envelope-from bushman@freebsd.org) Date: Sat, 25 Nov 2006 12:13:21 GMT Message-Id: <200611251213.kAPCDL8U053167@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 110512 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 12:13:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=110512 Change 110512 by bushman@bushman_nss_ldap_cached on 2006/11/25 12:12:41 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/sendfile.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/banner/banner.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pkill/pkill.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pkill/pkill.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/vmstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/usbhidctl/usbhid.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/usbhidctl/usbhidctl.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/vmstat/vmstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/crunch/crunchgen/crunchgen.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/crunch/examples/really-big.conf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/freebsd-update/freebsd-update.sh#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/jail/jail.8#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/config.c#4 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/sendfile.2#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/sendfile.2,v 1.30 2005/11/17 13:00:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/sendfile.2,v 1.31 2006/11/24 11:44:19 yar Exp $ .\" -.Dd October 31, 2005 +.Dd November 24, 2006 .Dt SENDFILE 2 .Os .Sh NAME @@ -130,7 +130,7 @@ .Fn sendfile is "zero-copy", meaning that it has been optimized so that copying of the file data is avoided. .Sh TUNING -Internally, this system call uses a special +On some architectures, this system call internally uses a special .Fn sendfile buffer .Pq Vt "struct sf_buf" @@ -184,6 +184,13 @@ buffers usage respectively. These values may also be viewed through .Nm netstat Fl m . +.Pp +If a value of zero is reported for +.Va kern.ipc.nsfbufs , +your architecture does not need to use +.Fn sendfile +buffers because their task can be efficiently performed +by the generic virtual memory structures. .Sh RETURN VALUES .Rv -std sendfile .Sh ERRORS @@ -262,6 +269,16 @@ .Xr socket 2 , .Xr writev 2 , .Xr tuning 7 +.Rs +.%A K. Elmeleegy +.%A A. Chanda +.%A A. L. Cox +.%A W. Zwaenepoel +.%T A Portable Kernel Abstraction for Low-Overhead Ephemeral Mapping Management +.%J The Proceedings of the 2005 USENIX Annual Technical Conference +.%P pp 223-236 +.%D 2005 +.Re .Sh HISTORY The .Fn sendfile ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/banner/banner.c#2 (text+ko) ==== @@ -44,7 +44,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.bin/banner/banner.c,v 1.15 2002/03/22 01:19:22 imp Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/banner/banner.c,v 1.16 2006/11/22 21:05:17 maxim Exp $"); /* * banner - prints large signs @@ -1045,7 +1045,7 @@ break; case 'w': width = atoi(optarg); - if (width <= 0) + if (width <= 0 || width > DWIDTH) errx(1, "illegal argument for -w option"); break; case '?': @@ -1056,7 +1056,7 @@ argv += optind; for (i = 0; i < width; i++) { - j = i * 132 / width; + j = i * DWIDTH / width; print[j] = 1; } ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pkill/pkill.1#2 (text+ko) ==== @@ -1,6 +1,6 @@ .\" $NetBSD: pkill.1,v 1.8 2003/02/14 15:59:18 grant Exp $ .\" -.\" $FreeBSD: src/usr.bin/pkill/pkill.1,v 1.20 2005/11/18 10:36:29 ru Exp $ +.\" $FreeBSD: src/usr.bin/pkill/pkill.1,v 1.21 2006/11/23 11:55:17 yar Exp $ .\" .\" Copyright (c) 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -36,7 +36,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd November 16, 2005 +.Dd November 23, 2006 .Dt PKILL 1 .Os .Sh NAME @@ -146,7 +146,12 @@ Restrict matches to processes inside jails with a jail ID in the comma-separated list .Ar jid . -The value zero is taken to mean any jail ID. +The value +.Dq Li any +matches processes in any jail. +The value +.Dq Li none +matches processes not in jail. .It Fl l Long output. Print the process name in addition to the process ID for each matching @@ -240,6 +245,18 @@ .It 3 An internal error occurred. .El +.Sh COMPATIBILITY +Historically the option +.Dq Fl j Li 0 +means any jail, although in other utilities such as +.Xr ps 1 +jail ID +.Li 0 +has the opposite meaning, not in jail. +Therefore +.Dq Fl j Li 0 +is deprecated, and its use is discouraged in favor of +.Dq Fl j Li any . .Sh SEE ALSO .Xr kill 1 , .Xr killall 1 , ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pkill/pkill.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.bin/pkill/pkill.c,v 1.30 2005/11/16 11:03:00 pjd Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/pkill/pkill.c,v 1.31 2006/11/23 11:55:17 yar Exp $"); #include #include @@ -84,6 +84,7 @@ LT_GROUP, LT_TTY, LT_PGRP, + LT_JID, LT_SID }; @@ -235,7 +236,7 @@ cflags |= REG_ICASE; break; case 'j': - makelist(&jidlist, LT_GENERIC, optarg); + makelist(&jidlist, LT_JID, optarg); criteria = 1; break; case 'l': @@ -451,12 +452,12 @@ } SLIST_FOREACH(li, &jidlist, li_chain) { - if (kp->ki_jid > 0) { - if (li->li_number == 0) - break; - if (kp->ki_jid == (int)li->li_number) - break; - } + /* A particular jail ID, including 0 (not in jail) */ + if (kp->ki_jid == (int)li->li_number) + break; + /* Any jail */ + if (kp->ki_jid > 0 && li->li_number == -1) + break; } if (SLIST_FIRST(&jidlist) != NULL && li == NULL) { selected[i] = 0; @@ -636,6 +637,14 @@ if (li->li_number == 0) li->li_number = getsid(mypid); break; + case LT_JID: + if (li->li_number < 0) + errx(STATUS_BADUSAGE, + "Negative jail ID `%s'", sp); + /* For compatibility with old -j */ + if (li->li_number == 0) + li->li_number = -1; /* any jail */ + break; case LT_TTY: usage(); /* NOTREACHED */ @@ -683,6 +692,15 @@ li->li_number = st.st_rdev; break; + case LT_JID: + if (strcmp(sp, "none") == 0) + li->li_number = 0; + else if (strcmp(sp, "any") == 0) + li->li_number = -1; + else if (*ep != '\0') + errx(STATUS_BADUSAGE, + "Invalid jail ID `%s'", sp); + break; default: usage(); } ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/vmstat.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ #include -__FBSDID("$FreeBSD: src/usr.bin/systat/vmstat.c,v 1.81 2006/11/20 16:04:41 ru Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/systat/vmstat.c,v 1.82 2006/11/23 11:51:23 ru Exp $"); #ifdef lint static const char sccsid[] = "@(#)vmstat.c 8.2 (Berkeley) 1/12/94"; @@ -747,11 +747,11 @@ addch(' '); return; } - snr = snprintf(b, sizeof(b), "%*zu", w, n); + snr = snprintf(b, sizeof(b), "%*ju", w, n); if (snr != w) - snr = snprintf(b, sizeof(b), "%*zuk", w - 1, n / 1000); + snr = snprintf(b, sizeof(b), "%*juk", w - 1, n / 1000); if (snr != w) - snr = snprintf(b, sizeof(b), "%*zuM", w - 1, n / 1000000); + snr = snprintf(b, sizeof(b), "%*juM", w - 1, n / 1000000); if (snr != w) { while (w-- > 0) addch('*'); ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/usbhidctl/usbhid.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: usbhid.c,v 1.14 2000/07/03 02:51:37 matt Exp $ */ -/* $FreeBSD: src/usr.bin/usbhidctl/usbhid.c,v 1.9 2003/05/26 04:58:26 mdodd Exp $ */ +/* $FreeBSD: src/usr.bin/usbhidctl/usbhid.c,v 1.11 2006/11/23 05:07:32 grog Exp $ */ /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -54,6 +54,7 @@ int verbose = 0; int all = 0; int noname = 0; +int hexdump = 0; static int reportid; char **names; @@ -94,8 +95,14 @@ { extern char *__progname; - fprintf(stderr, "usage: %s -f device [-l] [-n] [-r] [-t tablefile] [-v] name ...\n", __progname); - fprintf(stderr, " %s -f device [-l] [-n] [-r] [-t tablefile] [-v] -a\n", __progname); + fprintf(stderr, + "usage: %s -f device " + "[-l] [-n] [-r] [-t tablefile] [-v] [-x] name ...\n", + __progname); + fprintf(stderr, + " %s -f device " + "[-l] [-n] [-r] [-t tablefile] [-v] [-x] -a\n", + __progname); exit(1); } @@ -105,8 +112,8 @@ if ((h->flags & HIO_CONST) && !verbose) return; printf("%s size=%d count=%d page=%s usage=%s%s", label, - h->report_size, h->report_count, - hid_usage_page(HID_PAGE(h->usage)), + h->report_size, h->report_count, + hid_usage_page(HID_PAGE(h->usage)), hid_usage_in_page(h->usage), h->flags & HIO_CONST ? " Const" : ""); printf(", logical range %d..%d", @@ -130,7 +137,7 @@ switch (h.kind) { case hid_collection: printf("Collection page=%s usage=%s\n", - hid_usage_page(HID_PAGE(h.usage)), + hid_usage_page(HID_PAGE(h.usage)), hid_usage_in_page(h.usage)); break; case hid_endcollection: @@ -187,6 +194,8 @@ printf("%d", (int)data); else printf("%u", data); + if (hexdump) + printf(" [0x%x]", data); pos += h->report_size; } } @@ -204,7 +213,7 @@ char namebuf[10000], *namep; hids = 0; - for (d = hid_start_parse(rd, 1< -__FBSDID("$FreeBSD: src/usr.bin/vmstat/vmstat.c,v 1.95 2006/11/20 16:04:41 ru Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/vmstat/vmstat.c,v 1.96 2006/11/23 11:47:34 ru Exp $"); #include #include @@ -579,8 +579,7 @@ total.t_rq - 1, total.t_dw + total.t_pw, total.t_sw); #define vmstat_pgtok(a) ((uintmax_t)(a) * (sum.v_page_size >> 10)) #define rate(x) (((x) + halfuptime) / uptime) /* round */ - (void)printf(" %7zu %6zu ", - vmstat_pgtok(total.t_avm), + (void)printf(" %7ju %6ju ", vmstat_pgtok(total.t_avm), vmstat_pgtok(total.t_free)); (void)printf("%5lu ", (unsigned long)rate(sum.v_vm_faults - osum.v_vm_faults)); ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/crunch/crunchgen/crunchgen.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * Computer Science Department * University of Maryland at College Park * - * $FreeBSD: src/usr.sbin/crunch/crunchgen/crunchgen.c,v 1.36 2005/12/23 15:31:37 ceri Exp $ + * $FreeBSD: src/usr.sbin/crunch/crunchgen/crunchgen.c,v 1.38 2006/11/24 03:56:25 jb Exp $ */ /* * ======================================================================== @@ -986,7 +986,7 @@ fprintf(outmk, "all: objs exe\nobjs: $(SUBMAKE_TARGETS)\n"); fprintf(outmk, "exe: %s\n", execfname); - fprintf(outmk, "%s: %s.o $(CRUNCHED_OBJS)\n", execfname, execfname); + fprintf(outmk, "%s: %s.o $(CRUNCHED_OBJS) $(SUBMAKE_TARGETS)\n", execfname, execfname); fprintf(outmk, ".if defined(LIBS_SO) && !empty(LIBS_SO)\n"); fprintf(outmk, "\t$(CC) -o %s %s.o $(CRUNCHED_OBJS) \\\n", execfname, execfname); @@ -1017,6 +1017,16 @@ p->ident); fprintf(outmk, "\n"); + fprintf(outmk, "%s_OBJPATHS=", p->ident); + if (p->objpaths) + output_strlst(outmk, p->objpaths); + else { + for (lst = p->objs; lst != NULL; lst = lst->next) { + fprintf(outmk, " $(%s_OBJDIR)/%s", p->ident, lst->str); + } + fprintf(outmk, "\n"); + } + if (p->srcdir && p->objs) { fprintf(outmk, "%s_SRCDIR=%s\n", p->ident, p->srcdir); fprintf(outmk, "%s_REALSRCDIR=%s\n", p->ident, p->realsrcdir); @@ -1027,6 +1037,7 @@ fprintf(outmk, "%s_OPTS+=", p->ident); output_strlst(outmk, p->buildopts); } + fprintf(outmk, "$(%s_OBJPATHS): %s_make\n\n", p->ident, p->ident); fprintf(outmk, "%s_make:\n", p->ident); fprintf(outmk, "\t(cd $(%s_SRCDIR) && ", p->ident); if (makeobj) @@ -1048,15 +1059,6 @@ p->name); } - fprintf(outmk, "%s_OBJPATHS=", p->ident); - if (p->objpaths) - output_strlst(outmk, p->objpaths); - else { - for (lst = p->objs; lst != NULL; lst = lst->next) { - fprintf(outmk, " $(%s_OBJDIR)/%s", p->ident, lst->str); - } - fprintf(outmk, "\n"); - } if (p->libs) { fprintf(outmk, "%s_LIBS=", p->ident); output_strlst(outmk, p->libs); ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/crunch/examples/really-big.conf#3 (text+ko) ==== @@ -5,7 +5,7 @@ # # This produces a 4608000 byte binary. Pretty sick and twisted, eh? # -# $FreeBSD: src/usr.sbin/crunch/examples/really-big.conf,v 1.6 2006/09/29 15:45:11 bms Exp $ +# $FreeBSD: src/usr.sbin/crunch/examples/really-big.conf,v 1.7 2006/11/22 00:34:17 rodrigc Exp $ # # ========================================================================= @@ -24,8 +24,8 @@ srcdirs /usr/src/sbin progs badsect bim clri disklabel dmesg dump dumpfs fdisk fsck halt -progs ifconfig init mknod modload modunload mount mount_fdescfs mount_isofs -progs mount_lofs mount_msdosfs mount_portalfs mount_procfs mountd +progs ifconfig init mknod modload modunload mount mount_isofs +progs mount_lofs mount_msdosfs mount_portalfs mountd progs newfs nfsd nfsiod ping quotacheck reboot restore route routed savecore progs shutdown slattach swapon ttyflags tunefs umount # shell scripts: fastboot ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/freebsd-update/freebsd-update.sh#3 (text+ko) ==== @@ -25,7 +25,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -# $FreeBSD: src/usr.sbin/freebsd-update/freebsd-update.sh,v 1.3 2006/10/21 11:04:34 cperciva Exp $ +# $FreeBSD: src/usr.sbin/freebsd-update/freebsd-update.sh,v 1.4 2006/11/25 07:30:12 cperciva Exp $ #### Usage function -- called from command-line handling code. @@ -997,7 +997,8 @@ if [ ! -f "files/${Y}.gz" ]; then echo ${Y}; fi - done > filelist + done | + sort -u > filelist if [ -s filelist ]; then echo -n "Fetching `wc -l < filelist | tr -d ' '` " @@ -1077,16 +1078,24 @@ rm $1.all $1.tmp } -# Filter the metadata file $1 by adding lines with -# /boot/`uname -i` -# replaced by -# /boot/kernel -# (or more generally, `sysctl -n kern.bootfile` minus the trailing "/kernel"). +# Filter the metadata file $1 by adding lines with "/boot/`uname -i`" +# replaced by ${KERNELDIR} (which is `sysctl -n kern.bootfile` minus the +# trailing "/kernel"); and if "/boot/`uname -i`" does not exist, remove +# the original lines which start with that. +# Put another way: Deal with the fact that the FOO kernel is sometimes +# installed in /boot/FOO/ and is sometimes installed elsewhere. fetch_filter_kernel_names () { - grep ^/boot/`uname -i` $1 | - sed -e "s,/boot/`uname -i`,${KERNELDIR}," | + KERNCONF=`uname -i` + + grep ^/boot/${KERNCONF} $1 | + sed -e "s,/boot/${KERNCONF},${KERNELDIR},g" | sort - $1 > $1.tmp mv $1.tmp $1 + + if ! [ -d /boot/${KERNCONF} ]; then + grep -v ^/boot/${KERNCONF} $1 > $1.tmp + mv $1.tmp $1 + fi } # For all paths appearing in $1 or $3, inspect the system @@ -1746,6 +1755,7 @@ # Generate subindex of old files we want to nuke sort -k 1,1 -t '|' $1 | join -t '|' -v 1 - newfiles | + sort -r -k 1,1 -t '|' | cut -f 1,2 -d '|' | tr '|' ' ' > killfiles ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/jail/jail.8#4 (text+ko) ==== @@ -31,7 +31,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $FreeBSD: src/usr.sbin/jail/jail.8,v 1.81 2006/09/29 17:57:02 ru Exp $ +.\" $FreeBSD: src/usr.sbin/jail/jail.8,v 1.82 2006/11/21 23:45:44 rodrigc Exp $ .\" .Dd June 11, 2006 .Dt JAIL 8 @@ -132,7 +132,7 @@ mkdir -p $D make world DESTDIR=$D make distribution DESTDIR=$D -mount_devfs devfs $D/dev +mount -t devfs devfs $D/dev .Ed .Pp NOTE: It is important that only appropriate device nodes in devfs be @@ -587,7 +587,7 @@ .Xr inetd 8 , .Xr jexec 8 , .Xr jls 8 , -.Xr mount_devfs 8 , +.Xr mount 8 , .Xr named 8 , .Xr reboot 8 , .Xr rpcbind 8 , ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/config.c#4 (text+ko) ==== @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $FreeBSD: src/usr.sbin/sysinstall/config.c,v 1.239 2006/11/16 19:09:41 kensmith Exp $ + * $FreeBSD: src/usr.sbin/sysinstall/config.c,v 1.240 2006/11/23 00:57:10 kensmith Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -542,7 +542,7 @@ variable_set2(VAR_LINUX_ENABLE, "YES", 1); Mkdir("/compat/linux"); msgNotify("Installing Linux compatibility library..."); - i = package_add("linux_base-fc4"); + i = package_add("linux_base-fc"); restorescr(w); return i; } From owner-p4-projects@FreeBSD.ORG Sat Nov 25 13:53:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B07F16A417; Sat, 25 Nov 2006 13:53:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 707C016A407 for ; Sat, 25 Nov 2006 13:53:30 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 41F3D43D5E for ; Sat, 25 Nov 2006 13:52:42 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPDrTIG079537 for ; Sat, 25 Nov 2006 13:53:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPDrTt5079532 for perforce@freebsd.org; Sat, 25 Nov 2006 13:53:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 25 Nov 2006 13:53:29 GMT Message-Id: <200611251353.kAPDrTt5079532@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110515 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 13:53:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=110515 Change 110515 by rwatson@rwatson_fledge on 2006/11/25 13:52:43 Rename AUE_KMQ_* to AUE_MQ_* to match the documented (and hence more likely portable) POSIX message queue call names. Affected files ... .. //depot/projects/trustedbsd/openbsm/bsm/audit_kevents.h#47 edit .. //depot/projects/trustedbsd/openbsm/etc/audit_event#20 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bsm/audit_kevents.h#47 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_kevents.h#46 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/audit_kevents.h#47 $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -487,12 +487,12 @@ #define AUE_MAC_EXECVE 43131 /* FreeBSD. */ #define AUE_GETPATH_FROMFD 43132 /* FreeBSD. */ #define AUE_GETPATH_FROMADDR 43133 /* FreeBSD. */ -#define AUE_KMQ_OPEN 43134 /* FreeBSD. */ -#define AUE_KMQ_SETATTR 43135 /* FreeBSD. */ -#define AUE_KMQ_TIMEDRECEIVE 43136 /* FreeBSD. */ -#define AUE_KMQ_TIMEDSEND 43137 /* FreeBSD. */ -#define AUE_KMQ_NOTIFY 43138 /* FreeBSD. */ -#define AUE_KMQ_UNLINK 43139 /* FreeBSD. */ +#define AUE_MQ_OPEN 43134 /* FreeBSD. */ +#define AUE_MQ_SETATTR 43135 /* FreeBSD. */ +#define AUE_MQ_TIMEDRECEIVE 43136 /* FreeBSD. */ +#define AUE_MQ_TIMEDSEND 43137 /* FreeBSD. */ +#define AUE_MQ_NOTIFY 43138 /* FreeBSD. */ +#define AUE_MQ_UNLINK 43139 /* FreeBSD. */ #define AUE_LISTEN 43140 /* FreeBSD/Darwin/Linux. */ #define AUE_MLOCKALL 43141 /* FreeBSD. */ #define AUE_MUNLOCKALL 43142 /* FreeBSD. */ ==== //depot/projects/trustedbsd/openbsm/etc/audit_event#20 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#19 $ +# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#20 $ # 0:AUE_NULL:indir system call:no 1:AUE_EXIT:exit(2):pc @@ -435,12 +435,12 @@ 43131:AUE_MAC_EXECVE:mac_exeve(2):ex,pc 43132:AUE_GETPATH_FROMFD:getpath_fromfd(2):fa 43133:AUE_GETPATH_FROMADDR:getpath_fromaddr(2):fa -43134:AUE_KMQ_OPEN:mq_open(2):ip -43135:AUE_KMQ_SETATTR:mq_setattr(2):ip -43136:AUE_KMQ_TIMEDRECEIVE:mq_timedreceive(2):ip -43137:AUE_KMQ_TIMEDSEND:mq_timedsend(2):ip -43138:AUE_KMQ_NOTIFY:mq_notify(2):ip -43139:AUE_KMQ_UNLINK:mq_unlink(2):ip +43134:AUE_MQ_OPEN:mq_open(2):ip +43135:AUE_MQ_SETATTR:mq_setattr(2):ip +43136:AUE_MQ_TIMEDRECEIVE:mq_timedreceive(2):ip +43137:AUE_MQ_TIMEDSEND:mq_timedsend(2):ip +43138:AUE_MQ_NOTIFY:mq_notify(2):ip +43139:AUE_MQ_UNLINK:mq_unlink(2):ip 43140:AUE_LISTEN:listen(2):nt 43141:AUE_MLOCKALL:mlockall(2):pc 43142:AUE_MUNLOCKALL:munlockall(2):pc From owner-p4-projects@FreeBSD.ORG Sat Nov 25 13:59:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A398F16A412; Sat, 25 Nov 2006 13:59:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2795216A403 for ; Sat, 25 Nov 2006 13:59:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C95C43D5F for ; Sat, 25 Nov 2006 13:58:51 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPDxclF080027 for ; Sat, 25 Nov 2006 13:59:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPDxcUK080024 for perforce@freebsd.org; Sat, 25 Nov 2006 13:59:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 25 Nov 2006 13:59:38 GMT Message-Id: <200611251359.kAPDxcUK080024@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110516 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 13:59:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=110516 Change 110516 by rwatson@rwatson_fledge on 2006/11/25 13:59:05 Update HISTORY. Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#46 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#46 (text+ko) ==== @@ -2,11 +2,13 @@ - compat/clock_gettime.h now provides a compatibility implementation of clock_gettime(), which fixes building on Mac OS X. -- Countless man page fixes. -- praudit XML support via "praudit -x". +- Countless man page improvements, markup fixes, content fixs, etc. +- XML printing support via "praudit -x". - audit.log.5 expanded to include additional BSM token types. -- Added encoding and decoding routines for process64_ex, process32_ex, and - subject32_ex tokens. +- Added encoding and decoding routines for process64_ex, process32_ex, + subject32_ex, header64, and attr64 tokens. +- Additional audit event identifiers for listen, mlockall/munlockall, + getpath, POSIX message queues, and mandatory access control. OpenBSM 1.0 alpha 12 @@ -274,4 +276,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#45 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#46 $ From owner-p4-projects@FreeBSD.ORG Sat Nov 25 14:11:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EAF3A16A415; Sat, 25 Nov 2006 14:11:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C03FD16A40F for ; Sat, 25 Nov 2006 14:11:54 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id A56E643D64 for ; Sat, 25 Nov 2006 14:11:06 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPEBsDw084128 for ; Sat, 25 Nov 2006 14:11:54 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPEBsMT084112 for perforce@freebsd.org; Sat, 25 Nov 2006 14:11:54 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 25 Nov 2006 14:11:54 GMT Message-Id: <200611251411.kAPEBsMT084112@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 110517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 14:11:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=110517 Change 110517 by rwatson@rwatson_fledge on 2006/11/25 14:11:48 Release OpenBSM 1.0 alpha 13. Affected files ... .. //depot/projects/trustedbsd/www/downloads/openbsm-1.0-alpha13.tgz#1 add .. //depot/projects/trustedbsd/www/openbsm.page#18 edit Differences ... ==== //depot/projects/trustedbsd/www/openbsm.page#18 (text+ko) ==== @@ -29,7 +29,7 @@ - $P4: //depot/projects/trustedbsd/www/openbsm.page#17 $ + $P4: //depot/projects/trustedbsd/www/openbsm.page#18 $ @@ -120,6 +120,13 @@ Please see the file README present in the OpenBSM distribution for build and installation instructions.

+

2006-11-25 - OpenBSM 1.0 alpha 13 release is a test release of the + OpenBSM code base. + In this revision, man page documentation is substantially improved, + XML printing support has been added to praudit(8), and there is + support for additional 64-bit token types. + Download (480K).

+

2006-09-24 - OpenBSM 1.0 alpha 12 release is a test release of the OpenBSM code base, and matches what is present in FreeBSD CVS at this date. From owner-p4-projects@FreeBSD.ORG Sat Nov 25 15:10:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 94AEA16A415; Sat, 25 Nov 2006 15:10:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3EC6C16A412 for ; Sat, 25 Nov 2006 15:10:09 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id DB09843D5A for ; Sat, 25 Nov 2006 15:09:20 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPFA8Rv095003 for ; Sat, 25 Nov 2006 15:10:08 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPFA8do095000 for perforce@freebsd.org; Sat, 25 Nov 2006 15:10:08 GMT (envelope-from netchild@freebsd.org) Date: Sat, 25 Nov 2006 15:10:08 GMT Message-Id: <200611251510.kAPFA8do095000@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 110519 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 15:10:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=110519 Change 110519 by netchild@netchild_magellan on 2006/11/25 15:10:05 - add some explaining comments - use sizeof(var) instead of sizeof(NAMEDVALUE) [1] - truncate the string in the ENAMETOOLONG case (like linux does) Suggested by: rwatson [1] Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#38 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#38 (text+ko) ==== @@ -1644,22 +1644,32 @@ EMUL_UNLOCK(&emul_lock); break; case LINUX_PR_SET_NAME: - max_size = (LINUX_MAX_COMM_LEN <= MAXCOMLEN + 1) ? - LINUX_MAX_COMM_LEN : (MAXCOMLEN + 1); + /* + * To be on the safe side we need to make sure to not + * overflow the size a linux program expects. We already + * do this here in the copyin, so that we don't need to + * check on copyout. + */ + max_size = (sizeof(comm) <= sizeof(p->p_comm)) ? + sizeof(comm) : sizeof(p->p_comm); error = copyinstr((void *)(register_t) args->arg2, comm, - max_size, NULL); - if (error) + max_size, NULL); + + /* Linux silently truncates the name if it is too long. */ + if (error && error != ENAMETOOLONG) return (error); + comm[sizeof(comm) - 1] = '\0'; /* terminate if truncated */ + PROC_LOCK(p); - strlcpy(p->p_comm, comm, MAXCOMLEN + 1); + strlcpy(p->p_comm, comm, sizeof(p->p_comm)); PROC_UNLOCK(p); break; case LINUX_PR_GET_NAME: PROC_LOCK(p); - strlcpy(comm, p->p_comm, LINUX_MAX_COMM_LEN); + strlcpy(comm, p->p_comm, sizeof(comm)); PROC_UNLOCK(p); error = copyout(comm, (void *)(register_t) args->arg2, - strlen(comm)+1); + strlen(comm)+1); break; default: error = EINVAL; From owner-p4-projects@FreeBSD.ORG Sat Nov 25 16:03:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CEB7616A56B; Sat, 25 Nov 2006 16:03:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7E75F16A566 for ; Sat, 25 Nov 2006 16:03:56 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 085E343EF6 for ; Sat, 25 Nov 2006 16:01:46 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPG2FQG004372 for ; Sat, 25 Nov 2006 16:02:15 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPG2FO2004368 for perforce@freebsd.org; Sat, 25 Nov 2006 16:02:15 GMT (envelope-from netchild@freebsd.org) Date: Sat, 25 Nov 2006 16:02:15 GMT Message-Id: <200611251602.kAPG2FO2004368@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 110520 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 16:03:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=110520 Change 110520 by netchild@netchild_magellan on 2006/11/25 16:02:09 semi-automatic style(9) Discussed with: bde Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#39 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.h#3 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#39 (text+ko) ==== @@ -152,7 +152,7 @@ sysinfo.bufferram = 0; swap_pager_status(&i, &j); - sysinfo.totalswap= i * PAGE_SIZE; + sysinfo.totalswap = i * PAGE_SIZE; sysinfo.freeswap = (i - j) * PAGE_SIZE; sysinfo.procs = nprocs; @@ -186,7 +186,7 @@ error = kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (error) return (error); - if (timevalisset(&old_it.it_value)) { + if (timevalisset(&old_it.it_value)) { if (old_it.it_value.tv_usec != 0) old_it.it_value.tv_sec++; td->td_retval[0] = old_it.it_value.tv_sec; @@ -209,7 +209,7 @@ #endif old = (vm_offset_t)vm->vm_daddr + ctob(vm->vm_dsize); new = (vm_offset_t)args->dsend; - tmp.nsize = (char *) new; + tmp.nsize = (char *)new; if (((caddr_t)new > vm->vm_daddr) && !obreak(td, &tmp)) td->td_retval[0] = (long)new; else @@ -327,10 +327,10 @@ /* Set file/virtual offset based on a.out variant. */ switch ((int)(a_out->a_magic & 0xffff)) { - case 0413: /* ZMAGIC */ + case 0413: /* ZMAGIC */ file_offset = 1024; break; - case 0314: /* QMAGIC */ + case 0314: /* QMAGIC */ file_offset = 0; break; default: @@ -440,8 +440,8 @@ goto cleanup; } #ifdef DEBUG - printf("mem=%08lx = %08lx %08lx\n", (long)vmaddr, ((long*)vmaddr)[0], - ((long*)vmaddr)[1]); + printf("mem=%08lx = %08lx %08lx\n", (long)vmaddr, ((long *)vmaddr)[0], + ((long *)vmaddr)[1]); #endif if (bss_size != 0) { /* Calculate BSS start address */ @@ -644,13 +644,13 @@ } struct l_times_argv { - l_long tms_utime; - l_long tms_stime; - l_long tms_cutime; - l_long tms_cstime; + l_long tms_utime; + l_long tms_stime; + l_long tms_cutime; + l_long tms_cstime; }; -#define CLK_TCK 100 /* Linux uses 100 */ +#define CLK_TCK 100 /* Linux uses 100 */ #define CONVTCK(r) (r.tv_sec * CLK_TCK + r.tv_usec / (1000000 / CLK_TCK)) @@ -718,6 +718,7 @@ #ifdef __i386__ { const char *class; + switch (cpu_class) { case CPUCLASS_686: class = "i686"; @@ -799,12 +800,12 @@ printf(ARGS(waitpid, "%d, %p, %d"), args->pid, (void *)args->status, args->options); #endif - /* - * this is necessary because the test in kern_wait doesnt - * work because we mess with the options here + /* + * this is necessary because the test in kern_wait doesnt work + * because we mess with the options here */ - if (args->options &~ (WUNTRACED|WNOHANG|WCONTINUED|__WCLONE)) - return (EINVAL); + if (args->options & ~(WUNTRACED | WNOHANG | WCONTINUED | __WCLONE)) + return (EINVAL); options = (args->options & (WNOHANG | WUNTRACED)); /* WLINUXCLONE should be equal to __WCLONE, but we make sure */ @@ -1010,10 +1011,10 @@ int linux_nice(struct thread *td, struct linux_nice_args *args) { - struct setpriority_args bsd_args; + struct setpriority_args bsd_args; bsd_args.which = PRIO_PROCESS; - bsd_args.who = 0; /* current process */ + bsd_args.who = 0; /* current process */ bsd_args.prio = args->inc; return setpriority(td, &bsd_args); } @@ -1061,8 +1062,7 @@ bsd_gidset[ngrp + 1] = linux_gidset[ngrp]; ngrp--; } - } - else + } else newcred->cr_ngroups = 1; setsugid(p); @@ -1137,12 +1137,12 @@ if (error) return (error); - /* - * the 1024*1024 is a hardcoded constant of max files - * per proc in linux + /* + * the 1024*1024 is a hardcoded constant of max files per proc in + * linux */ - if (which == RLIMIT_NOFILE && rlim.rlim_max > (1024*1024)) - return (EPERM); + if (which == RLIMIT_NOFILE && rlim.rlim_max > (1024 * 1024)) + return (EPERM); bsd_rlim.rlim_cur = (rlim_t)rlim.rlim_cur; bsd_rlim.rlim_max = (rlim_t)rlim.rlim_max; @@ -1406,7 +1406,7 @@ int linux_getpid(struct thread *td, struct linux_getpid_args *args) { - struct linux_emuldata *em; + struct linux_emuldata *em; #ifdef DEBUG if (ldebug(getpid)) @@ -1414,12 +1414,12 @@ #endif if (linux_use26(td)) { - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); - td->td_retval[0] = em->shared->group_pid; + td->td_retval[0] = em->shared->group_pid; EMUL_UNLOCK(&emul_lock); } else { - td->td_retval[0] = td->td_proc->p_pid; + td->td_retval[0] = td->td_proc->p_pid; } return (0); @@ -1441,7 +1441,7 @@ int linux_getppid(struct thread *td, struct linux_getppid_args *args) { - struct linux_emuldata *em; + struct linux_emuldata *em; struct proc *p, *pp; #ifdef DEBUG @@ -1450,9 +1450,9 @@ #endif if (!linux_use26(td)) { - PROC_LOCK(td->td_proc); - td->td_retval[0] = td->td_proc->p_pptr->p_pid; - PROC_UNLOCK(td->td_proc); + PROC_LOCK(td->td_proc); + td->td_retval[0] = td->td_proc->p_pptr->p_pid; + PROC_UNLOCK(td->td_proc); return (0); } @@ -1463,28 +1463,27 @@ /* find the group leader */ p = pfind(em->shared->group_pid); - /* lets pretend we were reparented to init */ - if (p == NULL) { + /* lets pretend we were reparented to init */ + if (p == NULL) { #ifdef DEBUG - printf("getppid: thread group leader not found.\n"); + printf("getppid: thread group leader not found.\n"); #endif - td->td_retval[0] = 1; - EMUL_UNLOCK(&emul_lock); - return (0); - } - - pp = p->p_pptr; /* switch to parent */ + td->td_retval[0] = 1; + EMUL_UNLOCK(&emul_lock); + return (0); + } + pp = p->p_pptr; /* switch to parent */ PROC_LOCK(pp); PROC_UNLOCK(p); /* if its also linux process */ if (pp->p_sysent == &elf_linux_sysvec) { - em = em_find(pp, EMUL_LOCKED); + em = em_find(pp, EMUL_LOCKED); KASSERT(em != NULL, ("getppid: parent emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; } else - td->td_retval[0] = pp->p_pid; + td->td_retval[0] = pp->p_pid; EMUL_UNLOCK(&emul_lock); PROC_UNLOCK(pp); @@ -1543,7 +1542,7 @@ int linux_getpriority(struct thread *td, struct linux_getpriority_args *args) { - struct getpriority_args bsd_args; + struct getpriority_args bsd_args; int error; #ifdef DEBUG @@ -1570,14 +1569,14 @@ name[0] = CTL_KERN; name[1] = KERN_HOSTNAME; - return (userland_sysctl(td, name, 2, 0, 0, 0, args->hostname, - args->len, 0, 0)); + return (userland_sysctl(td, name, 2, 0, 0, 0, args->hostname, + args->len, 0, 0)); } int linux_exit_group(struct thread *td, struct linux_exit_group_args *args) { - struct linux_emuldata *em, *td_em, *tmp_em; + struct linux_emuldata *em, *td_em, *tmp_em; struct proc *sp; #ifdef DEBUG @@ -1586,14 +1585,14 @@ #endif if (linux_use26(td)) { - td_em = em_find(td->td_proc, EMUL_UNLOCKED); + td_em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(td_em != NULL, ("exit_group: emuldata not found.\n")); - EMUL_SHARED_RLOCK(&emul_shared_lock); - LIST_FOREACH_SAFE(em, &td_em->shared->threads, threads, tmp_em) { - if (em->pid == td_em->pid) - continue; + EMUL_SHARED_RLOCK(&emul_shared_lock); + LIST_FOREACH_SAFE(em, &td_em->shared->threads, threads, tmp_em) { + if (em->pid == td_em->pid) + continue; sp = pfind(em->pid); psignal(sp, SIGKILL); @@ -1601,21 +1600,20 @@ #ifdef DEBUG printf(LMSG("linux_sys_exit_group: kill PID %d\n"), em->pid); #endif - } + } EMUL_SHARED_RUNLOCK(&emul_shared_lock); EMUL_UNLOCK(&emul_lock); } + exit1(td, W_EXITCODE(args->error_code, 0)); - exit1(td, W_EXITCODE(args->error_code,0)); - - return (0); + return (0); } int linux_prctl(struct thread *td, struct linux_prctl_args *args) { - int error = 0, max_size; + int error = 0, max_size; struct proc *p = td->td_proc; char comm[LINUX_MAX_COMM_LEN]; struct linux_emuldata *em; @@ -1625,22 +1623,22 @@ printf(ARGS(prctl, "%d, %d, %d, %d, %d"), args->option, args->arg2, args->arg3, args->arg4, args->arg5); #endif - - switch (args->option) { - case LINUX_PR_SET_PDEATHSIG: - if (!LINUX_SIG_VALID(args->arg2)) - return (EINVAL); + + switch (args->option) { + case LINUX_PR_SET_PDEATHSIG: + if (!LINUX_SIG_VALID(args->arg2)) + return (EINVAL); em = em_find(p, EMUL_UNLOCKED); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); em->pdeath_signal = args->arg2; EMUL_UNLOCK(&emul_lock); - break; + break; case LINUX_PR_GET_PDEATHSIG: em = em_find(p, EMUL_UNLOCKED); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); error = copyout(&em->pdeath_signal, - (void *)(register_t) args->arg2, - sizeof(em->pdeath_signal)); + (void *)(register_t)args->arg2, + sizeof(em->pdeath_signal)); EMUL_UNLOCK(&emul_lock); break; case LINUX_PR_SET_NAME: @@ -1652,12 +1650,12 @@ */ max_size = (sizeof(comm) <= sizeof(p->p_comm)) ? sizeof(comm) : sizeof(p->p_comm); - error = copyinstr((void *)(register_t) args->arg2, comm, + error = copyinstr((void *)(register_t)args->arg2, comm, max_size, NULL); /* Linux silently truncates the name if it is too long. */ if (error && error != ENAMETOOLONG) - return (error); + return (error); comm[sizeof(comm) - 1] = '\0'; /* terminate if truncated */ PROC_LOCK(p); @@ -1668,8 +1666,8 @@ PROC_LOCK(p); strlcpy(comm, p->p_comm, sizeof(comm)); PROC_UNLOCK(p); - error = copyout(comm, (void *)(register_t) args->arg2, - strlen(comm)+1); + error = copyout(comm, (void *)(register_t)args->arg2, + strlen(comm) + 1); break; default: error = EINVAL; @@ -1682,5 +1680,5 @@ int linux_chroot(struct thread *td, struct linux_chroot_args *args) { - return (chroot(td, (struct chroot_args *) args)); + return (chroot(td, (struct chroot_args *)args)); } ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.h#3 (text+ko) ==== @@ -32,12 +32,14 @@ #define _LINUX_MISC_H_ /* defines for prctl */ -#define LINUX_PR_SET_PDEATHSIG 1 /* Second arg is a signal. */ -#define LINUX_PR_GET_PDEATHSIG 2 /* Second arg is a ptr to return the signal. */ -#define LINUX_PR_SET_NAME 15 /* Set process name. */ -#define LINUX_PR_GET_NAME 16 /* Get process name. */ +#define LINUX_PR_SET_PDEATHSIG 1 /* Second arg is a signal. */ +#define LINUX_PR_GET_PDEATHSIG 2 /* + * Second arg is a ptr to return the + * signal. + */ +#define LINUX_PR_SET_NAME 15 /* Set process name. */ +#define LINUX_PR_GET_NAME 16 /* Get process name. */ -#define LINUX_MAX_COMM_LEN 16 /* Maximum length of the process name. */ +#define LINUX_MAX_COMM_LEN 16 /* Maximum length of the process name. */ -#endif /* _LINUX_MISC_H_ */ - +#endif /* _LINUX_MISC_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Nov 25 16:48:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2100916A40F; Sat, 25 Nov 2006 16:48:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 842AB16A415 for ; Sat, 25 Nov 2006 16:48:17 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id A5E9E43D6A for ; Sat, 25 Nov 2006 16:47:25 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPGmEc0021588 for ; Sat, 25 Nov 2006 16:48:14 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPGmDfx021585 for perforce@freebsd.org; Sat, 25 Nov 2006 16:48:13 GMT (envelope-from netchild@freebsd.org) Date: Sat, 25 Nov 2006 16:48:13 GMT Message-Id: <200611251648.kAPGmDfx021585@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 110522 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 16:48:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=110522 Change 110522 by netchild@netchild_magellan on 2006/11/25 16:47:20 semi-automated style(9) Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#16 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.h#5 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#16 (text+ko) ==== @@ -64,12 +64,12 @@ struct linux_emuldata *em; if (locked == EMUL_UNLOCKED) - EMUL_LOCK(&emul_lock); + EMUL_LOCK(&emul_lock); - em = p->p_emuldata; + em = p->p_emuldata; if (em == NULL && locked == EMUL_UNLOCKED) - EMUL_UNLOCK(&emul_lock); + EMUL_UNLOCK(&emul_lock); return (em); } @@ -81,14 +81,14 @@ struct proc *p; if (child != 0) { - /* non-exec call */ + /* non-exec call */ em = malloc(sizeof *em, M_LINUX, M_WAITOK | M_ZERO); em->pid = child; em->pdeath_signal = 0; if (flags & CLONE_THREAD) { - /* handled later in the code */ + /* handled later in the code */ } else { - struct linux_emuldata_shared *s; + struct linux_emuldata_shared *s; s = malloc(sizeof *s, M_LINUX, M_WAITOK | M_ZERO); em->shared = s; @@ -111,51 +111,52 @@ em->child_clear_tid = NULL; em->child_set_tid = NULL; - /* - * allocate the shared struct only in clone()/fork cases - * in the case of clone() td = calling proc and child = pid of - * the newly created proc + /* + * allocate the shared struct only in clone()/fork cases in the case + * of clone() td = calling proc and child = pid of the newly created + * proc */ if (child != 0) { - if (flags & CLONE_THREAD) { - /* lookup the parent */ - p_em = em_find(td->td_proc, EMUL_LOCKED); + if (flags & CLONE_THREAD) { + /* lookup the parent */ + p_em = em_find(td->td_proc, EMUL_LOCKED); KASSERT(p_em != NULL, ("proc_init: parent emuldata not found for CLONE_THREAD\n")); em->shared = p_em->shared; em->shared->refs++; } else { - /* handled earlier to avoid malloc(M_WAITOK) with rwlock held */ + /* + * handled earlier to avoid malloc(M_WAITOK) with + * rwlock held + */ } } - - if (child != 0) { EMUL_UNLOCK(&emul_lock); - EMUL_SHARED_WLOCK(&emul_shared_lock); - LIST_INSERT_HEAD(&em->shared->threads, em, threads); - EMUL_SHARED_WUNLOCK(&emul_shared_lock); + EMUL_SHARED_WLOCK(&emul_shared_lock); + LIST_INSERT_HEAD(&em->shared->threads, em, threads); + EMUL_SHARED_WUNLOCK(&emul_shared_lock); p = pfind(child); /* we might have a sleeping linux_schedtail */ wakeup(&p->p_emuldata); PROC_UNLOCK(p); } else - EMUL_UNLOCK(&emul_lock); + EMUL_UNLOCK(&emul_lock); - return (0); + return (0); } void linux_proc_exit(void *arg __unused, struct proc *p) { - struct linux_emuldata *em; + struct linux_emuldata *em; int error; struct thread *td = FIRST_THREAD_IN_PROC(p); int *child_clear_tid; struct proc *q, *nq; if (__predict_true(p->p_sysent != &elf_linux_sysvec)) - return; + return; /* find the emuldata */ em = em_find(p, EMUL_UNLOCKED); @@ -163,7 +164,7 @@ KASSERT(em != NULL, ("proc_exit: emuldata not found.\n")); child_clear_tid = em->child_clear_tid; - + EMUL_UNLOCK(&emul_lock); EMUL_SHARED_WLOCK(&emul_shared_lock); @@ -179,29 +180,29 @@ EMUL_SHARED_WUNLOCK(&emul_shared_lock); if (child_clear_tid != NULL) { - struct linux_sys_futex_args cup; + struct linux_sys_futex_args cup; int null = 0; error = copyout(&null, child_clear_tid, sizeof(null)); if (error) { - free(em, M_LINUX); - return; + free(em, M_LINUX); + return; } /* futexes stuff */ cup.uaddr = child_clear_tid; cup.op = LINUX_FUTEX_WAKE; - cup.val = 0x7fffffff; /* Awake everyone */ + cup.val = 0x7fffffff; /* Awake everyone */ cup.timeout = NULL; cup.uaddr2 = NULL; cup.val3 = 0; error = linux_sys_futex(FIRST_THREAD_IN_PROC(p), &cup); - /* - * this cannot happen at the moment and if this happens - * it probably mean there is a userspace bug + /* + * this cannot happen at the moment and if this happens it + * probably mean there is a userspace bug */ if (error) - printf(LMSG("futex stuff in proc_exit failed.\n")); + printf(LMSG("futex stuff in proc_exit failed.\n")); } /* clean the stuff up */ @@ -211,16 +212,16 @@ sx_xlock(&proctree_lock); q = LIST_FIRST(&p->p_children); for (; q != NULL; q = nq) { - nq = LIST_NEXT(q, p_sibling); - if (q->p_flag & P_WEXIT) - continue; + nq = LIST_NEXT(q, p_sibling); + if (q->p_flag & P_WEXIT) + continue; if (__predict_false(q->p_sysent != &elf_linux_sysvec)) - continue; - em = em_find(q, EMUL_UNLOCKED); + continue; + em = em_find(q, EMUL_UNLOCKED); KASSERT(em != NULL, ("linux_reparent: emuldata not found: %i\n", q->p_pid)); if (em->pdeath_signal != 0) { - PROC_LOCK(q); - psignal(q, em->pdeath_signal); + PROC_LOCK(q); + psignal(q, em->pdeath_signal); PROC_UNLOCK(q); } EMUL_UNLOCK(&emul_lock); @@ -228,24 +229,25 @@ sx_xunlock(&proctree_lock); } -/* +/* * This is used in a case of transition from FreeBSD binary execing to linux binary * in this case we create linux emuldata proc entry with the pid of the currently running * process. */ -void linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp) +void +linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp) { - if (__predict_false(imgp->sysent == &elf_linux_sysvec - && p->p_sysent != &elf_linux_sysvec)) - linux_proc_init(FIRST_THREAD_IN_PROC(p), p->p_pid, 0); + if (__predict_false(imgp->sysent == &elf_linux_sysvec + && p->p_sysent != &elf_linux_sysvec)) + linux_proc_init(FIRST_THREAD_IN_PROC(p), p->p_pid, 0); if (__predict_false(imgp->sysent != &elf_linux_sysvec - && p->p_sysent == &elf_linux_sysvec)) { - struct linux_emuldata *em; + && p->p_sysent == &elf_linux_sysvec)) { + struct linux_emuldata *em; em = em_find(p, EMUL_UNLOCKED); KASSERT(em != NULL, ("proc_exec: emuldata not found.\n")); - + EMUL_UNLOCK(&emul_lock); EMUL_SHARED_WLOCK(&emul_shared_lock); @@ -257,14 +259,14 @@ em->shared->refs--; if (em->shared->refs == 0) - free(em->shared, M_LINUX); + free(em->shared, M_LINUX); EMUL_SHARED_WUNLOCK(&emul_shared_lock); free(em, M_LINUX); } } -extern int hz; /* in subr_param.c */ +extern int hz; /* in subr_param.c */ void linux_schedtail(void *arg __unused, struct proc *p) @@ -274,28 +276,30 @@ int *child_set_tid; if (__predict_true(p->p_sysent != &elf_linux_sysvec)) - return; + return; -retry: +retry: /* find the emuldata */ em = em_find(p, EMUL_UNLOCKED); if (em == NULL) { - /* - * We might have been called before proc_init for this process so - * tsleep and be woken up by it. We use p->p_emuldata for this + /* + * We might have been called before proc_init for this + * process so tsleep and be woken up by it. We use + * p->p_emuldata for this */ - error = tsleep(&p->p_emuldata, PLOCK, "linux_schedtail", hz); + error = tsleep(&p->p_emuldata, PLOCK, "linux_schedtail", hz); if (error == 0) - goto retry; - panic("no emuldata found for userreting process.\n"); + goto retry; + panic("no emuldata found for userreting process.\n"); } child_set_tid = em->child_set_tid; EMUL_UNLOCK(&emul_lock); if (child_set_tid != NULL) - error = copyout(&p->p_pid, (int *) child_set_tid, sizeof(p->p_pid)); + error = copyout(&p->p_pid, (int *)child_set_tid, + sizeof(p->p_pid)); return; } @@ -303,14 +307,14 @@ int linux_set_tid_address(struct thread *td, struct linux_set_tid_address_args *args) { - struct linux_emuldata *em; + struct linux_emuldata *em; #ifdef DEBUG if (ldebug(set_tid_address)) printf(ARGS(set_tid_address, "%p"), args->tidptr); #endif - /* find the emuldata */ + /* find the emuldata */ em = em_find(td->td_proc, EMUL_UNLOCKED); KASSERT(em != NULL, ("set_tid_address: emuldata not found.\n")); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.h#5 (text+ko) ==== @@ -32,25 +32,25 @@ #define _LINUX_EMUL_H_ struct linux_emuldata_shared { - int refs; + int refs; pid_t group_pid; - LIST_HEAD(, linux_emuldata) threads; /* head of list of linux threads */ + LIST_HEAD(, linux_emuldata) threads; /* head of list of linux threads */ }; -/* - * modeled after similar structure in NetBSD +/* + * modeled after similar structure in NetBSD * this will be extended as we need more functionality */ struct linux_emuldata { - pid_t pid; + pid_t pid; - int *child_set_tid; /* in clone(): Child's TID to set on clone */ - int *child_clear_tid; /* in clone(): Child's TID to clear on exit */ + int *child_set_tid; /* in clone(): Child's TID to set on clone */ + int *child_clear_tid;/* in clone(): Child's TID to clear on exit */ struct linux_emuldata_shared *shared; - int pdeath_signal; /* parent death signal */ + int pdeath_signal; /* parent death signal */ LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */ }; @@ -69,12 +69,12 @@ #define EMUL_LOCKED 1 #define EMUL_UNLOCKED 0 -int linux_proc_init(struct thread *, pid_t, int); -void linux_proc_exit(void *, struct proc *); -void linux_schedtail(void *, struct proc *); -void linux_proc_exec(void *, struct proc *, struct image_params *); +int linux_proc_init(struct thread *, pid_t, int); +void linux_proc_exit(void *, struct proc *); +void linux_schedtail(void *, struct proc *); +void linux_proc_exec(void *, struct proc *, struct image_params *); extern struct sx emul_shared_lock; extern struct sx emul_lock; -#endif /* !_LINUX_EMUL_H_ */ +#endif /* !_LINUX_EMUL_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Nov 25 16:53:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C701A16A416; Sat, 25 Nov 2006 16:53:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A028216A407 for ; Sat, 25 Nov 2006 16:53:21 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B36A43D45 for ; Sat, 25 Nov 2006 16:52:32 +0000 (GMT) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5DBC7.dip.t-dialin.net [84.165.219.199]) by redbull.bpaserver.net (Postfix) with ESMTP id 97A152E1A5 for ; Sat, 25 Nov 2006 17:53:15 +0100 (CET) Received: from Magellan.Leidinger.net (Magellan.Leidinger.net [192.168.1.1]) by outgoing.leidinger.net (Postfix) with ESMTP id 85D275B4AE0 for ; Sat, 25 Nov 2006 17:53:14 +0100 (CET) Date: Sat, 25 Nov 2006 17:53:35 +0100 From: Alexander Leidinger To: Perforce Change Reviews Message-ID: <20061125175335.13b4ddec@Magellan.Leidinger.net> In-Reply-To: <200611251510.kAPFA8do095000@repoman.freebsd.org> References: <200611251510.kAPFA8do095000@repoman.freebsd.org> X-Mailer: Sylpheed-Claws 2.6.0 (GTK+ 2.10.6; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-14.864, required 6, autolearn=not spam, BAYES_00 -15.00, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: Subject: Re: PERFORCE change 110519 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 16:53:22 -0000 Quoting Alexander Leidinger (Sat, 25 Nov 2006 15:10:08 GMT): > http://perforce.freebsd.org/chv.cgi?CH=110519 > > Change 110519 by netchild@netchild_magellan on 2006/11/25 15:10:05 > - use sizeof(var) instead of sizeof(NAMEDVALUE) [1] s/sizeof(NAMEDVALUE)/NAMEDVALUE/ Bye, Alexander. -- the printer thinks its a router. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-p4-projects@FreeBSD.ORG Sat Nov 25 18:06:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58D9D16A407; Sat, 25 Nov 2006 18:06:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9D50A16A415 for ; Sat, 25 Nov 2006 18:06:54 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7CA2443D49 for ; Sat, 25 Nov 2006 18:06:05 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAPI6sEc037778 for ; Sat, 25 Nov 2006 18:06:54 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAPI6sSZ037775 for perforce@freebsd.org; Sat, 25 Nov 2006 18:06:54 GMT (envelope-from netchild@freebsd.org) Date: Sat, 25 Nov 2006 18:06:54 GMT Message-Id: <200611251806.kAPI6sSZ037775@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 110523 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Nov 2006 18:06:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=110523 Change 110523 by netchild@netchild_magellan on 2006/11/25 18:06:38 semi-automatic style(9) Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.c#7 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.h#2 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.c#7 (text+ko) ==== @@ -14,14 +14,14 @@ * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Emmanuel Dreyfus - * 4. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior written + * 4. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior written * permission. * - * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS @@ -34,7 +34,7 @@ #include __FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.6 2006/09/09 16:25:25 netchild Exp $"); #if 0 - __KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.5 2005/11/23 16:14:57 manu Exp $"); +__KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.5 2005/11/23 16:14:57 manu Exp $"); #endif #include "opt_compat.h" @@ -67,8 +67,8 @@ TAILQ_ENTRY(waiting_proc) wp_list; }; struct futex { - void *f_uaddr; - int f_refcount; + void *f_uaddr; + int f_refcount; LIST_ENTRY(futex) f_list; TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc; }; @@ -85,7 +85,7 @@ #define FUTEX_SYSTEM_LOCK mtx_lock(&Giant) #define FUTEX_SYSTEM_UNLOCK mtx_unlock(&Giant) -static struct futex *futex_get(void *, int); +static struct futex *futex_get(void *, int); static void futex_put(struct futex *); static int futex_sleep(struct futex *, struct thread *, unsigned long); static int futex_wake(struct futex *, int, struct futex *); @@ -103,7 +103,7 @@ { int val; int ret; - struct l_timespec timeout = { 0, 0 }; + struct l_timespec timeout = {0, 0}; int error = 0; struct futex *f; struct futex *newf; @@ -114,56 +114,57 @@ #ifdef DEBUG if (ldebug(sys_futex)) - printf(ARGS(futex,"%p, %i, %i"), args->uaddr, args->op, args->val); + printf(ARGS(futex, "%p, %i, %i"), args->uaddr, args->op, + args->val); #endif switch (args->op) { case LINUX_FUTEX_WAIT: - FUTEX_SYSTEM_LOCK; + FUTEX_SYSTEM_LOCK; - if ((error = copyin(args->uaddr, + if ((error = copyin(args->uaddr, &val, sizeof(val))) != 0) { - FUTEX_SYSTEM_UNLOCK; + FUTEX_SYSTEM_UNLOCK; return error; } if (val != args->val) { - FUTEX_SYSTEM_UNLOCK; + FUTEX_SYSTEM_UNLOCK; return EWOULDBLOCK; } if (args->timeout != NULL) { - if ((error = copyin(args->timeout, + if ((error = copyin(args->timeout, &timeout, sizeof(timeout))) != 0) { - FUTEX_SYSTEM_UNLOCK; + FUTEX_SYSTEM_UNLOCK; return error; } } #ifdef DEBUG if (ldebug(sys_futex)) - printf("FUTEX_WAIT %d: val = %d, uaddr = %p, " - "*uaddr = %d, timeout = %d.%09lu\n", - td->td_proc->p_pid, args->val, - args->uaddr, val, timeout.tv_sec, - (unsigned long)timeout.tv_nsec); + printf("FUTEX_WAIT %d: val = %d, uaddr = %p, " + "*uaddr = %d, timeout = %d.%09lu\n", + td->td_proc->p_pid, args->val, + args->uaddr, val, timeout.tv_sec, + (unsigned long)timeout.tv_nsec); #endif tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000; timeout_hz = tvtohz(&tv); if (timeout.tv_sec == 0 && timeout.tv_nsec == 0) - timeout_hz = 0; - /* - * If the user process requests a non null timeout, - * make sure we do not turn it into an infinite - * timeout because timeout_hz gets null. - * - * We use a minimal timeout of 1/hz. Maybe it would - * make sense to just return ETIMEDOUT without sleeping. - */ - if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) && - (timeout_hz == 0)) - timeout_hz = 1; + timeout_hz = 0; + /* + * If the user process requests a non null timeout, + * make sure we do not turn it into an infinite + * timeout because timeout_hz gets null. + * + * We use a minimal timeout of 1/hz. Maybe it would + * make sense to just return ETIMEDOUT without sleeping. + */ + if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) && + (timeout_hz == 0)) + timeout_hz = 1; f = futex_get(args->uaddr, FUTEX_UNLOCKED); @@ -172,8 +173,8 @@ #ifdef DEBUG if (ldebug(sys_futex)) - printf("FUTEX_WAIT %d: uaddr = %p, " - "ret = %d\n", td->td_proc->p_pid, args->uaddr, ret); + printf("FUTEX_WAIT %d: uaddr = %p, " + "ret = %d\n", td->td_proc->p_pid, args->uaddr, ret); #endif FUTEX_SYSTEM_UNLOCK; @@ -184,37 +185,37 @@ case EINTR: /* signal */ return EINTR; break; - case 0: /* FUTEX_WAKE received */ + case 0: /* FUTEX_WAKE received */ #ifdef DEBUG if (ldebug(sys_futex)) printf("FUTEX_WAIT %d: uaddr = %p, got FUTEX_WAKE\n", - td->td_proc->p_pid, args->uaddr); + td->td_proc->p_pid, args->uaddr); #endif return 0; break; default: #ifdef DEBUG if (ldebug(sys_futex)) - printf("FUTEX_WAIT: unexpected ret = %d\n", ret); + printf("FUTEX_WAIT: unexpected ret = %d\n", ret); #endif break; } /* NOTREACHED */ break; - + case LINUX_FUTEX_WAKE: FUTEX_SYSTEM_LOCK; - /* - * XXX: Linux is able cope with different addresses - * corresponding to the same mapped memory in the sleeping + /* + * XXX: Linux is able cope with different addresses + * corresponding to the same mapped memory in the sleeping * and the waker process. */ #ifdef DEBUG if (ldebug(sys_futex)) - printf("FUTEX_WAKE %d: uaddr = %p, val = %d\n", - td->td_proc->p_pid, args->uaddr, args->val); + printf("FUTEX_WAKE %d: uaddr = %p, val = %d\n", + td->td_proc->p_pid, args->uaddr, args->val); #endif f = futex_get(args->uaddr, FUTEX_UNLOCKED); td->td_retval[0] = futex_wake(f, args->val, NULL); @@ -226,14 +227,14 @@ case LINUX_FUTEX_CMP_REQUEUE: FUTEX_SYSTEM_LOCK; - if ((error = copyin(args->uaddr, + if ((error = copyin(args->uaddr, &val, sizeof(val))) != 0) { - FUTEX_SYSTEM_UNLOCK; + FUTEX_SYSTEM_UNLOCK; return error; } if (val != args->val3) { - FUTEX_SYSTEM_UNLOCK; + FUTEX_SYSTEM_UNLOCK; return EAGAIN; } @@ -248,19 +249,19 @@ case LINUX_FUTEX_REQUEUE: FUTEX_SYSTEM_LOCK; - + f = futex_get(args->uaddr, FUTEX_UNLOCKED); newf = futex_get(args->uaddr2, FUTEX_UNLOCKED); td->td_retval[0] = futex_wake(f, args->val, newf); futex_put(f); futex_put(newf); - + FUTEX_SYSTEM_UNLOCK; break; case LINUX_FUTEX_FD: /* XXX: linux plans to remove this operation */ - printf("linux_sys_futex: unimplemented op %d\n", + printf("linux_sys_futex: unimplemented op %d\n", args->op); break; @@ -268,30 +269,32 @@ FUTEX_SYSTEM_LOCK; #ifdef DEBUG if (ldebug(sys_futex)) - printf("FUTEX_WAKE_OP: %d: uaddr = %p, op = %d, val = %d, uaddr2 = %p, val3 = %d\n", - td->td_proc->p_pid, args->uaddr, args->op, args->val, args->uaddr2, args->val3); + printf("FUTEX_WAKE_OP: %d: uaddr = %p, op = %d, val = %d, uaddr2 = %p, val3 = %d\n", + td->td_proc->p_pid, args->uaddr, args->op, args->val, + args->uaddr2, args->val3); #endif f = futex_get(args->uaddr, FUTEX_UNLOCKED); f2 = futex_get(args->uaddr2, FUTEX_UNLOCKED); - /* This function returns positive number as results - * and negative as errors + /* + * This function returns positive number as results and + * negative as errors */ op_ret = futex_atomic_op(td, args->val3, args->uaddr2); if (op_ret < 0) { - /* XXX: we dont handle the EFAULT yet */ - if (op_ret != -EFAULT) { - futex_put(f); - futex_put(f2); + /* XXX: we dont handle the EFAULT yet */ + if (op_ret != -EFAULT) { + futex_put(f); + futex_put(f2); FUTEX_SYSTEM_UNLOCK; - return (-op_ret); + return (-op_ret); } futex_put(f); futex_put(f2); - FUTEX_SYSTEM_UNLOCK; + FUTEX_SYSTEM_UNLOCK; return (EFAULT); } @@ -299,23 +302,23 @@ ret = futex_wake(f, args->val, NULL); futex_put(f); if (op_ret > 0) { - op_ret = 0; - /* + op_ret = 0; + /* * Linux uses the address of the timespec parameter * as the number of retries, so any large number will * be ok. */ - op_ret += futex_wake(f2, 0x7fffffff, NULL); + op_ret += futex_wake(f2, 0x7fffffff, NULL); ret += op_ret; } futex_put(f2); td->td_retval[0] = ret; FUTEX_SYSTEM_UNLOCK; - break; + break; default: - printf("linux_sys_futex: unknown op %d\n", + printf("linux_sys_futex: unknown op %d\n", args->op); break; } @@ -328,12 +331,12 @@ struct futex *f; if (locked == FUTEX_UNLOCKED) - FUTEX_LOCK; + FUTEX_LOCK; LIST_FOREACH(f, &futex_list, f_list) { if (f->f_uaddr == uaddr) { f->f_refcount++; if (locked == FUTEX_UNLOCKED) - FUTEX_UNLOCK; + FUTEX_UNLOCK; return f; } } @@ -344,17 +347,17 @@ TAILQ_INIT(&f->f_waiting_proc); LIST_INSERT_HEAD(&futex_list, f, f_list); if (locked == FUTEX_UNLOCKED) - FUTEX_UNLOCK; + FUTEX_UNLOCK; return f; } -static void +static void futex_put(f) struct futex *f; { - FUTEX_LOCK; - f->f_refcount--; + FUTEX_LOCK; + f->f_refcount--; if (f->f_refcount == 0) { LIST_REMOVE(f, f_list); free(f, M_LINUX); @@ -364,7 +367,7 @@ return; } -static int +static int futex_sleep(struct futex *f, struct thread *td, unsigned long timeout) { struct waiting_proc *wp; @@ -379,10 +382,10 @@ #ifdef DEBUG if (ldebug(sys_futex)) - printf("FUTEX --> %d tlseep timeout = %ld\n", td->td_proc->p_pid, - timeout); + printf("FUTEX --> %d tlseep timeout = %ld\n", td->td_proc->p_pid, + timeout); #endif - ret = tsleep(wp, PCATCH|PZERO, "linuxfutex", timeout); + ret = tsleep(wp, PCATCH | PZERO, "linuxfutex", timeout); FUTEX_LOCK; TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list); @@ -390,7 +393,7 @@ if ((ret == 0) && (wp->wp_new_futex != NULL)) { ret = futex_sleep(wp->wp_new_futex, td, timeout); - futex_put(wp->wp_new_futex); /* futex_get called in wakeup */ + futex_put(wp->wp_new_futex); /* futex_get called in wakeup */ } free(wp, M_LINUX); @@ -402,7 +405,7 @@ futex_wake(struct futex *f, int n, struct futex *newf) { struct waiting_proc *wp; - int count = 0; + int count = 0; FUTEX_LOCK; TAILQ_FOREACH(wp, &f->f_waiting_proc, wp_list) { @@ -425,62 +428,63 @@ static int futex_atomic_op(struct thread *td, int encoded_op, caddr_t uaddr) { - int op = (encoded_op >> 28) & 7; - int cmp = (encoded_op >> 24) & 15; - int oparg = (encoded_op << 8) >> 20; - int cmparg = (encoded_op << 20) >> 20; - int oldval = 0, ret; + int op = (encoded_op >> 28) & 7; + int cmp = (encoded_op >> 24) & 15; + int oparg = (encoded_op << 8) >> 20; + int cmparg = (encoded_op << 20) >> 20; + int oldval = 0, ret; if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) - oparg = 1 << oparg; + oparg = 1 << oparg; -#ifdef DEBUG +#ifdef DEBUG printf("futex_atomic_op: op = %d, cmp = %d, oparg = %d, cmparg = %d, uaddr = %p\n", - op, cmp, oparg, cmparg, uaddr); + op, cmp, oparg, cmparg, uaddr); #endif /* XXX: linux verifies access here and returns EFAULT */ switch (op) { - case FUTEX_OP_SET: - ret = futex_xchgl(oparg, uaddr, &oldval); + case FUTEX_OP_SET: + ret = futex_xchgl(oparg, uaddr, &oldval); + break; + case FUTEX_OP_ADD: + ret = futex_addl(oparg, uaddr, &oldval); + break; + case FUTEX_OP_OR: + ret = futex_orl(oparg, uaddr, &oldval); + break; + case FUTEX_OP_ANDN: + ret = futex_andl(~oparg, uaddr, &oldval); + break; + case FUTEX_OP_XOR: + ret = futex_xorl(oparg, uaddr, &oldval); + break; + default: + ret = -ENOSYS; + } + + if (!ret) + switch (cmp) { + case FUTEX_OP_CMP_EQ: + ret = (oldval == cmparg); + break; + case FUTEX_OP_CMP_NE: + ret = (oldval != cmparg); break; - case FUTEX_OP_ADD: - ret = futex_addl(oparg, uaddr, &oldval); + case FUTEX_OP_CMP_LT: + ret = (oldval < cmparg); break; - case FUTEX_OP_OR: - ret = futex_orl(oparg, uaddr, &oldval); + case FUTEX_OP_CMP_GE: + ret = (oldval >= cmparg); break; - case FUTEX_OP_ANDN: - ret = futex_andl(~oparg, uaddr, &oldval); + case FUTEX_OP_CMP_LE: + ret = (oldval <= cmparg); break; - case FUTEX_OP_XOR: - ret = futex_xorl(oparg, uaddr, &oldval); + case FUTEX_OP_CMP_GT: + ret = (oldval > cmparg); break; default: ret = -ENOSYS; - } - - if (!ret) - switch (cmp) { - case FUTEX_OP_CMP_EQ: - ret = (oldval == cmparg); - break; - case FUTEX_OP_CMP_NE: - ret = (oldval != cmparg); - break; - case FUTEX_OP_CMP_LT: - ret = (oldval < cmparg); - break; - case FUTEX_OP_CMP_GE: - ret = (oldval >= cmparg); - break; - case FUTEX_OP_CMP_LE: - ret = (oldval <= cmparg); - break; - case FUTEX_OP_CMP_GT: - ret = (oldval > cmparg); - break; - default: ret = -ENOSYS; } return (ret); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.h#2 (text+ko) ==== @@ -14,14 +14,14 @@ * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Emmanuel Dreyfus - * 4. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior written + * 4. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior written * permission. * - * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS @@ -36,26 +36,26 @@ #ifndef _LINUX_FUTEX_H #define _LINUX_FUTEX_H -#define LINUX_FUTEX_WAIT 0 +#define LINUX_FUTEX_WAIT 0 #define LINUX_FUTEX_WAKE 1 #define LINUX_FUTEX_FD 2 #define LINUX_FUTEX_REQUEUE 3 #define LINUX_FUTEX_CMP_REQUEUE 4 #define LINUX_FUTEX_WAKE_OP 5 -#define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */ -#define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */ -#define FUTEX_OP_OR 2 /* *(int *)UADDR2 |= OPARG; */ -#define FUTEX_OP_ANDN 3 /* *(int *)UADDR2 &= ~OPARG; */ -#define FUTEX_OP_XOR 4 /* *(int *)UADDR2 ^= OPARG; */ +#define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */ +#define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */ +#define FUTEX_OP_OR 2 /* *(int *)UADDR2 |= OPARG; */ +#define FUTEX_OP_ANDN 3 /* *(int *)UADDR2 &= ~OPARG; */ +#define FUTEX_OP_XOR 4 /* *(int *)UADDR2 ^= OPARG; */ -#define FUTEX_OP_OPARG_SHIFT 8 /* Use (1 << OPARG) instead of OPARG. */ +#define FUTEX_OP_OPARG_SHIFT 8 /* Use (1 << OPARG) instead of OPARG. */ -#define FUTEX_OP_CMP_EQ 0 /* if (oldval == CMPARG) wake */ -#define FUTEX_OP_CMP_NE 1 /* if (oldval != CMPARG) wake */ -#define FUTEX_OP_CMP_LT 2 /* if (oldval < CMPARG) wake */ -#define FUTEX_OP_CMP_LE 3 /* if (oldval <= CMPARG) wake */ -#define FUTEX_OP_CMP_GT 4 /* if (oldval > CMPARG) wake */ -#define FUTEX_OP_CMP_GE 5 /* if (oldval >= CMPARG) wake */ +#define FUTEX_OP_CMP_EQ 0 /* if (oldval == CMPARG) wake */ +#define FUTEX_OP_CMP_NE 1 /* if (oldval != CMPARG) wake */ +#define FUTEX_OP_CMP_LT 2 /* if (oldval < CMPARG) wake */ +#define FUTEX_OP_CMP_LE 3 /* if (oldval <= CMPARG) wake */ +#define FUTEX_OP_CMP_GT 4 /* if (oldval > CMPARG) wake */ +#define FUTEX_OP_CMP_GE 5 /* if (oldval >= CMPARG) wake */ -#endif /* !_LINUX_FUTEX_H */ +#endif /* !_LINUX_FUTEX_H */