163155 Commits

Author SHA1 Message Date
ticso
2e508fb884 fix type in comment 2010-03-12 22:39:35 +00:00
rnoland
84a4152445 Add support of Intel Pineview chips, aka IGD.
MFC after:	3 days
2010-03-12 21:34:23 +00:00
delphij
91caf9b920 Follow up commit to reindent the code.
MFC after:	1 month
2010-03-12 21:15:35 +00:00
delphij
ae5ae700da Two optimizations to MI strlen(3) inspired by David S. Miller's
blog posting [1].

 - Use word-sized test for unaligned pointer before working
   the hard way.

   Memory page boundary is always integral multiple of a word
   alignment boundary.  Therefore, if we can access memory
   referenced by pointer p, then (p & ~word mask) must be also
   accessible.

 - Better utilization of multi-issue processor's ability of
   concurrency.

   The previous implementation utilized a formular that must be
   executed sequentially.  However, the ~, & and - operations can
   actually be caculated at the same time when the operand were
   different and unrelated.

   The original Hacker's Delight formular also offered consistent
   performance regardless whether the input would contain
   characters with their highest-bit set, as it catches real
   nul characters only.

These two optimizations has shown further improvements over the
previous implementation on microbenchmarks on i386 and amd64 CPU
including Pentium 4, Core Duo 2 and i7.

[1] http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2010/03/08#strlen_1

MFC after:	1 month
2010-03-12 21:14:56 +00:00
kmacy
a5e0110227 flowtable_get_hashkey is only used by a DDB function - move under #ifdef DDB
pointed out by jkim@
2010-03-12 19:58:51 +00:00
rnoland
de23516bf1 Add pci ids for Intel Ironlake chipsets.
These behave just like g45 for agp.

Tested by:	Torfinn Ingolfsen

MFC after:	3 days
2010-03-12 19:43:39 +00:00
jkim
5e802872af Fix a style(9) nit. 2010-03-12 19:42:42 +00:00
kmacy
965730af4f re-update copyright to 2010
pointed out by danfe@
2010-03-12 19:26:45 +00:00
jkim
df5e72589a Tidy up callout for select(2) and read timeout.
- Add a missing callout_drain(9) before the descriptor deallocation.[1]
- Prefer callout_init_mtx(9) over callout_init(9) and let the callout
subsystem handle the mutex for callout function.

PR:		kern/144453
Submitted by:	Alexander Sack (asack at niksun dot com)[1]
MFC after:	1 week
2010-03-12 19:14:58 +00:00
yongari
f74c6cc1b5 Implement Rx checksum offloading for Yukon EC, Yukon Ultra,
Yukon FE and Yukon Ultra2. These controllers provide very simple
checksum computation mechanism and it requires additional pseudo
header checksum computation in upper stack. Even though I couldn't
see much performance difference with/without Rx checksum offloading
it may help notebook based controllers.

Actually controller can compute two checksum value by giving
different starting position of checksum computation on received
frame. However, for long time, Marvell's checksum offloading engine
have been known to have several silicon bugs so don't blindly trust
computed partial checksum value. Instead, compute partial checksum
twice by giving the same checksum computation position and compare
the result. If the value is different it's clear indication of
hardware bug. This configuration lose IP checksum offloading
capability but I think it's better to take safe route.
Note, Rx checksum offloading for Yukon XL was still disabled due to
known silicon bug.
2010-03-12 18:41:41 +00:00
yongari
3f77820f83 Reorder interrupt handler a bit such that producer/consumer
index of status block is read first before acknowledging the
interrupts. Otherwise bge(4) may get stale status block as
acknowledging an interrupt may yield another status block update.

Reviewed by:	marius
2010-03-12 18:18:04 +00:00
fanf
231ed98ffa Update to upstream version 2.3
Add -V (display version) and -S (list controlling symbols per #if
with nesting information) options, and improve unifdefall debug output.
Done committing 0 revisions to SVN

Obtained from: http://dotat.at/prog/unifdef
2010-03-12 17:55:29 +00:00
glebius
e93d329696 Now fix functionality of 'netstat -f netgraph' that hasn't worked
starting from netgraph import in 1999.

netstat(8) used pointer to node as node address, oops. That didn't
work, we need the node ID in brackets to successfully address a node.
We can't look into ng_node, due to inability to include netgraph/netgraph.h
in userland code. So let the node make a hint for a userland, storing
the node ID in its private data.

MFC after:	2 weeks
2010-03-12 15:04:59 +00:00
glebius
aad46e823b Fix 'netstat -f netgraph', which I had broken in r163463 ling time
ago in 2006. This linked list is actually needed for userland.

