arybchik [Wed, 28 Nov 2018 09:23:19 +0000 (09:23 +0000)]
sfxge(4): group Medford external port mapping entries
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18200
arybchik [Wed, 28 Nov 2018 09:23:05 +0000 (09:23 +0000)]
sfxge(4): clarify port mode names and masks
New port mode names are defined for Medford2 and later, and
the existing names are aliased to them. Add comments with the
numeric port mode to clarify the external port modes table.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18199
arybchik [Wed, 28 Nov 2018 09:22:53 +0000 (09:22 +0000)]
sfxge(4): support Medford2 event timer semantics
The event timer interface has changed for Medford2 - for
details see bug66418 comment 9. Update the common code to
use the new timer semantics for Medford2.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18198
arybchik [Wed, 28 Nov 2018 09:22:42 +0000 (09:22 +0000)]
sfxge(4): support FEC mode settings
Medford2 controllers support control and reporting of
FEC modes for 25G and higher links. See SF-109306-TC
for suggested usage in client code.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18197
arybchik [Wed, 28 Nov 2018 06:56:34 +0000 (06:56 +0000)]
sfxge(4): remove obsolete comments
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18196
arybchik [Wed, 28 Nov 2018 06:56:22 +0000 (06:56 +0000)]
sfxge(4): move VI window size config to ef10 NIC board
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18195
arybchik [Wed, 28 Nov 2018 06:56:11 +0000 (06:56 +0000)]
sfxge(4): move privilege config to ef10 NIC board config
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18194
arybchik [Wed, 28 Nov 2018 06:55:59 +0000 (06:55 +0000)]
sfxge(4): move vector config to ef10 NIC board config
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18193
arybchik [Wed, 28 Nov 2018 06:55:47 +0000 (06:55 +0000)]
sfxge(4): move limits config to ef10 NIC board config
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18192
arybchik [Wed, 28 Nov 2018 06:55:36 +0000 (06:55 +0000)]
sfxge(4): move Tx config to ef10 NIC board config
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18191
arybchik [Wed, 28 Nov 2018 06:55:24 +0000 (06:55 +0000)]
sfxge(4): move Rx config to ef10 NIC board config
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18190
arybchik [Wed, 28 Nov 2018 06:55:12 +0000 (06:55 +0000)]
sfxge(4): move datapath config to ef10 NIC board cfg
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18189
arybchik [Wed, 28 Nov 2018 06:55:00 +0000 (06:55 +0000)]
sfxge(4): move PHY/link config to ef10 NIC board cfg
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18188
arybchik [Wed, 28 Nov 2018 06:54:49 +0000 (06:54 +0000)]
sfxge(4): move legacy board config to ef10 NIC board cfg
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18187
arybchik [Wed, 28 Nov 2018 06:54:37 +0000 (06:54 +0000)]
sfxge(4): move MAC address config to ef10 NIC board cfg
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18186
arybchik [Wed, 28 Nov 2018 06:54:25 +0000 (06:54 +0000)]
sfxge(4): move PF/VF config to ef10 NIC board config
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18185
arybchik [Wed, 28 Nov 2018 06:54:13 +0000 (06:54 +0000)]
sfxge(4): move port config to ef10 NIC board config
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18184
arybchik [Wed, 28 Nov 2018 06:53:51 +0000 (06:53 +0000)]
sfxge(4): add ef10 NIC board config method
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18182
arybchik [Wed, 28 Nov 2018 06:53:40 +0000 (06:53 +0000)]
sfxge(4): use correct name for frame truncation event
The RX_ECC_ERR flag in RX events was misnamed, as it
reported frame truncation. Use the new RX_TRUNC_ERR
name for this flag.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18181
jhibbits [Wed, 28 Nov 2018 02:00:27 +0000 (02:00 +0000)]
powerpc: Prepare Book-E kernels for KERNBASE != run base
Book-E kernels really run at VM_MIN_KERNEL_ADDRESS, which currently happens to
be the same as KERNBASE. KERNBASE is the linked address, which the loader also
takes to be the physical load address. Treat KERNBASE as a physical address,
not a virtual, and change virtual address references for KERNBASE to use
something more appropriate.
jhibbits [Wed, 28 Nov 2018 01:47:01 +0000 (01:47 +0000)]
powerpcspe: Don't crash the loader on ubldr with SPE instructions.
-msoft-float seems to be insufficient for disabling the SPE on powerpcspe.
Force it off with -mno-spe as well. This prevents a crash in ubldr on
powerpcspe.
kib [Tue, 27 Nov 2018 21:40:51 +0000 (21:40 +0000)]
Fix assert condition in pmap_large_unmap().
pmap_large_unmap() asserts that an unmapping request covers the
entirety of a 2M or 1G page. The logic in the asserts was out of date
with the loop logic. Correct the test to actually check that
destroying the current superpage mapping does not unmap addresses
beyond those requested by the caller.
Submitted by: D Scott Phillips <d.scott.phillips@intel.com>
Reviewed by: alc
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D18345
gallatin [Tue, 27 Nov 2018 20:01:05 +0000 (20:01 +0000)]
Use busdma unconditionally in iflib
- Remove the complex mechanism to choose between using busdma
and raw pmap_kextract at runtime. The reduced complexity makes
the code easier to read and maintain.
- Fix a bug in the small packet receive path where clusters were
repeatedly mapped but never unmapped. We now store the cluster's
bus address and avoid re-mapping the cluster each time a small
packet is received.
This patch fixes bugs I've seen where ixl(4) will not even
respond to ping without seeing DMAR faults.
I see a small improvement (14%) on packet forwarding tests using
a Haswell based Xeon E5-2697 v3. Olivier sees a small
regression (-3% to -6%) with lower end hardware.
Reviewed by: mmacy
Not objected to by: sbruno
MFC after: 8 weeks
Sponsored by: Netflix, Inc
Differential Revision: https://reviews.freebsd.org/D17901
jamie [Tue, 27 Nov 2018 17:51:50 +0000 (17:51 +0000)]
In hardened systems, where the security.bsd.unprivileged_proc_debug sysctl
node is set, allow setting security.bsd.unprivileged_proc_debug per-jail.
In part, this is needed to create jails in which the Address Sanitizer
(ASAN) fully works as ASAN utilizes libkvm to inspect the virtual address
space. Instead of having to allow unprivileged process debugging for the
entire system, allow setting it on a per-jail basis.
The sysctl node is still security.bsd.unprivileged_proc_debug and the
jail(8) param is allow.unprivileged_proc_debug. The sysctl code is now a
sysctl proc rather than a sysctl int. This allows us to determine setting
the flag for the corresponding jail (or prison0).
As part of the change, the dynamic allow.* API needed to be modified to
take into account pr_allow flags which may now be disabled in prison0.
This prevents conflicts with new pr_allow flags (like that of vmm(4)) that
are added (and removed) dynamically.
Also teach the jail creation KPI to allow differences for certain pr_allow
flags between the parent and child jail. This can happen when unprivileged
process debugging is disabled in the parent prison, but enabled in the
child.
des [Tue, 27 Nov 2018 16:23:17 +0000 (16:23 +0000)]
When deciding whether to send the complete URL or just the document part,
we were looking at the original URL rather than the one we were currently
processing. This meant that if we were trying to retrieve an HTTP URL but
were redirected to an HTTPS URL, and HTTPS proxying was enabled, we would
send an invalid request and most likely get garbage back.
ian [Tue, 27 Nov 2018 16:16:38 +0000 (16:16 +0000)]
Restore the ability to override the disk unit/partition at the boot: prompt
in gptboot.
When arch-independent geli support was added, a new static 'gdsk' struct
was added, but there was still a static 'dsk' struct, and when you typed
in an alternate disk/partition, the string was parsed into that struct,
which was then never used for anything. Now the string gets parsed into
gdsk.dsk, the struct that's actually used.
dab [Tue, 27 Nov 2018 15:12:34 +0000 (15:12 +0000)]
Make whitespace more consistent in libkqueue tests.
After r337820, which "corrected" some spaces-instead-of-tab whitespace
issues in the libkqueue tests, jmg@ pointed out that these files were
originally space-based, not tab-spaced, and so the correction should
have been to get rid of the tabs that had been introduced in previous
changes, not the spaces. This change does that. This is a whitespace
only change; no functional change is intended.
des [Tue, 27 Nov 2018 14:58:19 +0000 (14:58 +0000)]
Add a “skip_dsn” option to g_part's bootcode verb to prevent g_part_mbr
from setting the volume serial number. This unbreaks older boot blocks
that don't support serial numbers, and allows boot0cfg to set the serial
number itself if requested by the user.
arybchik [Tue, 27 Nov 2018 14:16:14 +0000 (14:16 +0000)]
sfxge(4): remove MAC stats size define
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18180
arybchik [Tue, 27 Nov 2018 14:16:03 +0000 (14:16 +0000)]
sfxge(4): resolve code analysis warnings
Minimal changes adding buffer size checks and simplifying checksum
processing.
Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18179
arybchik [Tue, 27 Nov 2018 14:15:52 +0000 (14:15 +0000)]
sfxge(4): decode Medford2 FEC stats if available
Decode Medford2 FEC stats if available in MAC stats DMA buffer.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18178
arybchik [Tue, 27 Nov 2018 14:15:41 +0000 (14:15 +0000)]
sfxge(4): run mkconfig.py to add FEC MAC stats
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18177
arybchik [Tue, 27 Nov 2018 14:15:30 +0000 (14:15 +0000)]
sfxge(4): use MAC stats DMA buffer size when decoding
On Medford2 and later the MAC stats buffer has been enlarged.
Use the MAC stats DMA buffer size to ensure that the stats END
generation count is read from the correct location, and that
over-reading of the DMA buffer is prevented.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18176
arybchik [Tue, 27 Nov 2018 14:15:19 +0000 (14:15 +0000)]
sfxge(4): use MAC stats DMA buffer size from caps
For Medford2 the DMA buffer used for one-shot or periodic MAC stats
has been extended. Ensure the MAC stats DMA buffer size is large
enough to hold the number of stats counters supported by firmware.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18175
arybchik [Tue, 27 Nov 2018 14:15:08 +0000 (14:15 +0000)]
sfxge(4): improve robustness of MAC stats get via MCDI
Previously the code relied on the callers of efx_mcdi_mac_stats
to provide a DMA buffer or NULL depending on the action. Fix
this so that the DMA buffer is only passed in the request when
needed, and that an error is reported for a missing DMA buffer.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18174
arybchik [Tue, 27 Nov 2018 14:14:57 +0000 (14:14 +0000)]
sfxge(4): retrieve number of MAC stats from NIC
This reports the number of stats (and hence the DMA buffer size)
for MAC stats. If MC_GET_CAPABABILITIES_V4 is not supported then
use the legacy Siena-compatible MC_CMD_MAC_NSTATS value.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18173
arybchik [Tue, 27 Nov 2018 14:14:45 +0000 (14:14 +0000)]
sfxge(4): refactor EF10 get datapath capabilities
Inline efx_mcdi_get_capabilities() to prepare for reading
newer capabilities response versions.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18172
emaste [Tue, 27 Nov 2018 13:52:51 +0000 (13:52 +0000)]
llvm-objdump.1: remove more unintentional options
Some options come from static constructors in LLVM libraries and are
automatically added to llvm's usage output. They're not really supposed
to be llvm-objdump options.
Reported by: Fangrui Song in LLVM review D54864
Sponsored by: The FreeBSD Foundation
arybchik [Tue, 27 Nov 2018 13:00:51 +0000 (13:00 +0000)]
sfxge(4): handle new speeds in link events
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18170
arybchik [Tue, 27 Nov 2018 13:00:39 +0000 (13:00 +0000)]
sfxge(4): add efsys macro to get memory region size
EFSYS_MEM_SIZE() reports the DMA mapped size of an efsys_mem_t
allocated region (the allocation size may be different due to
memory allocator and DMA alignment restrictions).
This ensures that common code internals have explicit knowledge
of the usable size of DMA mapped memory regions.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18170
arybchik [Tue, 27 Nov 2018 13:00:28 +0000 (13:00 +0000)]
sfxge(4): add new loopback modes
Report supported loopback modes for new Medford2 link speeds.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18169
arybchik [Tue, 27 Nov 2018 13:00:17 +0000 (13:00 +0000)]
sfxge(4): support new link modes
Add basic support for new link modes for Medford2.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18168
arybchik [Tue, 27 Nov 2018 13:00:06 +0000 (13:00 +0000)]
sfxge(4): removing unneeded assert
Remove ASSERT() from sfxge_link_mode_to_phy_cap() which causes an
unnecessary panic, even though the callers have proper error handling.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18167
arybchik [Tue, 27 Nov 2018 12:59:55 +0000 (12:59 +0000)]
sfxge(4): simplify loopback type checking
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18166
arybchik [Tue, 27 Nov 2018 12:59:43 +0000 (12:59 +0000)]
sfxge(4): report memory BAR number
Remove EFX_MEM_BAR define as it it is not correct on all platforms.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18165
arybchik [Tue, 27 Nov 2018 12:59:32 +0000 (12:59 +0000)]
sfxge(4): update notes on interrupt testing on VFs
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18164
Addresses most of the warnings reported by the sfn windows driver.
Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18162
arybchik [Tue, 27 Nov 2018 12:58:52 +0000 (12:58 +0000)]
sfxge(4): update hardware headers for Medford2
The changes to efx_regs_ef10.h are auto-generated and include:
- Updated event RX_L4_CLASS which is now 2 bits (was 3).
The encoding of TCP, UDP and UNKNOWN are unchanged so
the narrower Medford2 field definition is compatible with
all controllers.
- Fix definition of FATSOv2 option descriptors. These were
added manually and differ from the auto-generated values
in some fields (not yet used in common code). The field
definitions have been corrected to agree with the Linux net
driver headers and SF-108452-SW.
The remaining changes adapt the common code to use the updated
headers.
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18161
marius [Tue, 27 Nov 2018 12:35:51 +0000 (12:35 +0000)]
Import CK as of 21d3e319407d19dece16ee317c757ffc54a452bc, which makes its
sparcv9 atomics compatible with the FreeBSD kernel by using instructions
which access the appropriate address space.
Atomic operations within the kernel must access the nucleus address space
instead of the default primary one. Without this change but the increased
use of CK in the kernel, machines started to panic after some minutes of
uptime due to an unresolvable fault in ck_pr_cas_64_value().
arybchik [Tue, 27 Nov 2018 12:23:01 +0000 (12:23 +0000)]
sfxge(4): add method to make checksum option descriptors
Submitted by: Mark Spender <mspender at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18160
arybchik [Tue, 27 Nov 2018 12:22:50 +0000 (12:22 +0000)]
sfxge(4): improve comments for EF10 ext port mapping
Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18159
arybchik [Tue, 27 Nov 2018 12:22:37 +0000 (12:22 +0000)]
sfxge(4): support runtime VI window size
Medford2 uses a configurable VI window size, and requires
updates to register accesses to use a runtime VI window size
rather than the *_STEP register constants used for earlier
controllers.
Update the common code to query the VI window size via MCDI,
and add new EFX_BAR_VI_* accessor macros for per-VI registers.
The existing EFX_BAR_TBL_* macros can be used for non-VI
register tables (and for code that can never be called for
a Medford2 controller e.g. Siena-only code).
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18158
arybchik [Tue, 27 Nov 2018 12:22:25 +0000 (12:22 +0000)]
sfxge(4): add Medford2 support to MON module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18157
arybchik [Tue, 27 Nov 2018 12:22:14 +0000 (12:22 +0000)]
sfxge(4): add Medford2 support to VPD module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18156
arybchik [Tue, 27 Nov 2018 12:22:03 +0000 (12:22 +0000)]
sfxge(4): add Medford2 support to BOOTCFG module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18155
arybchik [Tue, 27 Nov 2018 12:21:53 +0000 (12:21 +0000)]
sfxge(4): add Medford2 support to SRAM module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18154
arybchik [Tue, 27 Nov 2018 12:21:41 +0000 (12:21 +0000)]
sfxge(4): add Medford2 support to NVRAM module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18153
arybchik [Tue, 27 Nov 2018 12:21:30 +0000 (12:21 +0000)]
sfxge(4): add Medford2 support to Tx module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18152
arybchik [Tue, 27 Nov 2018 12:21:19 +0000 (12:21 +0000)]
sfxge(4): add Medford2 support to Rx module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18151
arybchik [Tue, 27 Nov 2018 12:21:08 +0000 (12:21 +0000)]
sfxge(4): add Medford2 support to PHY module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18150
arybchik [Tue, 27 Nov 2018 12:20:57 +0000 (12:20 +0000)]
sfxge(4): add Medford2 support to MCDI module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18149
arybchik [Tue, 27 Nov 2018 12:20:46 +0000 (12:20 +0000)]
sfxge(4): add Medford2 support to MAC module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18148
arybchik [Tue, 27 Nov 2018 12:20:35 +0000 (12:20 +0000)]
sfxge(4): add Medford2 support to INTR module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18147
arybchik [Tue, 27 Nov 2018 12:20:23 +0000 (12:20 +0000)]
sfxge(4): add Medford2 support to FILTER module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18146
arybchik [Tue, 27 Nov 2018 12:20:12 +0000 (12:20 +0000)]
sfxge(4): add Medford2 support to EV module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18145
arybchik [Tue, 27 Nov 2018 12:20:01 +0000 (12:20 +0000)]
sfxge(4): move RxDP config get to EF10 NIC code
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18144
arybchik [Tue, 27 Nov 2018 12:19:49 +0000 (12:19 +0000)]
sfxge(4): correct PIO buffer dimensions for Medford2
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18143
arybchik [Tue, 27 Nov 2018 12:14:16 +0000 (12:14 +0000)]
sfxge(4): add Medford2 support to NIC module
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18142
arybchik [Tue, 27 Nov 2018 12:13:54 +0000 (12:13 +0000)]
sfxge(4): add efsys option for Medford2
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18140
arybchik [Tue, 27 Nov 2018 12:13:39 +0000 (12:13 +0000)]
sfxge(4): add Medford2 PCI IDs
Submitted by: Andy Moreton <amoreton at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
Differential Revision: https://reviews.freebsd.org/D18139
marius [Tue, 27 Nov 2018 12:11:16 +0000 (12:11 +0000)]
- Add a belated UPDATING entry for the ixlv(4) -> iavf(4) rename in r339338.
- Likewise, add ixlv.4.gz to OLD_FILES,
- and link if_ixlv.ko to if_iavf.ko in order to aid a bit in the transition.
des [Tue, 27 Nov 2018 10:06:41 +0000 (10:06 +0000)]
Support proxying FTP over HTTPS, not just HTTP.
There is probably a PR for this, but I can't find this, or remember who
submitted it. The patch got lost in the noise of another that wasn't
ready to commit.
ae [Tue, 27 Nov 2018 09:04:06 +0000 (09:04 +0000)]
Fix possible panic during ifnet detach in rtsock.
The panic can happen, when some application does dump of routing table
using sysctl interface. To prevent this, set IFF_DYING flag in
if_detach_internal() function, when ifnet under lock is removed from
the chain. In sysctl_rtsock() take IFNET_RLOCK_NOSLEEP() to prevent
ifnet detach during routes enumeration. In case, if some interface was
detached in the time before we take the lock, add the check, that ifnet
is not DYING. This prevents access to memory that could be freed after
ifnet is unlinked.
eugen [Tue, 27 Nov 2018 04:05:38 +0000 (04:05 +0000)]
ng_source(4): correction after the change r340617
tv_usec has "long" type for all architecture in FreeBSD
and follows __LP64__. However, this is not true for tv_sec
that has "time_t" type.
Since r320347 that changed time_t from 32 to 64 bit integer
for 32 bit version of powerpc architecture, we have only single
i386 architecture having 32 bit time_t type.
imp [Tue, 27 Nov 2018 00:36:35 +0000 (00:36 +0000)]
NVME trim clocking
Add the ability to set two goals for trims in the I/O scheduler. The
first goal is the number of BIO_DELETEs to accumulate
(kern.cam.XX.U.trim_goal). When non-zero, this many trims will be
accumulated before we start to transfer them to lower layers. This is
useful for devices that like to get lots of trims all at once in one
transaction (not all devices are like this, and some vary by workload).
The second is a number of ticks to defer trims. If you've set a trim
goal, then kern.cam.XX.U.trim_ticks controls how long the system will
defer those trims before timing out and sending them anyway. It has no
effect when trim_goal is 0.
In any event, a BIO_FLUSH will cause all the TRIMs to be released to
the periph drivers. This may be a minor overloading of what BIO_FLUSH
is supposed to mean, but it's useful to preserve other ordering
semantics that users of BIO_FLUSH reply on.
mm [Mon, 26 Nov 2018 21:45:27 +0000 (21:45 +0000)]
libarchive configuration changes
- move HAVE_BZLIB_H, HAVE_LIBLZMA and HAVE_LZMA_H to config_freebsd.h
- activate support for multi-threaded lzma encoding [1]
vangyzen [Mon, 26 Nov 2018 20:52:53 +0000 (20:52 +0000)]
Prevent kernel stack disclosure in signal delivery
On arm64 and riscv platforms, sendsig() failed to zero the signal
frame before copying it out to userspace. Zero it.
On arm, I believe all the contents of the frame were initialized,
so there was no disclosure. However, explicitly zero the whole frame
because that fact could inadvertently change in the future,
it's more clear to the reader, and I could be wrong in the first place.
MFC after: 2 days
Security: similar to FreeBSD-EN-18:12.mem and CVE-2018-17155
Sponsored by: Dell EMC Isilon
bwidawsk [Mon, 26 Nov 2018 19:41:13 +0000 (19:41 +0000)]
acpi/ec: Fix regression caused by r340644
After r340644 there were two things wrong in cases where there is both
an ECDT, and an EC device exposed via acpica. The first is a rather
trivial situation where the device desc would say ECDT even when it was
not implicitly created via ECDT (not really sure why the compiler
doesn't seem to warn about this).
The other more pervasive issue is that the code is designed to
essentially not do anything for EC probe when its uid was already
created an EC based on the ECDT's uid. The issue was that probe would
still return 0 in this case, and so we'd end up with some weird
duplication. Now to be honest, I'm not actually sure what exactly broke,
but it was definitely not working as intended. To fix this, all that is
really needed is to make sure we return ENXIO when we're probing the
device already added for the ECDT entry. While here though, move the
check for this earlier to avoid wasted cycles when we know after
obtaining the uid that it's duplicative.
There remains one questionable bit here which I don't want to touch -
when doing probe for PNP0C09, if acquiring _UID for the device fails, 0
is assumed, which is a valid UID used by the implicit ECDT.
Reported by: Charlie Li, et al.
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D18311