Commit Graph

3189 Commits

Author SHA1 Message Date
ngie
10e2253fbd Expand the tests structure in test_small(..) to workaround the
"initializer not constant" warning with gcc

Approved by: jmmv (mentor)
MFC after: 3 days
Phabric: D744
Sponsored by: EMC / Isilon Storage Division
2014-09-09 22:14:15 +00:00
ngie
d8542f016c Be ANSI-C compliant when defining CX_LIMITED_RANGE #pragma
This mutes warnings with clang

Approved by: rpaulo (mentor)
Reviewed by: das, kargl (both as part of a larger patch)
Phabric: D742
Sponsored by: EMC / Isilon Storage Division
2014-09-09 02:58:58 +00:00
bdrewery
6700790119 Avoid rs(1) hitting LINE_MAX with custom trees that have large dependencies. 2014-09-08 17:01:30 +00:00
se
d359a7b69b Fix debug output that has erroneously been committed with the last update.
Obtained from:	Jan Beich
MFC after:	3 days
2014-09-04 17:19:16 +00:00
jhb
21717664bd Import a hackish tool I use to examine the skew of the TSC across
CPUs in a system.  The tool queries the kernel for its set of CPUs
and compares TSC values on each of the additional CPUs to the first
CPU in turn.  It then outputs a table of simple statistics.
2014-09-03 17:26:46 +00:00
se
cc5e941e71 Final patches to the tools used to convert syscons keymaps for use with
vt.

MFC after:	3 days
2014-09-01 16:26:57 +00:00
jmg
68cdc022fe add scripts for generating a diff from p4...
awkdiff is the script from scottl that he got from ken a long time
ago...  It no longer lives in his home dir, so give it a new home...
This does simple massaging of p4 output to create a useful diff...

The script p4diffbranch will create a diff that includes new and
deleted files unlike the normal diff2 -b command...  So will be useful
for extracting patches from p4...  It does take a changeset that will
be used to diff against...
2014-08-27 18:56:12 +00:00
adrian
3359ac4cc8 Update these to make them actually compile!
Tested:

* cross compilation to MIPS
2014-08-25 06:14:57 +00:00
adrian
eab77b845c Allow it to compile again. 2014-08-25 05:26:48 +00:00
se
ce09a0a5a2 Modify a few output file names as used with vt.
MFC after:	3 days
2014-08-21 20:35:39 +00:00
se
e28f5c3fbc The conversion tools have been further improved and some erroneous
conversions have been detected and fixed.

It is now possible to add options after the encoding in the parameter
list for convert-keymap.pl. This is currently used to selectively
enable interpretation of the ISO8859-1 currency symbol as the Euro
sign found in ISO5589-15, or to add a Yen symbol in place of '\' for
specific Japanese keyboards. The option are appended to the parameter
list, as in e.g. "convert-keymap.pl german.iso.kbd ISO5589-1 EURO".

The options are appended to the encoding in the form "+EURO" or "+YEN"
in KBDFILES.map, to keep the meaning of the columns intact.

MFC after:	3 days
2014-08-20 17:07:41 +00:00
se
c430a5c3c1 Fix further conversion errors found while testing the converted keymaps.
MFC after:	3 days
2014-08-20 07:46:28 +00:00
ian
e72e767782 Don't stop other legs of a parallel build due to a failure in make_check.
The whole point is to see if there's any failure, which is handled by
building a newer version of make.
2014-08-20 00:33:37 +00:00
hselasky
d328b687f0 Add missing WITHOUT_CUSE file. 2014-08-19 15:40:26 +00:00
bdrewery
b619f0c747 Revert r267233 for now. PIE support needs to be reworked.
1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other
   build-only utility libraries.
2. Another 40% is fixed by generating _pic.a variants of various libraries.
3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR)
   where it never would work anyhow, such as csu or loader. This suggests
   there may be better ways of adding support to the tree. Many of these
   cases can be fixed such that -fPIE will work but there is really no
   reason to have it in those cases.
4. Some of the uses are working around hacks done to some Makefiles that are
   really building libraries but have been using bsd.prog.mk because the code
   is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have
   been needed.

We likely do want to enable PIE by default (opt-out) for non-tree consumers
(such as ports). For in-tree though we probably want to only enable PIE
(opt-in) for common attack targets such as remote service daemons and setuid
utilities. This is also a great performance compromise since ASLR is expected
to reduce performance. As such it does not make sense to enable it in all
utilities such as ls(1) that have little benefit to having it enabled.

