143034 Commits

Author SHA1 Message Date
kmacy
3bf236fa90 intr_machdep.h breaks build on some arches and is not needed 2008-11-23 00:13:25 +00:00
marcel
080c5cc425 Unbreak previous commit. 2008-11-22 22:15:34 +00:00
marcel
91fad007ba Include the QUICC backend in the kernel module.
PR:		127120
2008-11-22 21:24:07 +00:00
marcel
85838645d5 Cast to uintptr_t before casting to void*. This allows the
QUICC backend to be built on LP64 platforms. This makes it
possible to include the QUICC backend in the kernel module.

PR:		127120
2008-11-22 21:22:53 +00:00
thompsa
5318a38202 Allow multiple makeoption lines to be used with the += operator, this permits
the following syntax in the kernel config.

 makeoptions MODULES_OVERRIDE=foo
 makeoptions MODULES_OVERRIDE+=bar
 makeoptions MODULES_OVERRIDE+=baz

Bump config minor version to 600007.
2008-11-22 21:12:47 +00:00
mav
97bb9372d9 Remove unused variable.
Found with:     Coverity Prevent(tm)
CID:            3682
2008-11-22 16:55:55 +00:00
mav
f1487e0920 Fix typo. Clear session stats instead of config and part of stats.
Found with:	Coverity Prevent(tm)
CID:		2472
2008-11-22 16:40:12 +00:00
mav
5d12d947b3 Remove unneeded NULL check. At first msg can't be null here and and at second
NG_FREE_MSG() also checks it.

Found with:	Coverity Prevent(tm)
2008-11-22 16:03:18 +00:00
mav
15aca58a53 Whitespace cleanup for previous commit. 2008-11-22 15:38:24 +00:00
mav
6acdbec25e Handle device_get_children() errors in more correct way.
We shouldn't detach until all children are surely destroyed.

Found with:     Coverity Prevent(tm)
CID:            2137
2008-11-22 15:35:21 +00:00
mav
abfbbdbd08 Change check order to avoid array overrun.
Found with:	Coverity Prevent(tm)
CID:		2497
2008-11-22 14:48:40 +00:00
dfr
fbf7bda4ae Fix amd64 build and re-enable gptzfsboot. 2008-11-22 14:24:55 +00:00
pjd
86c4fc0123 IFp4: Don't rely on disk IDs and always use vdev guids, which means always look
up for components by reading metadata. This might be slower when there are big
number of disks in the system, but is definiately more reliable.
2008-11-22 13:33:06 +00:00
pjd
8ab042140f IFp4: Regression tests for FreeBSD/ZFS chflags(2)/lchflags(2). 2008-11-22 13:27:15 +00:00
pjd
00bb8be02c IFp4: Finish implemnetation of chflags(2) for ZFS. While doing this I found
that zfs_access() can only handle VREAD, VWRITE and VEXEC, for the rest we need
to use vaccess(9).
2008-11-22 13:24:44 +00:00
pjd
62c46ed650 IFp4: Don't free pathname too soon, debugging code is still using it. 2008-11-22 13:22:24 +00:00
kib
371d0216fb Busy ufs filesystem around block of code that does ".." lookup. Since
mnt_lock is before lock of any vnode on the mp, it uses LK_NOWAIT. Since
MNTK_UNMOUNT may be transient, pdp lock is dropped when vfs_busy()
failed, and operation is retried after some time. This way, ffs_vget()
is not called on the mp that may be in the process of being destroyed by
unmount.

Check for the VI_DOOMED flag on pdp after its lock is reacquired, to
better detect some situations where directory containing ".."
entry is removed during the lookup.

Reviewed by:	tegge, attilio (previous version)
Tested by:	pho
MFC after:	1 month
2008-11-22 13:11:11 +00:00
kib
8fad2283b3 Add sv_flags field to struct sysentvec with intention to provide description
of the ABI of the currently executing image. Change some places to test
the flags instead of explicit comparing with address of known sysentvec
structures to determine ABI features.

Discussed with:	dchagin, imp, jhb, peter
2008-11-22 12:36:15 +00:00
jkoshy
45f7975419 Unbreak LINT. 2008-11-22 12:34:49 +00:00
kmacy
f814c44886 Add flowid to mbuf to allow drivers to uniquely
identify connection flows to guarantee ordering
across queues
2008-11-22 08:46:16 +00:00
kmacy
8885ab7439 - enable multiple transmit queues
- invert sense of hw.cxgb.singleq tunable to hw.cxgb.multiq
- don't wake up transmitting thread by default
- add per tx queue ifaltq to handle ALTQ
- remove several unused functions in cxgb_multiq.c
- add several sysctls: multiq_tx_enable, coalesce_tx_enable,
  and wakeup_tx_thread