PR:		kern/140446
Submitted by:	Adrian Steinmann <ast marabu.ch>
2010-03-12 14:51:42 +00:00
pjd
182711c5f8 Force commit to correct Bug ID:
Obtained from:	OpenSolaris, Bug ID 6920880
2010-03-12 13:36:58 +00:00
pjd
c7d0876a42 Remove bogus assertion.
Reported by:	Johan Ström <johan@stromnet.se>
Obtained from:	OpenSolaris, Bug ID 6827260
MFC after:	1 week
2010-03-12 12:07:21 +00:00
uqs
04da0ca274 Fix typo in macro name and macro usage.
Found by:	make manlint
Reviewed by:	ru
Approved by:	harti, philip (mentor)
2010-03-12 11:05:37 +00:00
qingli
5c999930df The flow-table module retrieves the destination and source
address as well as the transport protocol port information
from the outbound packets. The routing code is generic and
compares every byte in the given sockaddr object. Therefore
the temporary sockaddr objects must be cleared due to padding
bytes. In addition, the port information must be stripped
or the route search will either fail or return the incorrect
route entry.

Unit testing is done using OpenVPN over the if_tun interface.

MFC after:	7 days
2010-03-12 10:24:58 +00:00
uqs
8f141f1a13 Fix several typos in macros or macro misusage.
Found by:	make manlint
Reviewed by:	ru
Approved by:	philip (mentor)
2010-03-12 10:01:06 +00:00
rrs
42b8493f26 With the recent change of the sctp checksum to support offload,
no delayed checksum was added to the ip6 output code. This
causes cards that do not support SCTP checksum offload to
have SCTP packets that are IPv6 NOT have the sctp checksum
performed. Thus you could not communicate with a peer. This
adds the missing bits to make the checksum happen for these cards.

PR:		144529
MFC after:	2 weeks
2010-03-12 08:10:30 +00:00
mav
12e9c761ed Mask disk_idx to avoid panic because of extra bits set.
PR:		kern/102211
Submitted by:	yoichi
2010-03-12 07:49:10 +00:00
brooks
712ef6c0de Regen:
* Hart:		rev 671 of pcidevs.txt; 22-01-2008 (D-M-Y).
* Boemler:	vendors.txt (2010-03126)

PR:		kern/133733
MFC after:	1 week
2010-03-12 07:26:37 +00:00
neel
68a0cae516 - Enable kernel stack guard page.
- Unmap the unused kernel stack page that we cannot use because it is
  not aligned on a (PAGE_SIZE * 2) boundary.
2010-03-12 07:08:20 +00:00
edwin
4bb7c695aa - With the introduction of -A, -B and -3, not all combinations of
arguments makes sense anymore. For example, what would a combination
  of -3 (show three months) and -y (show the whole year) do?
  We will abort on these cases.
- Move the debug option -d to -H (from highlight), while -d is now
  used for setting the day of "today" so that -y and friends can
  be tested.
2010-03-12 06:57:53 +00:00
kmacy
0315e29550 fix stats reporting sysctl 2010-03-12 06:31:19 +00:00
kmacy
128542c758 - restructure flowtable to support ipv6
- add a name argument to flowtable_alloc for printing with ddb commands
- extend ddb commands to print destination address or 4-tuples
- don't parse ports in ulp header if FL_HASH_ALL is not passed
- add kern_flowtable_insert to enable more generic use of flowtable
  (e.g. system calls for adding entries)
- don't hash loopback addresses
- cleanup whitespace
- keep statistics per-cpu for per-cpu flowtables to avoid cache line contention
- add sysctls to accumulate stats and report aggregate

MFC after:	7 days
2010-03-12 05:03:26 +00:00
neel
7ca6d1bcd1 Make the ddb command "show tlb" SMP friendly.
It now accepts an argument to dump out the tlb of a particular cpu.
2010-03-12 03:49:17 +00:00
jhb
1fc7a4e7bd Fix the previous attempt to fix kernel builds of HEAD on 7.x. Use the
__gnu_inline__ attribute for PMAP_INLINE when using the 7.x compiler to
match what 7.x uses for PMAP_INLINE.
2010-03-12 03:08:47 +00:00
jmallett
378ca3a5ee o) Send packets being queued for transmission up to BPF if there's a listener.
o) Properly configure the CAM to handle IFF_PROMISC and note where IFF_ALLMULTI
   handling would go if we didn't already force the NIC to receive all
   multicast traffic.

Reviewed by:	imp
Sponsored by:	Packet Forensics
2010-03-12 02:56:45 +00:00
luigi
0d5da117aa implement listing of a subset of pipes/queues/schedulers.
The filtering of the output is done in the kernel instead of userland
to reduce the amount of data transfered.
2010-03-11 22:42:33 +00:00
jmallett
afbdfb0b20 Add bpf and random to Octeon configurations, since they're needed to run
dhclient and ssh respectively.

