Commit Graph

3532 Commits

Author SHA1 Message Date
adrian
50b5b5446b oops - mis-commit. 2015-08-30 21:55:01 +00:00
adrian
07075ccdf6 Convert this over to use the new cdev based ioctl path. 2015-08-30 21:54:47 +00:00
rodrigc
548c8c78eb - Replace N(a)/N(i)/N(T)/LEN(a)/ARRAY_SIZE(a) with nitems()
- Add missing <err.h> for err() and <sys/sysctl.h> for sysctlbyname()
- NULL -> 0 for 5th parameter of sysctlbyname()

Submitted by: Andriy Voskoboinyk <s3erios@gmail com>
Differential Revision: https://reviews.freebsd.org/D3442
2015-08-29 19:47:20 +00:00
glebius
619aca846f Replay r286410. Change KPI of how device drivers that provide wireless
connectivity interact with the net80211 stack.

Historical background: originally wireless devices created an interface,
just like Ethernet devices do. Name of an interface matched the name of
the driver that created. Later, wlan(4) layer was introduced, and the
wlanX interfaces become the actual interface, leaving original ones as
"a parent interface" of wlanX. Kernelwise, the KPI between net80211 layer
and a driver became a mix of methods that pass a pointer to struct ifnet
as identifier and methods that pass pointer to struct ieee80211com. From
user point of view, the parent interface just hangs on in the ifconfig
list, and user can't do anything useful with it.

Now, the struct ifnet goes away. The struct ieee80211com is the only
KPI between a device driver and net80211. Details:

- The struct ieee80211com is embedded into drivers softc.
- Packets are sent via new ic_transmit method, which is very much like
  the previous if_transmit.
- Bringing parent up/down is done via new ic_parent method, which notifies
  driver about any changes: number of wlan(4) interfaces, number of them
  in promisc or allmulti state.
- Device specific ioctls (if any) are received on new ic_ioctl method.
- Packets/errors accounting are done by the stack. In certain cases, when
  driver experiences errors and can not attribute them to any specific
  interface, driver updates ic_oerrors or ic_ierrors counters.

Details on interface configuration with new world order:
- A sequence of commands needed to bring up wireless DOESN"T change.
- /etc/rc.conf parameters DON'T change.
- List of devices that can be used to create wlan(4) interfaces is
  now provided by net.wlan.devices sysctl.

Most drivers in this change were converted by me, except of wpi(4),
that was done by Andriy Voskoboinyk. Big thanks to Kevin Lo for testing
changes to at least 8 drivers. Thanks to pluknet@, Oliver Hartmann,
Olivier Cochard, gjb@, mmoll@, op@ and lev@, who also participated in
testing.

Reviewed by:	adrian
Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2015-08-27 08:56:39 +00:00
cem
80b01acf73 ioat(4): Minor style cleanups
Suggested by:	ngie
Reviewed by:	jimharris
Approved by:	markj (mentor)
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D3481
2015-08-25 17:39:03 +00:00
cem
0b30a8e592 ioatcontrol(8): Fix build
Tripped up by the FBSD SVN pre-commit hook!

Approved by:	markj (mentor)
Sponsored by:	EMC / Isilon Storage Division
2015-08-24 20:39:22 +00:00
cem
06ccf4bc96 Import ioat(4) driver
I/OAT is also referred to as Crystal Beach DMA and is a Platform Storage
Extension (PSE) on some Intel server platforms.

This driver currently supports DMA descriptors only and is part of a
larger effort to upstream an interconnect between multiple systems using
the Non-Transparent Bridge (NTB) PSE.

For now, this driver is only built on AMD64 platforms.  It may be ported
to work on i386 later, if that is desired.  The hardware is exclusive to
x86.

Further documentation on ioat(4), including API documentation and usage,
can be found in the new manual page.

Bring in a test tool, ioatcontrol(8), in tools/tools/ioat.  The test
tool is not hooked up to the build and is not intended for end users.

