Subversion Repositories freemyipod

Rev

Rev 763 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 763 Rev 772
Line 86... Line 86...
86
    DBGACTION_MALLOC,
86
    DBGACTION_MALLOC,
87
    DBGACTION_MEMALIGN,
87
    DBGACTION_MEMALIGN,
88
    DBGACTION_REALLOC,
88
    DBGACTION_REALLOC,
89
    DBGACTION_REOWNALLOC,
89
    DBGACTION_REOWNALLOC,
90
    DBGACTION_FREE,
90
    DBGACTION_FREE,
91
    DBGACTION_FREEMONITOR
91
    DBGACTION_FREEMONITOR,
-
 
92
    DBGACTION_RTCREAD,
-
 
93
    DBGACTION_RTCWRITE,
92
};
94
};
93
 
95
 
94
static struct scheduler_thread dbgthread_handle IBSS_ATTR;
96
static struct scheduler_thread dbgthread_handle IBSS_ATTR;
95
static uint32_t dbgstack[0x200] STACK_ATTR;
97
static uint32_t dbgstack[0x200] STACK_ATTR;
96
struct wakeup dbgwakeup IBSS_ATTR;
98
struct wakeup dbgwakeup IBSS_ATTR;
Line 665... Line 667...
665
            dbgactionaddr = dbgrecvbuf[1];
667
            dbgactionaddr = dbgrecvbuf[1];
666
            break;
668
            break;
667
        case 57:  // FREE MONITOR ALLOCATIONS
669
        case 57:  // FREE MONITOR ALLOCATIONS
668
            if (set_dbgaction(DBGACTION_FREEMONITOR, 0)) break;
670
            if (set_dbgaction(DBGACTION_FREEMONITOR, 0)) break;
669
            break;
671
            break;
-
 
672
#ifdef HAVE_RTC
-
 
673
        case 60:  // RTC READ
-
 
674
            if (set_dbgaction(DBGACTION_RTCREAD, 0)) break;
-
 
675
            break;
-
 
676
        case 61:  // RTC WRITE
-
 
677
            if (set_dbgaction(DBGACTION_RTCWRITE, 0)) break;
-
 
678
            memcpy(dbgasyncsendbuf, &dbgrecvbuf[1], 7);
-
 
679
            break;
-
 
680
#endif
670
        default:
681
        default:
671
            dbgsendbuf[0] = 2;
682
            dbgsendbuf[0] = 2;
672
            size = 16;
683
            size = 16;
673
        }
684
        }
674
        usb_setup_dbg_listener();
685
        usb_setup_dbg_listener();
Line 997... Line 1008...
997
            case DBGACTION_FREEMONITOR:
1008
            case DBGACTION_FREEMONITOR:
998
                dbgasyncsendbuf[0] = 1;
1009
                dbgasyncsendbuf[0] = 1;
999
                dbgasyncsendbuf[1] = (uint32_t)free_all_of_thread(current_thread);
1010
                dbgasyncsendbuf[1] = (uint32_t)free_all_of_thread(current_thread);
1000
                usb_drv_send_nonblocking(dbgendpoints[1], dbgasyncsendbuf, 16);
1011
                usb_drv_send_nonblocking(dbgendpoints[1], dbgasyncsendbuf, 16);
1001
                break;
1012
                break;
-
 
1013
#ifdef HAVE_RTC
-
 
1014
            case DBGACTION_RTCREAD:
-
 
1015
                dbgasyncsendbuf[0] = 1;
-
 
1016
                rtc_read_datetime((struct rtc_datetime*)(&dbgasyncsendbuf[1]));
-
 
1017
                usb_drv_send_nonblocking(dbgendpoints[1], dbgasyncsendbuf, 16);
-
 
1018
                break;
-
 
1019
            case DBGACTION_RTCWRITE:
-
 
1020
                rtc_write_datetime((const struct rtc_datetime*)(dbgasyncsendbuf));
-
 
1021
                dbgasyncsendbuf[0] = 1;
-
 
1022
                usb_drv_send_nonblocking(dbgendpoints[1], dbgasyncsendbuf, 16);
-
 
1023
                break;
-
 
1024
#endif
1002
            }
1025
            }
1003
            dbgaction = DBGACTION_IDLE;
1026
            dbgaction = DBGACTION_IDLE;
1004
        }
1027
        }
1005
    }
1028
    }
1006
}
1029
}