MFC if_msk.c, rev. 1.13 to RELENG_6
Add work around for hardware Tx checksum offload bug in Yukon II.
Yukon II generated corrupted TCP checksum for short TCP packets
that's less than 60 bytes in size(e.g. window probe packet, pure ACK
packet etc). Padding the frame with zeros to make the frame minimum
ethernet frame size didn't work at all. Instead of dropping Tx
checksum offload support we calculate TCP checksum with S/W method
when we encounter short TCP frames.
Fortunately it seems that short UDP datagrams appear to be handled
correctly by Yukon II.
While I'm here simplify ethernet/VLAN header size calculation logic.
[1] Record rc.d/nfslocking dependency on rc.d/rpcbind
[2]Add rpc_statd_flags and rpc_lockd_flags options to allow
options to be passed to rpc.statd and rpc.lockd
MFC rev. 1.16 and rev. 1.17
1.16: compile under WARNS=6
1.17: Make rpc.statd INET* indipendent by converting
sockaddr_in structures to sockaddr ones and using
svc_getrpccaller instead of svc_getcaller.
A similar patch was committed to rpc.lockd back in 2002 . [1]
thomas [Wed, 11 Apr 2007 07:19:36 +0000 (07:19 +0000)]
MFC rev. 1.16:
Fix setting of serial port speed. A junk value was passed in AX when
bioscom is called to set up serial port parameters because COMSPEED
was treated as an address instead of an immediate value, causing
serial port parameters to never be set.
MFC rtsock.c r1.124, which was overlooked some time ago:
Fix for PR 82974. We were not checking that the route looked up in
the case of an RTM_CHANGE was specific, i.e. that it matched completely.
This led to a route change of a non-existent route changing the default
route as the radix code would simply back track to that point and hand
that route back to the routing socket code.
PR: 82974
Reviewed by: Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw>
Ben Kaduk <minimarmot@gmail.com>
Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net>
Obtained from: OpenBSD with modifications.
MFC if_msk.c, rev. 1.12 to RELENG_6
If we've encountered unrecognized chipset don't access hardware
anymore. Previously it tried to access interrupt register to disable
interrupts which could result in hang if the hardware was not
properly initialized by system BIOS/ACPI.
MFC revisions 1.181, 1.187, and 1.189
Eliminate unneeded diagnostic code.
Change pmap_enter_quick() to use the vm_prot_t parameter introduced in
revision 1.179 to correctly set/clear execute permission on the mapping
it creates.
Eliminate an unneeded Instruction Memory Barrier (IMB) in
pmap_enter_quick().
1.528: Default to producing 'k8' COMPAT_32BIT bits, but allow override.
1.529: SSE2 comes thru the users choice of CPUTYPE.
1.531: Use cross-compile friendly spelling of CPUTYPE.
1.567: Clean the lib32 object directory with cleandir rather than rm -rf.
1.568: Resurrect one of the patches from attic and refine the
lib32 build somewhat. Specifically, instead of spamming
${CC} et al with -I${LIB32TMP}/usr/include which can be
harmful (as has been demonstrated by the ncursesw WIP),
use slightly different approach to achieve the same goal.
This also simplifies things a bit.
Revert one of the MFCs from Friday as it produces an
unacceptable ABI change. I will re-MFC this when I have tested a version
that brings back the desirable changes but leaves the ABI the same.
MFC if_sk.c, rev 1.132 if_skreg.h, rev 1.40 to RELENG_6
Remove incomplete Yukon II support code which was added in if_sk.c, rev 1.123.
Yukon II users should use msk(4).
MFC of some constification, error message spelling errors, splitting
FC and SPI default set/get into separate functions. Also, stop looking
for interrupts at the end of isp_starts- this seems to send some 23XX
cards into the weeds.
alc [Sat, 31 Mar 2007 22:13:26 +0000 (22:13 +0000)]
MFC revision 1.559
Introduce the function pmap_enter_object().
MFC revision 1.562 (in part)
Change pmap_enter_quick_locked() to fail rather than wait if it is
unable to allocate a page table page. This prevents a race between
pmap_enter_object() and the page daemon. Specifically, an inactive
page that is a successor to the page that was given to
pmap_enter_quick_locked() might become a cache page while
pmap_enter_quick_locked() waits and later pmap_enter_object() maps
the cache page violating the invariant that cache pages are never
mapped. Similarly, change
pmap_enter_quick_locked() to call pmap_try_insert_pv_entry() rather
than pmap_insert_entry(). Generally speaking,
pmap_enter_quick_locked() is used to create speculative mappings. So,
it should not try hard to allocate memory if free memory is scarce.
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.
sam [Sat, 31 Mar 2007 21:42:21 +0000 (21:42 +0000)]
MFC 1.36: change ieee80211_mhz2ieee to use the PSB mapping when the
frequency falls in the proper place, not when we're handed
a 1/2 or 1/4-rate channel
alc [Sat, 31 Mar 2007 19:20:23 +0000 (19:20 +0000)]
MFC revision 1.552
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, i.e., I've seen no bug reports in the last two
years that are helped by this printf().
julian [Sat, 31 Mar 2007 16:44:28 +0000 (16:44 +0000)]
unbreak build by puting back definition used by ipfw(8)
the real fix is to just remove the offending lines there but I don't
have time to check that now. I'll do it right on Tuesday.