Sascha Wildner [Mon, 3 Jul 2017 21:20:04 +0000 (23:20 +0200)]
kernel/acpica: Better check AcpiOsPredefinedOverride()'s InitVal argument.
Taken-from: FreeBSD
Sascha Wildner [Mon, 3 Jul 2017 21:06:44 +0000 (23:06 +0200)]
kernel/acpica: ACPI_THREAD_ID is unsigned.
Sascha Wildner [Mon, 3 Jul 2017 19:09:46 +0000 (21:09 +0200)]
kernel/acpica: Remove no longer needed #include.
Sascha Wildner [Mon, 3 Jul 2017 18:53:23 +0000 (20:53 +0200)]
kernel/acpica: Return curthread as thread id from AcpiOsGetThreadId().
Discussed-with: ivadasz
Sepherosa Ziehau [Sun, 2 Jul 2017 18:40:20 +0000 (02:40 +0800)]
ipfw: Remove context generation; the race it tries to fix no longer exists
It was intend to fix the race when the configuration was running in the
deleted ifnet threads; now the configuration is running in the netisrs.
Sascha Wildner [Sat, 1 Jul 2017 10:08:04 +0000 (12:08 +0200)]
Sync ACPICA with Intel's version
20170629.
We skipped
20170531 due to a regression in the processing of resource
descriptors (see https://bugs.acpica.org/show_bug.cgi?id=1391) which
is fixed in
20170629.
* Support added for ACPI 6.2. Specification available at uefi.org.
* Fixes in ACPI table verification, signature validation, mutexes.
* Numerous other fixes and additions.
For a more detailed list, please see sys/contrib/dev/acpica/changes.txt
Sascha Wildner [Sat, 1 Jul 2017 09:46:29 +0000 (11:46 +0200)]
kernel/acpi: Call AcpiInitializeSubsystem() before AcpiInitializeTables().
Per chapter "Required ACPICA Initialization Sequence" of the ACPICA
Programmer Reference.
Uncovered by recent table handling changes in ACPICA
20170629.
Sepherosa Ziehau [Fri, 30 Jun 2017 01:23:57 +0000 (09:23 +0800)]
route: Cache align statistics.
Though these statistics are rarely updated; better safe the sorry.
Since it changes userland visible structure size, bump
__DragonFly_version.
Sascha Wildner [Fri, 30 Jun 2017 08:44:23 +0000 (10:44 +0200)]
ispfw.4: Remove extra .Pp
Sepherosa Ziehau [Fri, 30 Jun 2017 00:37:25 +0000 (08:37 +0800)]
netinet: Static assert TCP/UDP/IP stats are cache line aligned.
Sepherosa Ziehau [Thu, 29 Jun 2017 19:39:32 +0000 (03:39 +0800)]
kmalloc: Reduce ks_loosememuse update frequency.
ks_loosememuse is shared by all CPUs, so this commit is intended to
reduce negative effect of cache pollution due to high ks_loosememuse
update frequency.
Sascha Wildner [Thu, 29 Jun 2017 19:34:53 +0000 (21:34 +0200)]
kernel/hptrr: Oops, fix some whitespace.
Sascha Wildner [Thu, 29 Jun 2017 19:31:42 +0000 (21:31 +0200)]
kernel: Sync hptrr(4) with FreeBSD.
* A number of locking fixes, no longer grabs Giant in the ioctl() method
(not relevant to us) and when scanning the bus. Also set D_MPSAFE and
INTR_MPSAFE.
* Use bus_dmamap_load_ccb(). Thanks, sephe!
* Additional fixes supplied by HighPoint.
* Fix some typos in comments.
Jan Sucan [Sun, 25 Jun 2017 10:27:24 +0000 (10:27 +0000)]
kernel/isp: Unify firmware handling with the rest of the system.
* Convert firmware binary data from C arrays in a header files to
uuencode .uu files. Byte order of the firmware image is
little-endian. As far as DragonFly BSD supports only little-endian
architectures it's ok. But in case of a big-endian architecture the
byte order must be changed before firmware is processed by the isp
driver.
* Move the .uu images to a sys/contrib/dev/isp.
* Add a script for conversion of firmware stored in arrays in the C
header files to .uu files. This is for getting the firmware changes
from the other BSD systems more easily.
* Remove use of ispfw module that contains firmwares for all of the
isp.4 driver devices. User can pick a module for a particular device
instead of having firmwares for all of the devices loaded.
* Document that the kitchen sink ispfw.ko module with all firmware is
gone.
Submitted-by: Jan Sucan
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/3044>
Sepherosa Ziehau [Thu, 29 Jun 2017 01:37:26 +0000 (09:37 +0800)]
kmalloc: Avoid code duplication.
Sepherosa Ziehau [Thu, 29 Jun 2017 01:14:41 +0000 (09:14 +0800)]
kmalloc: Minor style changes; no functional changes.
Sepherosa Ziehau [Thu, 29 Jun 2017 00:20:22 +0000 (08:20 +0800)]
busdma: Add bus_dmamap_load_ccb; ease driver porting from FreeBSD.
Sepherosa Ziehau [Thu, 29 Jun 2017 00:02:44 +0000 (08:02 +0800)]
kmalloc: Minor style changes; no functional changes.
Sepherosa Ziehau [Wed, 28 Jun 2017 23:39:50 +0000 (07:39 +0800)]
kmalloc: Update comment
Sepherosa Ziehau [Tue, 27 Jun 2017 23:13:22 +0000 (07:13 +0800)]
malloc: Make # of calls statistic per-cpu.
While I'm here, remove unused fields from malloc_type.
Bump __DragonFly_version.
Bill Yuan [Mon, 26 Jun 2017 15:41:26 +0000 (23:41 +0800)]
ipfw3_nat: move housekeeping into callout func
Bill Yuan [Mon, 26 Jun 2017 15:31:59 +0000 (23:31 +0800)]
libalias: pointer for house keeping func
Bill Yuan [Mon, 26 Jun 2017 15:18:38 +0000 (23:18 +0800)]
ipfw3_nat: callout func for nat record cleaning
Bill Yuan [Mon, 26 Jun 2017 15:08:48 +0000 (23:08 +0800)]
ipfw3_nat: new sysctl node 'cleanup_interval'
Bill Yuan [Mon, 26 Jun 2017 15:03:36 +0000 (23:03 +0800)]
ipfw3_nat: move func prototype into header
Bill Yuan [Mon, 26 Jun 2017 14:56:16 +0000 (22:56 +0800)]
libalias: cleanup
Sepherosa Ziehau [Sun, 25 Jun 2017 20:13:03 +0000 (04:13 +0800)]
if: Implement classq_concat()
Sepherosa Ziehau [Sun, 25 Jun 2017 19:07:41 +0000 (03:07 +0800)]
tcp: Disable NCR on link local network by default.
Sepherosa Ziehau [Sun, 25 Jun 2017 18:37:57 +0000 (02:37 +0800)]
tcp: Move rmx based RTT setup out of tcp_mss().
And rename tcp_mss() to tcp_rmx_init().
Sascha Wildner [Sat, 24 Jun 2017 20:45:53 +0000 (22:45 +0200)]
kernel: Don't include <sys/mutex.h> in some drivers that don't need it.
Sepherosa Ziehau [Fri, 23 Jun 2017 01:16:56 +0000 (09:16 +0800)]
tcp: Reindent a bit.
Sepherosa Ziehau [Fri, 23 Jun 2017 08:40:05 +0000 (16:40 +0800)]
Revert "tcp: Fix comment, while I'm here."
This reverts commit
0358cc7b162d3691aa84a06d67472c3947a7157d.
The "feasible timer" is 2 ticks; so it will not expire too earlier:
X Y
+....+....+
A
|
set timer
If tick is 1, timer will expire too earlier (1/5 tick later), 2 ticks
obviously are better choice and safe here.
Sepherosa Ziehau [Thu, 22 Jun 2017 23:13:17 +0000 (07:13 +0800)]
tcp: Fix comment, while I'm here.
Sepherosa Ziehau [Thu, 22 Jun 2017 22:55:28 +0000 (06:55 +0800)]
tcp: Fix comment, which I'm here.
Sepherosa Ziehau [Thu, 22 Jun 2017 22:06:31 +0000 (06:06 +0800)]
tcp: Reduce minimum retransmit timeout to 190ms.
Increase retransmit timeout slop to ~160ms and reduce TCPTV_MIN
to ~30ms. Bring in dillon's comment about TCPTV_MIN reduction
and retransmit timeout slop from FreeBSD. And make sure that
tcp_rexmit_min is valid for a low kern.hz setting.
Sepherosa Ziehau [Thu, 22 Jun 2017 20:25:58 +0000 (04:25 +0800)]
tcp: Don't depend on PR_FASTHZ.
TCP timers are callout based for more than one decade.
Sepherosa Ziehau [Thu, 22 Jun 2017 19:11:45 +0000 (03:11 +0800)]
em/emx: Disable flow control by default.
Sepherosa Ziehau [Thu, 22 Jun 2017 19:09:27 +0000 (03:09 +0800)]
igb: Disable flow control by default.
Sepherosa Ziehau [Thu, 22 Jun 2017 19:07:29 +0000 (03:07 +0800)]
ix: Disable flow control by default.
Sepherosa Ziehau [Thu, 22 Jun 2017 18:55:49 +0000 (02:55 +0800)]
mxge: Disable flow control by default.
Sepherosa Ziehau [Thu, 22 Jun 2017 18:11:35 +0000 (02:11 +0800)]
tcp: Cache align ACK queue header.
Antonio Huete Jimenez [Thu, 22 Jun 2017 23:40:14 +0000 (01:40 +0200)]
libc/gmon: Replace sbrk() with mmap()
- Fixes profiling for C++ programs compiled with lang/gcc5.
Taken-from: FreeBSD (svn 288009)
Sascha Wildner [Thu, 22 Jun 2017 19:49:55 +0000 (21:49 +0200)]
Update the pciconf(8) database.
June 22, 2017 snapshot from http://pciids.sourceforge.net/
Sepherosa Ziehau [Thu, 22 Jun 2017 01:48:08 +0000 (09:48 +0800)]
domain: Explicitly setup inet/inet6/route/local domain.
Sepherosa Ziehau [Wed, 21 Jun 2017 23:21:30 +0000 (07:21 +0800)]
ifnet: Remove unused functions
Sepherosa Ziehau [Tue, 20 Jun 2017 03:16:02 +0000 (11:16 +0800)]
loopback: Free ifnet memory in clone_destroy method.
Sepherosa Ziehau [Tue, 20 Jun 2017 03:03:06 +0000 (11:03 +0800)]
loopback: Function renaming
Sepherosa Ziehau [Tue, 20 Jun 2017 02:58:55 +0000 (10:58 +0800)]
loopback: Use ifclone APIs to create loopback interfaces.
This paves way for multiple FIB support.
Sepherosa Ziehau [Sun, 4 Jun 2017 14:38:38 +0000 (22:38 +0800)]
bridge: Fix comment.
Sepherosa Ziehau [Sun, 4 Jun 2017 11:21:48 +0000 (19:21 +0800)]
vlan: Fix comment.
Sepherosa Ziehau [Sun, 4 Jun 2017 11:01:06 +0000 (19:01 +0800)]
ipfw: Fix comment.
Sascha Wildner [Sun, 18 Jun 2017 07:53:36 +0000 (09:53 +0200)]
LINT64: Remove old LINPROCFS option.
Sascha Wildner [Sat, 17 Jun 2017 17:34:07 +0000 (19:34 +0200)]
kernel/acpi: Match _HID instead of relying on _CID for PCIe.
In practice this has probably no effect because usually _HID == PNP0A08
and _CID == PNP0A03 (or vice versa, like seen in VMware).
Imre Vadász [Fri, 16 Jun 2017 19:06:04 +0000 (21:06 +0200)]
ig4 - Interrupt handling was mpsafe already, just set INTR_MPSAFE
Imre Vadász [Thu, 15 Jun 2017 22:21:11 +0000 (00:21 +0200)]
ig4 - Recognize Haswell, the Atom SoCs and Skylake/Kaby Lake accordingly.
* Some of the registers only exist in some of Intel's i2c controller
versions, and some registers have different locations or content.
* This should make ig4 attach successfully on Skylake-U/Y and Kaby Lake-U/Y.
Sascha Wildner [Thu, 15 Jun 2017 22:34:44 +0000 (00:34 +0200)]
kernel/acpi_sysresource: Don't be quiet when booting verbosely.
Imre Vadász [Thu, 15 Jun 2017 19:48:04 +0000 (21:48 +0200)]
ig4 - Fix typo, pci_get_devid() -> pci_get_device.
* Make intel_i2c_ids static const as well, while there.
Sascha Wildner [Thu, 15 Jun 2017 17:22:44 +0000 (19:22 +0200)]
kernel: Add 'static' to some function definitions.
The declarations already have it, so no functional difference.
Imre Vadász [Wed, 14 Jun 2017 19:41:41 +0000 (21:41 +0200)]
ig4 - Recognize PCI device IDs for Skylake-U/Y and Kaby Lake-U/Y CPUs.
Bill Yuan [Sat, 10 Jun 2017 16:36:48 +0000 (00:36 +0800)]
ipfw3sync: release mbuf after sync
Bill Yuan [Sat, 10 Jun 2017 16:35:33 +0000 (00:35 +0800)]
ipfw3: seperate socreate & sobind to support socreate_fast
Bill Yuan [Sat, 10 Jun 2017 16:29:52 +0000 (00:29 +0800)]
ipfw3: match_token func
Bill Yuan [Sat, 10 Jun 2017 16:25:46 +0000 (00:25 +0800)]
ipfw3_basic: keep-state is a pseudo filter
Bill Yuan [Thu, 8 Jun 2017 16:35:55 +0000 (00:35 +0800)]
ipfw3sync: dont call the sync func when centre not running
Imre Vadász [Wed, 7 Jun 2017 21:21:01 +0000 (23:21 +0200)]
drm - Fix hrtimer, don't reset timer->function to NULL in timeout handler.
* The same hrtimer object is activated multiple times by i915(4), so we
mustn't clear timer->function in the timeout handler.
* This seems to fix the powersaving issues in i915(4) from the update to
Linux 4.7.10 code in
8621f4070e7cb342161183c980ae7fce2fd8124e.
Matthew Dillon [Wed, 7 Jun 2017 18:59:15 +0000 (11:59 -0700)]
kernel - Move PAT indices 4, 5 to 5, 6
* Move the PAT indices to solve a stale cache issue on MacBooks that
prevents proper booting.
Submitted-by: profmakx, peeter
Taken-from: FreeBSD
Matthew Dillon [Wed, 7 Jun 2017 18:21:10 +0000 (11:21 -0700)]
kernel - Add quirk for additional MCP79 AHCI chipset
* Add quirk to ignore FIS status to yet another MCP79 chipset. These NVidia
chipsets do not implement the AHCI spec properly and need a quirk to probe
properly.
Reported-by: peeter
Bill Yuan [Thu, 8 Jun 2017 00:59:10 +0000 (08:59 +0800)]
ipfw3sync: comment out the printing
Bill Yuan [Wed, 7 Jun 2017 13:02:55 +0000 (21:02 +0800)]
ipfw3_basic: move netisr_domsg out of callout func
Imre Vadász [Mon, 5 Jun 2017 19:48:36 +0000 (21:48 +0200)]
sdhci - Add missing BROKEN_DMA quirk for Apollo Lake in sdhci_acpi(4).
* Because of the APL18 erratum, DMA should be disabled on the Apollo Lake
controllers for now, until we have 64bit ADMA2, which should work
reliably on these models. I forgot to add this flag in sdhci_acpi(4) in
commit
7ba10b88109826f7f4b59e318458760d74f2452e.
Matthew Dillon [Sat, 3 Jun 2017 22:05:18 +0000 (15:05 -0700)]
dhclient - Fix bug last commit
* Missing 'fi' in script prevented it from working properly.
Michael Neumann [Fri, 2 Jun 2017 23:17:55 +0000 (01:17 +0200)]
drm/radeon: Sync firmware with Linux
Michael Neumann [Fri, 2 Jun 2017 22:39:05 +0000 (00:39 +0200)]
drm/radeon: Add missing radeon firmware
Michael Neumann [Fri, 2 Jun 2017 22:25:57 +0000 (00:25 +0200)]
drm/radeon: Fix firmware paths and add missing modules
François Tigeot [Fri, 2 Jun 2017 19:13:31 +0000 (21:13 +0200)]
drm/linux: Add work_busy()
Matthew Dillon [Fri, 2 Jun 2017 17:57:44 +0000 (10:57 -0700)]
dhclient - Implement RFC 3442
* Implement RFC 3442
Taken-from: FreeBSD
Sepherosa Ziehau [Tue, 30 May 2017 13:09:46 +0000 (21:09 +0800)]
bce: Use ringmap to do MSI-X cpu assignment and fill redirect table.
François Tigeot [Thu, 1 Jun 2017 08:28:04 +0000 (10:28 +0200)]
drm/linux: make flush_work() more robust
Sepherosa Ziehau [Thu, 1 Jun 2017 03:28:26 +0000 (11:28 +0800)]
ifnet: Fix regression if netisr_ncpus consisted of a large primary number
e.g. # of rings == 8, and netisr_ncpus == 22
Previous algorithm will only use 2 rings instead of 8 rings.
Sepherosa Ziehau [Thu, 1 Jun 2017 03:22:34 +0000 (11:22 +0800)]
ifnet: Stringent if_ringmap assertion
Imre Vadász [Tue, 30 May 2017 21:35:53 +0000 (23:35 +0200)]
acpi - The UniqueId (from the _UID method) can be a string as well.
* So converting the UniqueId.String value to a number, and back to a
string for generating the pnpinfo string is a bad idea.
Sepherosa Ziehau [Wed, 31 May 2017 13:34:26 +0000 (21:34 +0800)]
jme: Enable RSS only after Toeplitz key and redirect table are configured
Sepherosa Ziehau [Wed, 31 May 2017 13:19:07 +0000 (21:19 +0800)]
jme: Use callout_init_mp
Sepherosa Ziehau [Sun, 28 May 2017 11:35:23 +0000 (19:35 +0800)]
jme: Use ringmap to do MSI-X cpu assignment and fill redirect table.
Sepherosa Ziehau [Sun, 28 May 2017 11:07:40 +0000 (19:07 +0800)]
ifnet: Remove redundant check.
Sepherosa Ziehau [Sun, 28 May 2017 11:04:08 +0000 (19:04 +0800)]
ifnet: Add support to create ringmap requiring power-of-2 ring count.
Imre Vadász [Sun, 21 May 2017 12:11:44 +0000 (14:11 +0200)]
Port initial UHS-1 support from FreeBSD (Only DDR52 for eMMC so far).
* Fix typo from FreeBSD commit:
SDHCI_CTRL2_DRIVER_TYPE_A/_C_D vs. SDHCI_CAN_DRIVE_TYPE_A/_C/_D.
And these Driver Type capability bits are in the CAPABILITIES2 register.
* Hide 1.8V VDD capability when the slot is detected as a removable card
slot, as the spec explicitly states that the 1.8V VDD is only meant to
be for embedded slots.
* This gives ca. 75 MiB/s read speed with the eMMC in my HP X2 210
detachable with the Intel Cherry Trail eMMC controller, in DDR52 mode.
Taken-From: FreeBSD (svn r315598)
Sascha Wildner [Tue, 30 May 2017 20:49:10 +0000 (22:49 +0200)]
efivar.8: Fix typo.
Sascha Wildner [Tue, 30 May 2017 19:31:46 +0000 (21:31 +0200)]
kernel/boot: Bring in a number of TianoCore EDK II headers.
No need to maintain our own here, which were just extracts
of Intel's headers anyway.
Taken from the MdePkg of the UDK2017 branch of the
git://github.com/tianocore/edk2 repository.
All I modified was killing CRs using 'tr -d "\015"'.
FreeBSD has been doing some similar work recently, so I went
with their sys/contrib directory path choice.
This is a work in progress.
Matthew Dillon [Tue, 30 May 2017 19:13:41 +0000 (12:13 -0700)]
kernel - Change default kern.ipc.shm_allow_removed=1
* Change kern.ipc.shm_allow_removed to default to enabled. This feature
allows a shared memory segment to be located by its shmid after being
deleted, as long as some prior reference to the segment is still active.
* Primarily used by chrome these days, this trick is convenient in that
it allows applications to attach shared memory segments in a manner that
do ensures they are deleted if the application is killed or seg-faults
unexpectedly.
Sascha Wildner [Tue, 30 May 2017 17:05:36 +0000 (19:05 +0200)]
Add a small vga_switcheroo/apple_gmux manual page.
Submitted-by: Peeter Must <karu.pruun@gmail.com>
François Tigeot [Mon, 29 May 2017 12:15:48 +0000 (14:15 +0200)]
drm/linux: Add list_empty_careful()
Sascha Wildner [Mon, 29 May 2017 07:37:54 +0000 (09:37 +0200)]
Adjust various manual pages for recent work etc.
Sascha Wildner [Sun, 28 May 2017 01:46:17 +0000 (03:46 +0200)]
Update the pciconf(8) database.
May 25, 2017 snapshot from http://pciids.sourceforge.net/
Sepherosa Ziehau [Fri, 26 May 2017 11:01:52 +0000 (19:01 +0800)]
ifnet: Split ringmap declaration into their own header.
Avoid bus.h -> device_if.h+bus_if.h pollution.
Suggested-by: swildner
Sepherosa Ziehau [Fri, 26 May 2017 14:46:20 +0000 (22:46 +0800)]
emx: Use ringmap to do polling cpu assignment and fill redirect table.
Sepherosa Ziehau [Fri, 26 May 2017 06:15:22 +0000 (14:15 +0800)]
mxge: Share same redirect table for RSS and non-RSS mode.
Sepherosa Ziehau [Fri, 26 May 2017 05:21:33 +0000 (13:21 +0800)]
kern: Bump __DragonFly_version.
- Change CPU_SETSIZE to signed int.
- Allow process to change selft CPU affinity.
Sepherosa Ziehau [Fri, 26 May 2017 05:21:06 +0000 (13:21 +0800)]
usched: Allow process to change self cpu affinity
Sepherosa Ziehau [Fri, 26 May 2017 05:20:23 +0000 (13:20 +0800)]
sched: Change CPU_SETSIZE to signed int, same as FreeBSD/Linux.