- this obsoletes the hw.cxgb.snd_queue_len as ifq is replaced
  by a buf_ring
2008-11-22 08:05:05 +00:00
kmacy
2b4df7158b convert calls to IFQ_HANDOFF to if_transmit 2008-11-22 07:35:45 +00:00
marcel
07d364adf0 Define mb(), rmb() and wmb() for real. 2008-11-22 06:56:49 +00:00
kmacy
9d3bb599b1 - bump __FreeBSD version to reflect added buf_ring, memory barriers,
and ifnet functions

- add memory barriers to <machine/atomic.h>
- update drivers to only conditionally define their own

- add lockless producer / consumer ring buffer
- remove ring buffer implementation from cxgb and update its callers

- add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to
  allow drivers to efficiently manage multiple hardware queues
  (i.e. not serialize all packets through one ifq)
- expose if_qflush to allow drivers to flush any driver managed queues

This work was supported by Bitgravity Inc. and Chelsio Inc.
2008-11-22 05:55:56 +00:00
gnn
fb7f8e0e59 Several small additions to the Chelsio 10G driver.
1) Fix a bug in dealing with the Alerus 1006 PHY which prevented the
device from ever coming back up once it had been set to down.

2) Add a kernel tunable (hw.cxgb.snd_queue_len) which makes it possible
to give the device more than IFQ_MAXLEN entries in its send queue.  The
default remains 50.

3) Add code to place the card'd identification and serial number into
its description (%desc) so that users can tell which card they have
installed.
2008-11-21 19:22:25 +00:00
imp
4f79df3b3c 'Strict EAP conformance' makes more sense here than 'String EAP
conformance.'
2008-11-21 18:15:39 +00:00
luigi
45336b30c8 use the correct variable in a debug message. 2008-11-21 09:14:29 +00:00
dfr
a55cc49b39 Add definitions for ZFS pool version 13. 2008-11-21 09:10:35 +00:00
des
8bb6eb9684 Disconnect gptzfsboot from the build until dfr@ gets his act together. 2008-11-21 08:10:07 +00:00
imp
8725ce5377 Create a /dev/cardbus%d.cis, to be compatible with older versions of
the software.  This is a trivial amount of code to keep wireless
monitoring software working...  I plan on removing it in 9.0.
2008-11-21 03:03:57 +00:00
marius
1c382cbab0 - According to OpenSolaris, CDMA flushing/syncing for Tomatillos
and XMITS has to be basically done in the same manner as for
  the Sabres, i.e. only for devices behind PCI-PCI-bridges and
  after a PIO read on the far side of the farest PCI-PCI-bridge.
  Given that the Tomatillo documentation mentions no difference
  to the Schizo bridges in this regard and this is also still
  part of the procedure described Schizo documentation this
  seems about right so adjust accordingly (the unconditional
  CDMA flushing/syncing previously done was based on how Linux
  behaves).
- Implement CDMA flushing/syncing for Schizo version >= 5,
  which requires the workaround described in Schizo Errata I-23.
  According to Schizo Errata I-13 it's just unusable with
  version < 5 though. [1]
- Don't register the Schizo streaming buffer for now until it's
  usage is sorted out according to the erratas.
- Register our interrupt filters with the revived INTR_FAST so
  they these interrupts can even interrupt filters of device
  drivers as necessary.
- Remove the comment regarding lack of newbus'ified bus_dma(9)
  as being able to associate a DMA tag with a device would
  allow to implement CDMA flushing/syncing in bus_dmamap_sync(9)
  but that would totally kill performance. Given that for devices
  not behind a PCI-PCI bridge the host-to-PCI bridges also only
  do CDMA flushing/syncing based on interrupts there's no
  additional disadvantage for polling(4) callbacks in the case
  schizo(4) has to do the CDMA flushing/syncing but rather a
  general problem.

Reported by:	Michael Moll [1]
2008-11-20 18:44:09 +00:00
luigi
8c1c552ad2 As reported in kern/118222, pxeboot in RELENG7 (and presumably
above) exhibits some misbehaviours on machines with AMD64 CPUs,
which at least in some cases I have tracked down to a heap overflow.

It is unclear whether it depends on the CPU or on the pxe bios
itself which may use more memory on AMD machines.

Noticeably a pxeboot compiled from 6.x sources works fine on all
machines I have tried so far, while a pxeboot compiled from 7.x
sources does not.

This patch is a first step in reducing the amount of memory used
while processing the configuration files read by the loader at boot
(some of them are quite large, 1700+ lines), and it does so by:
+ moving a buffer to static memory instead of allocating in the heap;
+ skipping empty lines;
+ reducing the amount of memory used for line descriptors;

