Commit Graph

263525 Commits

Author SHA1 Message Date
kre
ae1a47886f NFC. Need a grain of const 2018-12-01 01:21:06 +00:00
kre
c074191fdd NFC. KNF. return (x) -> return x 2018-12-01 01:20:05 +00:00
msaitoh
9820da104d Don't abuse config_interrupts()'s first argument. Use kthread instead of
config_interrupt(). OK'd by jmcneill and macallan.
2018-12-01 00:28:45 +00:00
jmcneill
ca99157187 ena(4): Add support for Amazon.com Elastic Network Adapter (ENA).
Many people contributed to this so I set the developer to "netbsd", please
change if there is a better way to do this.
2018-11-30 23:48:14 +00:00
kre
d02195817d It is not only the EXIT trap we need to check for when deciding no
fork is required, but any trap   (dumb mistake...)

XXX - include in 48875 pullup to -8
2018-11-30 23:22:45 +00:00
jmcneill
af8f486465 Add support for configuring Amazon.com EC2 SSH keys and hostnames. While
here, only set wscons=YES if a wsdisplay0 device is present.
2018-11-30 20:53:02 +00:00
jdolecek
01089dfb82 allow MSI-X if supported by the hardware, discussed with Manuel 2018-11-30 17:53:08 +00:00
jdolecek
7181fba082 simplify intr establish code - rely on pci_intr_alloc() to return
interrupt types which are possible for pci_intr_establish(); remove
fallbacks to retry with MSI explicitly disabled

bge(4) specifically needs to disable MSI on some boards which are
known to have broken MSI support, so this can't use pci_intr_alloc()
with just NULL counts

discussed on tech-kern@, and specifically bge(4) with Manuel

https://mail-index.netbsd.org/tech-kern/2018/11/27/msg024240.html
2018-11-30 17:52:11 +00:00
jdolecek
2b8320d3c9 simplify intr establish code - rely on pci_intr_alloc() to allow
also MSI-X, and to return interrupt types which are possible for
pci_intr_establish(); remove fallbacks to retry with MSI/MSI-X
explicitly disabled

discussed on tech-kern@

https://mail-index.netbsd.org/tech-kern/2018/11/27/msg024240.html
2018-11-30 17:47:54 +00:00
jmcneill
22405eec27 Add ena at pci 2018-11-30 16:28:43 +00:00
jmcneill
1955ba3709 Add puc at pci and com at puc 2018-11-30 16:28:07 +00:00
jmcneill
b1584913f6 Add support for polling com devices when no interrupt is available. 2018-11-30 16:26:59 +00:00
jmcneill
462b2f438f Add support for com(4) without an interrupt by setting the COM_HW_POLL flag 2018-11-30 16:26:19 +00:00
mlelstv
b2711c17ca The SHOULDYIELD flag doesn't indicate that other LWPs could run but only
that the current LWP was seen on two consecutive scheduler intervals.

There are currently at least 3 cases for calling preempt().
- always call preempt()
- check the SHOULDYIELD flag
- check the real ci_want_resched

So the forced check for SHOULDYIELD changed the scheduler timing. Revert
it for now.
2018-11-30 15:05:35 +00:00
jmcneill
5ab6e7f224 Get this driver into a functional state. 2018-11-30 14:07:30 +00:00
jmcneill
b2a9c108b0 workqueue and callout fixes 2018-11-30 11:37:11 +00:00
msaitoh
484dc1325c Add new PCIE_HAS_LINKREGS(pcie_devtype) and use it. No functional change. 2018-11-30 10:18:37 +00:00
hannken
02397a5780 Zfs_write() may hide write errors if uiomove() succeeds but a
further dmu_tx_assign() fails because over quota or no space.

Use the emulated uiocopy() and uioskip() like illumos does.

