Commit Graph

181212 Commits

Author SHA1 Message Date
rwatson
bb5e5ce48a Update some stale comments regarding tcbinfo locking in the TCP input
path: read locks on tcbinfo are no longer used, so won't happen.  No
functional change.

MFC after:	3 days
2012-07-22 17:31:36 +00:00
kevlo
e2ca2cfba2 Use NULL instead of 0 for pointers 2012-07-22 15:40:31 +00:00
kib
6253150288 Cosmetics: define FREEBSD32_MINUSER and AOUT32_MINUSER for struct
sysentvec .sv_minuser. Also improve style.

Submitted by:	Oliver Pinter <oliver.pinter@gmail.com>
MFC after:	1 week
2012-07-22 13:41:45 +00:00
kib
85d13cee2c MFCamd64 r238598:
Provide siginfo.si_code for floating point errors when error occurs
using the SSE math processor.

MFC after:    3 weeks
2012-07-21 21:52:48 +00:00
kib
7925edc16e MFamd64 r238668:
Stop clearing x87 exceptions in the #MF handler.

Requested by:	bde
MFC after:	1 week
2012-07-21 21:49:05 +00:00
kib
6f4572bd6d MFamd64 r238597:
Add stmxcsr.

MFC after:	3 weeks
2012-07-21 21:39:23 +00:00
kib
02cd44f6d4 MFamd64 r238669:
Force clean FPU state in PCB user FPU save area for PT_I386_{GET,SET}XMMREGS.

Reported by:	bde
MFC after:	1 week
2012-07-21 21:39:02 +00:00
mav
5793dc9994 Use 16bit PIO instead of 32bit in case of misaligned buffer.
It fixes kernel panic during CD write with cdrecord on sparc64.
2012-07-21 14:59:43 +00:00
glebius
5de7327362 Fix typo in comment, should be MHz here.
Submitted by:	Daan Vreeken <Daan vitsch.nl>
2012-07-21 14:07:43 +00:00
kib
bff2a9c29d Constently use 2-space sentence breaks.
Submitted by:	 bde
MFC after:	 1 week
2012-07-21 13:53:00 +00:00
kib
8175cd6cd3 Stop caching curpcb in the local variable.
Requested by:	    bde
MFC after:	    1 week
2012-07-21 13:47:37 +00:00
kib
125bff5612 The PT_I386_{GET,SET}XMMREGS and PT_{GET,SET}XSTATE operate on the
stopped threads. Implementation assumes that the thread's FPU context
is spilled into the PCB due to stop. This is mostly true, except when
FPU state for the thread is not initialized. Then the requests operate
on the garbage state which is currently left in the PCB, causing
confusion.

The situation is indeed observed after a signal delivery and before
#NM fault on execution of any FPU instruction in the signal handler,
since sendsig(9) drops FPU state for current thread, clearing
PCB_FPUINITDONE. When inspecting context state for the signal handler,
debugger sees the FPU state of the main program context instead of the
clear state supposed to be provided to handler.

Fix this by forcing clean FPU state in PCB user FPU save area by
performing getfpuregs(9) before accessing user FPU save area in
ptrace_machdep.c.

Note: this change will be merged to i386 kernel as well, where it is
much more important, since e.g. gdb on i386 uses PT_I386_GETXMMREGS to
inspect FPU context on CPUs that support SSE. Amd64 version of gdb
uses PT_GETFPREGS to inspect both 64 and 32 bit processes, which does
not exhibit the bug.

Reported by:	bde
MFC after:	1 week
2012-07-21 13:06:37 +00:00
kib
3584ef8115 Stop clearing x87 exceptions in the #MF handler on amd64. If user code
understands FPU hardware enough to catch SIGFPE and unmask exceptions
in control word, then it may as well properly handle return from
SIGFPE without causing an infinite loop of #MF exceptions due to
faulting instruction restart, when needed.

Clearing exceptions causes information loss for handlers which do
understand FPU hardware, and struct siginfo si_code member cannot be
considered adequate replacement for en_sw content due to translation.

Supposed reason for clearing the exceptions, which is IRQ13 handling
oddities, were never applicable to amd64.

Note: this change will be merged to i386 kernel as well, since we do
not support IRQ13 delivery of #MF notifications for some time.

