mtm [Wed, 16 May 2007 10:15:19 +0000 (10:15 +0000)]
MFC:
----------------------------
revision 1.6
date: 2007/04/12 08:39:13; author: ceri; state: Exp; lines: +2 -2
Bump .Dd for r1.5; fix grammatical problem.
----------------------------
revision 1.5
date: 2007/04/12 08:35:58; author: mtm; state: Exp; lines: +18 -1
Specify the correct way to modify this file, and warn that the
user should not depend on the internal variables documented in
this man page.
mtm [Wed, 16 May 2007 10:10:30 +0000 (10:10 +0000)]
MFC:
----------------------------
revision 1.30
date: 2007/04/12 08:17:56; author: mtm; state: Exp; lines: +2 -7
o Use the uidstart variable instead of uuid (bug #3)
o Actually save the variable to adduser.conf (bug #2)
o (bug #1 to be fixed in an upcomming commit to adduser.conf.5)
----------------------------
revision 1.29
date: 2007/04/12 07:38:26; author: mtm; state: Exp; lines: +13 -12
Errm... I don't see how rev. 1.26 could have possibly worked or been tested.
Fix it for real.
thomas [Tue, 15 May 2007 16:19:42 +0000 (16:19 +0000)]
MFC rev. 1.53:
(atapi_action, case XPT_SCSI_IO): Enable DMA only for READ and WRITE commands
as some combinations of chipset, controller and target do not behave
correctly when DMA is enabled for other commands.
mtm [Tue, 15 May 2007 09:18:25 +0000 (09:18 +0000)]
MFC: revision 1.9 of rc.d/ip6fw and 1.15 of rc.d/ipfw
date: 2007/04/02 15:38:53; author: mtm; state: Exp; lines: +1 -1
Instead of directly sourcing the firewall script, run it in a separate shell.
If the firewall script is sourced directly from the script, then any
exit statements in it will also terminate the rc.d script prematurely.
mtm [Tue, 15 May 2007 08:58:05 +0000 (08:58 +0000)]
MFC: 1.22
date: 2007/03/30 18:36:45; author: mtm; state: Exp; lines: +1 -0
Some rc.d commands (such as stop|restart etc.) won't automagically work
if we don't explicitly set the name of the executable program.
bruno [Tue, 15 May 2007 08:19:21 +0000 (08:19 +0000)]
MFC 1.4:
o introduce a flags 'errata' for HW bugs onto the softc.
o remove errata_a0 and introduce the corresponding flags into 'errata'.
o introduce a new errata for K8, namely some platform might set the
PENDING_BIT but aren't able to unset it, also don't loop forever
waiting PENDING_BIT being cleared.
o try to introduce a workaround for the PENDING_BIT stuck problem,
o support now half multipliers for K8.
ariff [Sun, 13 May 2007 21:09:24 +0000 (21:09 +0000)]
MFC: [stage: 4/7]
Allright you rightist.. here we go.
Add support for Intel High Definition Audio Controller.
This driver make a special guarantee that "playback" works
on majority hardwares with minimal or without specific vendor
quirk.
This driver is a product of collaborative effort made by:
Stephane E. Potvin <sepotvin@videotron.ca>
Andrea Bittau <a.bittau@cs.ucl.ac.uk>
Wesley Morgan <morganw@chemikals.org>
Daniel Eischen <deischen@FreeBSD.org>
Maxime Guillaud <bsd-ports@mguillaud.net>
Ariff Abdullah <ariff@FreeBSD.org>
....and various people from freebsd-multimedia@FreeBSD.org
Refer to snd_hda(4) for features, issues and various tricks.
P L E A S E avoid (not that I forbid it) using send-pr, since many
problems can be solved (and was solved) quicker and easier through
various help channels, notably freebsd-multimedia or even better,
#freebsd-azalia @ irc.freenode.net.
ariff [Sun, 13 May 2007 20:53:40 +0000 (20:53 +0000)]
MFC: [stage: 2/7]
Various fixups, especially for the upcomming High Definition Audio
commit.
1) sys/dev/sound/pcm/sound.h
sys/dev/sound/pcm/channel.c
* Be more specific: SD_F_SOFTVOL -> SD_F_SOFTPCMVOL
2) sys/dev/sound/pcm/mixer.[ch]
* Implement
mix_setparentchild()
mix_setrealdev()
mix_getparent()
mix_getchild()
The purpose of these functions is implement relative volume
adjustment, such as to tie two or more mixer device into a
single logical device. Usefull for the upcoming HDA driver
and few AC97 codec where the master volume "vol" need to be
implemented using this logical manner.
3) sys/dev/sound/pcm/ac97.c
* ditto #1
sys/dev/sound/pcm/usb/uaudio_pcm.c
* ditto #1, hook "pcm" as logical child of "vol" if the real
control does not exist.
rwatson [Thu, 10 May 2007 20:00:35 +0000 (20:00 +0000)]
Merge uipc_usrreq.c:1.193 from HEAD to RELENG_6:
Change unp_mtx to supporting recursion, and do not drop the unp_mtx over
sonewconn() in unp_connect(). This avoids a race that occurs due to
v_socket being an uncounted reference, as the lock was being released in
order to call sonewconn(), which otherwise recurses into the UNIX domain
socket code via pru_attach, as well as holding the lock over a sleeping
memory allocation in uipc_attach(). Switch to a non-sleeping memory
allocation during UNIX domain socket attach.
This fix non-ideal in that it requires enabling recursion, but is a much
smaller change than moving to using true references for v_socket. The
reported panic occurs in unp_connect() following the return of
sonewconn().
gnn [Thu, 10 May 2007 07:12:52 +0000 (07:12 +0000)]
MFC rev 1.42
Reduce the default number of header options that the IPv6 protocol
stack will process from 50 to 15. As this is a sysctl variable it
can be tuned up or down at the user/administrator's whim.
yongari [Wed, 9 May 2007 06:36:41 +0000 (06:36 +0000)]
MFC if_mskreg.h rev. 1.4 to RELENG_6.
Work around GMAC hardware hang bug.
It seems that valid pause frames(Tx flow control) cause GMAC to hang
such that it resulted in watchdog timeout. As a work around don't
flush Rx MAC FIFO if we've received pause frames.
yongari [Wed, 9 May 2007 06:34:29 +0000 (06:34 +0000)]
MFC if_msk.c rev. 1.15 to RELENG_6.
Disable TSO support.
Under certain circumtances, if TSO is active, Yukon II generates
corrupted IP packets. All corrupted IP packets I noticed were the the
last segmented packet in a TSO request. The corrupted packet resulted
in retransmission of the damaged packet which in turn decreased network
performance dramatically.
Unfortunately it seems that there is no way to workaround this bug
as TSO is completely handled in hardware. Disable TSO until we find a
working workaround or a new silicon revision that doesn't have this
hardware bug.
yongari [Wed, 9 May 2007 06:25:01 +0000 (06:25 +0000)]
MFC if_stge.c rev. 1.8, if_stgereg.h rev. 1.3 to RELENG_6.
Honor link up/down state in stge_start().
While I'm here move MAC control settings to stge_link_task, a task
queue which handles link state and duplex/flow controls.
julian [Tue, 8 May 2007 20:24:38 +0000 (20:24 +0000)]
Re-MFC 1.112 and this time include the fix for a bug in it (MFC of 1.162)
This changes to using a monotomic time referrence for all time based
operations.
Changing the time should no longer accellerate ipfw operations.
rwatson [Tue, 8 May 2007 11:50:57 +0000 (11:50 +0000)]
Merge uipc_usrreq.c:1.196 from HEAD to RELENG_6:
Add an additional MAC check to the UNIX domain socket connect path:
check that the subject has read/write access to the vnode using the
vnode MAC check.
rwatson [Tue, 8 May 2007 11:45:12 +0000 (11:45 +0000)]
Merge uipc_usrreq.c:1.186, uipc_proto.c:1.27, domain.h:1.22, files:1.1137
from HEAD to RELENG_6:
Move definition of UNIX domain socket protosw and domain entries from
uipc_proto.c to uipc_usrreq.c, making localdomain static. Remove
uipc_proto.c as it's no longer used. With this change, UNIX domain
sockets are entirely encapsulated in uipc_usrreq.c.
rwatson [Tue, 8 May 2007 11:07:24 +0000 (11:07 +0000)]
Merge uipc_proto.c:1.26 from HEAD to RELENG_6:
Remove UNIX domain socket raw socket support. This feature is documented
as being undocumented in Stevens, and was broken in 1997 during network
stack infrastructure work. It is the one remaining (and incorrect)
direct protocol reference to raw_usrreq.pru_attach; this is incorrect
because the raw socket code assumes that raw_uattach is called only after
the protocol has allocated a PCB.
rwatson [Tue, 8 May 2007 10:22:46 +0000 (10:22 +0000)]
Merge uipc_usrreq.c:1.184 from HEAD to RELENG_6:
Remove now unneeded ENOTCONN clause from SOCK_DGRAM side of uipc_send():
we have to check it regardless of the target address, so don't check it
twice.
rwatson [Tue, 8 May 2007 10:16:57 +0000 (10:16 +0000)]
Merge unpcb.h:1.20 from HEAD to RELENG_6:
Add two new unpcb flags, UNP_BINDING and UNP_CONNECTING, which will be
used to mark UNIX domain sockets as being in the process of binding or
connecting. Use these to prevent simultaneous bind or connect
operations by multiple threads or processes on the same socket at the
same time, which closes race conditions present in the UNIX domain
socket implementation since inception.
rwatson [Tue, 8 May 2007 10:16:23 +0000 (10:16 +0000)]
Merge uipc_usrreq.c:1.178,1.192 from HEAD to RELENG_6:
Add two new unpcb flags, UNP_BINDING and UNP_CONNECTING, which will be
used to mark UNIX domain sockets as being in the process of binding or
connecting. Use these to prevent simultaneous bind or connect
operations by multiple threads or processes on the same socket at the
same time, which closes race conditions present in the UNIX domain
socket implementation since inception.
Set UNP_CONNECTING when committing to moving ahead in unp_connect().
This logic was lost when merging the remainder of these changes in
1.178.
rwatson [Tue, 8 May 2007 08:32:29 +0000 (08:32 +0000)]
Merge uipc_usrreq.c:1.171 from HEAD to RELENG_6:
Reduce periods of simultaneous acquisition of various socket buffer
locks and the unplock during uipc_rcvd() and uipc_send() by caching
certain values from one structure while its locks are held, and
applying them to a second structure while its locks are held. If
done carefully, this should be correct, and will reduce the amount
of work done with the global unp lock held.
simokawa [Mon, 7 May 2007 08:00:21 +0000 (08:00 +0000)]
MFC:
- Simplify tlabel handling.
- Remove unused fw_asybusy().
- Add a sysctl knob to disable cycle master mode and add some comments.
- Fix broken userland API for async packets.
- Fix typo in recv spd.
- Update state in fw_xferq_dorain() after removed from the send queue.
- Remove unnecessary 'goto err;".
- Improve asynchronous packet receive process.
alc [Sun, 6 May 2007 00:34:43 +0000 (00:34 +0000)]
MFC Revision 1.538:
Remove stale KSE code.
MFC Revision 1.551:
In general, bits in the page directory entry (PDE) and the page table
entry (PTE) have the same meaning. The exception to this rule is the
eighth bit (0x080). It is the PS bit in a PDE and the PAT bit in a
PTE. This change avoids the possibility that pmap_enter() confuses a
PAT bit with a PS bit, avoiding a panic().
Eliminate a diagnostic printf() from the i386 pmap_enter() that serves
no current purpose.
MFC Revision 1.559:
Eliminate a comment that became stale after revision 1.540.
MFC Revision 1.575:
Finish the PG_NX support at the pmap level.
MFC Revision 1.582:
Eliminate the misuse of PG_FRAME to truncate a virtual address
to a virtual page boundary.
alc [Sat, 5 May 2007 21:13:16 +0000 (21:13 +0000)]
MFC
Acquiring smp_ipi_mtx on every call to pmap_invalidate_*() is wasteful.
For example, during a buildworld more than half of the calls do not
generate an IPI because the only TLB entry invalidated is on the calling
processor. This revision pushes down the acquisition and release of
smp_ipi_mtx into smp_tlb_shootdown() and smp_targeted_tlb_shootdown() and
instead uses sched_pin() and sched_unpin() in pmap_invalidate_*() so that
thread migration doesn't lead to a missed TLB invalidation.
Use pmap_try_insert_pv_entry() in pmap_copy() instead of
pmap_insert_entry().
Eliminate the explicit low-memory checks in pmap_copy().
MFC Revision 1.544
Retire pmap_track_modified().
MFC Revision 1.555
Introduce the function pmap_enter_object().
MFC Revision 1.558 (in part)
Change pmap_enter_quick_locked() to fail rather than wait if it is
unable to allocate a page table page. Similarly, change
pmap_enter_quick_locked() to call pmap_try_insert_pv_entry() rather
than pmap_insert_entry().
Add an assertion that the object containing m_start is locked in
pmap_enter_object(). Remove a similar assertion from
pmap_enter_quick_locked() because that function no longer accesses
the containing object.
sobomax [Thu, 3 May 2007 11:13:58 +0000 (11:13 +0000)]
MFC: Implement 32 bit getcontext/setcontext/swapcontext on amd64. Still
stubs for ia64 to keep it compiling. These are used by 32 bit apps such
as gdb.
yar [Thu, 3 May 2007 09:56:51 +0000 (09:56 +0000)]
MFC rev. 1.32:
Fix a typo: argv -> argvp.
Rationale:
We are interested in the current (last) element of the argv array
there, not in its first element. [...]
Also add a comment that the argv array ends up null-terminated in
any case (it's due to the design of the for loop) as an answer to
a possible question why the whole argv isn't zero-filled.
thomas [Thu, 3 May 2007 09:38:54 +0000 (09:38 +0000)]
MFC rev. 1.52:
(atapi_cb): Fix test for the presence of sense data. An incorrect condition
was being tested, which would result in a system hang in some configurations.
jhb [Wed, 2 May 2007 18:42:47 +0000 (18:42 +0000)]
MFC: Initial PAT support including the following:
- New pmap_mapdev_attr() function for amd64 and i386.
- pmap_mapdev() on i386 and amd64 uses UC now rather than WB.
- New pmap_mapbios()/pmap_unmapbios() functions to map firmware tables.
- New pmap_change_attr() function for amd64 and i386.
- Bump __FreeBSD_version.