View Single Post
Old 22 August 2014, 19:32   #36
phx
Natteravn

phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 986
Ok, I did that. Unfortunately the result is not what you expected. Seems that the PPC is halted, and the rest of the loop continues after I have set bit 0 of REG_LOCK again (with the M68k).

Usually the code must run in the cache. I made the following PowerUp program:
Code:
        .text
        .globl  start
start:
        nop
        lis     r3,0x1f0000@h
        li      r0,0
        stw     r0,0(r3)
        li      r0,-1
        lis     r4,0x80000000@h
loop:   subic.  r4,r4,1
        bne     loop
        stw     r0,0(r3)
        sync
        li      r3,0
        blr
The loop executes for nearly 10 seconds on a 200MHz 604e. After 1 second I cleared bit 0 of REG_LOCK. Then, after 30 seconds, I have set the bit again - and had to wait for another 9 seconds before the PPC program returned...

I made another interesting observation: when clearing bit 0 of REG_LOCK then it also locks out something else. I guess that Cyberstorm-SCSI is locked, because nothing happens anymore, when I access the disk.
phx is offline  
 
Page generated in 0.07922 seconds with 9 queries