Hat zufällig irgendeiner von euch schonmal versucht, einen Kernel für PowerPC zu schreiben und war dabei möglicherweise sogar halbwegs erfolgreich? Ich will mir das schon eine ganze Weile mal näher anschauen (immer nur x86 ist schließlich langweilig), aber ich komme mir ungefähr genauso hilflos vor wie damals als Anfänger. Okay, das ist etwas geschwindelt, von x86 hatte ich nämlich davor schon mehr Ahnung...
Im qemu habe ich immerhin mal ein "Hello World" auf die serielle Konsole rausbekommen, aber selbst dieser Code ist kaputt, weil ich einfach die MMIO-Adresse hartkodiert habe, wo die serielle Schnittstelle unter qemu eben liegt. Theoretisch müsste ich von der Open Firmware rauskriegen, was ich wirklich machen sollte. Wenn mir irgendjemand ersparen könnte, selbst endlos Texte zu wälzen, wäre ich dankbar.
Und ich glaube entsprechend der aktuellen Mode schreibe ich jetzt erstmal ein Tutorial, wie man unter PPC in qemu Hello World ausgibt, basierend auf diesem revolutionären Code:
.global _start
_start:
lis r3, str@h
ori r3, r3, str@l
lis r4, 0x8089
ori r4, r4, 0x3030
putc:
lbz r5, 0x0(r3)
cmpwi r5, 0x0
beq loop
stb r5, 0x0(r4)
addi r3, r3, 1
b putc
loop:
b loop
str:
.ascii "Hello World\n\0"
Bin ich gut oder bin ich gut?