Reported by:	kib
2014-08-19 15:04:32 +00:00
imp
1f276bc6e6 Add support for -X, which installs the native cross tools for qemu
operations. Doesn't install qemu nor setup the jail, yet.
2014-08-19 03:51:10 +00:00
se
8b955bac57 Minor fixes to convert-keymap.pl (conversion of 8bit characters in the form
'x' with high bit set) and to KBDFILES.map (fix encodings and comment out a
few redundant keymap files).

MFC after:	3 days
2014-08-18 20:55:11 +00:00
se
a9352ae49a Import the tools used to convert the keymap files from SYSCONS (in locale
dependent encoding) to NEWCONS (Unicode).

The file "LANG.map" is used to convert INDEX.keymaps. It has 3 columns:
- the language ID as used in the source file
- the language ID to be used in the generated file (e.g. "iw" -> "he")
- the encoding of the menu texts for this language
The conversion result is written to STDOUT.

The file "KBDFILES.map" is used to batch convert keymap files. It's
columns are:
- the encoding used for the keymap sounce file
- the name of the source file
- the name of the generated file
The output files are created in the TEMP sub-directory of the vt keymap
directory, in order to preserve (possibly uncommitted) keymap files in
/usr/src/share/vt/keymaps.

The convert-keymap.pl script can be directly executed by passing the
source file name and the encoding on the command line. It writes to
STDOUT and generates hex Unicode codepoints by default. (This can be
changed to decimal in the script.)

While written for the one-time conversion of the SYSCONS keymaps into
the format required for NEWCONS, I think these tools may be useful for
easy conversion of possible further SYSCONS keymap files, that have not
been committed to the source tree.
2014-08-18 09:40:19 +00:00
luigi
3ab69a246b Update to the current version of netmap.
Mostly bugfixes or features developed in the past 6 months,
so this is a 10.1 candidate.

Basically no user API changes (some bugfixes in sys/net/netmap_user.h).

In detail:

1. netmap support for virtio-net, including in netmap mode.
  Under bhyve and with a netmap backend [2] we reach over 1Mpps
  with standard APIs (e.g. libpcap), and 5-8 Mpps in netmap mode.

2. (kernel) add support for multiple memory allocators, so we can
  better partition physical and virtual interfaces giving access
  to separate users. The most visible effect is one additional
  argument to the various kernel functions to compute buffer
  addresses. All netmap-supported drivers are affected, but changes
  are mechanical and trivial

3. (kernel) simplify the prototype for *txsync() and *rxsync()
  driver methods. All netmap drivers affected, changes mostly mechanical.

4. add support for netmap-monitor ports. Think of it as a mirroring
  port on a physical switch: a netmap monitor port replicates traffic
  present on the main port. Restrictions apply. Drive carefully.

5. if_lem.c: support for various paravirtualization features,
  experimental and disabled by default.
  Most of these are described in our ANCS'13 paper [1].
  Paravirtualized support in netmap mode is new, and beats the
  numbers in the paper by a large factor (under qemu-kvm,
  we measured gues-host throughput up to 10-12 Mpps).

A lot of refactoring and additional documentation in the files
in sys/dev/netmap, but apart from #2 and #3 above, almost nothing
of this stuff is visible to other kernel parts.

Example programs in tools/tools/netmap have been updated with bugfixes
and to support more of the existing features.

This is meant to go into 10.1 so we plan an MFC before the Aug.22 deadline.

A lot of this code has been contributed by my colleagues at UNIPI,
including Giuseppe Lettieri, Vincenzo Maffione, Stefano Garzarella.

MFC after:	3 days.
2014-08-16 15:00:01 +00:00
ngie
82e14020fd Make the USB and ZFS devd configuration files optional depending on the
values of MK_USB/MK_ZFS

Making zfs.conf optional resolves PR # 186971