Fix the uiocopy() emulation to not clobber the iovecs.
2018-11-30 09:53:40 +00:00
hannken
1c0c955e08 Skip zfs, it does not GOP_ALLOC.
PR kern/47656 test zfs_fillfs.
2018-11-30 09:52:39 +00:00
msaitoh
43ce83b0bf Add new macro PCIE_HAS_ROOTREGS(pcie_devtype) and use it. No functional
change.
2018-11-30 09:05:35 +00:00
msaitoh
55fedabe00 The downstream port of PCIe switch is not a root port, so don't print
root port related register. For example, Intel 63xxESB controller's
downstream port device was printed by pcictl(8) with this bug:

-----------------------------
PCI configuration registers:
  Common header:
    0x00: 0x35108086 0x00100147 0x06040001 0x00010010

    Vendor Name: Intel (0x8086)
    Device Name: 63xxESB PCI Express Downstream Port #1 (0x3510)
(snip)
  Capability register at 0x44       <=============
    type: 0x10 (PCI Express)
  Capability register at 0x60       <============= 0x60 - 0x44 = 0x1c
    type: 0x05 (MSI)
  Capability register at 0x70
    type: 0x01 (Power Management)
  Capability register at 0x80
    type: 0x0d (Subsystem vendor ID)
(snip)
  PCI Message Signaled Interrupt
    Message Control register: 0x0080
      MSI Enabled: off
      Multiple Message Capable: no (1 vector)
      Multiple Message Enabled: off (1 vector)
      64 Bit Address Capable: on
      Per-Vector Masking Capable: off
      Extended Message Data Capable: off
      Extended Message Data Enable: off
    Message Address (lower) register: 0x00000000
    Message Address (upper) register: 0x00000000
    Message Data register: 0x0000
(snip)
  PCI Express Capabilities Register
(snip)
    Root Control Register: 0x7005	<=== 0x7005 is the first two byte
      SERR on Correctable Error Enable: on   of the MSI capability structure
      SERR on Non-Fatal Error Enable: off
      SERR on Fatal Error Enable: on
      PME Interrupt Enable: off
      CRS Software Visibility Enable: off
    Root Capability Register: 0x0080
      CRS Software Visibility: off
    Root Status Register: 0x00000000
      PME Requester ID: 0x0000
      PME was asserted: off
      another PME is pending: off

  Device-dependent header:
    0x40: 0x00c00000 0x00616010 0x00000001 0x00005026  |   |<- PCIe      |
    0x50: 0x0203f441 0x10010020 0x00000000 0x004803c0  |               ->|
    0x60: 0x00807005 0x00000000 0x00000000 0x00000000  |<-     MSI     ->|
    0x70: 0xc8028001 0x00000100 0x00000000 0x00000000  |<-     PM      ->|
    0x80: 0x0000000d 0x00000000 0x00000000 0x00000000  |<- subsystem ID  |
