This merge changes the device switch tables from static array to
dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.
- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.
- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
perform the translation and recursion if t->ranges != NULL. Make
sbus, cpuunit, and bootbus inherit the parent's map/mmap routines,
and delete the now-unused mapping functions. Update all places where
bus space tags are statically allocated.
board has 2 CPU units (one for each processor), one of which also has
a "bootbus", to which the serial ports, etc. are attached.
We can now probe/attach CPUs on a SPARCserver 1000.
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.
pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
nor software interrupt pending bit is set for the current ipl. Report
this as a "bogus" interrupt (better name anyone?). This is a symptom
of a bug in interrupt handling in one of device drivers interrupting
at this ipl. Reviewed by pk.
be properly used by any misc. cloning device. While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
machines always use the Viking CPU, and cache info is not available
from the PROM, so we have to hard-code it in that case.
Rearrange some stuff to make it easier to share.
how many CPU types are configured into the kernel. Then, use this
information to define the CPU predicate macros according to the
following rules:
1. If support for a CPU type is not configured into the kernel,
then the test is always false.
2. Otherwise, if only one CPU type is configured into the kernel,
then the test is always true.
3. Otherwise, we have to reference the cputyp variable.
Use a similar strategy for short-cutting the page size related
definitions.
as (CPU_ISSUN4 || CPU_ISSUN4C) and (CPU_ISSUN4C || CPU_ISSUN4M),
respectively. The compiler can still optimize as desired by expressing
them this way, and it simplifies adding new tests.
While here, just remove CPU_ISSUN4MOR4U; it's not used by anything.