141068 Commits

Author SHA1 Message Date
marius
fc32a2339d Avoid misaligned access of struct frame.
MFC after:	3 days
2008-08-22 19:05:47 +00:00
jhb
e1345537c4 Add a label for myself. 2008-08-22 18:52:27 +00:00
jhb
8673c8e078 Use bus_foo() rather than bus_space_foo() and remove bus handle and tag
from softc.
2008-08-22 18:43:19 +00:00
jhb
127a7b412c Use ppc_detach() for device_detach instead of ppc_attach().
MFC after:	1 week
2008-08-22 18:42:45 +00:00
jhb
ed50ce7be5 Whitespace fix. 2008-08-22 18:42:18 +00:00
jhb
560b574cd8 Remove unused UNITOSOFTC() macro. 2008-08-22 18:42:05 +00:00
bz
ea32a63d6d Temporary unhook ntp from the build until the missing net/libopts/Makefile
is in place. The TB is too busy sending mails.
2008-08-22 18:36:58 +00:00
jhb
b054f3f992 A suspended thread can, in fact, be swapped out. Thus,
thread_unsuspend_one() needs to optionally wakeup the swapper.  Since we
hold the thread lock for that entire function, however, we have to push
that requirement up into the caller.

Found by:	rwatson
2008-08-22 16:15:58 +00:00
jhb
b908d9aa36 Use |= rather than += when aggregrating requests to wakeup the swapper.
What we really want is an inclusive or of all the requests, and += can
in theory roll over to 0.
2008-08-22 16:14:23 +00:00
roberto
b68109381e Add myself there. 2008-08-22 16:06:35 +00:00
roberto
e01fe39f04 Update the various files to sync with vendor import of 4.2.4p5.
sntp includes a copy of libopts in itself in vendor code, rewrite the
Makefile to compile and use only one copy.  It is an internal library, not
installed.

MFC after:	2 weeks
2008-08-22 16:00:48 +00:00
roberto
b85c7169a7 Merge ntpd & friends 4.2.4p5 from vendor/ntp/dist into head. Next commit
will update usr.sbin/ntp to match this.

MFC after:	2 weeks
2008-08-22 15:58:00 +00:00
trasz
1d197cfe9f Add myself.
Approved by:	rwatson
2008-08-22 13:29:30 +00:00
nyan
9e37d79add Back FreeBSD(98)'s copyright to 2003. 2008-08-22 12:31:21 +00:00
ed
7c4fe3955e Fix pts(4) error codes when slave device is closed.
Unlike pre-MPSAFE TTY, the pts(4) driver always returned ENXIO when a
read() or write() was performed on a pseudo-terminal master device when
the slave device was not opened. The old implementation had different
semantics:

- When the slave device had not been opened yet, read() and write() just
  blocked.
- When the slave device had been closed, a read() call would return 0
  bytes length.
- When the slave device had been closed, a write() call would return
  EIO.

Change the new implementation to return 0 and EIO as well. We don't
implement the first rule, but I suspect this is not needed, because
routines like openpty() also open the slave device node. posix_openpt()
users also do similar things.

Reported by:	rink
Tested by:	rink
2008-08-22 10:40:21 +00:00
kib
958ba94773 Add -fno-omit-frame-pointer to CFLAGS used to compile crt1.c on amd64.
For gcc' __builtin_frame_address() to work, all call frames need to save
frame pointer. In particular, this is important for the upper frame that
should terminate the chain.

No objections from:	jhb
PR:	amd64/126543
MFC after:	1 week
2008-08-22 09:23:39 +00:00
yongari
9ec1a083f8 Add a new sysctl node 'dev.bfe.N.stats' that shows various MAC
counters for Rx/Tx statistics. Various counters in ifnet is also
updated with these hardware counters.

Tested by:	kib, Gleb Kurtsou gleb.kurtsou at gmail dot com
		Ulrich Spoerlein uspoerlein at gmail dot com
2008-08-22 06:46:55 +00:00
ed
deab1dbbf7 Prevent VSTART flooding when turning on software flow control.
It turned out we transmitted VSTART after each successful read on a TTY
when software flow control was turned on. This was because of a very
evil bug where we tested the TF_HIWAT_IN flag the other way around.

