Commit Graph

70377 Commits

Author SHA1 Message Date
Pyun YongHyeon
3a91ee716b Add hardware MAC statistics support. Also added some reserved
statistics register definition. Users can get current MAC
statistics from dev.msk.%d.stats sysctl node(%d is unit number of
a device).
2009-01-16 08:06:55 +00:00
Nathan Whitehorn
ee9db219df Revert revision 186833 and try a different strategy to allow this device to
work when the bus attaches its own children. Instead of hardcoding a unit
number and returning BUS_PROBE_NOWILDCARD, which will break multiple iicbus
systems, check in the probe routine whether the device address is 0. Real
I2C devices will never have this address, but devices added with
BUS_ADD_CHILD() will.

Requested by:	jhb
Reviewed by:	jhb
2009-01-15 23:14:59 +00:00
Oleksandr Tymoshenko
f624d2026a - pmap_track_modified was retired in r178606. Reintroducing it was a mistake.
Spotted by: alc@
2009-01-15 23:03:27 +00:00
Xin LI
bf55aadcb9 Changes to match "Marketing Description" from Broadcom for HP servers.
Submitted by:	davidch
MFC after:	2 months
2009-01-15 22:28:05 +00:00
Warner Losh
1435181496 Reduce diffs to p4 that were the result of a mismerge on my part. 2009-01-15 19:57:45 +00:00
Paolo Pisati
dd14bc5dca Silent userland warnings about missing prototypes.
Submitted by:	Roman Divacky <rdivacky@freebsd.org>
2009-01-15 19:35:23 +00:00
Oleksandr Tymoshenko
16a296f7c9 MFp4:
- Add debug output
- Fix pmap_zero_page and related places: use uncached segments and invalidate
    cache after zeroing memory.
- Do not test for modified bit if it's not neccessary
    (merged from mips-juniper p4 branch)
- Some #includes reorganization
2009-01-15 18:31:36 +00:00
Takanori Watanabe
3302fb4839 Name the items of xfer array. 2009-01-15 16:04:11 +00:00
Konstantin Belousov
137cf3b682 Lock the semaphore identifier lock during semaphore initialization to
guarantee atomicity of the operation for other semaphore consumers.
In particular, this should guard against access to the semaphore with
not done or partially done MAC label assignment.

Reviewed by:	rwatson
MFC after:	1 month
2009-01-15 12:15:46 +00:00
Yoshihiro Takahashi
892f21a681 MFi386: 187144
Documentation-only change:

  - add a reference to the config(5) manpage;
  - hopefully clarify the format of the 'env FILENAME' directive.
2009-01-15 11:54:31 +00:00
Warner Losh
9703f72989 MFp4:
Remove Maxmem.  It isn't used elsewhere in the system at this point...
realmem is used instead.
2009-01-15 08:01:50 +00:00
Warner Losh
85c209c24d Call platform_reset() instead of looping forever on reboot.
# We likely need to have a default one of these that jumps to the rom boot
# address that's defined in the MIPS ISA.
2009-01-15 07:51:17 +00:00
Warner Losh
b1b26fc820 Reverse order of dumpsys and cpu_idle_wakeup to reduce diffs to p4. 2009-01-15 07:48:37 +00:00
Warner Losh
f180851318 MFp4:
Remove #if'd 0 code.  It is interfering with other diffs.
2009-01-15 07:45:40 +00:00
Weongyo Jeong
d081353342 fix a ehci's bug that it's occurred when the xfers are aborted under
heavy loads or working.  It looks this bug exists since r158869
so needs to revert a part of the previous.

Reviewed by:	imp
Tested by:	sam
MFC after:	3 weeks
2009-01-15 07:11:14 +00:00
Craig Rodrigues
25fdc090f5 Revert previous change, since revision 187103 fixed the problem.
So now, if you:
- specify "makeoptions DEBUG=-g" in your kernel config
- make buildkernel WITH_CTF=1,

then "-g" will be added to CTFFLAGS.

However, "-g" will still not be added to CTFFLAGS when building
kernel modules, if the above steps are performed.  This needs to be fixed.