Reviewed by:	imp
2010-03-11 22:29:45 +00:00
jmallett
cff76e4af9 Don't force single user on Octeon anymore. 2010-03-11 22:25:53 +00:00
jmallett
39d70443d4 o) Eliminate use of sc->typestr, which is always NULL.
o) Inline octeon_rgmx_mark_ready into octeon_rgmx_init.
o) Add a media status handler that reports link and media status.
o) Set link state when if_init is called.
o) Remove some printfs related to driver state changes.
o) Remove some gratuitous comments.

Reviewed by:	imp
Sponsored by:	Packet Forensics
2010-03-11 22:22:06 +00:00
thompsa
e495f4a394 Add device ID for the NATURAL4000 keyboard 2010-03-11 22:09:21 +00:00
thompsa
748891203d - Integrate latest driver code from OpenBSD
- Drain our tasks from the ieee80211 taskqueue
- Add more IDs

Submitted by:	Akinori Furukoshi
2010-03-11 22:05:12 +00:00
thompsa
b5bfdc089a extend search for Apple Function Key.
PR:		usb/144414
Submitted by:	Hans Petter Selasky
2010-03-11 21:57:01 +00:00
thompsa
8212d0c4c4 Add new device ID for the SMC 2514HUB
Submitted by:	Alexander Best
2010-03-11 21:55:25 +00:00
thompsa
944bbb0639 add new vendor ID for APACER
Submitted by:	Paul B Mahol
2010-03-11 21:54:23 +00:00
thompsa
f4b85f2b66 Implement USB kernel driver detach from userland.
Submitted by:	Hans Petter Selasky
2010-03-11 21:50:36 +00:00
thompsa
2d4cdf1154 Make sure there is a way to reset the endpoint FIFO on transfer errors for
ISOCHRONOUS transfers

Submitted by:	Hans Petter Selasky
2010-03-11 21:49:43 +00:00
thompsa
b5d685af82 For USS820 driver we need to manually reset TX FIFO at each SETUP transaction
because the chip doesn't do this by itself.

Submitted by:	Hans Petter Selasky
2010-03-11 21:49:00 +00:00
thompsa
6d884d179e isochronous endpoint descriptors should have two more bytes which are zero by
default.

Submitted by:	Hans Petter Selasky
2010-03-11 21:48:10 +00:00
thompsa
8b639ada23 Add new uvisor(4) device ID.
PR:		usb/144201
2010-03-11 21:47:25 +00:00
thompsa
364a77ded8 It appears that some UVISOR devices do not handle when the clear stall command
is issued at the beginning of the initial IN/OUT data transfers.  Reason
unknown, probably firmware fault. Now the stall is only cleared on data
transfer errors.

PR:		usb/144199
Submitted by:	Hans Petter Selasky
2010-03-11 21:46:33 +00:00
thompsa
ec6f68895e - make the usb_temp_setup() and usb_temp_unsetup() functions public so that
other modules can generate USB descriptors.
- extend the vendor specific request function by one length pointer argument,
  because not all descriptors store the length in the first byte. For example
  HID descriptors.

Submitted by:	Hans Petter Selasky
2010-03-11 21:45:31 +00:00
thompsa
13649bde8d Use wMaxPacketSize for the uftdi input buffer size.
Submitted by:	Hans Petter Selasky
2010-03-11 21:42:09 +00:00
raj
b083928295 Fix ARM cache handling yet more.
1) vm_machdep.c: remove the dangling allocations so they do not
   un-necessarily turn off the cache upon consecutive access.

2) busdma_machdep.c: remove the same amount than shadow mapped.

Reported by:	Maks Verver
Submitted by:	Mark Tinguely
Reviewed by:	Grzegorz Bernacki
MFC after:	3 days
2010-03-11 21:16:54 +00:00
raj
9540239dfe Let detailed info about CPU features print on Marvell Sheeva CPU as well.
Provide missing entry in the cpu_classes[].

Reported by:	Maks Verver
MFC after:	1 week
2010-03-11 21:04:29 +00:00
thompsa
0d30d732e5 Reapply r185998 which was overwritten at some point. 2010-03-11 20:41:21 +00:00
qingli
cde322640a The if_tap interface is of IFT_ETHERNET type, but it
does not set or update the if_link_state variable.
As such RT_LINK_IS_UP() fails for the if_tap interface.

Also, the RT_LINK_IS_UP() needs to bypass all loopback
interfaces because loopback interfaces are considered
up logically as long as the system is running.

This patch fixes the above issues by setting and updating
the if_link_state variable when the tap interface is
opened or closed respectively. Similary approach is
already done in the if_tun device.

MFC after:	3 days
2010-03-11 17:56:46 +00:00