as possible. For that, split out a function which does the allocation
of a softc (without linking it into global structures) and a function
which inserts the device into the global alldevs lists and the per-driver
cd_devs.
There is a little semantic change involved: the pseudo-device code didn't
interpret FSTATE_STAR as such, for no good reason. This looks harmless;
I'll modify driver frontends as I find ways to test.
Get config_makeroom() out of the public namespace - that's clearly an
internal of autoconf which drivers can't be allowed to deal with.
what it does; use some code from btuart(4) which might be for a
similar purpose.
XXX This is very definitely broken; when I understand how this is
supposed to work and how it can be tested I'll have another look at it.
Use casts to char* before pointer arithmetic.
Try to preserve `volatile' qualification where possible, though
uses of kvtop(), strcpy(), copyin() and copyout() gain an unfortunate
but probably unavoidable __UNVOLATILE().
Correct various instances of "void *ba, fb" to have * in front of fb as well.
Remove some redundant parenthesis pairs in some of the vga* macros.
Seperate "cpubus" and "ioapicbus" -- while they share a common "address
space" (the apic id), the kernel doesn't use this fact. There are different
data passed to cpus and apics, which caused some ugly polymorphism. This
also saves the special "submatch" functions needed to distingush cpus
and ioapics for autoconf. (And it makes that "apid" locators wired
in the kernel configuration are honored now; this allows one to dumb down
an mp box to singleprocessor by userconfig.)
Print "apid" locators in the buses "print" function "as everyone does",
so the per-port cpu drivers don't need to do it.
Being here, constify "struct cpu_functions" and g/c the unused MP_PICMODE
flag.