Requested by:	bde
MFC after:	1 week
2012-07-21 13:05:34 +00:00
kib
e04825c920 (Incomplete) fixes for symbols visibility issues and style in fcntl.h.
Append '__' prefix to the tag of struct oflock, and put it under BSD
namespace. Structure is needed both by libc and kernel, thus cannot be
hidden under #ifdef _KERNEL.

Move a set of non-standard F_* and O_* constants into BSD namespace.
SUSv4 explicitely allows implemenation to pollute F_* and O_* names
after fcntl.h is included, but it costs us nothing to adhere
to the specification if exact POSIX compliance level is requested by
user code.

Change some spaces after #define to tabs.

Noted by and discussed with:	     bde
MFC after:   1 week
2012-07-21 13:02:11 +00:00
mav
7ed4ca8337 Fix typo in bzero length argument during sense fetching.
For me it at least fixed CD burning in PIO mode.

MFC after:	3 days
2012-07-21 08:19:43 +00:00
gnn
def7cb61de Remove copy/pasteo in the copyright notice. 2012-07-21 07:14:52 +00:00
gnn
4a93db7b12 Add a new script, hotopen, which shows what uid is opening files
on a per second basis.  While here clean up the Makefile as well.

MFC after:	1 week
2012-07-20 23:56:23 +00:00
trasz
b5f0adea7e Make it possible to resize opened partitions.
Sponsored by:	FreeBSD Foundation
2012-07-20 17:51:20 +00:00
trasz
d3f835fa9f Make ZVOL resizing ('zfs set volsize') properly resize the GEOM provider.
Sponsored by:	FreeBSD Foundation
2012-07-20 16:56:34 +00:00
jh
c64014573d Use proper error message when fstat(2) fails on stdout.
PR:		bin/159746
Submitted by:	Alex K.
2012-07-20 08:33:23 +00:00
jh
0fdc094d92 style(9). 2012-07-20 08:31:36 +00:00
adrian
555bfe85d8 Add a needed #include due to my recent change. 2012-07-20 07:49:26 +00:00
adrian
64ddb429bd Add missing SRCS. 2012-07-20 07:38:11 +00:00
adrian
a42011453b Add the new athratestats tool. 2012-07-20 07:17:24 +00:00
adrian
1303e3bf5c Tidy things up substantially:
* remove some debugging;
* introduce command line arguments;
* introduce support for non-ath0 interfaces.
2012-07-20 06:11:26 +00:00
davidxu
95c021b95c Don't forget to initialize return value. 2012-07-20 05:47:12 +00:00
davidxu
6177317482 Simplify code by replacing _thr_ref_add() with _thr_find_thread(). 2012-07-20 03:37:19 +00:00
davidxu
298769009d Eliminate duplicated code. 2012-07-20 03:27:07 +00:00
davidxu
4583d3fdda Don't assign same value. 2012-07-20 03:22:17 +00:00
davidxu
8673cbd477 Eliminate duplicated code. 2012-07-20 03:16:52 +00:00
davidxu
4bd927cee6 Eliminate duplicated code. 2012-07-20 03:00:41 +00:00
adrian
a343cd6779 Use the rate control table to display the rate rather than the rix,
making the output of this program much more meaningful.
2012-07-20 02:18:47 +00:00
adrian
0ca2458360 Introduce a rate table TLV so rate table statistics consumers
know how to map rix -> rate code.
2012-07-20 02:17:48 +00:00
davidxu
b941de51c7 Don't forget to release a thread reference count,
replace _thr_ref_add() with _thr_find_thread(),
so reference count is no longer needed.

MFC after:	3 days
2012-07-20 01:56:14 +00:00
adrian
4939a38c3f Bump this up to match what the HAL is at now. 2012-07-20 01:41:18 +00:00
adrian
6618076433 Implement a first cut of the 'sample' rate statistics userland utility.
This outputs almost exactly the same information as the kernel sysctl does,
however the rix -> rate mapping isn't yet available as a TLV.
2012-07-20 01:38:03 +00:00
adrian
ff4507cc5c Enable the basic node-based rate control statistics via an ioctl(). 2012-07-20 01:36:46 +00:00
adrian
233485e7d2 Add a per-node rate control routine for each rate control module.
For now, the only module implement is 'sample', and that's only partially
implemented.  The main issue here with reusing this structure in userland
is that it uses 'rix' everywhere, which requires the userland code to
have access to the current HAL rate table.

For now, this is a very large work in progress.

