Home | History | Annotate | Download | only in include
      1 #ifndef VIDDEC_FW_DEBUG_H
      2 #define VIDDEC_FW_DEBUG_H
      3 
      4 //#define SWAP_BYTE(x,y,z)   (( ( (x)>>(8*y))& 0xFF)  << (8*z))
      5 #define SWAP_BYTE(x,y,z)   (( ( (x) >> ((y) << 3))& 0xFF)  << ((z) << 3))
      6 #define SWAP_WORD(x)      ( SWAP_BYTE((x),0,3) | SWAP_BYTE((x),1,2) |SWAP_BYTE((x),2,1) |SWAP_BYTE((x),3,0))
      7 
      8 #ifndef VBP
      9 
     10 #ifndef HOST_ONLY
     11 #define _OSAL_IO_MEMMAP_H  /* to prevent errors when including sven_devh.h */
     12 #define _OSAL_ASSERT_H     /* to prevent errors when including sven_devh.h */
     13 #endif
     14 #include <stdint.h>
     15 #include "viddec_debug.h"
     16 #include "sven_devh.h"
     17 #include "auto_eas/gen4_gv.h"
     18 
     19 #ifdef HOST_ONLY
     20 #define DUMP_TO_MEM(x) DEB("0x%.08X ",x);
     21 #define WRITE_SVEN(event, p1, p2, p3, p4, p5, p6) DEB("Sven evnt=0x%.8X p1=%d p2=%d p3=%d p4=%d p5=%d p6=%d\n",event, p1, p2, p3, p4, p5, p6)
     22 #define read_ret(x)
     23 #define read_fp(x)
     24 #define read_sp(x)
     25 #define read_wim(x)
     26 #define read_psr(x)
     27 #else
     28 extern uint32_t dump_ptr;
     29 /* Macros for Dumping data to DDR */
     30 #define DUMP_TO_MEM(x) ((volatile unsigned int *)0x8F000000)[dump_ptr++] = SWAP_WORD(x);
     31 #define read_ret(x) asm("mov %%i7, %0\n":"=r" (x))
     32 #define read_fp(x) asm("mov %%i6, %0\n":"=r" (x))
     33 #define read_sp(x) asm("mov %%sp, %0\n":"=r" (x))
     34 #define read_wim(x) asm("mov %%wim, %0\n":"=r" (x))
     35 #define read_psr(x) asm("mov %%psr, %0\n":"=r" (x))
     36 #define WRITE_SVEN(event, p1, p2, p3, p4, p5, p6) devh_SVEN_WriteModuleEvent( NULL, event, p1, p2, p3, p4, p5, p6)
     37 #endif
     38 
     39 #else // VBP is defined
     40 
     41 #include <stdint.h>
     42 #include "viddec_debug.h"
     43 #define DUMP_TO_MEM(x)
     44 #define WRITE_SVEN(event, p1, p2, p3, p4, p5, p6)
     45 #define read_ret(x)
     46 #define read_fp(x)
     47 #define read_sp(x)
     48 #define read_wim(x)
     49 #define read_psr(x)
     50 
     51 
     52 #endif
     53 
     54 static inline void DEBUG_WRITE(uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6)
     55 {
     56     //uint32_t temp;
     57     DUMP_TO_MEM(0xCACAFEED);
     58     DUMP_TO_MEM(p1);
     59     DUMP_TO_MEM(p2);
     60     DUMP_TO_MEM(p3);
     61     DUMP_TO_MEM(p4);
     62     DUMP_TO_MEM(p5);
     63     DUMP_TO_MEM(p6);
     64     DUMP_TO_MEM(0xCACA0000);
     65     //temp = dump_ptr;
     66     //DUMP_TO_MEM(temp);
     67 }
     68 static inline void DUMP_SPARC_REG(void)
     69 {
     70     uint32_t ret1, fp, sp, wim, psr;
     71     read_ret(ret1);
     72     read_fp(fp);
     73     read_sp(sp);
     74     read_wim(wim);
     75     read_psr(psr);
     76     //crash = (uint32_t *)0x1000bf0c;
     77     //DEBUG_WRITE(sp, wim, fp, ret1, (*crash), 0xFED);
     78     DEBUG_WRITE(sp, wim, fp, ret1, psr, 0xFFFFFFFF);
     79 }
     80 #endif
     81