Commit Graph

245310 Commits

Author SHA1 Message Date
jmcneill 8b9bb61b71 Set hw.acpi.sleep.vbios when a non-HW accelerated VGA driver attaches.
If the VGA_POST option is present in the kernel the default value is 2,
otherwise 1. PR kern/50781

Reviewed by:    agc, mrg
2016-09-21 00:00:06 +00:00
jdolecek 471f5c28ab cache flush call must wait for completion; cap wait to 60 seconds just in case
controller won't respond
2016-09-20 21:18:08 +00:00
christos 639759bc47 Print more info. 2016-09-20 20:57:45 +00:00
christos b781a1c82d The booter contains a kernel which contains a ramdisk. The kernel grew
and does not fit in the booter anymore, grow it a bit.
2016-09-20 20:56:57 +00:00
christos e0e4dc48e0 Add the ability to specify more sections to strip. 2016-09-20 20:55:54 +00:00
christos 7b6d02ec13 Strip more sections, and verbose printing. 2016-09-20 20:55:11 +00:00
christos ba5e3b716e Put back the original size, this is not the reason we don't fit. 2016-09-20 20:54:22 +00:00
christos 939877e98c fix VAX! 2016-09-20 18:25:20 +00:00
christos 886ab6d08e print what went wrong. 2016-09-20 17:19:28 +00:00
christos a4f5c51335 use a define, and cast. 2016-09-20 15:03:07 +00:00
roy 8066689d53 Drop UDP packets as well as TCP without error when sending from detached or
tentative addresses.
2016-09-20 14:30:13 +00:00
christos 42bfe206ef put back part of the code that determines the smallest of INT_MAX and
SIZE_MAX to avoid llvm truncation warning.
2016-09-20 13:09:08 +00:00
msaitoh 532993fe64 Change page of the OEM_BITS register back to 0 again. The document
(Intel Ethernet Connection I219 Datasheet) says its in page 0.
FreeBSD/Linux code access page 768. WHY?

This change will fix a bug that the LPLU function isn't disabled.

 See: http://mail-index.netbsd.org/source-changes-d/2016/09/19/msg008720.html
2016-09-20 09:24:12 +00:00
nakayama 38d036635b Fix RAS for 32-bit kernels. trapframe is always 64-bit. 2016-09-20 08:56:34 +00:00
maya ea5e1f9b0e use a value of hw.acpi.sleep.vbios that might actually
work for any real hardware suspend.

stop dragging feet through the ground in PR kern/50781
2016-09-20 08:38:55 +00:00
jdolecek d0c39b253f fix mistake fallthrough in the ioctl switch introduced in previous commit 2016-09-19 23:37:10 +00:00
jdolecek 62548607cc fix DIOCCACHESYNC ioctl on ld(4) and raid(4) to work again; it got broken
when the code was switched over to dk_ioctl() - countrary to disk_ioctl(),
dk_ioctl() returns ENOTTY for ioctls it doesn't support, so must be called
as last resort, not first

bug was introduced in rev 1.83 (2015-05-02) for ld(4), and 1.335 (2016-01-03)
for raid(4)
2016-09-19 23:32:30 +00:00
jdolecek 72b4d8bcf5 slightly optimize memory access - change struct nvme_queue so that the
struct dmamem members are allocated as part of it, instead of separate
kmem_alloc()s
2016-09-19 22:11:41 +00:00
christos 0f266a6ca3 Add the complex trig functions from FreeBSD 2016-09-19 22:05:05 +00:00
maya 9699213d82 move function prototype to x86, so it is available to amd64 too 2016-09-19 20:46:55 +00:00
jdolecek ac7944cb93 on further thought, just remove the separately allocated nvme_ns_context
altogether and fold into nvme_ccb; allocating this separately just isn't useful
2016-09-19 20:33:51 +00:00
christos 2839ad01b7 XXX: This driver still needs XFree86LOADER defined to expose intelModuleData. 2016-09-19 19:15:04 +00:00
christos c66fd1e19a remove unused ancient code and widen v6 address so that columns are aligned. 2016-09-19 19:13:14 +00:00
jakllsch 824fbae66e Don't permanantly disable port if drive probe times out,
reinitialize port instead.
2016-09-19 19:07:53 +00:00
jdolecek 90b052c46b comment tyop and KNF; pointed out by Nick 2016-09-19 19:06:57 +00:00
ryo eb2d7ca7b4 "intrctl list" auto fit to minimum columns
Reviewed by nonaka@ and knakahara@
2016-09-19 18:46:39 +00:00
christos 5698ccad84 PR/51484: gson@: Fix off by one (wrong merge) 2016-09-19 18:43:23 +00:00
christos cbe86efff9 grow more 2016-09-19 01:20:26 +00:00
jdolecek 555d0c6c9f must use PR_NOWAIT also during ldattach()/dkwedge discover, our i/o is there
called with a spin lock held, which triggers LOCKDEBUG panic
2016-09-18 21:52:36 +00:00
jdolecek ef172b9f2e fix several bugs, make nvme(4) MPSAFE by default and also bump default
number of ioq from 128 to 1024; tested with VirtualBox and QEMU