Reported by:	Christian Weisgerber <naddy mips inka de>
2008-08-22 05:15:52 +00:00
yongari
a78a2c205c Because bfe(4) knows interrupt mask value there is no need to read
interrupt mask register again. This saves one register access per
each interrupt.
Also don't try to process frames when driver is not running.

Tested by:	kib, Gleb Kurtsou gleb.kurtsou at gmail dot com
		Ulrich Spoerlein uspoerlein at gmail dot com
2008-08-22 04:52:21 +00:00
kientzle
23c403cbda Comment a couple of places where bsdcpio and gcpio 2.9 disagree.
The number of blocks read from ustar archives is just an implementation
difference.  The failure of bsdcpio to emit a block count to stderr
in -p mode is a real bug in bsdcpio.
2008-08-22 02:27:06 +00:00
jhb
2a48176eba Extend the support for PCI-e memory mapped configuration space access:
- Rename pciereg_cfgopen() to pcie_cfgregopen() and expose it to the
  rest of the kernel.  It now also accepts parameters via function
  arguments rather than global variables.
- Add a notion of minimum and maximum bus numbers and reject requests for
  an out of range bus.
- Add more range checks on slot/func/reg/bytes parameters to the cfg reg
  read/write routines.  Don't panic on any invalid parameters, just fail
  the request (writes do nothing, reads return -1).  This matches the
  behavior of the other cfg mechanisms.
- Port the memory mapped configuration space access to amd64.  On amd64
  we simply use the direct map (via pmap_mapdev()) for the memory mapped
  window.
- During acpi_attach() just after loading the ACPI tables, check for a
  MCFG table.  If it exists, call pciereg_cfgopen() on each subtable
  (memory mapped window).  For now we only support windows for domain 0
  that start with bus 0.  This removes the need for more chipset-specific
  quirks in the MD code.
- Remove the chipset-specific quirks for the Intel 5000P/V/Z chipsets
  since these machines should all have MCFG tables via ACPI.
- Updated pci_cfgregopen() to DTRT if ACPI had invoked pcie_cfgregopen()
  earlier.

MFC after:	2 weeks
2008-08-22 02:14:23 +00:00
kientzle
6ab64e14fc The newc-format verification is now a little smarter about
following the archive structure.  In particular, it no longer
crashes if you run it against GNU cpio 2.9 (although it does
still complain a lot more than it should).
2008-08-22 02:09:10 +00:00
kientzle
1168b06701 Minor cleanup of the -q test: Assert that stdout/stderr are empty for each
extraction.
2008-08-22 01:35:08 +00:00
kientzle
0b3866b2b4 Don't clean before running tests. 2008-08-22 01:31:13 +00:00
kientzle
44b73660ee Explain how the test_option_q test works. 2008-08-22 01:26:55 +00:00
kientzle
dff2aaea3a Test for -q (aka --fast-read).
Fix the error uncovered by this test.
2008-08-22 01:22:55 +00:00
yongari
644dc2336b Remove bfe_link in softc and introduce two new flags to mark
link state and detach request.
While I'm here make sure established link is IFM_10_T or
IFM_100_TX as bfe(4) just supports 10/100Mbps media.

Tested by:	kib, Gleb Kurtsou gleb.kurtsou at gmail dot com
		Ulrich Spoerlein uspoerlein at gmail dot com
