Commit Graph

8726 Commits

Author SHA1 Message Date
Marcel Moolenaar
a046473b9c Update to include WITH_BMAKE. 2012-10-06 19:28:19 +00:00
Gleb Smirnoff
21d172a3f1 A step in resolving mess with byte ordering for AF_INET. After this change:
- All packets in NETISR_IP queue are in net byte order.
  - ip_input() is entered in net byte order and converts packet
    to host byte order right _after_ processing pfil(9) hooks.
  - ip_output() is entered in host byte order and converts packet
    to net byte order right _before_ processing pfil(9) hooks.
  - ip_fragment() accepts and emits packet in net byte order.
  - ip_forward(), ip_mloopback() use host byte order (untouched actually).
  - ip_fastforward() no longer modifies packet at all (except ip_ttl).
  - Swapping of byte order there and back removed from the following modules:
    pf(4), ipfw(4), enc(4), if_bridge(4).
  - Swapping of byte order added to ipfilter(4), based on __FreeBSD_version
  - __FreeBSD_version bumped.
  - pfil(9) manual page updated.

Reviewed by:	ray, luigi, eri, melifaro
Tested by:	glebius (LE), ray (BE)
2012-10-06 10:02:11 +00:00
Alexander Motin
9c87d811eb Implement SATA revision (speed) control for legacy SATA controller for
both boot (via loader tunables) and run-time (via `camcontrol negotiate`).
Tested to work at least on NVIDIA MCP55 chipset.

H/w provided by:	glebius
2012-10-02 22:03:21 +00:00
Joel Dahl
2ccfa03129 mdoc: remove superfluous paragraph macro. 2012-09-30 07:51:57 +00:00
Gleb Smirnoff
9c883c6cf0 Give a clue how to force tcpdump(8) to interpret correctly CARP packets. 2012-09-29 10:49:02 +00:00
Gleb Smirnoff
063efed28c The drbr(9) API appeared to be so unclear, that most drivers in
tree used it incorrectly, which lead to inaccurate overrated
if_obytes accounting. The drbr(9) used to update ifnet stats on
drbr_enqueue(), which is not accurate since enqueuing doesn't
imply successful processing by driver. Dequeuing neither mean
that. Most drivers also called drbr_stats_update() which did
accounting again, leading to doubled if_obytes statistics. And
in case of severe transmitting, when a packet could be several
times enqueued and dequeued it could have been accounted several
times.

o Thus, make drbr(9) API thinner. Now drbr(9) merely chooses between
  ALTQ queueing or buf_ring(9) queueing.
  - It doesn't touch the buf_ring stats any more.
  - It doesn't touch ifnet stats anymore.
  - drbr_stats_update() no longer exists.

o buf_ring(9) handles its stats itself:
  - It handles br_drops itself.
  - br_prod_bytes stats are dropped. Rationale: no one ever
    reads them but update of a common counter on every packet
    negatively affects performance due to excessive cache
    invalidation.
  - buf_ring_enqueue_bytes() reduced to buf_ring_enqueue(), since
    we no longer account bytes.

o Drivers handle their stats theirselves: if_obytes, if_omcasts.

o mlx4(4), igb(4), em(4), vxge(4), oce(4) and  ixv(4) no longer
  use drbr_stats_update(), and update ifnet stats theirselves.

o bxe(4) was the most correct driver, it didn't call
  drbr_stats_update(), thus it was the only driver accurate under
  moderate load. Now it also maintains stats itself.

o ixgbe(4) had already taken stats from hardware, so just
  - drop software stats updating.
  - take multicast packet count from hardware as well.

o mxge(4) just no longer needs NO_SLOW_STATS define.

o cxgb(4), cxgbe(4) need no change, since they obtain stats
  from hardware.

Reviewed by:	jfv, gnn
2012-09-28 18:28:27 +00:00
Benjamin Kaduk
5ac3118a32 Minor man page cleanup -- fix grammar, markup fixes, and start each
sentence on a new line.

