count blocks written in unsigned 64 bit counter
rather than signed int which overflows after 2^31-1
blocks (2TiB) after which neither the 5 minute
status updates or SIGINFO (^T) reports are issued
until the negative numbers increase past 0 and
wildly inaccurate reports would be written.
Before, the conditions in the output had been expanded, which made them
illegible. The expanded conditions were unrealistic as well since the
evaluation flags differ between a condition and normal evaluation
(VARE_WANTRES, VARE_UNDEFERR).
The function name had been too ambiguous since it didn't mention the
particular directory that was initialized. Instead of that function,
Dir_InitCur is called directly from main_Init.
The pseudo CachedDir entry ".DOTLAST" is initialized at the very
beginning. The observable behavior is unchanged since this a
memory-only object with no connection to the file system.
iavf(4) didn't dequeue aqb from sc_atq_live that is a list for
buffer in use when a command is failed by ETIMEDOUT.
This causes a panic in the following sequence:
1. enqueue an aqb to sc_atq_live at iavf_aqb_post()
2. the last command is failed by ETIMEDOUT
3. enqueue the aqb used in the failed command to sc_atq_idle
at an error handling in iavf_attach()
4. dequeue the same aqb from sc_atq_live and enqueue sc_atq_idle
again at iavf_cleanup_admin_queue()
- sc_atq_idle is broken at that time
5. free the aqb in sc_atq_idle more than once
Fix PR/55822
reviewed by knakahara@n.o.
For big-endian mode, all data written to and read from DMA buffer must be
byte-swapped. This requires heavy modifications to third party codes.
Also, we will switch to vc4 drm driver, hopefully soon.
For __ARMEB__ in BE8 mode, instructions are encoded in little-endian.
Therefore, we need to swap bytes against these in native byte order.
In other cases, i.e., __ARMEL__ and __ARMEB__ in BE32 mode, instructions
are in native byte order, and we don't need to swap them.
- Turn on U-bit in SCTLR before E-bit is turned on by ``setend be'',
in order to avoid undefined condition. ARM1176JZF-S, at least, halts
if only E-bit is turned on.
- Turn on EE-bit in SCTLR instead of B-bit as we've switched to BE8.
My strategy here is to define _ARM_ARCH_BE8 macro in arm/cdefs.h, if
__ARMEB__ && _ARM_ARCH_6.
Use this macro to determine whether system is compiled for and running on
BE8 mode or not.
Note that, for __ARMEB__, some conditions become compile-time constants
determined by _ARM_ARCH_BE8 macro, e.g., whether BE8 or BE32 are accepted
as a userland binary, or unaligned memory access is possible or not.
- binary compatibility with earmv7{,hf}eb and later, as well as
COMPAT_NETBSD32 on aarch64eb
- unaligned memory access
whereas compatibility with earmv5{,hf}eb and prior is lost.
As we have never released kernel and userland for earmv6{,hf}eb yet,
this does not causes any compatibility problems.
Discussed on port-arm and tech-toolchain.
The special path entry is called .DOTLAST, therefore the local variable
should have the same name.
A variable named 'base' must not point to the slash of a pathname. It
may only point to the character after the slash, everything else is
confusing, even if it's only for a brief moment.