Commit Graph

131384 Commits

Author SHA1 Message Date
pooka f3167874d4 Disable PR kern/51135 hack now that the problem is supposedly
fixed (to see if tests pass).
2016-05-30 14:52:06 +00:00
chs bb2ba5a5a7 allocate cpuset structures needed by MP DDB. 2016-05-30 13:04:24 +00:00
martin 5fc637a54d David Binderman in PR kern/51189: simplify loop conditions 2016-05-30 11:24:40 +00:00
martin cc645bf7b4 David Binderman in PR port-sparc/51188: simplify while condition 2016-05-30 10:37:14 +00:00
alnsn c5f5595419 Reduce diff with mainstream.
In the new sljt version, ppc_cache_flush() is guarded by
SLJIT_CACHE_FLUSH_OWN_IMPL. We can keep is as long as we
don't define SLJIT_CACHE_FLUSH_OWN_IMPL.
2016-05-30 09:34:39 +00:00
nakayama 0350baf089 Adapt to new sljit. 2016-05-30 09:05:32 +00:00
nonaka ae2737a4e4 regen 2016-05-30 04:18:20 +00:00
nonaka 224b451a1a Added some Intel wireless devices from OpenBSD. 2016-05-30 04:17:30 +00:00
knakahara f99c3d3768 fix r1.409 mistake 2016-05-30 03:54:12 +00:00
dholland 9f2b1defb5 further whitespace 2016-05-30 03:02:58 +00:00
dholland 964a5c8e1a KNF 2016-05-30 02:57:32 +00:00
dholland c72886c629 Reindent. 2016-05-30 02:41:39 +00:00
dholland cb81c2dd6a PR 51185 David Binderman: simplify redundant conditional 2016-05-30 02:36:37 +00:00
dholland fb16143a2d PR 51184 David Binderman: simplify redundant conditional 2016-05-30 02:33:49 +00:00
dholland 626c0685a4 PR 51183 David Binderman: simplify redundant conditional 2016-05-30 02:32:19 +00:00
dholland 4455a1148f PR 51182 David Binderman: fix redundant conditional 2016-05-30 02:30:20 +00:00
alnsn b8b2eedc8e Update version in the comment too. 2016-05-29 18:22:30 +00:00
alnsn 03d5d13b4f Version bump after sljit import.
New version of sljit is not binary compatible with the previous
version.
2016-05-29 18:15:05 +00:00
alnsn 09fd3c9df6 Update sljit revision to r313 after the import. 2016-05-29 17:56:20 +00:00
alnsn 44dbc048e9 Adapt to the new version of sljit@r313. 2016-05-29 17:20:22 +00:00
alnsn 4451ac5dba Alloc/free macros in the new sljit version take two arguments. 2016-05-29 17:19:01 +00:00
alnsn 981ceeea45 Fix a pilot error in the manual conflict handling.. 2016-05-29 17:17:48 +00:00
alnsn 998ce230f5 Resolve conflicts. 2016-05-29 17:09:33 +00:00
bouyer 55f57916be Switch to elf notes for amd64 instead of the old key=value list to describe the
guest requirements and support.
Add infrastructure to query the hypervisor about features support.
For verbose boot, print the features suppoted by the hypervisor for this
  guest.
2016-05-29 17:06:17 +00:00
alnsn 99e10043c2 Import sljit version r313.
Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
2016-05-29 17:00:35 +00:00
mlelstv 996d520880 Several improvements to the ISCSI driver.
- Enable debug messages but set log level to be quiet. Provide a
  system (hw.iscsi.debug) to set the log level at run time.
- Replace old tsleep/wakeup synchronization with mutexes and condvars.
- Defer actions from callouts (basically timeouts) to the cleanup thread.
- Protect lists and unique ids with mutexes. protect connection usecount
  by using atomic operations.
- Assert kernel lock when calling into scsipi and network code.
- Use this to make send/receive/cleanup threads MPSAFE.

- Fix handling of out-of-CCB/out-of-PDU conditions against the scsipi layer.
- Bump number of PDUs to 128 to avoid virtually all out-of-PDU conditions

- Make use of softc structure for attach/detach operations.
- Track open file handles to prevent detach when busy.

- Move some global variables to make them static.

- Fix 'Overlapping Commands Attempted' error by marking commands as
  simply ordered (ATTR_SIMPLE) like FreeBSD.
2016-05-29 13:51:16 +00:00
mlelstv a85ccad97b missed one exit path with the previous change. 2016-05-29 13:11:21 +00:00
mlelstv 5699db66ce release openlock mutex before closing parent device. 2016-05-29 12:48:40 +00:00
maxv 3b60a5c86e Define tablesize. Useful when debugging. 2016-05-29 09:16:11 +00:00
maxv 17a417d61a Revert rev1.94. It apparently raises a page fault from SMEP. I need to
investigate the whole kernel mappings anyway, so I'll recommit this
patch later.
2016-05-29 09:04:19 +00:00
sevan 32e3745627 As instructed by Martin@, disable DKWEDGE_METHOD_APPLE for now as it causes a
fresh install in a dual boot scenario to fail. This is because fstab will be
referencing wd(4) and the kernel expecting dk(4).