PR: 186971
Phabric: D606
Approved by: jmmv (mentor)
Sponsored by: EMC / Isilon Storage Division
2014-08-15 21:35:31 +00:00
imp
055e170112 create_$ARCH_diskimage never really took off. Collapse back down to
just one.
2014-08-14 16:17:30 +00:00
imp
85d1111448 Only install the boot loader if it actually exists. This is a stop-gap
change, since larger changes to use geom more exclusively to create
partitions is in th works.
2014-08-14 16:17:23 +00:00
adrian
a3da4574a5 Make the libbsdstat useful again. 2014-08-13 19:43:22 +00:00
ngie
cba459dcfd Integrate lib/libutil into the build/kyua
Remove the .t wrappers

Rename all of the TAP test applications from test-<test> to
<test>_test to match the convention described in the TestSuite
wiki page

humanize_number_test.c:

- Fix -Wformat warnings with counter variables
- Fix minor style(9) issues:
-- Header sorting
-- Variable declaration alignment/sorting in main(..)
-- Fit the lines in <80 columns
- Fix an off by one index error in the testcase output [*]
- Remove unnecessary `extern char * optarg;` (this is already provided by
  unistd.h)

Phabric: D555
Approved by: jmmv (mentor)
MFC after: 2 weeks
Obtained from: EMC / Isilon Storage Division [*]
Submitted by: Casey Peel <cpeel@isilon.com> [*]
Sponsored by: EMC / Isilon Storage Division
2014-08-13 04:56:27 +00:00
ngie
c904689011 Port date/bin/tests to ATF
Phabric: D545
Approved by: jmmv (mentor)
Submitted by: keramida (earlier version)
MFC after: 2 weeks
Sponsored by: Google, Inc
Sponsored by: EMC / Isilon Storage Division
2014-08-13 04:43:29 +00:00
ngie
45e6755fc1 Convert bin/sh/tests to ATF
The new code uses a "test discovery mechanism" to determine
what tests are available for execution

The test shell can be specified via:

  kyua test -v test_suites.FreeBSD.bin.sh.test_shell=/path/to/test/sh

Sponsored by: EMC / Isilon Storage Division
Approved by: jmmv (mentor)
Reviewed by: jilles (maintainer)
2014-08-13 04:14:50 +00:00
ngie
4e7dbdd0ba Complete the usr.bin/yacc kyua integration work I originally
submitted via r268811

- Install the Kyuafile by adding FILES to FILESGROUPS
- Run the testcases with an unprivileged user

  Some of the testcases depend upon behavior that's broken when
  run as root on FreeBSD because of how permissions are treated
  with access(2) vs eaccess(2), open(2), etc

- Simplify the test driver to just inspect the exit code from
  run_test because it now exits with 0 if successful and exits
  with !0 if unsuccessful
- Don't do ad hoc temporary directory creation/deletion; let Kyua
  handle that
- Add entries for files removed in r268811 to
  OptionalObsoleteFiles.inc

PR: 191020
X-MFC with: r268811
Approved by: jmmv (mentor)
Reviewed by: bapt
Sponsored by: EMC / Isilon Storage Division
2014-08-12 17:51:26 +00:00
adrian
5dd648cc55 Fix paths. 2014-08-10 03:09:35 +00:00
adrian
c44c9f2216 Add more tools to the build. 2014-08-09 18:17:49 +00:00
adrian
aaf7d0bcce Update athpoke/athregs to use the modified register read diagnostic API. 2014-08-09 18:17:16 +00:00
adrian
5f8cdd3258 Fix athdecode to actually work.
* Add AR9287 and AR9331 chipset support - it just uses the AR5416 support
  for now so some of the register mappings are wrong, but it works well
  enough.

* don't call exit() from opmark().
2014-08-06 18:59:39 +00:00
ngie
9513739a47 Integrate lib/libnv into the build/kyua
Rename all of the TAP test applications from <test> to <test>_test
to match the convention described in the TestSuite wiki page

Phabric: D538
Approved by: jmmv (mentor)
Sponsored by: EMC / Isilon Storage Division
2014-08-05 18:41:27 +00:00
ngie
0a9b61e64a Integrate lib/libmp into the build/kyua
- Remove the .t wrapper
- Fix -Wreturn-type warnings with clang

This change has been tested on amd64/i386