Noticed by: thompsa
2009-01-15 06:54:59 +00:00
Lawrence Stewart
24cb0f2232 Add TCP Appropriate Byte Counting (RFC 3465) support to kernel.
The new behaviour is on by default, and can be disabled by setting the
net.inet.tcp.rfc3465 sysctl to 0 to obtain previous behaviour.

The patch changes struct tcpcb in sys/netinet/tcp_var.h which breaks
the ABI. Bump __FreeBSD_version to 800061 accordingly. User space tools
that rely on the size of struct tcpcb (e.g. sockstat) need to be recompiled.

Reviewed by:	rpaulo, gnn
Approved by:	gnn, kmacy (mentors)
Sponsored by:	FreeBSD Foundation
2009-01-15 06:44:22 +00:00
Nathan Whitehorn
a9cade51ed Driver for Apple Keywest I2C controllers found in MacIO ASICs. Used for
power and thermal control, as well as GPIOs on Xserves and controlling
sound codecs for Apple built-in audio.

Submitted by:	Marco Trillo
Obtained from:	NetBSD
2009-01-15 02:52:31 +00:00
Nathan Whitehorn
3bb481ffb0 Import an Open Firmware I2C bus module. This attaches firmware device tree
indicated I2C devices, and provides an ofw_bus interface for driver probing.
This should be MI, but is currently provided only on PowerPC due to lack of
sparc64 hardware with an I2C controller.

Discussed on:	freebsd-arch
2009-01-15 02:46:43 +00:00
Craig Rodrigues
4532d2224b When building up the command-line for the DTrace ctfmerge and ctfconvert
utilities, add the ${DEBUG} variable from the kernel config.  Otherwise,
if we build a kernel with WITH_CTF=1 set, ctfmerge will not have
the -g flag set.  In this case, the cc has -g specified, so the
.o files will have debug information generated, but since ctfmerge
does not have -g set, it will strip out the ELF sections containing
the DWARF debugging info, leading to a kernel without debugging symbols.

Reviewed by:	jb
2009-01-15 02:41:26 +00:00
Andrew Thompson
b90eec1bce Name the items in the xfer arrays so they can be identified throughout the
code.
2009-01-15 02:35:40 +00:00
Oleksandr Tymoshenko
36dc08476d o Code cleanup, remove unused fields of idtpci_softc 2009-01-14 22:46:13 +00:00
Oleksandr Tymoshenko
00582be0e9 o Simplify code: trade 15 lines of case for one multiplication 2009-01-14 22:32:43 +00:00
Edward Tomasz Napierala
4fee613e42 Add missing 'break' statement.
Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3667
2009-01-14 21:31:22 +00:00
Edward Tomasz Napierala
f96b106236 Fix use after free.
Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3712
2009-01-14 21:29:20 +00:00
Edward Tomasz Napierala
c654e30995 Remove unused variable.
Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3665
2009-01-14 21:27:30 +00:00
Edward Tomasz Napierala
1cec6ef6a9 Add missing 'break' statement.
Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3927
2009-01-14 21:25:17 +00:00
Oleksandr Tymoshenko
8c7494de12 o Make debug output conditional 2009-01-14 20:36:58 +00:00
Oleksandr Tymoshenko
9f0e1e852e o NO_DMA is no longer required as bug with PIIX4 emulation has been fixed in GXEmul 2009-01-14 20:27:49 +00:00
Oleksandr Tymoshenko
7baa3c0132 o Move $FreeBSD$ from comment to __FBSDID macro
o Be a bit more verbose about CPU type during boot process (print
    manufacturer, chip info, MMU and cache parameters)
