1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
Commit Graph

188355 Commits

Author SHA1 Message Date
Bryan Venteicher
e557c1dd90 Add Tx/Rx multiqueue support to vmx(4)
As a prerequisite for multiple queues, the guest must have MSIX enabled.
Unfortunately, to work around device passthrough bugs, FreeBSD disables
MSIX when running as a VMWare guest due to the hw.pci.honor_msi_blacklist
tunable; this tunable must be disabled for multiple queues.

Also included is various minor changes from the projects/vmxnet branch.

MFC after:	1 month
2014-03-17 05:45:29 +00:00
Marcel Moolenaar
47c6266afd In intr_event_handle() we already save and set td_intr_frame, so
don't do it also in ia64_handle_intr(). With ia64_handle_intr()
not saving and setting td_intr_frame, make sure to do it for
timer interrupts in ia64_ih_hardclock().
2014-03-17 04:38:10 +00:00
Marcel Moolenaar
c8afe4038e Move the implementation of kdb_cpu_trap() from <machine/kdb.h> to
machdep.c. This makes it easier to add conditional code based on
options.
2014-03-16 22:56:22 +00:00
Marcel Moolenaar
2b567b38b4 Don't use the ITC as the faulting address for external interrupts.
We only use it for tracing and the KTR infrastructure will use ITC
for the time-stamp.
2014-03-16 21:57:05 +00:00
Robert Watson
72ab4bfd09 Fix a comment in capability.h: it got renamed to capsicum.h, not
capability.h.

MFC after:	3 weeks
Spotted by:	alc, mcdouga9 at egr.msu.edu, thompsa
2014-03-16 21:05:00 +00:00
Ian Lepore
0a3c453277 Use armv7 TLB flush code, not arm11, for cortex-a processors.
The armv7 architecture uses a unified TLB model for maintenence ops even
if separate instruction and data TLBs are implemented in hardware.  That
means that there's no distinction between the 'I' and 'D' flavors of flush,
they all use the same 'ID' implementation.  On the other hand, there is a
difference between SMP and UP on armv7, but not on arm11, so use the armv7
routines for cortex-a processors.
2014-03-16 20:39:39 +00:00
Ian Lepore
312c48ff18 Use the same terminology as the ARM docs in comments. No functional changes. 2014-03-16 20:34:45 +00:00
Antoine Brodin
1e154d409d Add more obsolete files 2014-03-16 20:31:05 +00:00
Marcel Moolenaar
f32ac833eb In intr_event_handle() we already save and set td_intr_frame, so
don't do it also in ia64_handle_intr(). With ia64_handle_intr()
not saving and setting td_intr_frame, make sure to do it for
clock interrupts in ia64_ih_clock().
2014-03-16 20:21:40 +00:00
Warner Losh
6a5b1a3544 Align all comments in config files on same column. This consistency
helps when bits and pieces of GENERIC from i386 or amd64 are cut and
pasted into other architecture's config files (which in the case of
ARM had gotten rather akimbo).
2014-03-16 15:22:52 +00:00
Warner Losh
2299abfac5 Make all the comments '# ' and align to same column. This fixes the
rampently incosnsitent usage which made cut and paste from one file
to another look ugly.
2014-03-16 15:22:46 +00:00
Jilles Tjoelker
cf599562fa find: When performing -quit, finish pending -exec ... + command lines.
This avoids unexpected partial processing when a find command uses both
-quit and -exec ... +.

GNU find does the same.

MFC after:	1 week
2014-03-16 14:42:58 +00:00
Andrew Turner
9b2d210438 Remove an extra 1 in an #if line
Reported by:	ian@
2014-03-16 14:21:09 +00:00
Andrew Turner
aac3f7c724 Fix the spelling of function.
Reported by:	ian@
2014-03-16 14:19:46 +00:00
Jilles Tjoelker
a4986e9aea Fix statically-linked build (WITHOUT_DYNAMICROOT). 2014-03-16 13:43:06 +00:00
Andrew Turner
a06918a349 Add an optimised version of the float and double helper functions. These
are only used on armv6 when the vfp unit is detected. They will also be
available for the upcoming armv6hf platform, however while not used by
default there will need to be defined for any software that calls them
directly.
2014-03-16 13:16:30 +00:00
Tycho Nightingale
7292923b49 Though there currently isn't a way to insert new media into an ATAPI
drive, at least pretend to support Asynchronous Notification (AN) to
avoid a guest needlessly polling for it.

Approved by:	grehan (co-mentor)
2014-03-16 12:33:40 +00:00
Michael Tuexen
ff1ffd7499 * Provide information in error causes in ASCII instead of
proprietary binary format.
* Add support for a diagnostic information error cause.
  The code is sysctlable and the default is 0, which
  means it is not sent.