Phabric: D530
Reviewed by: jmmv
Approved by: jmmv (co-mentor)
MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division
2014-08-04 22:10:07 +00:00
imp
dc0cab2b25 Sort switch statements. 2014-08-02 05:19:33 +00:00
imp
f2c99b32a2 Sort usage options. 2014-08-02 05:17:59 +00:00
imp
541eac0ace Add a new -K to suppress installing the kernel. Useful for creating
chroots that may never boot (such as build environments), or for
platforms that don't really need the kernel installed into the
filesystem.
2014-08-02 05:16:20 +00:00
imp
e4342e8209 NANO_OBJ shouldn't end with a '/', so remove it here. This makes the
pathnames printed not have the dreaded // which makes it hard to cut
and paste into an emacs find file command...

MFC After: 3 days
2014-08-01 00:00:54 +00:00
imp
9776427d41 Use rm -x only on FreeBSD 10 and newer. Many people still build from
older hosts, which still works, so don't break that gratuitously.

MFC After: 3 days
2014-08-01 00:00:46 +00:00
imp
6ed32776ca Fix a typo in the example script. 2014-07-31 22:32:39 +00:00
np
4cf4c54868 Add a 'raw' parameter to the 'modinfo' subcommand. This is handy when
trying to figure out why a QSFP+/SFP+ connector or cable wasn't
identified correctly by cxgbe(4).  Its output looks like this:

# cxgbetool t5nex0 modinfo 0 raw
00:  03 04 21 00  00 00 00 00  ..!. ....
08:  04 00 00 00  67 00 00 00  .... g...
10:  00 00 05 00  41 6d 70 68  .... Amph
18:  65 6e 6f 6c  20 20 20 20  enol
20:  20 20 20 20  00 41 50 48       .APH
28:  35 37 31 35  34 30 30 30  5715 4000
30:  33 20 20 20  20 20 20 20  3
38:  4b 20 20 20  01 00 00 fa  K    ....
40:  00 00 00 00  41 50 46 31  .... APF1
48:  30 30 34 30  30 33 30 30  0040 0300
50:  30 33 20 20  31 30 30 31  03   1001
58:  33 30 20 20  00 00 00 97  30   ....

MFC after:	3 days
2014-07-26 00:51:45 +00:00
delphij
3e90546cc6 Use the right lengths.
Submitted by:	Sascha Wildner
MFC after:	2 weeks
2014-07-25 20:54:10 +00:00
delphij
8f78a55b3b Use the right length.
Submitted by:	Sascha Wildner
MFC after:	2 weeks
2014-07-25 20:49:59 +00:00
jmmv
4de5b84b65 Fix structure of new tests (r268794) for usr.bin/units.
- Make sure the tests go into the right directory.  The location was
  wrong so they were overwriting the bin/chown tests!
- Use the right naming scheme for the test program.
- Remove the svn:executable property from the shell script.
2014-07-25 01:29:22 +00:00
bapt
27bc18bd36 Fix manpages path and sort entries 2014-07-17 23:30:29 +00:00
bapt
d253fbfec2 Remove texinfo manpages as well if built WITHOUT_INFO 2014-07-17 23:24:33 +00:00
brooks
ea5a037d1f Replace all uses of libncurses and libtermcap with their wide character
variants.  This allows usable file system images (i.e. those with both a
shell and an editor) to be created with only one copy of the curses library.

Exp-run:	antoine
PR:		189842
Discussed with:	bapt
Sponsored by:	DARPA, AFRL
2014-07-17 18:24:34 +00:00
jmmv
672dbdb968 Enable MK_TESTS by default, take 2.
This is a redo of r267424, which was reverted in r267432 because it broke
"make buildworld" from FreeBSD 9.x.  This issue has been resolved and this
change is still "make tinderbox" clean.
2014-07-16 21:40:11 +00:00
pfg
ca9ad8c083 Avoid hardcoding "gcc" in the DTrace tests.
At least one test doesn't work yet without gcc, however gcc is
not always available in base. Using the environment compiler
is more trustable and will also work with an external compiler.

Reviewed by:	markj
MFC after:	3 days
2014-07-11 22:22:08 +00:00
bapt
d6721b3ffc The GNU texinfo and GNU info pages are not built and installed
anymore, WITH_INFO knob has been added to allow to built and install
them again.

Reviewed by:	imp
2014-07-10 15:05:41 +00:00
bapt
e7ca650bbf The GNU readline library is now an INTERNALLIB - that is, it is
statically linked into consumers (GDB and variants) in the base
system, and the shared library is no longer installed.

That also allows ports to be able to use a modern version of readline

PR:		162948
Reviewed by:	emaste
2014-07-09 15:52:30 +00:00