Hello
I am simulating PPC based system using xilinx EDK. A small assembly code(shown below) is used to read and write a DCR device register external to PPC on the DCR bus. We see the bus and PPC getting reset after the PPC completes the DCR transaction and Modelsim issues the Warning : UTLB has been flush invalidated. Any help is very much appreciated.
Thanks Swamy
# include "stdio.h" int main() { char s [1]; //register unsigned int y asm ("%r1"); s[0]='H'; print("H"); //y=5; //print("H"); asm("xor %r1,%r1,%r1"); asm("addi %r1,%r1,0xA"); asm("mtdcr 0x3F0,%r1"); asm("addi %r1,%r1,0x12"); asm("mtdcr 0x3F0,%r1"); // asm("addi %r1,%r1,0x2"); // asm("mtdcr 0x3F0,%r1");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("mfdcr %r1,0x3F0"); asm("mtdcr 0x3F0,%r1"); print(s); while(1); //sprintf("%d",&y); //register unsigned int X asm ("%r1"); // printf("%d",y);
//print("E"); // print(y);
return 0; }