2008-08-22 01:06:25 +00:00
thompsa
87939ee394 Add the Decision Computer Inc, PCCOM 8-port serial card.
PR:		kern/69730
Submitted by:	Darrin Smith
2008-08-22 00:13:17 +00:00
thompsa
9bc6bc58a2 Add the VScom PCI-100L card.
PR:		kern/72352
Submitted by:	Thomas Nystrom
2008-08-22 00:12:08 +00:00
thompsa
a6ffa54b6f Add the Avlab Technology PCI IO 4S-850 4 port serial card.
PR:		kern/110797
Submitted by:	Trevor Roydhouse
2008-08-21 23:22:32 +00:00
obrien
3b12eba1b0 Add comments on NOARGS, NODEF, and NOPROTO. 2008-08-21 22:57:31 +00:00
kientzle
a348ba0da6 The results for test 2 here are short enough to just be included inline.
There's no need to go through the hassle of having a checked-in uuencoded
reference file for comparison.
2008-08-21 22:28:00 +00:00
remko
99279ce7b7 Add support for the Alcor Card Reader (9361)
PR:		124656
Submitted by:	Vincent Francois <vincentfrancois dot pro at gmail dot com>
Approved by:	imp (mentor, implicit)
MFC after:	1 week
2008-08-21 20:37:38 +00:00
jhb
50652bcc22 Add a "CACHING" section regarding the internal caching of kernel variables
and the ability to clear that cache.
2008-08-21 19:22:13 +00:00
rpaulo
2ceef8c561 Merge the relevant information of man4.i386/ichwd.4 into man4/ichwd.4
and remove ichwd(4) man page from man4.i386.

Submitted by:	gavin
Reviewed by:	des, me
Approved by:	des
2008-08-21 17:53:13 +00:00
rwatson
80f65f3279 Remove comments and #ifdef notyet'd code relating to directly dispatching
the IP multicast input code from the output path; we don't allow
reentrance of the input path from the IP output path, it must use the
netisr due to potential lock recursion.

MFC after:	3 days
2008-08-21 17:24:49 +00:00
raj
5524587165 Increase cryptotest tool initialization vector (IV) size.
This fixes potential out-of-bound accesses when testing ciphers with block size
greater than 8 bytes (e.g. AES).

Submitted by:	Bartlomiej Sieka tur ! semihalf dot com
Discussed with:	pjd, sam
2008-08-21 16:49:57 +00:00
gallatin
85c7cc2d41 Adapt mxge shims to detect phys contig jumbo frames
in RELENG_7

MFC after: 3 days
2008-08-21 16:35:34 +00:00
ed
2be6ecbc22 Properly lock proctree_lock before locking the process while accounting.
During the import of the MPSAFE TTY layer (r181905), I changed
acct_process() to lock proctree_lock instead of SESS_LOCK, because
s_ttyp is now locked using proctree_lock. One of the things I forgot,
was to lock it before we PROC_LOCK.

Commit this patch, written by kib@. To ensure we hold proctree_lock as
short as possible, obtaining `ac_tty' has now been made the first step
of filling `acct'.

Reported by:	Kevin <kevinxlinuz 163 com>
Solved by:	kib
2008-08-21 15:02:17 +00:00
obrien
4dd155254a Use the SCHEME_ knobs rather than knowing what they expand to.
Reviewed by:	des
2008-08-21 14:12:34 +00:00
dwmalone
6df81d1188 Lockf was exiting with status 1 if the command did not exit normally.
This is easy to confuse with the actual exit status of the program.
Instead exit with EX_SOFTWARE if the command doesn't exit normally.

