SPARC (the Scalable Processor ARChitecture) is a RISC-based processor mainly used in high-end workstations and servers; in particular, Sun's SparcStation and many of Sun's Ultra machines are SPARC based. Notable features of Sun's implementation include:
- OpenBoot (aka OpenFirmware, IEEE 1275)
As Sparc hardware generally is highly expensive, few hobby OS's target it; however, as more and more older SPARCs are being replaced, an interested developer can often find them at swap meets and in discard piles, where they are available at little cost.
As a side effect of their high cost, little documentation is available for Sun's workstations at a hardware level, and what is available from Sun often requires a support contract. Fortunately, several free operating systems support the Sparc, such as Linux and *BSD.
The Sparc processor has several versions:
- V8: 32-bit, used in Sun's SparcStations
- V9: 64-bit, used in Sun's ULTRA workstations. Also known as UltraSparc.
|Name||Number||Function||Callee must preserve?|
|%g1-%g7||$1-$7||global registers 1-7|
|%o0-%o5||$8-$13||output registers 0-5|
|%o7||$15||subroutine return address|
|%l0-%l7||$16-$23||local registers 0-7|
|%i0-%i5||$24-$29||input registers 0-5|
|%i7||$31||function return address|