Age | Commit message (Collapse) | Author |
|
takes care of.
ok dlg@
|
|
|
|
device tables and kernel config files. ok deraadt
|
|
interrupts in PIC rev 1; from IRIX via Linux 2.5.69.
This doesn't fix the lost SCSI interrupts jasper@ eventually experiences on
Origin 350 systems, but this can't hurt anyway.
|
|
No change but ordering in the generated files, so I won't even bother to
regen them - this is only a `documentation' change.
|
|
|
|
|
|
- Always use either: ((x & RB_XXX) != 0) or ((x & RB_XXX) == 0) in boolean
context (mostly if (x), or x ? y : z)
- prom_halt() in alpha is confirmed to take int as boolean
Converted by coccinelle. No functional change intended.
|
|
which have it.
Instead of implementing external L2 maintainance at the cache routine level,
let bus_dmamap_sync(9) know about the possible existence of an external L2,
and invoke a dedicated routine to perform the necessary cache operations.
This way, the external L2 dmamap_sync function pointer can get invoked with
the physical address to operate on; this saves the pmap_extract() calls the
previous cache routine had to do.
|
|
|
|
|
|
|
|
for DMA, back when this was applicable.
|
|
Some architectures have ability to detect hardware sanity and notify system
(NMI, firmware callback, etc.). Handle these hardware severe errors, same
as software errors, with panic(9).
According to miod@, SGI IP27 NMI is triggered by pushing some "hidden" button,
which "usual" users/admins don't know. Pushing such a button is "RB_USERREQ"
(human-triggered) in that the button is pushed by a human, but not "RB_USERREQ"
in that no user intervention in system (== no command input) is done. miod@
agreed that changing these from RB_USERREQ to !RB_USERREQ (== panic(9)) is
not a big problem.
OK miod@ kettenis@
|
|
|
|
|
|
after discussions with beck deraadt kettenis.
|
|
I have found that some ports call boot(9) from machine-dependent code to
reboot system. These should be changed to either:
- Sending signal to init(8) to trigger it to shutdown system cleanly, like
acpi(4) does, in cases where found problems don't prevent system from working
immediately, or
- Just doing panic(9) if the situation is severely broken.
For now, just rewrite boot() to reboot(). Actual fixes follow.
Discussed with & OK from kettenis@
|
|
Some (not all) boot(9) implementations have ancient hacks which overrides if
(curproc == NULL). This was probably made in a hope to forcibly proceed
various clean-shutdown related code, including VFS shutdown. Let's clarify
that clean-shutdown needs process context; it is impossible to cleanly shutdown
VFS from within e.g. a panic in SPL_HIGH.
OK kettenis@
|
|
not sleep if the allocator cannot obtain a lock when BUS_DMA_NOWAIT is
specified.
idea and inputs from kettenis@, ok miod@
|
|
Remember initprocess instead of initproc.
ok matthew@ blambert@
|
|
rebooting a machine, like it is done in the hibernate case.
At least some USB host controller drivers rely on this to busy way instead
of sleeping. Avoid a panic on macppc with an uhci(4) cardbus plugged in.
ok deraadt@, uebayashi@
|
|
Again remove slightly different comments to reduce diffs. These will be
re-added once boot() become MI and its specification is clearly re-defined.
OK miod@
|
|
RB_TIMEBAD is documented well enough that the comment is not needed. sparc64
does slightly different and its comment is left with XXX.
OK deraadt@ miod@
|
|
OK deraadt@
|
|
|
|
actually part of the GIO address range; these obviously come from speculative
R10000 execution and are completely harmless (except for the need to acknowledge
them, which we have to do anyway).
|
|
(we need to make them signed to spot controller overruns), and fix format
strings accordingly.
While there, make sure every runtime printf is prefixed by either the complete
target information, if available, or at least the driver name with the
proper instance number - supported systems with > 1 wdsc are quite common.
|
|
|
|
with softraid(4) disks.
softraid(4) is the last real consumer of the doshutdownhooks(9) API and it is
not trivial to convert its hook to a DVACT_POWERDOWN handler since the latter
does not allow to sleep.
|
|
rebooting a machine, like it is done in the hibernate case.
At least some USB host controller drivers rely on this to busy way instead
of sleeping. Avoid a panic on macppc with an uhci(4) cardbus plugged in.
ok deraadt@, uebayashi@
|
|
|
|
to convert the PS/2 keyboard layouts to SGI serial keyboard layouts.
Only the subset of layouts known to have existed (as listed in IRIX's
<sys/kbd.h> header) get converted, and specific flavours (iopener, dec LK)
are ignored as well. `nodead' flavours, when existing, are preserved.
|
|
use this to read the DIP switches from the keyboard at attach time.
Change the state machine to allow for a `DIP switch prefix' scan code to be
received while we are not attempting to read the DIP switches, for the
`international' key (not found in regular us layouts, documented is the
`GERlessthan' key in sgi's keyboard(7) manual page) will return the
aforementioned scancode, instead of the one documented in the manual.
Thanks to sebastia@ for lending me his german layout keyboard.
|
|
initial diff from jasper@
|
|
add attributes to it later; as wd33c93 is not a valid device name.
ok miod@
|
|
ok mpi@ yuo@
|
|
|
|
ok dlg@ mpi@ deraadt@
|
|
board revisions < 4 (found on Indigo) and >= 4 (found on Indy and Indigo2).
Paint the cursor as an inverted glyph, instead of exchanging bg and fg colours
(matching the current practice on other frame buffers).
Speed-up overlapping copy operations by attempting to perform them in
larger chunks whenever possible; this speeds up console jump scrolling.
|
|
|
|
Add a simple screen burner accessop.
|
|
revision.
|
|
affecting R4000 processors revision 2.x and below (found on most R4000 Indigo
and a few R4000 Indy).
Since this errata gets triggered by TLB misses when the code flow crosses a
page boundary, this code attempts to identify code pages prone to trigger the
errata, and force the next page to be mapped for at least as long as the
current pc lies in the troublesome page, by creating wiring extra TLB entries.
These entries get recycled in a lazy-but-aggressive-enough way, either because
of context switches, or because of further tlb exceptions reaching trap().
The errata workaround code is only compiled on R4000-capable kernels (i.e.
sgi GENERIC-IP22 and nothing else), and only enabled on affected processors
(i.e. not on R4000 revision 3, or on R4400).
There is still room for improvemnt in unlucky cases, but in this simple enough
incarnation, this allows my R4000 2.2 Indigo to finally reliably boot multiuser,
even though both /sbin/init and /bin/sh contain code pages which can trigger
the errata.
|
|
use a <machine/pte.h> define to figure out what the pmap limit is.
|
|
PV_xxx to PGF_xxx for consistency (these are not stored in pvlist entries
anymore since years). The PG_ prefix can't be used here because of name
conflicts with <machine/pte.h> names, and I'd rather not rename the pte
constants.
No functional change. But it makes my life easier.
|
|
supposed to be outside the clipping region, not inside (i.e. there was an
off-by-one everywhere).
- Add colormap support, by programming the RAMDAC palette registers at init
time, and also implement the colormap ioctls.
|
|
|
|
"mainbus" device. this breaks when mpath is enabled because it
attaches before mainbus and therefore takes the head position.
have autoconf provide device_mainbus() which looks up mainbus_cd,
and use that instead.
discussed with deraadt who just wants mpath stuff to move forward
despite there being many ways to shine this particular turd.
|
|
|