Submitted by:	jimharris, Carl Delsey <carl.r.delsey@intel.com>
Reviewed by:	jimharris (reviewed my changes)
Approved by:	markj (mentor)
Relnotes:	yes
Sponsored by:	Intel
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D3456
2015-08-24 19:32:03 +00:00
imp
6129bf3e3a Remove cust_pkg() not that pkg_foo(1) has been removed. 2015-08-22 23:09:19 +00:00
jilles
23ea143940 wordexp(): Improve some error codes.
Distinguish between WRDE_BADVAL and WRDE_SYNTAX based on when the error
occurred (parsing or execution), not based on whether WRDE_UNDEF was passed.

Also, return WRDE_NOSPACE for a few more unexpected results from sh.
2015-08-19 20:31:03 +00:00
phk
725028ad29 Update sysbuild to new ports infrastructure. 2015-08-18 20:19:48 +00:00
ngie
2e444321eb Reap MK_SYSINSTALL
It's no longer in use in the tree (most likely missed when sade/sysinstall
were removed)

MFC after: 1 week
2015-08-16 09:51:24 +00:00
antoine
9c5a0c6fff Stop removing ELF toolchain tools 2015-08-13 22:04:30 +00:00
emaste
828e784833 Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAIN
The option was added only to ease the transition from GNU Binutils to
ELF Tool Chain tools, and that process is now complete (for the viable
replacements). Noting the removal in UPDATING is sufficient as we have
not shipped a release with the option.

Reviewed by:	brooks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3240
2015-08-13 17:50:47 +00:00
jmmv
e4c5c97bc8 Mark usr/include/c++/v1/tr1 as obsolete
The directory usr/include/c++/v1 was marked as obsolete but its tr1 subdir
was not, resulting in a removal error in delete-old.
2015-08-12 03:03:51 +00:00
adrian
dcacb16d6a Finish reverting r286410 for now. 2015-08-10 06:12:53 +00:00
garga
59430835c2 Add missing files to sendmail obsolete files list
Approved by:	gshapiro
MFC after:	3 days
Sponsored by:	Netgate
Differential Revision:	https://reviews.freebsd.org/D3302
2015-08-08 15:51:29 +00:00
glebius
eb8a90b859 Change KPI of how device drivers that provide wireless connectivity interact
with the net80211 stack.

Historical background: originally wireless devices created an interface,
just like Ethernet devices do. Name of an interface matched the name of
the driver that created. Later, wlan(4) layer was introduced, and the
wlanX interfaces become the actual interface, leaving original ones as
"a parent interface" of wlanX. Kernelwise, the KPI between net80211 layer
and a driver became a mix of methods that pass a pointer to struct ifnet
as identifier and methods that pass pointer to struct ieee80211com. From
user point of view, the parent interface just hangs on in the ifconfig
list, and user can't do anything useful with it.

Now, the struct ifnet goes away. The struct ieee80211com is the only
KPI between a device driver and net80211. Details:

- The struct ieee80211com is embedded into drivers softc.
- Packets are sent via new ic_transmit method, which is very much like
  the previous if_transmit.
- Bringing parent up/down is done via new ic_parent method, which notifies
  driver about any changes: number of wlan(4) interfaces, number of them
  in promisc or allmulti state.
- Device specific ioctls (if any) are received on new ic_ioctl method.
- Packets/errors accounting are done by the stack. In certain cases, when
  driver experiences errors and can not attribute them to any specific
  interface, driver updates ic_oerrors or ic_ierrors counters.

Details on interface configuration with new world order:
- A sequence of commands needed to bring up wireless DOESN"T change.
- /etc/rc.conf parameters DON'T change.
- List of devices that can be used to create wlan(4) interfaces is
  now provided by net.wlan.devices sysctl.

Most drivers in this change were converted by me, except of wpi(4),
that was done by Andriy Voskoboinyk. Big thanks to Kevin Lo for testing
changes to at least 8 drivers. Thanks to Olivier Cochard, gjb@, mmoll@,
op@ and lev@, who also participated in testing. Details here:

https://wiki.freebsd.org/projects/ifnet/net80211

Still, drivers: ndis, wtap, mwl, ipw, bwn, wi, upgt, uath were not
tested. Changes to mwl, ipw, bwn, wi, upgt are trivial and chances
of problems are low. The wtap wasn't compilable even before this change.
But the ndis driver is complex, and it is likely to be broken with this
commit. Help with testing and debugging it is appreciated.

