PERFORCE change 154046 for review
Marko Zec
zec at FreeBSD.org
Thu Dec 4 05:48:04 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=154046
Change 154046 by zec at 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) <<<
More information about the p4-projects
mailing list