ci_data.cpu_cc_freq should be set to a higher precision value.
In addition, when cpufreq_dt_init(), or while throttling, sc->sc_freq_target should not
be referenced by cpufreq_dt_change_cb() because it does not have the correct value.
Sync negotiation times out when drive advertises that capability:
----
sd1 at scsibus0 target 1 lun 0: <codesrc, SCSI2SD, 6.0> disk fixed
sd1: 16384 MB, 2088 cyl, 255 head, 63 sec, 512 bytes/sect x 33554432 sectors
sd1: sync (160.00ns offset 15), 8-bit (6.250MB/s) transfers
...
sd1(esp0:0:1:0): esp0: timed out [ecb 0x9f7fc4 (flags 0x1, dleft 8, stat 0)], <state 5, nexus 0x9f7fc4, phase(l 1, c 1, p 1), resid 8, msg(q 0,o 80) DMA active>
sd1(esp0:0:1:0): sync negotiation disabled
sd1(esp0:0:1:0): esp0: timed out [ecb 0x9f7fc4 (flags 0x41, dleft 8, stat 0)], <state 5, nexus 0x9f7fc4, phase(l 1, c 1, p 1), resid 8, msg(q 20,o 80) DMA active> AGAIN
sd1: async, 8-bit transfers
----
This is observed for real SCSI drives as well as SCSI2SD (rev 6.0).
Note that this is not a fallout from DMA patch for AV Macs; timeout
takes place even if ``avdma'' code is forcibly disabled.
No binary changes.
indent cannot handle line-end comments.
The indent test suite requires each test file to have both a NetBSD and
a FreeBSD RCS ID. If the FreeBSD RCS ID is missing, the test will
silently pass since in that case, an empty file is compared with an
empty file. See the /start/,/end/ operator in t_indent.sh.
Fixed bugs:
Do not consider the puzzle solved if all letters in the visible area are
substituted correctly. To be properly solved, the whole puzzle must be
solved, even those parts that are currently off-screen.
Never place the cursor at the very right edge of the screen since that
does not work well with some terminals. The maximum valid x coordinate
is COLS - 1.
Add horizontal scrolling. Make all coordinate handling symmetric in
regard to the horizontal and vertical axes. Previously, lines longer
than 80 characters could not be seen on the screen.
Improvements:
Remove the arbitrary limit of 128 characters per line. Even if
fortune(6) may never generate such long lines, the code is easy enough
to adapt to other sources.
Properly clean up the allocated memory. Previously, only the string
arrays were freed but not the strings themselves.
Stylistic:
Add RCS ID.
Fix ctype functions in lint's strict bool mode.
Avoid excessive calls to strlen whenever the cursor moves. Given that
the whole screen is redrawn every time a key is pressed, this is an
unnecessary optimization, but the code smelled nevertheless.
before returning failure if there is partial failure
fix detection of partial failure - GNTTABOP_map_grant_ref can actually return
zero for partial failure, so we need to always check all the entries
to detect it
previously, DIAGNOSTIC kernel triggered panic() for partial failure,
and non-DIAGNOSTIC kernel did not detect it at all, leading to Dom0 page
fault later; since the mapping failure can be triggered by malicious
DomU via bad grant reference, it's important to expect the calls
to fail, and handle it gracefully without crashing Dom0
part of fixes for XSA-362
the non-initialized handles when xen_shm_map() fails
remove the ratechecked error printf for shm error - xbdback_io_error() prints
the error too
part of fixes for XSA-362
Eliminate some frequently occurring subexpressions during substitution.
No functional change, assuming that fortune(6) always spits out less
than 2 gigacharacters of text.
Having to convert back and forth between char, unsigned char and int is
confusing. Just stay with char, until the support for wide characters
is added.
No functional change.
With manual corrections afterwards:
- indent removes empty lines between statement and declaration. This
had been a syntax error in C90, since C99 this is common style and
should be accepted by indent.
- indent didn't format the first line of main for whatever reason, did
that manually.
- indent removed the empty line above the '/////' separators. It should
have left these empty lines as-is.
It is possible that the type name 'array[unknown_size]' may spill into
the user-visible diagnostics. The current test suite does not cover
such a case. Anyway, saying 'array[unknown_size]' is still better than
saying 'array[0]', which would be misleading.
In initstack_pop_nobrace, if anything happens to the initstack, it will
be logged by initstack_pop_item.
In init_using_expr, the address of the node is irrelevant, the node's
contents has already been logged above.
Before, the caller was responsible for initializing the return values
from the function. This was an unexpected burden.
Ensure that in each branch that returns true, both return values are
properly set.
Strangely, the only caller of that function, init_using_expr, uses
neither of the return values. It just tests whether the expression is
constant or not.
No functional change.
The debug logging contained much redundant information and was
misleading in a few places. For example, "pop" did not actually pop an
item, plus there are several things that could be popped, so that didn't
help either.
Sprinkle some comments in places where the code needs to become clearer.
No functional change outside debug mode. The condition
'istk->i_remaining >= 0' was redundant due to the assertion directly
above it.
The longer name is more expressive and more correct. The previous name
called each stack element a stack itself, which was unnecessarily
confusing.
No functional change.