depends on delay() and DELAY().
Unfortunately, proplib(9) API is not available for MD codes, that are
called before consinit() (since pool(9) is not initialized yet).
Therefore, hard-code CPU frequency to calc_delayconst() in case
"processor-frequency" is not initialized.
Not clearly documented in reference manual, but DCR_EXISR register is
not updated immediately after some bits are cleared by mtdcr, no matter
whether sync (= eieio) and/or isync are issued.
Therefore, we have to manage our own status mask in the interrupt handler.
This is what we did in obsoleted powerpc/ibm4xx/intr.c.
With this change, my Explora 451 works just fine with serial console!
Fix for framebuffer console will be committed soon.
This is another step in making XEN3_DOM0 closer to GENERIC. It is
just reordering lines, adding commented out lines, and adding a few
comments. (Test-booted with no dmesg change.)
This pass is showing cases where there are substantive and likely
undesired changes (e.g., UFS_ACL is not defined in XEN3_DOM0). Often
I added them but commented them out to preserve the NFC property of
this commit. My plan is to finish the easy NFC stuff first before
addressing functional changes.
While making XEN3_DOM0 more like GENERIC, I noticed a few differences
where GENERIC was off -- trivial things like missing spaces in
comments, inconsistent comment workding. This fixes those, both
because they are valid fixes in their own right once noticed, and to
make the diff to XEN smaller.
This commit reorders some lines, and brings in commented lines from
GENERIC to reduce the diff. It also brings in two agp lines,
commented out, and with a warning that they are intentionally omitted.
assuming that everything that isn't a list is a tailq. Fixes random
reads from kmem that either fail or return incorrect data for the vcache
hash table.
Copy PCKBD_CNATTACH_MAY_FAIL lines from GENERIC to XEN3_DOM0.
GENERIC defines PCKBD_CNATTACH_MAY_FAIL, which means that an attempt
to activate console input on pckbc will fail if there is no keyboard
present. This is a problem on semi-modern machines that have pckbc
silicon but not ports, and thus almost always have a USB keyboard
also. What I suspect are bugs in console attachment logic lead to
attempting to attach a ukbd while there already is a console keyboard,
and with DIAGNOSTIC this is (properly) fatal, so XEN3_DOM0 blows up
with a USB keyboard in current, and probably not in 9.
Live tested on a machine that previously paniced on boot.
Copy the *VERBOSE option block from GENERIC, and prune the scattered
verbose options in XEN3_DOM0, surely dating from a time they were
copied from an earlier GENERIC. This amounts to adding PCIVERBOSE and
SCSIVERBOSE, and the diff from GENERIC to DOM0 boots is markedly
reduced.
ix_txrx.c rev.1.64 preallocates jcl to prevent starvation but it's not
perfect. Don't use ixgbe_rx_discard() and just update the old descriptor
for reuse. It's also required for multiple descriptors case to refresh
subsequent descriptor(s). Reviewed by knakahara@.