Unfortunately there are several changes between 6.x and above,
affecting the compiler, the loader code itself, and libstand,
and it is not so straightforward to
These changes fix the behaviour on one motherboard with a
single-core AMD cpu, but are still not enough e.g on an Asus
M2N-VM (with a dual-core CPU).

I need to investigate the problem a bit more before figuring
out what should be committed to RELENG_7

PR:		kern/118222
2008-11-20 14:57:09 +00:00
imp
2882e54294 damn. Always do make depend. Forgot to recompile main because of it,
so the changes for the struct cis -> struct tuple_list didn't get
made.  They have been now.
2008-11-20 08:32:19 +00:00
imp
3fc228404f Fix check for link target so we don't print cardbus CIS information twice.
Also, eliminate some magic constants and replace them with values from cis.h.
2008-11-20 08:30:15 +00:00
imp
4063d86dc6 Restore now-useless ioctl as a roadmap. The original dumpcis code
assumed it had to toggle between attribute and common memory in the
cards.  The kernel is supposed to cope with that automatically and
give us a tuple list.  However, there's a number of details of how
that happens that's currently, ummm, magical and/or not implemented
for 16-bit PC Cards that have CIS_LONGLINK_C tuples in them (eg, mix
both attribute memory and common memory).  Also, CIS_LOGNLINK_A
entries might not be handled completely correctly either, since there
can be gaps in the attribute vs common stuff.

All this will need to be corrected in the kernel.  Once it is
corrected, dumpcis can be made even simpler in some ways, a little
more complicated in others once an API for presentation of CIS to
userland in these weird cases is settled upon.
2008-11-20 08:20:53 +00:00
imp
986856cb7e More dead code removal. 2008-11-20 08:14:14 +00:00
imp
9948704a0a The original programs that this code was lifted from (pccardd and
pccardc) parsed data to make decisions about stuff related to card
configuration.

The purely CIS dumping aspect of this program obviates the need for
such parsing.  Save some space and don't parse the data anymore for
configuration purposes.  Just parse it to print an interpreatation of
it.
2008-11-20 08:12:26 +00:00
imp
a7655fc3e2 dump() really is unused, so retire it. 2008-11-20 03:34:36 +00:00
imp
06abad5ee3 Simplify: move dumpcis.c and dumpcisfile.c into main. 2008-11-20 03:30:27 +00:00
marius
eef5d34a4a Use the interrupt level right below PIL_FAST for executing interrupt
filters instead of PIL_FAST and allow special filters and handlers
for interrupts which need to be able to interrupt even filters, f.e.
bus error interrupts, to be registered with the revived INTR_FAST
at PIL_FAST.
2008-11-19 22:12:32 +00:00
marius
fd213ef8e2 Given that the buffer dcons_crom(4) exposes is used for both input
and output, set BUS_DMA_COHERENT when creating the DMA map used for
loading the buffer. As a side-effect this solves locking issues on
sparc64 when dcons(4) calls bus_dmamap_sync(9) while in an interrupt
filter, which are executed in a critical section, and iommu(4) has
to use a sleep lock when taking advantage of the streaming buffer.

Reported and tested by:	kensmith
Approved by:		simokawa
2008-11-19 22:09:03 +00:00
ed
26ef99f3eb Also make dcons(4) use MPSAFE callouts.
The callout locks the TTY layer the way it should, so there is no reason
why its callout shouldn't set this flag.
2008-11-19 21:12:26 +00:00
ed
2e069b1e20 Make nmdm(4) use MPSAFE callouts.
For some reason the nmdm(4) driver doesn't use CALLOUT_MPSAFE, even
though we live in the MPSAFE TTY era. Add the CALLOUT_MPSAFE flags.
System survives.
2008-11-19 21:07:33 +00:00
delphij
9e21207c72 Use "KSE" instead of "kse". 2008-11-19 20:38:10 +00:00
delphij
ee45c1132f Use igb(4) entry 2008-11-19 20:35:37 +00:00
jkim
7b13c0b67f Make sure legacy replacement route is turned off when enbling HPET.
Reviewed by:	jhb
2008-11-19 20:31:38 +00:00
jhb
f8948bf5ef Fix typo. 2008-11-19 20:06:59 +00:00
julian
cf07f793f2 Fix a scope problem in the multiple routing table code that stopped the
SO_SETFIB socket option from working correctly.

Obtained from:	Ironport
MFC after:	3 days
2008-11-19 19:19:30 +00:00
raj
531042bdec Initial storage functionality for U-Boot support library.
- Only non-sliced bsdlabel style partitioning is currently supported (but provisions
  are made towards GPT support, which should follow soon)
- Enable storage support in loader on ARM

Obtained from:	Semihalf
2008-11-19 17:34:28 +00:00
raj
1190adfbbc Improve error handling in pcib_mbus_identify(). 2008-11-19 17:07:01 +00:00