Specific details:

* The rate control information is per-node at the moment and wrapped
  in a TLV, to ease parsing and backwards compatibility.
* .. but so I can be slack for now, the userland statistics are just
  a copy of the kernel-land sample node state.
* However, for now use a temporary copy and change the rix entries
  to dot11rate entries to make it slightly easier to eyeball.

Problems:

* The actual rate information table is unfortunately indexed by rix
  and it doesn't contain a rate code.  So the userland side of this
  currently has no way to extract out a mapping.

TODO:

* Add a TLV payload to dump out the rate control table mapping so
  'rix' can be turned into a dot11 / MCS rate.
* .. then remove the temporary copy.
2012-07-20 01:36:02 +00:00
adrian
bfcf6a8af8 Create an ioctl API for fetching the current rate control information. 2012-07-20 01:27:20 +00:00
delphij
7750b248b6 Import an updated version of moduli(5) manual page from OpenBSD.
MFC after:	1 month
2012-07-20 01:11:53 +00:00
adrian
be9f867582 Prepare for (re)using this header file in userland.
Remove the inlined code from the header file if it's compiled in userland.
It's not required and it shouldn't be there in the first place.
2012-07-20 00:47:23 +00:00
dteske
d1faaa7352 Revert SVN r238628 (mistake). 2012-07-19 22:41:00 +00:00
dteske
4bb1ba4c99 Fix syntax errors (s/:=/:-/).
Reviewed by:	emaste (mentor)
Approved by:	emaste (mentor)
MFC after:	3 days
2012-07-19 22:33:13 +00:00
kib
44af867a12 Remove line which was accidentally kept in r238614.
Submitted by:	pjd
Pointy hat to:	kib
MFC after:	1 week
2012-07-19 20:38:03 +00:00
pfg
e1a4ff2fce Merge more cosmetical changes from NetBSD's libedit.
makelist:
change tr '[a-z]' '[A-Z]' to tr '[:lower:]' '[:upper:]' so that POSIX
systems work proerly regardsless of environment variable settings.

tokenizer.c:
pass lint on _LP64

Obtained from:	NetBSD
MFC after:	2 weeks
2012-07-19 19:15:47 +00:00
kib
ebf0cf4fd1 Introduce curpcb magic variable, similar to curthread, which is MD
amd64.  It is implemented as __pure2 inline with non-volatile asm read
from pcpu, which allows a compiler to cache its results.

Convert most PCPU_GET(pcb) and curthread->td_pcb accesses into curpcb.

Note that __curthread() uses magic value 0 as an offsetof(struct pcpu,
pc_curthread). It seems to be done this way due to machine/pcpu.h
needs to be processed before sys/pcpu.h, because machine/pcpu.h
contributes machine-depended fields to the struct pcpu definition. As
result, machine/pcpu.h cannot use struct pcpu yet.

The __curpcb() also uses a magic constant instead of offsetof(struct
pcpu, pc_curpcb) for the same reason. The constants are now defined as
symbols and CTASSERTs are added to ensure that future KBI changes do
not break the code.

Requested and reviewed by: bde
MFC after:    3 weeks
2012-07-19 19:09:12 +00:00
emax
223e24232e Allow to specify no source-address-selection policy
MFC after:	1 week
2012-07-19 15:36:36 +00:00
marius
4594375cbb Revert the use of BUS_DMA_ALLOCNOW when creating the DMA tag for user
data introduced in r236061. Using that flag doesn't make that much
sense on this case as the DMA maps using it are also created during
sym_pci_attach(). Moreover, due to the maxsegsz parameter used, doing
so may exhaust the bounce pages pool on architectures requiring
bounce pages. [1]
While at it, use a slightly more appropriate maxsegsz parameter.

PR:		169526
Submitted by:	Mike Watters [1]
MFC after:	3 days
2012-07-19 14:43:46 +00:00
joerg
900c50d55c Add share/examples/libusb20 to the list of directories. 2012-07-19 11:18:41 +00:00
kib
76522f4cab Fix several reads beyond the mapped first page of the binary in the
ELF parser. Specifically, do not allow note reader and interpreter
path comparision in the brandelf code to read past end of the page.
This may happen if specially crafter ELF image is activated.

Submitted by:	Lukasz Wojcik <lukasz.wojcik zoho com>
MFC after:	3 days
2012-07-19 11:15:53 +00:00