Closes PR port-macppc/51160
2016-05-28 22:24:51 +00:00
maxv fd2c2b78c0 Define fillkpt_blank, which creates blank entries in a page table. Use
it to map the first MB. No functional change.
2016-05-28 09:03:16 +00:00
maxv 79fe8af4b4 Move proc0's stack out of the BOOTSTRAP TABLES, and map it independently
with RW permissions. Reduces the impact of a stack overflow.
2016-05-28 08:43:16 +00:00
bouyer bdf10c852a The UART in the allwiner SoCs is not full-compatible with the 16550, and
it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt,
which is triggered when writing to LCR while the chip
can't accept it. But unlike the 16750, it has a specific register,
HALT, to allow writing to the LCR and divisor registers, and then
commit the changes.
Tested on an A20 SoC, changing the baud rate while keeping the
tty device open and incoming data.
2016-05-27 20:01:49 +00:00
christos fdea3219c6 make hostzerobroadcast default to "no". 2016-05-27 16:44:15 +00:00
christos ff63d49891 fix compilation without PAX_MPROTECT 2016-05-27 16:35:16 +00:00
macallan f9df4180d4 treat IPIs like regular interrupts at IPL_HIGH
should fix port-powerpc/44387
tested by chuq
2016-05-26 17:38:05 +00:00
hannken 40d12c0185 Use vnode state to replace VI_MARKER, VI_CHANGING, VI_XLOCK and VI_CLEAN.
Presented on tech-kern@
2016-05-26 11:09:55 +00:00
hannken 1e17b1e3c2 Add vnode state and supporting operations and diagnostics.
Presented on tech-kern@
2016-05-26 11:08:44 +00:00
hannken c9685569a3 Merge the vnode and its corresponding vcache_node into one
vcache_node structure.

Print the vcache_node part in vprint() and vfs_vnode_print().

Presented on tech-kern@
2016-05-26 11:07:33 +00:00
nakayama 4645840d5b Add more CardBus devices. 2016-05-26 10:38:07 +00:00
bouyer 727b83213d Remove a KASSERT() which is A20-specific, as well as the local variable
used here.
Fix "error: unused variable 'grp'" for non-DIAGNOSTIC kernels,
reported by Rin Okuyama.
2016-05-26 07:45:51 +00:00
maxv a56d0ceb2a There is an issue in the way the fillkpt macro sets up pages on both
amd64 and i386.

The fillkpt loop is equivalent to the following:

	do {
		/* fill in the slot */
		/* increment %ebx to the next slot */
		/* increment %eax to the next pa */
	} while (%ecx > 0)

The issue here is that if %ecx = 0 (i.e., the chunk we are trying to
map is zero-sized), there is still one entry created in the page table.
The kernel expects the va<->pa translation to be linear in low memory.
If there is a zero-sized chunk, the dead entry creates a +4096 offset in
the virtual space, with two consecutive entries that point to the same
physical address. In other words, the mappings are not linear anymore,
which causes the kernel to die.

Before my recent changes, there were only two big chunks that were
mapped, and neither of these could be zero-sized. Now, with multiple,
fine-grained chunks, it is possible that the [SYMS]+[PRELOADED_MODULES]
chunk could be zero-sized.

[PRELOADED_MODULES] is almost never here, and [SYMS] is always here on
default kernels. Except for floppies, where the bootloader does not load
[SYMS].

Should fix PR 51148.
2016-05-26 07:24:55 +00:00
ozaki-r 6bbd2477a9 Introduce M_CLEARCTX and use it instead of open-coding rcvif
No functional change.
2016-05-26 05:04:46 +00:00
ozaki-r ea0349e714 Use M_GETCTX
No functional change.
2016-05-26 05:01:11 +00:00
nakayama cb7479712f sort 2016-05-26 04:26:05 +00:00
wiz 692b4b1e95 Consistent indent. 2016-05-25 20:49:00 +00:00
christos 5763e378f2 Give 0,1,2 for security.pax.mprotect.ptrace and make it default to 1
as documented in sysctl(7):
0 - ptrace does not affect mprotect
1 - (default) mprotect is disabled for processes that start executing from
    the debugger (being traced)
2 - mprotect restrictions are relaxed for traced processes
2016-05-25 20:07:54 +00:00
nakayama f1700a0c7a tabify, fix indent and remove trailing whitespace. 2016-05-25 20:00:50 +00:00
christos 1c46e02997 Apply patch https://github.com/acpica/acpica/commit/\
c450c13615f7af0673230041da4216b3de5bc4d3.patch

This patch fixes 2 issues in AccessWidth/BitOffset support and adds
comments to justify the BitOffset/BitWidth style macro usages. Lv Zheng.

This patch introduces ACPI_IS_ALIGNED() macro. Lv Zheng.

The old register descriptors are translated in AcpiTbInitGenericAddress()
with AccessWidth being filled with 0. This breaks code in
AcpiHwGetAccessBitWidth() when the registers are 16-bit IO ports and their
BitWidth fields are filled with 16. The rapid fix is meant to make code
written for AcpiHwGetAccessBitWidth() regression safer before the issue is
correctly fixed from AcpiTbInitGenericAddress(). Reported by
John Baldwin <jhb@freebsd.org>, Fixed by Lv Zheng <lv.zheng@intel.com>,
Tested by Jung-uk Kim <jkim@freebsd.org>.
2016-05-25 18:35:13 +00:00