Approved by:	hrs (mentor)
2012-09-24 15:02:31 +00:00
Alexander Motin
9e2e2b9c3e Document ipv6 hook, present there for ages.
Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
2012-09-24 08:32:19 +00:00
Eitan Adler
7cc324f8bd Remove some duplicated advice.
While here increase the suggested sizes for the
partition as "make universe" takes a lot more
space than mentioned.

Reviewed by:	gavin
Approved by:	gjb
MFC after:	3 days
X-MFC-With:	r240728
2012-09-22 21:34:46 +00:00
Pawel Jakub Dawidek
3ee8189de1 Make the example a bit more pretty. 2012-09-22 17:46:53 +00:00
Kevin Lo
201e2cd64b Remove references to brelse and bremfree, which don't actually exist. 2012-09-20 07:07:35 +00:00
Gleb Smirnoff
e8574be32c Redo r240386 providing more correct information. 2012-09-20 05:49:31 +00:00
Joel Dahl
d62a0fbf2a mdoc: remove superfluous paragraph macro. 2012-09-20 04:53:12 +00:00
Eitan Adler
1fce71e497 Rewrite portions of development.7 to make sense
in the world of subversion.

Approved by:	gjb
MFC after:	2 weeks
2012-09-20 03:48:36 +00:00
David E. O'Brien
e68095558b Add Intel RdRand. 2012-09-19 20:42:55 +00:00
Niclas Zeising
65c081a237 Regen for r240690
Approved by:	joel (mentor)
2012-09-19 11:40:17 +00:00
Niclas Zeising
d86e9d1e0c Do not install pf related man pages if WITHOUT_PF is set.
PR:		bin/171767
Submitted by:	zeising
Approved by:	joel (mentor), glebius
2012-09-19 09:34:21 +00:00
Gleb Smirnoff
7f7ef494f1 Provide kernel compile time option to make pf(4) default rule to drop.
This is important to secure a small timeframe at boot time, when
network is already configured, but pf(4) is not yet.

PR:		kern/171622
Submitted by:	Olivier Cochard-LabbИ <olivier cochard.me>
2012-09-18 11:07:19 +00:00
Hans Petter Selasky
d7dd13419e Add UQ_UMS_IGNORE quirk.
Wrap two long lines.
Some minor spelling correction.

PR:	usb/171721
2012-09-17 19:06:35 +00:00
Glen Barber
0cd4fb9206 Update release(7) to reflect changes from r240586 and r240587:
- Remove cvs(1) references.
 - Remove CVS* environment references.
 - Add default entries for the default SVNROOT for the Ports
   Collection, and Documentation Project.
 - While here, update 'SGML-based documentation' to 'XML-based',
   since the recent SGML->XML conversion.
 - Update an example providing SVNROOT environment usage.

Reminded by:	nwhitehorn
MFC After:	1 week
X-MFC-With:	r240586, r240587
2012-09-17 02:45:52 +00:00
Joel Dahl
9f668383b7 Remove trailing whitespace. 2012-09-16 21:17:28 +00:00
Alexander V. Chernikov
54202ab3d1 Add section describing existing filtering points.
Document byteorder behavior in AF_INET[6] hooks in new section.

MFC after:	2 weeks
2012-09-16 13:13:02 +00:00
Jilles Tjoelker
4ca2a3f7d4 siginfo(3): Document TRAP_DTRACE signal code.
MFC after:	1 week
2012-09-14 22:12:04 +00:00
Jilles Tjoelker
5437c0d6ea siginfo(3): Document SI_LWP signal code.
Describe SI_LWP as being generated by pthread_kill() because thr_kill() is
a private undocumented function.