2009-01-14 20:16:44 +00:00
Konstantin Belousov
90a017ba64 It seems that there are at least three issues with IPC_RMID operation
on SysV semaphores.

  The squeeze of the semaphore array in the kern_semctl() modifies
  sem_base for the semaphores with sem_base greater then sem_base of
  the removed semaphore, as well as the values of the semaphores,
  without locking their mutex. This can lead to (killable) hangs or
  unexpected behaviour of the processes performing any sem operations
  while other process does IPC_RMID.

  The semexit_myhook() eventhandler unlocks SEMUNDO_LOCK() while
  accessing *suptr. This allows for IPC_RMID for the sem id to be
  performed in parallel with undo hook referenced by the current undo
  structure. This leads to the panic("semexit - semid not allocated") [1].

  The semaphore creation is protected by Giant, while IPC_RMID is done
  while only semaphore mutex is held. This seems to result in invalid
  values for semtot, causing random ENOSPC error returns [2].

Redo the locking of the semaphores lifetime cycle. Delegate the
sem_mtx to the sole purpose of protecting semget() and
semctl(IPC_RMID). Introduce new sem_undo_mtx to protect SEM_UNDO
handling. Remove the Giant remnants from the code.
Note that  mac_sysvsem_check_semget() and mac_sysvsem_create() are
now called while sem_mtx is held, as well as mac_sysvsem_cleanup() [3].

When semaphore is removed, acquire semaphore locks for all semaphores
with sem_base that is going to be changed by squeeze of the sema
array. The lock order is not important there, because the region is
protected by sem_mtx.

Organize both used and free sem_undo structures into the lists,
protected by sem_undo_mtx. In semexit_myhook(), remove sem_undo
structure that is being processed, from used list, without putting it
onto the free to prevent modifications by other threads. This allows
for sem_undo_lock to be dropped to acquire individial semaphore locks
without violating lock order. Since IPC_RMID may no longer find this
sem_undo, do tolerate references to unallocated semaphores in undo
structure, and check sequential number to not undo unrelated semaphore
with the same id.

While there, convert functions definitions to ANSI C and fix small
style(9) glitches.

Reported by:	Omer Faruk Sen <omerfsen gmail com> [1], pho [2]
Reviewed by:	rwatson [3]
Tested by:	pho
MFC after:	1 month
2009-01-14 15:20:13 +00:00
Konstantin Belousov
a353a3455e Disable interrupts, if they were enabled, before doing swapgs.
Otherwise, interrupt may happen while we run with kernel CS and usermode
gsbase.

Reviewed by:	jeff
MFC after:	1 week
2009-01-14 14:20:08 +00:00
Robert Watson
07cd9ab013 Update copyright, P4 version number as audit_bsm_token.c reflects changes
in bsm_token.c through #86 from OpenBSM.

MFC after:	1 month
Sponsored by:	Apple, Inc.
Obtained from:	TrustedBSD Project
2009-01-14 12:16:14 +00:00
Robert Watson
c74c7b73a0 Merge OpenBSM alpha 5 from OpenBSM vendor branch to head, both
contrib/openbsm (svn merge) and src/sys/{bsm,security/audit} (manual
merge).  Hook up bsm_domain.c and bsm_socket_type.c to the libbsm
build along with man pages, add audit_bsm_domain.c and
audit_bsm_socket_type.c to the kernel environment.

OpenBSM history for imported revisions below for reference.

MFC after:      1 month
Sponsored by:   Apple Inc.
Obtained from:  TrustedBSD Project

OpenBSM 1.1 alpha 5

- Stub libauditd(3) man page added.
- All BSM error number constants with BSM_ERRNO_.
- Interfaces to convert between local and BSM socket types and protocol
  families have been added: au_bsm_to_domain(3), au_bsm_to_socket_type(3),
  au_domain_to_bsm(3), and au_socket_type_to_bsm(3), along with definitions
  of constants in audit_domain.h and audit_socket_type.h.  This improves
  interoperability by converting local constant spaces, which vary by OS, to
  and from Solaris constants (where available) or OpenBSM constants for
  protocol domains not present in Solaris (a fair number).  These routines
  should be used when generating and interpreting extended socket tokens.
- Fix build warnings with full gcc warnings enabled on most supported
  platforms.
- Don't compile error strings into bsm_errno.c when building it in the kernel
  environment.
- When started by launchd, use the label com.apple.auditd rather than
  org.trustedbsd.auditd.