Differential Revision:	D2655, D2740
Sponsored by:	Nginx, Inc.
Sponsored by:	Netflix
2015-08-07 11:43:14 +00:00
emaste
ed3ab640c5 Remove old GNU Binutils tools now provided by ELF Tool Chain
Reviewed by:	bapt, brooks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3238
2015-08-05 18:30:00 +00:00
marcel
3e1c95104e Add an example program (in Python) for the AMD Am79c900 (ILACC)
ethernet controller. The ethernet controller is emulated by VMware
Fusion (for example) and is a good device to demonstrate how to use
the bus space and busdma functions due to its simple programming.

The program sets up the DMA structures, sends a DHCP discover packet,
waits 2 seconds, and iterates over the receive ring for an offer.
2015-08-02 21:24:03 +00:00
marcel
da99969eb7 Rename busdma_sync() to busdma_sync_range() and rename the
base and size parameters to ofs and len (resp). Add a new
busdma_sync() that makes the entire MD coherent.
2015-08-02 01:09:30 +00:00
markj
1ce9c620ee Add a src.conf option to build and install the DTrace test suite.
Reviewed by:	gnn, ngie
Differential Revision:	https://reviews.freebsd.org/D3195
2015-08-02 00:37:33 +00:00
emaste
e338e2a1cf MK_ELFCOPY_AS_OBJCOPY should be a variable
PR:		201978
Submitted by:	O. Hartmann
Differential Revision:	https://reviews.freebsd.org/D2887
2015-07-29 21:41:15 +00:00
emaste
d8c50a7043 Remove mention of non-existent gconv tool
I believe this is a typo of gcov, but gcov is not controlled by
WITHOUT_BINUTILS anyhow.

Sponsored by:	The FreeBSD Foundation
2015-07-29 20:02:20 +00:00
emaste
32e34ac2b5 Allow ELF Tool Chain elfcopy to be installed as objcopy
ELF Tool Chain elfcopy is nearly a drop-in replacement for GNU objcopy,
but does not currently support PE output which is needed for building
x86 UEFI bits.

Add a src.conf knob to allow installing it as objcopy and set it by
default for aarch64 only, where we don't have a native binutils.

Reviewed by:	bapt
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D2887
2015-07-29 18:45:38 +00:00
emaste
4829edcacf Update OLD_FILES for tools provided by ELF Tool Chain or Binutils
Sponsored by:	The FreeBSD Foundation
2015-07-29 18:33:11 +00:00
emaste
9e819fbfd2 Include c++filt and readelf in WITHOUT_ELFTOOLCHAIN_TOOLS 2015-07-29 15:42:22 +00:00
marcel
a1823ab55e Change the dev argument from a full path to just the device
identification (e.g. isa:0x3f0 or pci0:2:1:0). In libbus,
the device is turned into a path name. For bus_space_map(),
the resource is now specified in a second argument.
Before:
	bus.map('/dev/proto/pci0:2:1:0/pcicfg')
	busdma.tag_create('/dev/proto/pci0:2:1:0/busdma', ...)
Now:
	bus.map('pci0:2:1:0', 'pcicfg')
	busdma.tag_create('pci0:2:1:0', ...)
2015-07-26 21:37:31 +00:00
marcel
a0aa8866a7 Remove debugging output. We should have tracing instead. 2015-07-26 16:40:51 +00:00
bapt
58df5d4a52 Replace GNU RCS ident with a BSD license ident
Rationale: ident(1) is useful out of RCS, lot of scripts are using ident(1) and
failing when base is built WITHOUT_RCS.

This version is:
- fully compatible with RCS 5.7 ident.
- fully compatible with RCS 5.9 ident.
- passes all ident test from GNU RCS 5.9 test suite

