Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

iBook suspend mode and assembly help


As told here, I try to implemnt suspend mode support for Apple iBook G4:

The easy part is to setup the PMU, that seems to work. There is also
a quite long (at least for me) routine in PowerPC assembly to prepare
sleep and to wake up. It can be found here:

The authors agreed to re-license the code as 2-clause BSD and I got it 
building. Of course that does not means it works. I need some help 
with PowerPC specific stuff. Let us consider that:

	/* Setup stuffs at 0x80-0x84 for Core99 */
	lis	r3,core99_wake_up@ha
	addi	r3,r3,core99_wake_up@l
	stw	r3,0x80(r4)
	stw	r5,0x84(r4)

Linux defines tophys by #define tophys(rd, rs)  addis   rd, rs, -PAGE_OFFSET@h
NetBSD vtophys seems much more complicated, is the equivalent I should

Then there is:
	/* Restore the kernel's segment registers before
	 * we do any r1 memory access as we are not sure they
	 * are in a sane state above the first 256Mb region
	bl	load_segment_registers

That is defined in linux/arch/powerpc/kernel/head_32.S
The closest thing I find in NetBSD powerpc code is RESTORE_KERN_SRS
Is it the right direction?

There is more, but this is certainly the first showstopper.

Emmanuel Dreyfus

Home | Main Index | Thread Index | Old Index