This is joint work with rrs@.

MFC after: 1 week
2014-03-16 12:32:16 +00:00
Tycho Nightingale
113d84c11d Support the bootloader's single 16-bit 'outw' access to the Divisor
Latch MSB and LSB registers.

Approved by:	neel (co-mentor)
2014-03-16 12:31:28 +00:00
Robert Watson
6fcf98a095 Bump __FreeBSD_version to reflect capability.h -> capsicum.h change.
MFC after:	3 weeks
2014-03-16 11:06:05 +00:00
Robert Watson
b881b8be1d Update most userspace consumers of capability.h to use capsicum.h instead.
auditdistd is not updated as I will make the change upstream and then do a
vendor import sometime in the next week or two.

MFC after:	3 weeks
2014-03-16 11:04:44 +00:00
Robert Watson
4a14441044 Update kernel inclusions of capability.h to use capsicum.h instead; some
further refinement is required as some device drivers intended to be
portable over FreeBSD versions rely on __FreeBSD_version to decide whether
to include capability.h.

MFC after:	3 weeks
2014-03-16 10:55:57 +00:00
Robert Watson
b1f78b60bf Rename capability.h to capsicum.h: the original name conflicts with the
draft POSIX.1e capability.h used on some systems (e.g., Linux).  On
FreeBSD, leave a wrapper header so that current code continues to compile.

We will eventually want to deprecate the old header as the presence of a
capability.h may be confusing some configure scripts.

Suggested by:	David Drysdale <drysdale at google.com>
Discussed on:	cl-capsicum-discuss
MFC after:	3 weeks
2014-03-16 10:49:16 +00:00
Andrew Turner
8b35d5ac4c Only build the vfp/softfp switching code on armv6 as we don't support vfp
on anything earlier than this. This should fix the armeb and arm builds
when using gcc.
2014-03-16 09:40:05 +00:00
Andrew Turner
4f35216187 Build fenv-vfp.c with the softfp float abi. Without this gcc generates an
incorrect assembly file that doesn't allow for vfp instructions.
2014-03-16 09:38:43 +00:00
Adrian Chadd
7afd1d0205 The AR71xx has APB interrupts in the MISC registers from 0-7, later
chips have more.

So for now, let's allow more.  We should teach the apb code to just
reject interrupts that lie outside what the chip can do at runtime.
2014-03-16 08:39:46 +00:00
Adrian Chadd
e581852dd5 * Handle the three other timer interrupts for now, from the AR724x
later.  If the interrupts are ACKed even if they're not masked, we get
  the interrupts again later.  Grr.

* The AR724x and later chips want the interrupt bits cleared by writing the
  relevant bit to it, NOT by writing all but the current interrupt to it.

Tested:

* AR9344, DB120 reference board

TODO:

* Test ar724x and later chips to ensure no regressions have occured.
2014-03-16 08:38:31 +00:00
Julio Merino
3a92d97ff0 Migrate most of tools/regression/usr.bin/ to the new tests layout.
I'm starting with the easy cases.  The leftovers need to be looked at a
bit more closely.

Note that this change _does_ modify the code of the old tests.  This is
required in order to allow the code to locate the data files in the
source directory instead of the current directory, because Kyua
automatically changes the latter to a temporary directory.

Also note that at least one test is known to be broken here.  Actually,
the test is not really broken: it's marked as a TODO but unfortunately
Kyua's TAP parser currently does not understand that.  Will have to be
fixed separately.
2014-03-16 08:04:06 +00:00
Julio Merino
d14afb2adc Migrate tools/regression/{usr.bin/lastcomm,usr.sbin}/ to the new tests layout.
This change was originally going to only migrate the usr.sbin tests but, as
it turns out, the usr.sbin/sa/ tests require files from usr.bin/lastcomm/
so it's better to just also migrate the latter at the same time.  The other
usr.bin tests will be moved separately.

To make these tests work within the test suite, some of them have required
changes to prevent modifying the source directory and instead just rely on
the current directory for file manipulation.
2014-03-16 04:09:22 +00:00
Adrian Chadd
e93e413461 Handle the case where both arge0 and arge1 MAC addresses are available via
'eeprommac'.

The existing driver would just make arge units past 0 take the primary
MAC and increment it by the unit number, without correct address wrapping.
That has to be fixed at a later date.

Tested:

* Atheros DB120 reference obard
2014-03-16 02:41:47 +00:00
Adrian Chadd
83e19d0588 * Add ethernet MAC configuration from the EEPROM for arge0/arge1
* The AR9344 switch has 5 ports in use, not four.

Tested:

