Commit Graph

249061 Commits

Author SHA1 Message Date
chs 7e5aef5d4f in cpu_switchto() and the fast-softint context switch code,
put back the stwcx. instruction to clear the reservation.
we used to have this in the old cpu_switch() until it was
if-0'd in 2003 and removed completely in 2007.
this fixes hangs I've seen where a softint thread is
blocked waiting for a mutex that is not held.
this should also fix PR 44387.
2017-02-28 17:35:29 +00:00
skrll 9f331673de typo 2017-02-28 15:00:32 +00:00
kamil ad0426b8f6 Mark resume1 and syscallemu1 tests broken in t_ptrace_wait*
resume1:
    PR kern/51995 ptrace(2) PT_RESUME is not reliable

syscallemu1:
    PR kern/52012 PT_SYSCALL does not stop on syscall entry

Sponsored by <The NetBSD Foundation>
2017-02-28 13:29:52 +00:00
kamil d2c80310bc Add new test syscallemu1 in t_ptrace_wait*
syscallemu1:
    Verify that exit(2) can be intercepted with PT_SYSCALLEMU

This test is failing as PT_SYSCALL does not stop the process on syscall
entry. This renders PT_SYSCALL broken on NetBSD.

Sponsored by <The NetBSD Foundation>
2017-02-28 13:19:50 +00:00
kamil 08e976c813 Sync TODO.ptrace with reality
Remove entries:
- add new ptrace(2) calls to lock (suspend) and unlock LWP within a process
- switch PT_WATCHPOINT* to PT_*ETDBREGS and document it, add ATF tests
- add ATF tests for PT_SYSCALL and PT_SYSCALLEMU

Sponsored by <The NetBSD Foundation>
2017-02-28 13:10:54 +00:00
knakahara 3fd77047fb fix EITR setting.
+ 82574
      - add EITR setting, that is MSI-X mode interrupt interval
    + 82575
      - fix EITR value. 82575's EITR usage is the same as legacy (not NEWQUEUE)
        controllers
      - apply workaround which 82575's EITR does not have CNT_INGR bit
    + other NEWQUEUE controllers
      - fix interrupt interval field. NEWQUEUE (include 82575) controllers'
        interrupt interval field is 2:14
      - use CNT_INGR bit which avoid to overwrite counter

tested 82574, 82575 and I354.
ok by msaitoh@n.o.
2017-02-28 09:55:47 +00:00
ozaki-r d9193815d7 Add tests that destroy an interface while the mcast program is running 2017-02-28 09:23:23 +00:00
rin d234e84c1f remove unnecessary substitution. no functional changes. 2017-02-28 04:47:41 +00:00
rin 78dbe22116 determine the buffer size by roundup(9) 2017-02-28 04:46:02 +00:00
rin 4785e288b8 Remove PARANOID macro; we should always update secsize if necessary. 2017-02-28 04:39:58 +00:00
ozaki-r 2d60fd0074 Separate the code of joining multicast groups
No functional change.
2017-02-28 04:07:11 +00:00
ozaki-r 9e51ae8639 Add tests for loopback interface 2017-02-28 03:32:11 +00:00
ozaki-r b44b24fe31 Prevent ia6 from being freed in in6_ifinit
It fixes a panic (diagnostic assertion "entry->ple_prevp != NULL" failed)
on:
  ifconfig lo1 create
  ifconfig lo1 127.0.0.2
reported by ryo@
2017-02-28 02:56:49 +00:00
jakllsch aa28e4fbed pi_bsize must be at least pi_secsize
Allows block device accesses to 4KiB logical sector disks to function on the
vast majority of ports with 2KiB BLKDEV_IOSIZE.
2017-02-28 00:33:36 +00:00
nonaka 4627b0f302 Revert "drmkms_pci: use MSI if available."
Fix PR/51997.
2017-02-27 23:52:05 +00:00
mrg ea327b2f41 minor clean ups:
- mark a bunch of local things static
- export an explicit set of functions for audiobell, instead of hooking
  directly into the device callbacks, and avoid non-shared headers for
  the same prototypes