MFC after:	1 month
2008-08-21 07:36:17 +00:00
kientzle
aeb6db0092 Add some more tests to verify that "./foo" matches "foo" but "/foo" does not. 2008-08-21 07:04:57 +00:00
kientzle
b25650cc12 Always display the unedited pathname in -t output.
I would like to provide a way to preview the effects of pathname edits,
but pattern selection has to happen against the unedited path, so it
seems that we have to show people the unedited path to help in
designing selection patterns.
2008-08-21 06:41:14 +00:00
yongari
d65180d188 o Sort includes and add <endian.h> to support endianness.
o Removed unneeded header files.
 o bus_dma(9) fix:
   - created parent tag with 1GB dma address limit with no
     alignment restrictions.
   - set 4096 alignment limit for Tx/Rx descriptor rings.
   - separate Rx buffer tag from Tx buffer tag such that Tx tag
     allows up-to 16 segments while Rx buffer tag only allows
     single segment.
   - it seems the controller has no alignment restrictions on Tx/Rx
     buffers. Remove ETHER_ALIGN alignment restriction in Tx/Rx
     buffers.
   - created a spare Rx dma map which would be used to cope with
     failure of loading a dma map.
   - make sure to load full Tx/Rx descriptor size for Tx/Rx
     descriptor dma maps, previously bfe(4) used to load single
     descriptor size for each descriptor rings. I have no idea how
     it could be run without problems.
   - don't blindly cast bus_addr_t type to 32bits in bfe_dma_map().
   - created bfe_dma_free() to free allocated dma memory/tags.
   - make sure to invoke bus_dmamap_sync(9) before/after processing
     descriptor rings/buffers. Because the hardware has severe dma
     address space limitation, bounce-buffers would be always used
     on systems with more than 1GB memory during
     descriptors/buffers access.
   - added Tx descriptor ring initialization function,
     bfe_list_tx_init().
   - moved producer/consumer index initialization to
     bfe_list_tx_init() and bfe_list_rx_init() from
     bfe_chip_reset().
   - added bfe_discard_buf() which will update loaded descriptors
     without unloading/reloading the dma map to speed up error
     recovery.
   - implemented Tx side bus_dmamap_load_mbuf_sg(9). The number of
     segments allowed was chosen to be 16 which should be enough for
     non-TSO capable hardwares. Setting SOF bit of Tx descriptor is
     done in the last to avoid potential race.
   - don't give up sending frames in bfe_start() until the hardware
     lacks free descriptors.
   - added XXX comment to second kick command and possible workaround.
   - implemented Rx side bus_dmamap_load_mbuf_sg(9).
   - removed bfe_dma_map_desc() as it's not needed anymore after
     the conversion to bus_dmamap_load_mbuf_sg(9).
   - added endianness support. With this change bfe(4) should work
     on any architectures that can create bounce buffers within 1GB
     address range.
   - add missing bus_dmamap_sync() in bfe_tx_eof()/bfe_rx_eof().
 o Use PCI_BAR instead of hardcoded value to set BARs.
   Simplified register access with bus_write_4(9)/bus_read_4(9) and
   removed bfe_btag, bfe_bhandle, bfe_vhandle in softc as it's not
   used anymore.
 o Reorder device detach logic such that bfe_detach() is also used
   for handling driver attach failure case.
 o Remove unnecessary KASSERT in bfe_detach().
 o Remove bfe_rx_cnt, bfe_up, bfe_vpd_prodname, bfe_vpd_readonly in
   softc.  It's not used at all.
 o Remove BFE_RX_RING_SIZE/BFE_RX_RING_SIZE/BFE_LINK_DOWN.

Tested by:	kib, Gleb Kurtsou gleb.kurtsou at gmail dot com
		Ulrich Spoerlein uspoerlein at gmail dot com
2008-08-21 04:21:53 +00:00
kmacy
698d908d7b Fix boot time pmap_growkernel panic for case where vm is allocated >= 768M
MFC after:	1 month
2008-08-21 02:57:02 +00:00
kmacy
ebff248b66 For reasons that I have not delved in to Xen 3.2 netback now does header splitting
so packets > 128 bytes are now split in to multiple buffer. This fixes netfront
to handle multiple buffers per rx packet.

MFC after:	1 month
2008-08-21 02:40:26 +00:00
rpaulo
c214e5b639 Move man pages out of man4.i386. Most of them are applicable to amd64
too, so, instead of descending to the i386 directory, we add some magic to
the parent Makefile.
These man pages refer to drivers that I'm aware that work on amd64. Most
likely there are more, but I'll deal with them later.

Approved by:	brueffer, philip, takawata
2008-08-21 00:40:55 +00:00
rpaulo
4bfcd9ff65 Cope with the file rename by changing rc variables. 2008-08-21 00:04:19 +00:00
ed
7c91915f63 Fix a small typo in the pstat(8) manual page.
The second LOW column of the pstat(8) command refers to the low
watermark of the output queue.
2008-08-20 22:09:33 +00:00
kmacy
5ed46455d5 fix typo in previous commit breaking bootup
pointed out by: Takahashi Yoshihiro nyan@
2008-08-20 21:27:48 +00:00