--------------------------------------
2018-11-30 08:19:45 +00:00
msaitoh
5ff9364a6c Use pmf_device_{register,deregister}(). 2018-11-30 05:49:23 +00:00
msaitoh
0420beedc7 Remove extra whitespaces. 2018-11-30 05:20:34 +00:00
blymn
d70ea1b172 Add script for assisting with debugging curses tests. 2018-11-30 04:57:02 +00:00
roy
ae8e2e2858 curses: Fix inverted logic when drawing LR corner with auto margins
Thanks to M. Levinson.
2018-11-30 04:38:14 +00:00
christos
90de07325c Add base-256 test (Micha Gorny) 2018-11-30 00:53:41 +00:00
christos
a4c163faee Add base-256 decoding support (Micha Gorny) 2018-11-30 00:53:11 +00:00
jmcneill
0cc465725e Add Amazon.com EC2 virtual 16650-compatible PCI serial device 2018-11-29 23:53:44 +00:00
jmcneill
fb426d292a regen 2018-11-29 23:53:15 +00:00
jmcneill
522b527d43 Add Amazon.com UART, NVMe, and ENA PCI IDs. 2018-11-29 23:52:49 +00:00
macallan
05bcc97a8b rasops_do_cursor():
- simplify & sanitize the unaligned case
- use only 32bit accesses
... no longer crash with odd sized fonts in 8bit
2018-11-29 23:44:50 +00:00
jmcneill
0c3a3fed64 Add hw.wsdisplay.multicons sysctl that can be used to disable mirroring wsdisplay output to serial port. 2018-11-29 23:18:40 +00:00
palle
4b227dc8bd sun4v: fix incorrect calculation of phys addr for the mdesc - now the virtual-devices can (again) be detected (worked previously...) 2018-11-29 20:58:36 +00:00
jakllsch
e964f5aa03 use %u for u_int, rather than %d; corrects printing of frequencies at or above 2**31 Hz 2018-11-29 20:33:09 +00:00
maxv
a026d6cb92 Rewrite the gpa map/unmap functions. Dig holes in the mapped areas when
there is an overlap. Close to what Qemu expects.
2018-11-29 19:55:20 +00:00
jakllsch
1d5cb2a3a0 Correct abuses of aprint_error_dev(9). 2018-11-29 18:53:42 +00:00
maxv
1eb384e338 Improve my kern_time.c::rev1.192, systematically clear the buffers we get
from 'ptimer_pool' to prevent more leaks.
2018-11-29 17:40:12 +00:00
wiz
8be75e9e02 new openssl versions out 2018-11-29 16:04:21 +00:00
maxv
2ce19e3fc7 Fix info leak. There is one branch where 'status' is not initialized at
all.

	+ Possible info leak: [len=4, leaked=4]
	| #0 0xffffffff80baf397 in kleak_copyout
	| #1 0xffffffff80b56d0c in sys_wait6
	| #2 0xffffffff80259c42 in syscall
2018-11-29 12:37:22 +00:00
maxv
2e300bd3f8 Fix stack info leak.
+ Possible info leak: [len=136, leaked=92]
	| #0 0xffffffff80baf397 in kleak_copyout
	| #1 0xffffffff80bd4155 in ptrace_copyout_siginfo
	| #2 0xffffffff80bd5348 in do_ptrace
	| #3 0xffffffff80bd40fe in sys_ptrace
	| #4 0xffffffff80259c42 in syscall
2018-11-29 11:45:52 +00:00
jmcneill
05b033f63e Add nvme at pci 2018-11-29 11:23:49 +00:00
maxv
590d64ce40 Fix kernel info leak, 4 bytes of padding at the end of struct sigaction.
+ Possible info leak: [len=32, leaked=4]
	| #0 0xffffffff80baf327 in kleak_copyout
	| #1 0xffffffff80bd9ca8 in sys___sigaction_sigtramp
	| #2 0xffffffff80259c42 in syscall
2018-11-29 10:27:36 +00:00
ozaki-r
74109b2db3 Don't validate the source address of forwarding IPv6 packets (same as IPv4) 2018-11-29 10:02:52 +00:00
ozaki-r
2050bad43a Don't run DAD on link-up if it's explicitly disabled 2018-11-29 09:54:22 +00:00
ozaki-r
42cd9a0569 Introduce and use ip_dad_enabled() and ip6_dad_enabled() functions 2018-11-29 09:51:20 +00:00
christos
f04c2e3e34 Fix off by one <tsahara at iij> 2018-11-29 03:10:20 +00:00
jmcneill
79bb851b07 Allow non-power of 2 counts, and support alloc/release/alloc patterns for a device as long as the ITT size is sufficient 2018-11-28 22:54:11 +00:00
jmcneill
fd3e895773 Force a matching com@puc by seg/bus/dev/func to be the console device if specified in SPCR 2018-11-28 22:29:36 +00:00
jmcneill
8d8682e28a Add support for a "force_console" property, where when set, reuses the console dev configuration 2018-11-28 22:28:46 +00:00
jmcneill
6cab6729b0 Add calls to if_attach and if_deferred_start_init 2018-11-28 21:31:32 +00:00