[OpenBIOS] PowerPC special purpose registers

Segher Boessenkool segher at kernel.crashing.org
Tue May 3 00:53:08 CEST 2016


On Mon, May 02, 2016 at 06:05:05PM -0400, Programmingkid wrote:
> You know how you see messages about writing to missing registers like these:
> 
>  OS 9.2] Trying to write invalid spr 0 (0x000) at 00f113c0
> 11:26:23.910 WARNING [Mac OS 9.2] Trying to read invalid spr 0 (0x000) at 00f113c8
> 11:26:24.055 WARNING [Mac OS 9.2] Trying to write privileged spr 955 (0x3bb) at 00f164b8
> 11:26:24.055 WARNING [Mac OS 9.2] Trying to write invalid spr 959 (0x3bf) at 00f16520
> 11:26:24.055 WARNING [Mac OS 9.2] Trying to read invalid spr 959 (0x3bf) at 00f16528
> 11:26:24.056 WARNING [Mac OS 9.2] Trying to write invalid spr 944 (0x3b0) at 00f1653c
> 11:26:24.056 WARNING [Mac OS 9.2] Trying to read invalid spr 944 (0x3b0) at 00f16544
> 11:26:24.056 WARNING [Mac OS 9.2] Trying to write invalid spr 951 (0x3b7) at 00f16550
> 11:26:24.056 WARNING [Mac OS 9.2] Trying to read invalid spr 951 (0x3b7) at 00f16558
> 11:26:24.204 WARNING [Mac OS 9.2] Trying to write privileged spr 955 (0x3bb) at 00f164b8
> 11:26:24.204 WARNING [Mac OS 9.2] Trying to write invalid spr 959 (0x3bf) at 00f16520
> 11:26:24.204 WARNING [Mac OS 9.2] Trying to read invalid spr 959 (0x3bf) at 00f16528
> 11:26:24.204 WARNING [Mac OS 9.2] Trying to write invalid spr 944 (0x3b0) at 00f1653c
> 11:26:24.204 WARNING [Mac OS 9.2] Trying to read invalid spr 944 (0x3b0) at 00f16544
> 11:26:24.205 WARNING [Mac OS 9.2] Trying to write invalid spr 951 (0x3b7) at 00f16550
> 11:26:24.205 WARNING [Mac OS 9.2] Trying to read invalid spr 951 (0x3b7) at 00f16558
> 
> Should these registers be implemented? Maybe Apple expected these registers to be available on their hardware.

It is probing if the hardware has these registers here.  Nothing is wrong.
We discussed this on irc for the gsoc thing...

> 944	Monitor Control Register 2
> 951	Breakpoint Address Mask Register1
> 955	Sampled Instruction Address 1 
> 959	Sampled Data Address 		* PowerPC 604 only

944 = MMCR2
951 = BAMR
955 = SIAR
959 = SDAR (not just 604, fwiw -- where did you read that?)

Yes.  And 0 is MQ (a 601 thing), etc.

Some CPUs have slightly different names for the same thing (prefer SIA
to SIAR, etc.; some have different things at the same SPR #.  What OS9
is doing here isn't exactly correct, but it is what it is.


Segher



More information about the OpenBIOS mailing list