- s/audioprobe/audiomatch/
- use __func__
2017-02-27 23:31:00 +00:00
jdolecek 19e5335352 remote extra pasted line 2017-02-27 21:48:34 +00:00
jdolecek e4b4163df3 Welcome to 7.99.63 - struct ld_softc changes 2017-02-27 21:33:47 +00:00
jdolecek afe4d516fc refactor the ld(4) DIOCCACHESYNC hook into general ioctl hook, so that attachments
would be able to implement arbitrary other ioctls
2017-02-27 21:32:33 +00:00
jdolecek 198ff4069d pass also DIOCGCACHE to underlying device, so that upper layers would be able
to get the device cache properties without knowing the topology; while here also
pass down DIOCGSTRATEGY for neater dkctl(8) output
2017-02-27 21:27:07 +00:00
jdolecek 5ad012e578 pass also DIOCGCACHE to underlying device, so that upper layers would be able
to get device cache properties without knowing the topology
2017-02-27 21:25:45 +00:00
riastradh 32f228f320 Avoid __ffs64(0).
From maya@.
2017-02-27 20:29:00 +00:00
chs 1c75bf6f84 tag the powerpc hackish_return_address() as __noinline. 2017-02-27 20:25:26 +00:00
chs 2fafd8552f check the lower bits of the stack pointer,
not the lower bits of the upper half of the stack pointer.
2017-02-27 20:22:32 +00:00
jakllsch 4ac895f2d5 Flesh out missing functions. Get IO space and interrupts working.
Successfully tested with RTL8029 ne(4)@pci(4).
2017-02-27 18:30:42 +00:00
riastradh b7c3ac0d8d Avoid __ffs64(0). 2017-02-27 18:28:39 +00:00
christos 5fa0ec317f fix printf formats (clang build) 2017-02-27 16:16:23 +00:00
rin 2d8149950d If lp->d_secsize is updated, we need to reallocate the buffer.
Thanks mlelstv for his comment on port-amiga.
2017-02-27 15:59:36 +00:00
msaitoh c4c039fc04 Decode AGP capability. 2017-02-27 14:13:56 +00:00
skrll a3e10f0d5d Attach the usb2 bus - missed in merge from nick-nhusb 2017-02-27 12:38:00 +00:00
nat ac2aae0ed2 Audio passes the atf test again. 2017-02-27 10:31:02 +00:00
knakahara 3f6ac110c5 fix Tx queue assignment when the number of H/W queues is less than ncpu. 2017-02-27 09:27:27 +00:00
ozaki-r 5ca786c5d4 Make CARP on IPv6 work
It passes ATF tests but no more, no less.
2017-02-27 08:26:53 +00:00
ozaki-r 0dff263b68 Test handovers on interface down as well as server halt 2017-02-27 07:25:59 +00:00
ozaki-r d547401b55 Add a test case for CARP on IPv6
The test case fails expectedly because the implementation of CARP on IPv6
is incomplete yet.
2017-02-27 07:24:26 +00:00
chs 4be80cf347 add glint driver debuginfo file. 2017-02-27 07:11:06 +00:00
chs 3981b81a81 in mips_emul_fp(), clear all pending FP exceptions rather than
just a particular one, otherwise the kernel can take another
FPU trap when it writes back the new FCSR value.
discovered via the fesetround() bug that wrote garbage to the FCSR.
2017-02-27 06:57:45 +00:00
chs ec9b26b999 fix fesetround() to set the FPSR to the desired value rather than
a pointer to a local variable.  wrap the asm in inline functions so that
the compiler can do type checking for us.
2017-02-27 06:57:16 +00:00
chs b941944b2f the second operand to cfc1/ctc1 isn't an FPU data register
so don't make it look like one.
2017-02-27 06:56:32 +00:00
chs d6f246d91d the FP_* rounding constants need to be different from the new FE_* constants
to preserve the ABI, so shift them as needed when using them.
2017-02-27 06:56:03 +00:00
chs 55470246b3 fix asm operands: "ctc1" uses the register as an input, not an output. 2017-02-27 06:55:26 +00:00
chs 1e728605f2 update the FE0/FE1 MSR bits as needed when changing the exception mask. 2017-02-27 06:54:42 +00:00
chs ae1038858d have fpsetmask() change the FE0/FE1 MSR bits to precise mode if any
FP exceptions are enabled.  fix the kernel emulation of mfmsr and mtmsr
to use the correct opcodes for these instructions.  ignore PSL_FE
(the FP enable bit) in the MSR that a user program tries to set,
since it will naturally be set for FP-using processes but
we can't let the user process manage that bit.
2017-02-27 06:54:00 +00:00
chs c8d8629705 the FP_* exception constants need to be different from the new FE_* constants
to preserve the ABI, so shift them as needed when using them.
2017-02-27 06:51:46 +00:00
chs 795e693cbb fix the build of this kernel config by adding the omapscm driver.
turn on options for dtrace, turn off USB debugging.
2017-02-27 06:50:15 +00:00
chs a3f976c753 the MI lrint() code assumes that rounding is done in at most double precision
but m68k (68881) uses extended precision by default, so put the FPU in
double-precision mode temporarily here.
2017-02-27 06:49:02 +00:00
chs eaec5cdc60 the FP_* constants need to be different from the new FE_* constants
to preserve the ABI, so shift them as needed when using them.
2017-02-27 06:47:58 +00:00
chs e3667956d3 use FPCR instead of FPSR to manipulate the exception mask. 2017-02-27 06:47:30 +00:00
chs 44b9f41144 apply changes equivalent to freebsd r256822, r267759 and r298171:
fix the dtrace "args" variable to return correct values.
simplify the invop handlers a bit by changing the second argument
from a pointer into the stack to a pointer to the trapframe.
2017-02-27 06:46:59 +00:00
ozaki-r cd58b07d6c Fix the default value of rltime
According to rtadvd.conf(5), the default value of rltime is 1800 seconds.

PR bin/51994
2017-02-27 05:41:36 +00:00