This version has support for: svn extension for the Keyword id (double colon and
# before last $)

Différences with GNU RCS ident:
- no long options as found in GNU RCS 5.9 (but not commented there).
- '-V' reports nothing but has been added for compatibility.

Differential Revision:	https://reviews.freebsd.org/D3200
Reviewed by:	pfg
2015-07-26 11:21:36 +00:00
ache
51a129b0cf Comment out usr/sbin/mailwrapper removal
because for no mailwrapper case we have:
/usr/sbin/sendmail -> /usr/sbin/mailwrapper
/usr/sbin/mailwrapper -> /usr/libexec/sendmail/sendmail
Add comment explaining it.
2015-07-16 02:08:54 +00:00
brueffer
a356e9eb6b Add a missing break statement, which made the code default to IPv6.
PR:		201285
Submitted by:	David Binderman
MFC after:	1 week
2015-07-14 15:24:50 +00:00
marcel
fac325d351 Implement busdma_md_unload() and busdma_sync().
While here:
1.  have the Python bindings contain constants for the space
    identifiers and the sync operation.
2.  change the segment iterators to return None when done,
    not ENXIO.
2015-07-03 05:47:56 +00:00
marcel
c9fadd2c5d Add busdma_md_create, busdma_md_destroy and busdma_md_load. 2015-07-03 02:06:47 +00:00
oshogbo
55d9527633 Let the nv.h and dnv.h includes be only in sys directory.
Change consumers to include those files from sys.
Add duplicated files to ObsoleteFiles.

Approved by:	pjd (mentor)
2015-07-02 21:58:10 +00:00
np
5b15bda849 cxgbetool: fix code that decodes T5 SGE contexts. Some of the fields
that changed between T4 and T5 were not displayed correctly.

Obtained from:	Chelsio
MFC after:	3 days
Differential Revision:
2015-06-30 22:30:21 +00:00
sjg
ad2d87929d Fix generation of src.conf.5
Since makeman turns all options on, we need to guard somethings from
make(showconfig)
2015-06-22 20:21:57 +00:00
emaste
c79d82d9c0 Report failing value from 'make showconfig' in build option script
Sponsored by:	The FreeBSD Foundation
2015-06-22 17:23:36 +00:00
antoine
4f62f4e8f2 Add more obsolete files 2015-06-20 08:52:44 +00:00
antoine
e3a35ec02b Add some files to remove when MK_BSD_GREP=no 2015-06-20 07:35:02 +00:00
bapt
07553194d6 The build and installation of rmail(8) is only related to the SENDMAIL option 2015-06-18 05:58:15 +00:00
bapt
a4ba910b29 Do not remove mailwrapper(8) in case WITHOUT_SENDMAIL is used
It is required for other tools in base and/or ports like dma(8) or any MTA
available in ports. It is also build and installed anyway even if world is built
WITHOUT_SENDMAIL
2015-06-18 05:54:04 +00:00
sjg
008d7c831f Add META_MODE support.
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
2015-06-13 19:20:56 +00:00
marcel
71bc1e1d8b Free the segment objects properly. 2015-06-12 14:53:56 +00:00
marcel
7e7e822da1 Add accessor functions for iterating over segments. A segment
can be in bus address space, physical memory space or virtual
memory space.
2015-06-11 03:02:40 +00:00
marcel
4559857c8e Rename bus_space to bus (i.e. drop _space). This makes the
API match the convenience macros in <sys/bus.h>. Bus space
can now reference both bus and busdma.
2015-06-10 16:00:09 +00:00
marcel
81fc71b090 Map the allocated DMA memory into the address space. 2015-06-08 22:01:34 +00:00
marcel
440bb64889 Add busdma_mem_alloc & busdma_mem_free. 2015-06-08 03:23:20 +00:00
marcel
9d7393a25c Add DMA tag management to the C library and Python binding. 2015-06-06 16:14:03 +00:00
bapt
d9be45055a Switch to mandoc's version of makewhatis(8), whatis(1), apropos(1) utilities.
This change among other things improve search capabilities over the manpages
allowing fine grain query.

A new build option WITHOUT_MANDOCDB has been added to keep the ancient version
of the database and the tools. The plan is to entirely remove this option before
11.0-RELEASE.

Differential Revision:	https://reviews.freebsd.org/D2603
2015-05-30 17:41:37 +00:00
sjg
65145fa4c8 Merge sync of head 2015-05-27 01:19:58 +00:00