Date: Thu, 4 Dec 2008 13:48:03 GMT From: Marko Zec <zec@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 154046 for review Message-ID: <200812041348.mB4Dm3SN065978@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=154046 Change 154046 by zec@zec_tca51 on 2008/12/04 13:47:13 IFC @ 154044 Affected files ... .. //depot/projects/vimage/src/sys/boot/i386/boot0/Makefile#3 integrate .. //depot/projects/vimage/src/sys/boot/i386/boot0/boot0.S#5 integrate .. //depot/projects/vimage/src/sys/bsm/audit.h#7 integrate .. //depot/projects/vimage/src/sys/bsm/audit_internal.h#7 integrate .. //depot/projects/vimage/src/sys/bsm/audit_kevents.h#8 integrate .. //depot/projects/vimage/src/sys/bsm/audit_record.h#7 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#16 integrate .. //depot/projects/vimage/src/sys/conf/files#46 integrate .. //depot/projects/vimage/src/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#18 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_core.c#2 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_intel.c#4 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/pmc_events.h#7 integrate .. //depot/projects/vimage/src/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/vimage/src/sys/dev/jme/if_jmereg.h#5 integrate .. //depot/projects/vimage/src/sys/dev/jme/if_jmevar.h#2 integrate .. //depot/projects/vimage/src/sys/dev/mfi/mfi_pci.c#8 integrate .. //depot/projects/vimage/src/sys/dev/xen/blkfront/blkfront.c#5 integrate .. //depot/projects/vimage/src/sys/dev/xen/blkfront/block.h#2 integrate .. //depot/projects/vimage/src/sys/dev/xen/netfront/netfront.c#6 integrate .. //depot/projects/vimage/src/sys/i386/include/xen/xenbus.h#2 delete .. //depot/projects/vimage/src/sys/i386/xen/xen_machdep.c#11 integrate .. //depot/projects/vimage/src/sys/kern/kern_ktrace.c#9 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_serv.c#13 integrate .. //depot/projects/vimage/src/sys/pci/if_rl.c#12 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm_token.c#10 integrate .. //depot/projects/vimage/src/sys/xen/gnttab.c#5 integrate .. //depot/projects/vimage/src/sys/xen/gnttab.h#4 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_client.c#3 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_comms.c#3 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_comms.h#3 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_dev.c#3 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_if.m#1 branch .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_probe.c#4 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_probe_backend.c#3 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbus_xs.c#5 integrate .. //depot/projects/vimage/src/sys/xen/xenbus/xenbusvar.h#1 branch Differences ... ==== //depot/projects/vimage/src/sys/boot/i386/boot0/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.33 2008/12/02 14:57:48 luigi Exp $ +# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.34 2008/12/03 14:53:59 luigi Exp $ PROG?= boot0 STRIP= @@ -9,12 +9,14 @@ # Additional options that you can specify with make OPTS="..." # (these only apply to boot0.S) # +# -DVOLUME_SERIAL support volume serial number (NT, XP, Vista) # -DSIO do I/O using COM1: # -DPXE fallback to INT18/PXE with F6 # -DCHECK_DRIVE enable checking drive number # -DONLY_F_KEYS accept only Fx keys in console # -DTEST print drive number on entry # +OPTS ?= -DVOLUME_SERIAL -DPXE CFLAGS += ${OPTS} # Flags used in the boot0.S code: ==== //depot/projects/vimage/src/sys/boot/i386/boot0/boot0.S#5 (text+ko) ==== @@ -14,7 +14,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.19 2008/12/02 14:57:48 luigi Exp $ + * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.20 2008/12/03 14:53:59 luigi Exp $ */ /* build options: */ @@ -30,11 +30,17 @@ #ifdef ONLY_F_KEYS /* Only F1..F6, no digits on console */ #endif +#ifdef VOLUME_SERIAL /* support Volume serial number */ +#define B0_BASE 0x1ae /* move the internal data area */ +#define SAVE_MEMORY +#else +#define B0_BASE 0x1b2 +#endif + #ifdef TEST /* enable some test code */ -#ifndef ONLY_F_KEYS -#define ONLY_F_KEYS /* make room for the test code */ +#define SAVE_MEMORY +#define SAVE_MORE_MEMORY #endif -#endif /* * Note - this code uses many tricks to save space and fit in one sector. @@ -118,7 +124,7 @@ * to change the value passed to the linker in the Makefile * PRT_OFF is the location of the partition table (from the MBR standard). * B0_OFF is the location of the data area, known to boot0cfg so - * it cannot be changed. + * it cannot be changed. Computed as a negative offset from 0x200 * MAGIC is the signature of a boot block. */ @@ -127,7 +133,7 @@ .set LOAD,0x7c00 # Load address .set PRT_OFF,0x1be # Partition table - .set B0_OFF,0x1b2 # Offset of boot0 data + .set B0_OFF,(B0_BASE-0x200) # Offset of boot0 data .set MAGIC,0xaa55 # Magic: bootable @@ -144,15 +150,16 @@ * We need to define them as constant as the assembler cannot * compute them in its single pass. */ - .set _NXTDRV, -0x48 # Next drive - .set _OPT, -0x47 # Default option - .set _SETDRV, -0x46 # Drive to force - .set _FLAGS, -0x45 # Flags + .set _NXTDRV, B0_OFF+6 # Next drive + .set _OPT, B0_OFF+7 # Default option + .set _SETDRV, B0_OFF+8 # Drive to force + .set _FLAGS, B0_OFF+9 # Flags .set SETDRV, 0x20 # the 'setdrv' flag .set NOUPDATE, 0x40 # the 'noupdate' flag .set USEPACKET, 0x80 # the 'packet' flag - .set _TICKS, -0x44 # Timeout ticks - .set _FAKE,0x0 # Fake partition table + + /* ticks is at a fixed position */ + .set _TICKS, (PRT_OFF - 0x200 - 2) # Timeout ticks .set _MNUOPT, 0x10 # Saved menu entries .set TLEN, (desc_ofs - bootable_ids) # size of bootable ids @@ -260,26 +267,16 @@ read_entry: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) btw %dx,_FLAGS(%bp) # Entry enabled? jnc next_entry # No - /* - * Lookup type in the 'non_bootable_ids' table, skip matching entries. - * This is implemented is by setting %di to the start of the - * exclude table, and %cl to the length of the table itself. After the - * 'repne scasb' the zero flag is set if we found a match. - * If not, %di points to the beginning of the 'valid' types, - * which is what we need for the next check. - */ movb (%bx),%al # Load type - movw $non_bootable_ids,%di # Lookup tables - movb $(bootable_ids-non_bootable_ids),%cl # length - repne # Exclude - scasb # partition? - je next_entry # Yes, ignore it + test %al, %al # skip empty partition + jz next_entry /* - * Now scan the table of bootable ids, which starts at %di and has + * Scan the table of bootable ids, which starts at %di and has * length TLEN. On a match, %di points to the element following the * match; the corresponding offset to the description is $(TLEN-1) * bytes ahead. If we don't find a match, we hit the 'unknown' entry. */ + movw $bootable_ids,%di # Lookup tables movb $(TLEN),%cl # Number of entries repne # Locate scasb # type @@ -500,19 +497,10 @@ * the string at %si * putx: print the option in %dl followed by the string at %di * also record the drive as valid. - * puts: print the string at %si followed by a crlf * putn: print a crlf * putstr: print the string at %si * putchr: print the char in al */ -putkey: -#ifndef SIO - movb $'F',%al # Display - callw putchr # 'F' -#endif - movb $'1',%al # Prepare - addb %dl,%al # digit - jmp putstr.1 # Display the rest /* * Display the option and record the drive as valid in the options. @@ -523,17 +511,24 @@ movw $item,%si # Display callw putkey # key movw %di,%si # Display the rest + callw putstr # Display string -puts: callw putstr # Display string +putn: movw $crlf,%si # To next line + jmp putstr -putn: movw $crlf,%si # To next line +putkey: +#ifndef SIO + movb $'F',%al # Display + callw putchr # 'F' +#endif + movb $'1',%al # Prepare + addb %dl,%al # digit +putstr.1: callw putchr # Display char putstr: lodsb # Get byte testb $0x80,%al # End of string? - jnz putstr.2 # Yes -putstr.1: callw putchr # Display char - jmp putstr # Continue -putstr.2: andb $~0x80,%al # Clear MSB + jz putstr.1 # No + andb $~0x80,%al # Clear MSB then print last putchr: #ifndef SIO @@ -601,38 +596,45 @@ /* Partition type tables */ -non_bootable_ids: - /* - * These entries identify invalid or NON BOOT types and partitions. - * 0: empty, 5: DOS3 ext. partition, 0xf: WIN95 ext partition - */ - .byte 0x0, 0x5, 0xf bootable_ids: /* - * These values indicate bootable types we know the names of. - * 1: FAT12, 4: FAT16 <32M, 6: FAT16 > 32M, 7: NTFS - * 0xb: FAT32, 0xc: FAT32-LBA, 0xe: FAT16-LBA, - * 0x83: linux, 0xa5: FreeBSD, 0xa6: netbsd, 0xa9:openbsd + * These values indicate bootable types we know about. + * Corresponding descriptions are at desc_ofs: + * Entries don't need to be sorted. */ - .byte 0x1, 0x6, 0x7, 0xb, 0xc, 0xe, 0x83 - .byte 0xa5, 0xa6, 0xa9, 0x4 + .byte 0x1, 0x6, 0x7, 0xb, 0xc +#ifndef SAVE_MEMORY + .byte 0xe +#endif + .byte 0x83, 0xa5, 0xa6, 0xa9, 0x4 +#ifndef SAVE_MORE_MEMORY + .byte 0x5, 0xf +#endif + desc_ofs: /* * Offsets that match the known types above, used to point to the * actual partition name. The last entry must point to os_misc, * which is used for non-matching names. */ - .byte os_dos-. # 1, DOS - .byte os_dos-. # 6, DOS/WIN - .byte os_win-. # 7, Windows - .byte os_win-. # 11, Windows - .byte os_win-. # 12, Windows - .byte os_win-. # 14, Windows + .byte os_dos-. # 1, FAT12 DOS + .byte os_dos-. # 6, FAT16 <32M, DOS/WIN + .byte os_win-. # 7, FAT16 >=32M Windows + .byte os_win-. # 11, FAT32 + .byte os_win-. # 12, FAT32-LBA +#ifndef SAVE_MEMORY + .byte os_win-. # 14, FAT16-LBA +#endif .byte os_linux-. # 131, Linux .byte os_freebsd-. # 165, FreeBSD .byte os_bsd-. # 166, OpenBSD .byte os_bsd-. # 169, NetBSD - .byte os_dos-. # 4, DOS + .byte os_dos-. # 4, FAT16 < 32M +#ifndef SAVE_MORE_MEMORY + .byte os_ext-. # 5, DOS Ext + .byte os_ext-. # 15, DOS Ext-LBA +#endif + .byte os_misc-. # Unknown /* @@ -641,15 +643,18 @@ */ os_misc: .byte '?'|0x80 os_dos: -#if !defined(TEST) /* DOS string only if room */ +#ifndef SAVE_MEMORY /* DOS string only if room */ .ascii "DO"; .byte 'S'|0x80 #endif os_win: .ascii "WI"; .byte 'N'|0x80 os_linux: .ascii "Linu"; .byte 'x'|0x80 os_freebsd: .ascii "Free" os_bsd: .ascii "BS"; .byte 'D'|0x80 +#ifndef SAVE_MORE_MEMORY +os_ext: .ascii "EX"; .byte 'T'|0x80 +#endif - .org B0_OFF,0x90 + .org (0x200 + B0_OFF),0x90 /* * The boot0 version 1.0 parameter table. * Do not move it nor change the "Drive " string, boot0cfg @@ -663,6 +668,9 @@ opt: .byte 0x0 # Option setdrv_num: .byte 0x80 # Drive to force flags: .byte FLAGS # Flags +#ifdef VOLUME_SERIAL + .byte 0xa8,0xa8,0xa8,0xa8 # Volume Serial Number +#endif ticks: .word TICKS # Delay .org PRT_OFF ==== //depot/projects/vimage/src/sys/bsm/audit.h#7 (text) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright (c) 2005 Apple Inc. * All rights reserved. * @@ -26,8 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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/bsm/audit.h#40 - * $FreeBSD: src/sys/bsm/audit.h,v 1.11 2008/07/31 09:54:35 rwatson Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#1 + * $FreeBSD: src/sys/bsm/audit.h,v 1.12 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _BSM_AUDIT_H ==== //depot/projects/vimage/src/sys/bsm/audit_internal.h#7 (text) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright (c) 2005 Apple Inc. * Copyright (c) 2005 SPARTA, Inc. * All rights reserved. @@ -30,8 +30,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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/bsm/audit_internal.h#18 - * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.10 2008/11/11 21:57:03 csjp Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_internal.h#2 + * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.11 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _AUDIT_INTERNAL_H ==== //depot/projects/vimage/src/sys/bsm/audit_kevents.h#8 (text) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright (c) 2005 Apple Inc. * All rights reserved. * @@ -26,8 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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/bsm/audit_kevents.h#34 - * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.15 2008/08/24 21:20:35 rwatson Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#3 + * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.16 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -308,6 +308,7 @@ #define AUE_PF_POLICY_FLIP 298 /* Solaris-specific. */ #define AUE_PF_POLICY_FLUSH 299 /* Solaris-specific. */ #define AUE_PF_POLICY_ALGS 300 /* Solaris-specific. */ +#define AUE_PORTFS 301 /* Solaris-specific. */ /* * Events added for Apple Darwin that potentially collide with future Solaris @@ -516,17 +517,17 @@ #define AUE_READDIR 43118 /* Linux. */ #define AUE_IOPL 43119 /* Linux. */ #define AUE_VM86 43120 /* Linux. */ -#define AUE_MAC_GET_PROC 43121 /* FreeBSD. */ -#define AUE_MAC_SET_PROC 43122 /* FreeBSD. */ -#define AUE_MAC_GET_FD 43123 /* FreeBSD. */ -#define AUE_MAC_GET_FILE 43124 /* FreeBSD. */ -#define AUE_MAC_SET_FD 43125 /* FreeBSD. */ -#define AUE_MAC_SET_FILE 43126 /* FreeBSD. */ +#define AUE_MAC_GET_PROC 43121 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_PROC 43122 /* FreeBSD/Darwin. */ +#define AUE_MAC_GET_FD 43123 /* FreeBSD/Darwin. */ +#define AUE_MAC_GET_FILE 43124 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_FD 43125 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_FILE 43126 /* FreeBSD/Darwin. */ #define AUE_MAC_SYSCALL 43127 /* FreeBSD. */ -#define AUE_MAC_GET_PID 43128 /* FreeBSD. */ -#define AUE_MAC_GET_LINK 43129 /* FreeBSD. */ -#define AUE_MAC_SET_LINK 43130 /* FreeBSD. */ -#define AUE_MAC_EXECVE 43131 /* FreeBSD. */ +#define AUE_MAC_GET_PID 43128 /* FreeBSD/Darwin. */ +#define AUE_MAC_GET_LINK 43129 /* FreeBSD/Darwin. */ +#define AUE_MAC_SET_LINK 43130 /* FreeBSD/Darwin. */ +#define AUE_MAC_EXECVE 43131 /* FreeBSD/Darwin. */ #define AUE_GETPATH_FROMFD 43132 /* FreeBSD. */ #define AUE_GETPATH_FROMADDR 43133 /* FreeBSD. */ #define AUE_MQ_OPEN 43134 /* FreeBSD. */ @@ -548,7 +549,43 @@ #define AUE_MKNODAT 43150 /* FreeBSD. */ #define AUE_READLINKAT 43151 /* FreeBSD. */ #define AUE_SYMLINKAT 43152 /* FreeBSD. */ +#define AUE_MAC_GETFSSTAT 43153 /* Darwin. */ +#define AUE_MAC_GET_MOUNT 43154 /* Darwin. */ +#define AUE_MAC_GET_LCID 43155 /* Darwin. */ +#define AUE_MAC_GET_LCTX 43156 /* Darwin. */ +#define AUE_MAC_SET_LCTX 43157 /* Darwin. */ +#define AUE_MAC_MOUNT 43158 /* Darwin. */ +#define AUE_GETLCID 43159 /* Darwin. */ +#define AUE_SETLCID 43160 /* Darwin. */ +#define AUE_TASKNAMEFORPID 43161 /* Darwin. */ +#define AUE_ACCESS_EXTENDED 43162 /* Darwin. */ +#define AUE_CHMOD_EXTENDED 43163 /* Darwin. */ +#define AUE_FCHMOD_EXTENDED 43164 /* Darwin. */ +#define AUE_FSTAT_EXTENDED 43165 /* Dariwn. */ +#define AUE_LSTAT_EXTENDED 43166 /* Darwin. */ +#define AUE_MKDIR_EXTENDED 43167 /* Darwin. */ +#define AUE_MKFIFO_EXTENDED 43168 /* Darwin. */ +#define AUE_OPEN_EXTENDED 43169 /* Darwin. */ +#define AUE_OPEN_EXTENDED_R 43170 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RC 43171 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RT 43172 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RTC 43173 /* Darwin. */ +#define AUE_OPEN_EXTENDED_W 43174 /* Darwin. */ +#define AUE_OPEN_EXTENDED_WC 43175 /* Darwin. */ +#define AUE_OPEN_EXTENDED_WT 43176 /* Darwin. */ +#define AUE_OPEN_EXTENDED_WTC 43177 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RW 43178 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RWC 43179 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RWT 43180 /* Darwin. */ +#define AUE_OPEN_EXTENDED_RWTC 43181 /* Darwin. */ +#define AUE_STAT_EXTENDED 43182 /* Darwin. */ +#define AUE_UMASK_EXTENDED 43183 /* Darwin. */ +#define AUE_OPENAT 43184 /* FreeBSD. */ #define AUE_POSIX_OPENPT 43185 /* FreeBSD. */ +#define AUE_CAP_NEW 43186 /* TrustedBSD. */ +#define AUE_CAP_GETRIGHTS 43187 /* TrustedBSD. */ +#define AUE_CAP_ENTER 43188 /* TrustedBSD. */ +#define AUE_CAP_GETMODE 43189 /* TrustedBSD. */ /* * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the ==== //depot/projects/vimage/src/sys/bsm/audit_record.h#7 (text) ==== @@ -1,5 +1,5 @@ -/* - * Copyright (c) 2005 Apple Inc. +/*- + * Copyright (c) 2005-2008 Apple Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,8 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 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/bsm/audit_record.h#26 - * $FreeBSD: src/sys/bsm/audit_record.h,v 1.12 2008/11/11 21:57:03 csjp Exp $ + * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_record.h#3 + * $FreeBSD: src/sys/bsm/audit_record.h,v 1.13 2008/12/02 23:26:43 rwatson Exp $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -48,7 +48,7 @@ #define AUT_IPC 0x22 #define AUT_PATH 0x23 #define AUT_SUBJECT32 0x24 -#define AUT_SERVER32 0x25 +#define AUT_XATPATH 0x25 #define AUT_PROCESS32 0x26 #define AUT_RETURN32 0x27 #define AUT_TEXT 0x28 @@ -64,9 +64,7 @@ #define AUT_IPC_PERM 0x32 #define AUT_LABEL 0x33 #define AUT_GROUPS 0x34 -#define AUT_ILABEL 0x35 -#define AUT_SLABEL 0x36 -#define AUT_CLEAR 0x37 +#define AUT_ACE 0x35 #define AUT_PRIV 0x38 #define AUT_UPRIV 0x39 #define AUT_LIAISON 0x3a @@ -74,22 +72,28 @@ #define AUT_EXEC_ARGS 0x3c #define AUT_EXEC_ENV 0x3d #define AUT_ATTR32 0x3e -/* #define AUT_???? 0x3f */ +#define AUT_UNAUTH 0x3f #define AUT_XATOM 0x40 #define AUT_XOBJ 0x41 #define AUT_XPROTO 0x42 #define AUT_XSELECT 0x43 -/* XXXRW: Additional X11 tokens not defined? */ +#define AUT_XCOLORMAP 0x44 +#define AUT_XCURSOR 0x45 +#define AUT_XFONT 0x46 +#define AUT_XGC 0x47 +#define AUT_XPIXMAP 0x48 +#define AUT_XPROPERTY 0x49 +#define AUT_XWINDOW 0x4a +#define AUT_XCLIENT 0x4b #define AUT_CMD 0x51 #define AUT_EXIT 0x52 #define AUT_ZONENAME 0x60 -/* XXXRW: OpenBSM AUT_HOST 0x70? */ +#define AUT_HOST 0x70 #define AUT_ARG64 0x71 #define AUT_RETURN64 0x72 #define AUT_ATTR64 0x73 #define AUT_HEADER64 0x74 #define AUT_SUBJECT64 0x75 -#define AUT_SERVER64 0x76 #define AUT_PROCESS64 0x77 #define AUT_OTHER_FILE64 0x78 #define AUT_HEADER64_EX 0x79 @@ -108,55 +112,10 @@ #define AUT_ARG AUT_ARG32 #define AUT_RETURN AUT_RETURN32 #define AUT_SUBJECT AUT_SUBJECT32 -#define AUT_SERVER AUT_SERVER32 #define AUT_PROCESS AUT_PROCESS32 #define AUT_OTHER_FILE AUT_OTHER_FILE32 /* - * Darwin's bsm distribution uses the following non-BSM token name defines. - * We provide them for a single OpenBSM release for compatibility reasons. - */ -#define AU_FILE_TOKEN AUT_OTHER_FILE32 -#define AU_TRAILER_TOKEN AUT_TRAILER -#define AU_HEADER_32_TOKEN AUT_HEADER32 -#define AU_DATA_TOKEN AUT_DATA -#define AU_ARB_TOKEN AUT_DATA -#define AU_IPC_TOKEN AUT_IPC -#define AU_PATH_TOKEN AUT_PATH -#define AU_SUBJECT_32_TOKEN AUT_SUBJECT32 -#define AU_PROCESS_32_TOKEN AUT_PROCESS32 -#define AU_RETURN_32_TOKEN AUT_RETURN32 -#define AU_TEXT_TOKEN AUT_TEXT -#define AU_OPAQUE_TOKEN AUT_OPAQUE -#define AU_IN_ADDR_TOKEN AUT_IN_ADDR -#define AU_IP_TOKEN AUT_IP -#define AU_IPORT_TOKEN AUT_IPORT -#define AU_ARG32_TOKEN AUT_ARG32 -#define AU_SOCK_TOKEN AUT_SOCKET -#define AU_SEQ_TOKEN AUT_SEQ -#define AU_ATTR_TOKEN AUT_ATTR -#define AU_IPCPERM_TOKEN AUT_IPC_PERM -#define AU_NEWGROUPS_TOKEN AUT_NEWGROUPS -#define AU_EXEC_ARG_TOKEN AUT_EXEC_ARGS -#define AU_EXEC_ENV_TOKEN AUT_EXEC_ENV -#define AU_ATTR32_TOKEN AUT_ATTR32 -#define AU_CMD_TOKEN AUT_CMD -#define AU_EXIT_TOKEN AUT_EXIT -#define AU_ARG64_TOKEN AUT_ARG64 -#define AU_RETURN_64_TOKEN AUT_RETURN64 -#define AU_ATTR64_TOKEN AUT_ATTR64 -#define AU_HEADER_64_TOKEN AUT_HEADER64 -#define AU_SUBJECT_64_TOKEN AUT_SUBJECT64 -#define AU_PROCESS_64_TOKEN AUT_PROCESS64 -#define AU_HEADER_64_EX_TOKEN AUT_HEADER64_EX -#define AU_SUBJECT_32_EX_TOKEN AUT_SUBJECT32_EX -#define AU_PROCESS_32_EX_TOKEN AUT_PROCESS32_EX -#define AU_SUBJECT_64_EX_TOKEN AUT_SUBJECT64_EX -#define AU_PROCESS_64_EX_TOKEN AUT_PROCESS64_EX -#define AU_IN_ADDR_EX_TOKEN AUT_IN_ADDR_EX -#define AU_SOCK_32_EX_TOKEN AUT_SOCKET_EX - -/* * The values for the following token ids are not defined by BSM. * * XXXRW: Not sure how to handle these in OpenBSM yet, but I'll give them @@ -166,9 +125,6 @@ #define AUT_SOCKINET32 0x80 /* XXX */ #define AUT_SOCKINET128 0x81 /* XXX */ #define AUT_SOCKUNIX 0x82 /* XXX */ -#define AU_SOCK_INET_32_TOKEN AUT_SOCKINET32 -#define AU_SOCK_INET_128_TOKEN AUT_SOCKINET128 -#define AU_SOCK_UNIX_TOKEN AUT_SOCKUNIX /* print values for the arbitrary token */ #define AUP_BINARY 0 @@ -240,7 +196,7 @@ int au_close_buffer(int d, short event, u_char *buffer, size_t *buflen); int au_close_token(token_t *tok, u_char *buffer, size_t *buflen); -token_t *au_to_file(char *file, struct timeval tm); +token_t *au_to_file(const char *file, struct timeval tm); token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); @@ -256,9 +212,9 @@ #endif token_t *au_to_me(void); -token_t *au_to_arg(char n, char *text, uint32_t v); -token_t *au_to_arg32(char n, char *text, uint32_t v); -token_t *au_to_arg64(char n, char *text, uint64_t v); +token_t *au_to_arg(char n, const char *text, uint32_t v); +token_t *au_to_arg32(char n, const char *text, uint32_t v); +token_t *au_to_arg64(char n, const char *text, uint64_t v); #if defined(_KERNEL) || defined(KERNEL) token_t *au_to_attr(struct vnode_au_info *vni); @@ -267,7 +223,7 @@ #endif token_t *au_to_data(char unit_print, char unit_type, char unit_count, - char *p); + const char *p); token_t *au_to_exit(int retval, int err); token_t *au_to_groups(int *groups); token_t *au_to_newgroups(uint16_t n, gid_t *groups); @@ -277,8 +233,8 @@ token_t *au_to_ipc(char type, int id); token_t *au_to_ipc_perm(struct ipc_perm *perm); token_t *au_to_iport(uint16_t iport); -token_t *au_to_opaque(char *data, uint16_t bytes); -token_t *au_to_path(char *path); +token_t *au_to_opaque(const char *data, uint16_t bytes); +token_t *au_to_path(const char *path); token_t *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); token_t *au_to_process32(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, @@ -328,10 +284,10 @@ token_t *au_to_exec_args(char **argv); token_t *au_to_exec_env(char **envp); #endif -token_t *au_to_text(char *text); +token_t *au_to_text(const char *text); token_t *au_to_kevent(struct kevent *kev); token_t *au_to_trailer(int rec_size); -token_t *au_to_zonename(char *zonename); +token_t *au_to_zonename(const char *zonename); __END_DECLS ==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.84 2008/11/29 14:32:14 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.85 2008/12/03 18:45:38 jhb Exp $"); #include "opt_compat.h" @@ -2774,7 +2774,7 @@ if (error) return (error); } - error = syscall_deregister(data->offset, &data->old_sysent); + error = syscall32_deregister(data->offset, &data->old_sysent); return (error); default: error = EOPNOTSUPP; ==== //depot/projects/vimage/src/sys/conf/files#46 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1353 2008/12/01 16:53:01 sam Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1354 2008/12/04 07:59:05 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2766,10 +2766,14 @@ xen/xenbus/xenbus_client.c optional xen xen/xenbus/xenbus_comms.c optional xen xen/xenbus/xenbus_dev.c optional xen +xen/xenbus/xenbus_if.m optional xen xen/xenbus/xenbus_probe.c optional xen -xen/xenbus/xenbus_probe_backend.c optional xen +#xen/xenbus/xenbus_probe_backend.c optional xen xen/xenbus/xenbus_xs.c optional xen dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen dev/xen/blkfront/blkfront.c optional xen dev/xen/netfront/netfront.c optional xen +#dev/xen/xenpci/xenpci.c optional xen +#xen/xenbus/xenbus_newbus.c optional xenhvm + ==== //depot/projects/vimage/src/sys/dev/ale/if_ale.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Atheros AR8121/AR8113/AR8114 PCIe Ethernet. */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.1 2008/11/12 09:52:06 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.3 2008/12/03 09:01:12 yongari Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -385,6 +385,39 @@ GPHY_CTRL_EXT_RESET | GPHY_CTRL_HIB_EN | GPHY_CTRL_HIB_PULSE | GPHY_CTRL_SEL_ANA_RESET | GPHY_CTRL_PHY_PLL_ON); DELAY(1000); + +#define ATPHY_DBG_ADDR 0x1D +#define ATPHY_DBG_DATA 0x1E + + /* Enable hibernation mode. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x0B); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_DATA, 0xBC00); + /* Set Class A/B for all modes. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x00); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_DATA, 0x02EF); + /* Enable 10BT power saving. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x12); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_DATA, 0x4C04); + /* Adjust 1000T power. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x04); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x8BBB); + /* 10BT center tap voltage. */ + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x05); + ale_miibus_writereg(sc->ale_dev, sc->ale_phyaddr, + ATPHY_DBG_ADDR, 0x2C46); + +#undef ATPHY_DBG_ADDR +#undef ATPHY_DBG_DATA + DELAY(1000); } static int @@ -2753,10 +2786,8 @@ TX_JUMBO_THRESH_UNIT_SHIFT); } /* Configure TxQ. */ - reg = 0; - if ((sc->ale_flags & ALE_FLAG_JUMBO) != 0) - reg = (128 << (sc->ale_dma_rd_burst >> DMA_CFG_RD_BURST_SHIFT)) - << TXQ_CFG_TX_FIFO_BURST_SHIFT; + reg = (128 << (sc->ale_dma_rd_burst >> DMA_CFG_RD_BURST_SHIFT)) + << TXQ_CFG_TX_FIFO_BURST_SHIFT; reg |= (TXQ_CFG_TPD_BURST_DEFAULT << TXQ_CFG_TPD_BURST_SHIFT) & TXQ_CFG_TPD_BURST_MASK; CSR_WRITE_4(sc, ALE_TXQ_CFG, reg | TXQ_CFG_ENHANCED_MODE | TXQ_CFG_ENB); ==== //depot/projects/vimage/src/sys/dev/bce/if_bce.c#18 (text) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.44 2008/11/19 03:24:35 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.45 2008/12/03 23:00:00 delphij Exp $"); /* * The following controllers are supported by this driver: @@ -7030,13 +7030,14 @@ /* Was it a link change interrupt? */ if ((status_attn_bits & STATUS_ATTN_BITS_LINK_STATE) != - (sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) + (sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) { bce_phy_intr(sc); - /* Clear any transient status updates during link state change. */ - REG_WR(sc, BCE_HC_COMMAND, - sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT); - REG_RD(sc, BCE_HC_COMMAND); + /* Clear any transient status updates during link state change. */ + REG_WR(sc, BCE_HC_COMMAND, + sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT); + REG_RD(sc, BCE_HC_COMMAND); + } /* If any other attention is asserted then the chip is toast. */ if (((status_attn_bits & ~STATUS_ATTN_BITS_LINK_STATE) != ==== //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_core.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_core.c,v 1.1 2008/11/27 09:00:47 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_core.c,v 1.2 2008/12/03 17:30:36 jkoshy Exp $"); #include <sys/param.h> #include <sys/pmc.h> @@ -527,8 +527,8 @@ }; #define IAP_F_CC (1 << 0) /* CPU: Core */ -#define IAP_F_CC2 (1 << 1) /* CPU: Core2 */ -#define IAP_F_CC2E (1 << 2) /* CPU: Core2 Extreme */ +#define IAP_F_CC2 (1 << 1) /* CPU: Core2 family */ +#define IAP_F_CC2E (1 << 2) /* CPU: Core2 Extreme only */ #define IAP_F_CA (1 << 3) /* CPU: Atom */ #define IAP_F_FM (1 << 4) /* Fixed mask */ @@ -1111,7 +1111,7 @@ cpuflag = IAP_F_CC2; break; case PMC_CPU_INTEL_CORE2EXTREME: - cpuflag = IAP_F_CC2E; + cpuflag = IAP_F_CC2 | IAP_F_CC2E; break; } ==== //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_intel.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_intel.c,v 1.9 2008/11/27 09:00:47 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_intel.c,v 1.10 2008/12/03 17:30:36 jkoshy Exp $"); #include <sys/param.h> #include <sys/pmc.h> @@ -168,6 +168,7 @@ case PMC_CPU_INTEL_ATOM: case PMC_CPU_INTEL_CORE: case PMC_CPU_INTEL_CORE2: + case PMC_CPU_INTEL_CORE2EXTREME: error = pmc_core_initialize(pmc_mdep, ncpus); break; @@ -238,6 +239,7 @@ case PMC_CPU_INTEL_ATOM: case PMC_CPU_INTEL_CORE: case PMC_CPU_INTEL_CORE2: + case PMC_CPU_INTEL_CORE2EXTREME: pmc_core_finalize(md); break; ==== //depot/projects/vimage/src/sys/dev/hwpmc/pmc_events.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/hwpmc/pmc_events.h,v 1.7 2008/11/27 09:00:47 jkoshy Exp $ + * $FreeBSD: src/sys/dev/hwpmc/pmc_events.h,v 1.8 2008/12/03 15:23:08 jkoshy Exp $ */ #ifndef _DEV_HWPMC_PMC_EVENTS_H_ @@ -426,6 +426,11 @@ #define PMC_EV_IAF_FIRST PMC_EV_IAF_INSTR_RETIRED_ANY #define PMC_EV_IAF_LAST PMC_EV_IAF_CPU_CLK_UNHALTED_REF +#define __PMC_EV_ALIAS_IAF() \ +__PMC_EV_ALIAS("instruction-retired", IAF_INSTR_RETIRED_ANY) \ +__PMC_EV_ALIAS("unhalted-core-cycles", IAF_CPU_CLK_UNHALTED_CORE) \ +__PMC_EV_ALIAS("unhalted-reference-cycles", IAF_CPU_CLK_UNHALTED_REF) + /* * Events supported by programmable function counters present in * Intel Atom, Core and Core2 CPUs, from the "Intel 64 and IA-32 ==== //depot/projects/vimage/src/sys/dev/jme/if_jme.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.8 2008/10/14 00:54:15 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.10 2008/12/04 02:16:53 yongari Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -150,6 +150,9 @@ static int jme_newbuf(struct jme_softc *, struct jme_rxdesc *); static void jme_set_vlan(struct jme_softc *); static void jme_set_filter(struct jme_softc *); +static void jme_stats_clear(struct jme_softc *); +static void jme_stats_save(struct jme_softc *); +static void jme_stats_update(struct jme_softc *); static int sysctl_int_range(SYSCTL_HANDLER_ARGS, int, int); static int sysctl_hw_jme_tx_coal_to(SYSCTL_HANDLER_ARGS); static int sysctl_hw_jme_tx_coal_pkt(SYSCTL_HANDLER_ARGS); @@ -651,6 +654,14 @@ goto fail; } + if (CHIPMODE_REVFM(sc->jme_chip_rev) >= 2) { + if ((sc->jme_rev & DEVICEID_JMC2XX_MASK) == DEVICEID_JMC260 && + CHIPMODE_REVFM(sc->jme_chip_rev) == 2) + sc->jme_flags |= JME_FLAG_DMA32BIT; + sc->jme_flags |= JME_FLAG_TXCLK; + sc->jme_flags |= JME_FLAG_HWMIB; + } + /* Reset the ethernet controller. */ jme_reset(sc); @@ -880,35 +891,41 @@ return (0); } +#define JME_SYSCTL_STAT_ADD32(c, h, n, p, d) \ + SYSCTL_ADD_UINT(c, h, OID_AUTO, n, CTLFLAG_RD, p, 0, d) + static void jme_sysctl_node(struct jme_softc *sc) { + struct sysctl_ctx_list *ctx; + struct sysctl_oid_list *child, *parent; + struct sysctl_oid *tree; + struct jme_hw_stats *stats; int error; - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "tx_coal_to", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_to, - 0, sysctl_hw_jme_tx_coal_to, "I", "jme tx coalescing timeout"); + stats = &sc->jme_stats; + ctx = device_get_sysctl_ctx(sc->jme_dev); + child = SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)); + + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "tx_coal_to", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_to, 0, + sysctl_hw_jme_tx_coal_to, "I", "jme tx coalescing timeout"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "tx_coal_pkt", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_pkt, - 0, sysctl_hw_jme_tx_coal_pkt, "I", "jme tx coalescing packet"); + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "tx_coal_pkt", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_tx_coal_pkt, 0, + sysctl_hw_jme_tx_coal_pkt, "I", "jme tx coalescing packet"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "rx_coal_to", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_to, - 0, sysctl_hw_jme_rx_coal_to, "I", "jme rx coalescing timeout"); + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_coal_to", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_to, 0, + sysctl_hw_jme_rx_coal_to, "I", "jme rx coalescing timeout"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "rx_coal_pkt", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_pkt, - 0, sysctl_hw_jme_rx_coal_pkt, "I", "jme rx coalescing packet"); + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_coal_pkt", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_rx_coal_pkt, 0, + sysctl_hw_jme_rx_coal_pkt, "I", "jme rx coalescing packet"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->jme_dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(sc->jme_dev)), OID_AUTO, - "process_limit", CTLTYPE_INT | CTLFLAG_RW, &sc->jme_process_limit, - 0, sysctl_hw_jme_proc_limit, "I", + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "process_limit", + CTLTYPE_INT | CTLFLAG_RW, &sc->jme_process_limit, 0, + sysctl_hw_jme_proc_limit, "I", "max number of Rx events to process"); /* Pull in device tunables. */ @@ -977,8 +994,43 @@ sc->jme_rx_coal_pkt = PCCRX_COAL_PKT_DEFAULT; } } + + if ((sc->jme_flags & JME_FLAG_HWMIB) == 0) + return; + + tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "stats", CTLFLAG_RD, + NULL, "JME statistics"); + parent = SYSCTL_CHILDREN(tree); + + /* Rx statistics. */ + tree = SYSCTL_ADD_NODE(ctx, parent, OID_AUTO, "rx", CTLFLAG_RD, + NULL, "Rx MAC statistics"); + child = SYSCTL_CHILDREN(tree); + JME_SYSCTL_STAT_ADD32(ctx, child, "good_frames", >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812041348.mB4Dm3SN065978>