ip6_temp_preferred_lifetime is used to calculate an interval period to
regenerate temporary addresse by
TEMP_PREFERRED_LIFETIME - REGEN_ADVANCE - DESYNC_FACTOR
as per RFC 3041 3.5. So it must be greater than (REGEN_ADVANCE +
DESYNC_FACTOR), otherwise it will be negative and go wrong, for example
KASSERT(to_ticks >= 0) in callout_schedule_locked fails.
- Move the related functions to where in6_tmpaddrtimer_ch exists
- Hide global variable in6_tmpaddrtimer_ch
- Rename ip6_init2 to in6_tmpaddrtimer_init
- Reduce callers of callout_reset
- Use callout_schedule
> ixgbe: Disable EEE for backplane X550EM_X
>
> From Zach:
> Intel documentation indicates that backplane X550EM_X KR devices do not
> support Energy Efficient Ethernet. Prior to this patch, X552 devices
> (device ID 0x15AB) will crash the system when transitioning EEE state
> via sysctl.
>
> Signed-off-by: Zach Vargas <zvargas@xes-inc.com>
>
> PR: 240320
> Submitted by: Zach Vargas <zvargas@xes-inc.com>
> Reviewed by: erj@
> MFC after: 3 days
> Differential Revision: https://reviews.freebsd.org/D21673
It seems the hardware can only reliably do rx DMA to addresses that are
dcache size aligned. This is hinted at by some GMAC data sheets but hard to
find an authoritative source.
on non-DIAGNOSTIC kernels we always implicitly get MCLBYTES-aligned mbuf
data pointers, but with the reintroduction of POOL_REDZONE for DIAGNOSTIC
we can get 8-byte alignment due to redzone padding. So align rx pointers to
64 bytes which should be good for both arm32 and aarch64.
While here change some bus_dmamap_load() to bus_dmamap_load_mbuf() and add
one missing bus_dmamap_sync(). Also fixes the code to not assume that
MCLBYTES == AWGE_MAX_PACKET. User may override MCLSHIFT in kernel config.
16 August 2019. Summary of changes for version 20190816:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Modified the OwnerId mechanism to allow for more Owner Ids. The previous
limit was 256 Ids, now it is 4096 Ids. This prevents OWNER_ID_LIMIT
exceptions on machines with a large number of initialization threads,
many CPU cores and nested initialization control methods.
Introduced acpi_dispatch_gpe() as a wrapper around AcpiEvDetectGpe() for
checking if the given GPE (as represented by a GPE device handle and a
GPE number) is currently active and dispatching it (if that's the case)
outside of interrupt context.
Table load: exit the interpreter before initializing objects within the
new table This prevents re-acquiring the interpreter lock when loading
tables
Added the "Windows 2019" string to the _OSI support (version 1903). Jung-
uk Kim
Macros: removed pointer math on a null pointer. Causes warnings on some
compilers and/or tools. Changed ACPI_TO_POINTER to use ACPI_CAST_PTR
instead of using arithmetic.
Fully deployed the ACPI_PRINTF_LIKE macro. This macro was not being used
across all "printf-like" internal functions. Also, cleanup all calls to
such functions (both in 32-bit mode and 64-bit mode) now that they are
analyzed by the gcc compiler via ACPI_PRINTF_LIKE.
2) iASL Compiler/Disassembler and ACPICA tools:
iASL: implemented a new data table compiler flex/bison front-end. This
change is internal and is not intended to result in changes to the
compiled code. This new compiler front-end can be invoked using the -tp
option for now, until the old mechanism is removed.
ASLTS: Implemented a new data table compiler test suite. This test suite
generates all table templates and compile/disassemble/re-compile/binary-
compare each file.
iASL: return -1 if AML files were not generated due to compiler errors
iASL: added a warning on use of the now-legacy ASL Processor () keyword.
iASL: added an error on _UID object declaration that returns a String
within a Processor () declaration. A _UID for a processor must be an
Integer.
iASL: added a null terminator to name strings that consist only of
multiple parent prefixes (^)
iASL: added support to compile both ASL and data table files in a single
command.
Updated the tool generation project files that were recently migrated to
MSVC 2017 to eliminate all new warnings. The new project files appear in
the directory \acpica\generate\msvc2017. This change effectively
deprecates the older project files in \acpica\generate\msvc9.
> alc_rev was used without initialization such that it failed to
> apply AR8152 v1.0 specific initialization code. Fix this bug by
> explicitly reading PCI device revision id via PCI accessor.
>
> Reported by: Gabriel Linder ( linder.gabriel <> gmail dot com )
sigswitch() can be called from exit1() through:
ttywait()->ttysleep()-> cv_timedwait_sig()->sleepq_block()->issignal()->sigswitch()
lwp_exit() called for the last LWP triggers exit1() and this causes a panic.
The debugger related signals have short-circuit demise paths in
eventswitch() and other functions, before calling sigswitch().
This change restores the original behavior, but there is an open question
whether the kernel crash is a red herring of misbehavior of ttywait().
This should fix PR kern/54618 by David H. Gutteridge
- Ignore devno > 0 on the PCIe root port.
- Fixup PCIe bridge bus number register on the root port.
- Move quirk handling to acpipchb so it can be applied before the bus
is configured.
second argument, and the compiler is free to perform optimizations knowing
that this argument is never NULL.
In this particular case, it was harmless. But still good to fix.
Reported-by: syzbot+6f504255accb795eb6b7@syzkaller.appspotmail.com
Graviton has a GICv3 with a modified GICv2m (!) for MSIs. Instead of
sending messages to a fixed address with the SPI as data, the Graviton's
GICv2m uses a different address for each vector with "don't care" as data.