* DB120 reference board
2014-03-16 02:34:33 +00:00
Julio Merino
1110970b4c Add Makefile missed in r263220. 2014-03-16 02:32:44 +00:00
Julio Merino
5bc38acbf6 Change etcupdate tests to return 1 on test failures.
This is a prerequisite for hooking these tests into the test suite.  And,
fortunately, all tests seem to pass!
2014-03-16 02:27:27 +00:00
Julio Merino
c68de7484a Migrate tools/regression/sbin/ to the new tests layout.
Pretty much all that this change does is shuffles the code around and hooks
it into the regular build.  The code of the old tests has not changed.
2014-03-16 02:07:08 +00:00
John-Mark Gurney
f225bcd157 I clearly didn't test the modules... add sha256c.c to the various
modules that included sha2.c...
2014-03-16 01:55:30 +00:00
John-Mark Gurney
8083f14fc2 replace the kernel's version w/ cperciva's implementation... In all
my tests, it is faster ~20%, even on an old IXP425 533MHz it is ~45%
faster...  This is partly due to loop unrolling, so the code size does
significantly increase...  I do plan on committing a version that
rolls up the loops again for smaller code size for embedded systems
where size is more important than absolute performance (it'll save ~6k
code)...

The kernel implementation is now shared w/ userland's libcrypt and
libmd...

We drop support for sha256 from sha2.c, so now sha2.c only contains
sha384 and sha512...

Reviewed by:	secteam@
2014-03-16 01:43:23 +00:00
Julio Merino
4692f5ba26 Document support for TAP-compliant Perl test programs. 2014-03-16 01:22:23 +00:00
John-Mark Gurney
0d7f18cddc Xref pthread_cancel...
bump Dd, _exit was still dated 1996!  yes, it has been modified a few
times since then...

MFC after:	1 week
2014-03-16 01:17:09 +00:00
John-Mark Gurney
97447ea423 copy these files from lib/libmd in preperation for moving these files
into the kernel...
2014-03-16 00:57:26 +00:00
John-Mark Gurney
6f2b769cac change td_retval into a union w/ off_t, with defines to mask the
change...  This eliminates a cast, and also forces td_retval
(often 2 32-bit registers) to be aligned so that off_t's can be
stored there on arches with strict alignment requirements like
armeb (AVILA)...  On i386, this doesn't change alignment, and on
amd64 it doesn't either, as register_t is already 64bits...

This will also prevent future breakage due to people adding additional
fields to the struct...

This gets AVILA booting a bit farther...

Reviewed by:	bde
2014-03-16 00:53:40 +00:00
Tycho Nightingale
0775fbb475 Fix a race wherein the source of an interrupt vector is wrongly
attributed if an ExtINT arrives during interrupt injection.

Also, fix a spurious interrupt if the PIC tries to raise an interrupt
before the outstanding one is accepted.

Finally, improve the PIC interrupt latency when another interrupt is
raised immediately after the outstanding one is accepted by creating a
vmexit rather than waiting for one to occur by happenstance.

Approved by:	neel (co-mentor)
2014-03-15 23:09:34 +00:00
Andrew Turner
bb6c193ec7 On armv6 access both the softfloat and, when available, the vfp to get and
set the floating-point environment.
2014-03-15 21:58:07 +00:00
Warner Losh
2d84578fc4 Fix wandboard to include tmpfs, mbr and bsd labels.
PR: 187606
Submitted by: Takanori Sawada
2014-03-15 16:59:57 +00:00
Jilles Tjoelker
7696168706 sh: Allow kill %job on jobs started without job control.
When killing a %job started without job control, kill all processes in it.
As with process groups and zombies, if any process in the job can be killed
or has already terminated, the command is successful.

This also fixes occasional failures of the builtins/kill1.0 test.
2014-03-15 14:58:48 +00:00
Julio Merino
a5bf6b6d21 Add some documentation for bsd.test.mk. 2014-03-15 09:27:59 +00:00
Gleb Smirnoff
66dcee729c Garbage collect long time obsoleted (or never used) stuff from routing API. 2014-03-15 06:49:32 +00:00
Eitan Adler
71ac3e321e Be a little more verbose in service's error message
PR:		bin/187118
Submitted by:	culot
2014-03-15 02:26:46 +00:00
Eitan Adler
fdfda3af49 Use the system queue.h instead of bundling its own.
PR:		bin/187067
Submitted by:	lulf
2014-03-15 01:20:42 +00:00
Robert Watson
3dbe595b2d Revert a small portion of r263198 left over from local testing: don't
enable PCB groups and RSS by default [yet].
2014-03-15 00:59:23 +00:00
Warner Losh
dbb83b6af0 Fix cut-and-paste error message. 2014-03-15 00:58:08 +00:00