Mladen Nikitovic writes: > I'm compiling the opensolaris kernel source and I'm wondering if there is a > documented mapping between the hardware I'm compiling on and the cpu-specific > files that are chosen during compilation. When listing the directories in > usr/src/uts I find the following catalogs among others:
Not exactly. We don't turn off (say) UltraSPARC V support merely because you're compiling on an UltraSPARC-IIi. The "big switch" here is between architectures -- x86 versus SPARC -- and not between particular models. > sparc > sun > sun4 > sun4u > sun4v > > What is the difference between sparc, sun, sun4, sun4u, and sun4v? "sparc" has things specific to SPARC architectures (versus x86), but that are generic to all SPARC systems. A major part of that are the Makefiles that build the kernel modules. (E.g., sparc/ip/Makefile) "sun" has source code for kernel parts that are specific to Sun machines, such as the hme and qfe drivers. "sun4" has source for things that are in common between all Sun4 type systems, including sun4u and sun4v. "sun4u" and "sun4v" are specific classes of machines (`uname -m`). A "sun4u" is a regular UltraSPARC system. "sun4v" are the newer Niagara-type machines with hypervisor support. > Is there a document explaining this? How about usr/src/uts/README? > So, if the machine I'm compiling on is a ultrasparc-IIi, the question is what > directory or directories (sparc, sun, sun4, sun4u, or sun4v) are chosen for > that particular architecture. All of them. > Furthermore, what architecture-dependent files are chosen? See the $($(MACH)_ARCHITECTURES) variable in usr/src/uts/Makefile. That expands to either $(sparc_ARCHITECTURES) or $(i386_ARCHITECTURES) and all of those directories will be built. -- James Carlson, Solaris Networking <[EMAIL PROTECTED]> Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677 _______________________________________________ opensolaris-discuss mailing list [email protected]