2009-01-14 10:44:16 +00:00
Pyun YongHyeon
85b340cb24 Remove local jumbo locator and switch to UMA backed page allocator
for jumbo frame.
  o Nuke unneeded jlist lock which was used to protect jumbo buffer
    management in local allocator.
  o Added a new tunable hw.mskc.jumbo_disable to disable jumbo
    frame support for the driver. The tunable could be set for
    systems that do not need to use jumbo frames and it would
    save (9K * number of Rx descriptors) bytes kernel memory.
  o Jumbo buffer allocation failure is no longer critical error
    for the operation of msk(4). If msk(4) encounter the allocation
    failure it just disables jumbo frame support and continues to
    work without your intervention.

Using local allocator had several drawbacks such as requirement of
large amount of continuous kernel memory and fixed (small) number
of available buffers. The need for large continuous memory resulted
in failure of loading driver with kldload on running systems.
Also small number of buffer used in local allocator showed poor
performance for some applications.
2009-01-14 05:08:52 +00:00
Pyun YongHyeon
f9ad2b2f3c Correct frame length argument of in_cksum_skip. While I'm here
remove intermediate variable csum.

Reported by:	Kim Culhan < w8hdkim <> gmail DOT com >
Tested by:	Kim Culhan < w8hdkim <> gmail DOT com >
2009-01-14 04:47:04 +00:00
Xin LI
d337638129 Remove intermediate variable busaddr and have bus_* operate directly on
softc members upon initialization.

Reviewed by:	davidch
MFC after:	1 month
2009-01-13 23:46:45 +00:00
Alexander Motin
a1cfce010b Correct spelling in comment. 2009-01-13 23:03:07 +00:00
Edward Tomasz Napierala
abb0cbf9c9 Turn a "panic: non-decreasing id" into an error printf. This seems
to be caused by a metadata corruption that occurs quite often after
unplugging a pendrive during write activity.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-01-13 22:35:26 +00:00
Luigi Rizzo
3f2721ea44 remove a file which is, as far as I can tell, totally unused. 2009-01-13 22:15:47 +00:00
Alexander Motin
12f2031fd5 Improve AD1983 codec support:
- force playback via mixer to get PCM volume control,
 - make cleanup on recoring source selection.
2009-01-13 22:10:01 +00:00
Andrew Thompson
a8e4c71c30 Restore the if_*var.h and if_*reg.h to their original names, they dont need to
be different.
2009-01-13 21:18:14 +00:00
Andrew Thompson
19d4850e2c Hook up the u3g2 driver.
Submitted by:	Hans Petter Selasky
2009-01-13 19:18:43 +00:00
Andrew Thompson
33ec76e402 Sync to p4 156093
- Add quirks for Parallels

These snuck in as part of a perforce IFC.
2009-01-13 19:14:51 +00:00
Andrew Thompson
fc577776dc Regen. 2009-01-13 19:07:23 +00:00
Andrew Thompson
d9e340a1af MFp4: //depot/projects/usb@156055
Compile fix for AVR-GCC

Submitted by: Hans Petter Selasky
2009-01-13 19:05:51 +00:00
Andrew Thompson
922dd044db MFp4: //depot/projects/usb@156005
Add missing set frame data pointer call. The
	function call was missed when zero copy was
	introduced in UMASS.
	Reported by: WATANABE Kazuhiro.

Submitted by: Hans Petter Selasky
2009-01-13 19:05:20 +00:00
Andrew Thompson
ea8f960c13 MFp4: //depot/projects/usb@155990
Add USB scanner support to USB2 config files.

Submitted by: Hans Petter Selasky
2009-01-13 19:05:10 +00:00
Andrew Thompson
0239859bda MFp4: //depot/projects/usb@155957
Make code more compliant with SuperSpeed USB and Wireless USB.

Submitted by: Hans Petter Selasky
2009-01-13 19:04:58 +00:00
Andrew Thompson
1697b02185 MFp4: //depot/projects/usb@155948
Remove duplicate USB device ID's. These ID's are already
	present in the U3G driver.
	Reported by: Paul-Henning Kamp.

Submitted by: Hans Petter Selasky
2009-01-13 19:04:48 +00:00