* remove NVME_INTMC/NVME_INTMS writes in hw intr handler as this is not MPSAFE,
  fortunately they don't seem to be necessary; shaves two register writes
* need to use full mutex_enter() in nvme_q_complete(), to avoid small
  race between one handler exiting the loop and another entering
* for MSI, handover the command result processing to softintr; unfortunately
  can't easily do that for INTx interrupts as they require doorbell write
  to deassert
* unlock/relock q->q_cq_mtx before calling ccb_done to avoid potential deadlocks
* make sure to destroy queue mutexes when destroying the queue (LOCKDEBUG)
* make ns ctx pool per-device, so that it's deallocated properly on module
  unload
* handle ctx allocation failure in ld_nvme_dobio()
* remove splbio() calls in ld_nvme_dobio() and sync, the paths are exercised
  only for dump/shutdown, and that already disables interrupts
* free the ns ctx in ld_nvme_biodone() before calling lddone() to avoid
  memory starvation, as lddone() can trigger another i/o request
* be more careful with using PR_WAITOK, the paths are called from interrupt
  context and there we can't wait
2016-09-18 21:19:39 +00:00
christos f9f6cac132 Kill expr, modernize 2016-09-18 18:24:00 +00:00
christos 422f16d0c2 need const otherwise we get a const qual error from the opcode printing
function that returns const char *.
2016-09-18 17:03:12 +00:00
christos adf53ef170 remove more stuff. 2016-09-18 16:36:02 +00:00
christos 0284cfb2b7 grow 2016-09-18 16:21:18 +00:00
christos 03a6073a0a kill some useless programs (it is not like the dreamcast has a tape drive) 2016-09-18 15:38:05 +00:00
christos 9acd45d4f4 provide a NO_AUTH option to strip auth for boot media; saves around 40K. 2016-09-18 15:37:23 +00:00
christos 852d6b5660 Strip more useless for booters sections so that we fit. 2016-09-18 14:39:15 +00:00
christos dcf05cde50 bump 2016-09-18 14:20:23 +00:00
jdolecek 6ade779a87 attach also the nvme_cdevsw when loaded as module, so /dev/nvme* works 2016-09-18 11:58:35 +00:00
christos a68a11f85c remove multiple default. 2016-09-18 05:16:21 +00:00
christos 397177a1eb Dealing with arplog is a bit more complicated... 2016-09-18 02:17:43 +00:00
christos d53ba42d44 bump 2016-09-18 02:07:07 +00:00
christos f4001fd30b XXX: manually add uniform_int_dist.h because everyone else has it and
it breaks the build!
2016-09-18 02:03:16 +00:00
christos 8da75a62dd bump 2016-09-18 01:57:24 +00:00
christos 1868ebfed9 more ifdef KTRACE
fix wraps
2016-09-18 01:56:42 +00:00
jdolecek 8c05e900a8 add macros to read AQA subvalues, is used by nvme_dumpregs() 2016-09-17 23:59:30 +00:00
wiz fd9dd2812d Sort SEE ALSO. 2016-09-17 20:48:04 +00:00
wiz 12343249c0 Use Mt for email address. 2016-09-17 20:46:35 +00:00
jdolecek 2242a2738d remove dev code included in previous commit by mistake 2016-09-17 20:15:09 +00:00
jdolecek c1a81aa609 #ifdef out MSI related code on platforms not supporting MSI, so that it's
possible to load the driver as module on those platforms (the weak symbols
are not found by module load, claiming they don't exist); this makes it possible
to load the driver on e.g. sparc64, which is supposed to be working
under OpenBSD

unfortunately QEMU sparc64 emulator starts causing data access errors
on first device register read in nvme_attach(), so can't confirm the driver
is actually working on sparc64; same happens in QEMU when booting OpenBSD
image, so it seems to be emulator bug
2016-09-17 20:12:53 +00:00