MFC after:	1 week
2012-09-14 22:10:01 +00:00
Jilles Tjoelker
a4c22c274e siginfo(3): Document SI_USER and SI_KERNEL signal codes.
MFC after:	1 week
2012-09-14 22:05:09 +00:00
Eitan Adler
eae8be706e Bump date missed in r202756
PR:		docs/171624
Submitted by:	bdrewery
Approved by:	gabor
MFC after:	3 days
2012-09-14 17:50:42 +00:00
Gleb Smirnoff
3b3a8eb937 o Create directory sys/netpfil, where all packet filters should
reside, and move there ipfw(4) and pf(4).

o Move most modified parts of pf out of contrib.

Actual movements:

sys/contrib/pf/net/*.c		-> sys/netpfil/pf/
sys/contrib/pf/net/*.h		-> sys/net/
contrib/pf/pfctl/*.c		-> sbin/pfctl
contrib/pf/pfctl/*.h		-> sbin/pfctl
contrib/pf/pfctl/pfctl.8	-> sbin/pfctl
contrib/pf/pfctl/*.4		-> share/man/man4
contrib/pf/pfctl/*.5		-> share/man/man5

sys/netinet/ipfw		-> sys/netpfil/ipfw

The arguable movement is pf/net/*.h -> sys/net. There are
future plans to refactor pf includes, so I decided not to
break things twice.

Not modified bits of pf left in contrib: authpf, ftp-proxy,
tftp-proxy, pflogd.

The ipfw(4) movement is planned to be merged to stable/9,
to make head and stable match.

Discussed with:		bz, luigi
2012-09-14 11:51:49 +00:00
Joel Dahl
09c024e1a1 Minor mdoc fix. 2012-09-13 16:59:20 +00:00
Ivan Voras
ab013dbb49 Document the *_chroot, *_user, *_group and *_nice knobs for services started
by rcng.

Reviewed by:	wblock, dougb
2012-09-13 10:26:55 +00:00
Ed Schouten
4170b08388 Implement LIST_PREV().
Regular LISTs have been implemented in such a way that the prev-pointer
does not point to the previous element, but to the next-pointer stored
in the previous element. This is done to simplify LIST_REMOVE(). This
macro can be implemented without knowing the address of the list head.

Unfortunately this makes it harder to implement LIST_PREV(), which is
why this macro was never here. Still, it is possible to implement this
macro. If the prev-pointer points to the list head, we return NULL.
Otherwise we simply subtract the offset of the prev-pointer within the
structure.

It's not as efficient as traversing forward of course, but in practice
it shouldn't be that bad. In almost all use cases, people will want to
compare the value returned by LIST_PREV() against NULL, so an optimizing
compiler will not emit code that does more branching than TAILQs.

While there, make the code a bit more readable by introducing
__member2struct(). This makes STAILQ_LAST() far more readable.

MFC after:	1 month
2012-09-12 21:03:48 +00:00
Gleb Smirnoff
f99a2a0c2b Document conditions for IP_SENDSRCADDR socket option.
Obtained from:	r167342 commit message
2012-09-12 10:09:34 +00:00
Kevin Lo
c25372b320 Add references to VFS_SET(9) and VOP_VPTOFH(9) 2012-09-12 03:39:32 +00:00
Andriy Gapon
947bb4a4a5 acpi.4: machdep.cpu_idle_hlt no longer exists
MFC after:	1 week
2012-09-11 06:14:03 +00:00
Eitan Adler
b0533126a7 Remove documentation and www cvsup files as they are no longer useful
with the switch to subversion.

Approved by:	gjb (man pages)
Approved by:	cperciva (example files, implicit)
MFC after:	1 week
2012-09-09 01:04:22 +00:00
Eitan Adler
ff31ead443 Regenerate src.conf.5 after the projects/armv6 merge
Approved by:	des
2012-09-08 21:38:05 +00:00
Eitan Adler
9a44104fb6 Revert r239049:
This is the way to assign a range, but not
a single IPv4 address.

PR:		conf/167648
Approved by:	cperciva (implicit)
2012-09-08 12:45:47 +00:00
Niclas Zeising
01361d6952 Change the link pointing to more information about the Yarrow algorithm, the
current link points to a irrelevant catchall site.

PR:		docs/171411
Submitted by:	Mark Martinec <Mark.Martinec@ijs.si> (pr), me (patch)
Approved by:	joel (mentor)
MFC after:	2 weeks
2012-09-07 16:59:30 +00:00
Gleb Smirnoff
62208ca5d2 - Move jenkins.h to jenkins_hash.c
- Provide missing function that can do hashing of arbitrary sized buffer.
- Refetch lookup3.c and do only minimal edits to it, so that diff between
  our jenkins_hash.c and lookup3.c is minimal.
- Add declarations for jenkins_hash(), jenkins_hash32() to sys/hash.h.
- Document these functions in hash(9)

Obtained from:	http://burtleburtle.net/bob/c/lookup3.c
2012-09-04 12:07:33 +00:00
Xin LI
dac366886e Update arcmsr(4) to vendor version 1.20.00.25.
Many thanks to Areca for continuing to support FreeBSD.

Submitted by:	Ching-Lung Huang <ching2048 areca com tw>
MFC after:	2 weeks
2012-09-04 05:15:54 +00:00
John Baldwin
28b5187f44 Clarify that bus_dma does not stall future load requests once a load is
deferred.  The caller is required to enforce that if that is desired.

MFC after:	2 weeks
2012-08-30 14:44:30 +00:00
Sergey Kandaurov
f2fbdacbf8 Remove a duplicated "thread". 2012-08-30 11:52:26 +00:00
Isabell Long
d45d4faaf8 Fix a dead link in sk(4).
PR:		docs/146958
Approved by:	gjb (mentor)
MFC after:	3 days
2012-08-29 15:34:31 +00:00
Sergey Kandaurov
08783659c5 Follow r239818 and remove no more relevant vslock() ENOMEM error.
Reviewed by:	zont
MFC after:	2 weeks
2012-08-29 13:00:00 +00:00
Robert Watson
b9ef0960e1 Add a altera_sdcardc(4) man page link for altera_sdcard(4), as that is
the name that will appear in dmesg.

Sponsored by:	DARPA, AFRL
2012-08-26 10:38:02 +00:00
Robert Watson
ec5bd1da7d Add terasic_mtl(4), a device driver for the Terasic Multi-Touch LCD,
used with Terasic's DE-4 and other similar FPGA boards.  This display
is 800x480 and includes a capacitive touch screen, multi-touch
gesture recognition, etc.  This device driver depends on a Cambridge-
provided IP core that allows the MTL device to be hooked up to the
Altera Avalon SoC bus, and also provides a VGA-like text frame buffer.

Although it is compiled as a single device driver, it actually
implements a number of different device nodes exporting various
aspects of this multi-function device to userspace:

- Simple memory-mapped driver for the MTL 24-bit pixel frame buffer.
- Simple memory-mapped driver for the MTL control register set.
- Simple memory-mapped driver for the MTL text frame buffer.
- syscons attachment for the MTL text frame buffer.

This driver attaches directly to Nexus as is common for SoC device
drivers, and for the time being is considered BERI-specific, although
in principle it might be used with other hard and soft cores on
Altera FPGAs.

Control registers, including touchscreen input, are simply memory
mapped; in the future it would be desirable to hook up a more
conventional device node that can stream events, support kqueue(2)/
poll(2)/select(2), etc.

This is the first use of syscons on MIPS, as far as I can tell, and
there are some loose ends, such as an inability to use the hardware
cursor.  More fundamentally, it appears that syscons(4) assumes that
either a host is PC-like (i386, amd64) *or* it must be using a
graphical frame buffer.  While the MTL supports a graphical frame
buffer, using the text frame buffer is preferable for console use.
Fixing this issue in syscons(4) requires non-trivial changes, as the
text frame buffer support assumes that direct memory access can be
done to the text frame buffer without using bus accessor methods,
which is not the case on MIPS.  As a workaround for this, we instead
double-buffer and pretend to be a graphical frame buffer exposing
text accessor methods, leading to some quirks in syscons behaviour.

Sponsored by:	DARPA, AFRL
2012-08-25 22:35:29 +00:00
Brooks Davis
087d31736a Add isf(4), a driver for the Intel StrataFlash family of NOR flash parts.
The driver attempts to support all documented parts, but has only been
tested with the 512Mbit part on the Terasic DE4 FPGA board.  It should be
trivial to adapt the driver's attach routine to other embedded boards
using with any parts in the family.

Also import isfctl(8) which can be used to erase sections of the flash.

Sponsored by:	DARPA, AFRL
2012-08-25 18:08:20 +00:00
Joel Dahl
23bc6310a8 Minor mdoc fix. 2012-08-25 11:34:55 +00:00
Robert Watson
697a77c1c4 Add altera_jtag_uart(4), a device driver for Altera's JTAG UART soft core,
which presents a UART-like interface over the Avalon bus that can be
addressed over JTAG.  This IP core proves extremely useful, allowing us to
connect trivially to the FreeBSD console over JTAG for FPGA-embedded hard
and soft cores.  As interrupts are optionally configured for this soft
core, we support both interrupt-driven and polled modes of operation,
which must be selected using device.hints.  UART instances appear in /dev
as ttyu0, ttyu1, etc.

However, it also contains a number of quirks, which make it difficult to
tell when JTAG is connected, and some buffering issues.  We work around
these as best we can, using various heuristics.

While the majority of this device driver is not only not BERI-specific,
but also not MIPS-specific, for now add its defines in the BERI files
list, as the console-level parts are aware of where the first JTAG UART
is mapped on Avalon, and contain MIPS-specific address translation, to
use before Newbus and device.hints are available.

Sponsored by:	DARPA, AFRL
2012-08-25 11:30:36 +00:00
Robert Watson
d432e92a84 Add a device driver for the Altera University Program SD Card IP Core,
which can be synthesised in Altera FPGAs.  An altera_sdcardc device
probes during the boot, and /dev/altera_sdcard devices come and go as
inserted and removed.  The device driver attaches directly to the
Nexus, as is common for system-on-chip device drivers.

This IP core suffers a number of significant limitations, including a
lack of interrupt-driven I/O -- we must implement timer-driven polling,
only CSD 0 cards (up to 2G) are supported, there are serious memory
access issues that require the driver to verify writes to memory-mapped
buffers, undocumented alignment requirements, and erroneous error
returns.  The driver must therefore work quite hard, despite a fairly
simple hardware-software interface.  The IP core also supports at most
one outstanding I/O at a time, so is not a speed demon.

However, with the above workarounds, and subject to performance
problems, it works quite reliably in practice, and we can use it for
read-write mounts of root file systems, etc.

Sponsored by:	DARPA, AFRL
2012-08-25 11:19:20 +00:00
Robert Watson
cf8248866d Add altera_avgen(4), a generic device driver to be used by hard and soft
CPU cores on Altera FPGAs.  The device driver allows memory-mapped devices
on Altera's Avalon SoC bus to be exported to userspace via device nodes.
device.hints directories dictate device name, permissible access methods,
physical address and length, and I/O alignment.  Devices can be accessed
using read(2)/write(2), but also memory mapped in userspace using mmap(2).

Devices attach directly to the Nexus, as is common for embedded device
drivers; in the future something more mature might be desirable.  There is
currently no facility to support directing device-originated interrupts to
userspace.

In the future, this device driver may be renamed to socgen(4), as it can
in principle also be used with other system-on-chip (SoC) busses, such as
Axi on ASICs and FPGAs.  However, we have only tested it on Avalon busses
with memory-mapped ROMs, frame buffers, etc.

Sponsored by:	DARPA, AFRL
2012-08-25 11:07:43 +00:00