Subversion Repositories freemyipod

Rev

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

Rev 464 Rev 471
Line 84... Line 84...
84
    DBGACTION_STORAGE,
84
    DBGACTION_STORAGE,
85
    DBGACTION_MALLOC,
85
    DBGACTION_MALLOC,
86
    DBGACTION_MEMALIGN,
86
    DBGACTION_MEMALIGN,
87
    DBGACTION_REALLOC,
87
    DBGACTION_REALLOC,
88
    DBGACTION_REOWNALLOC,
88
    DBGACTION_REOWNALLOC,
89
    DBGACTION_FREE
89
    DBGACTION_FREE,
-
 
90
    DBGACTION_FREEMONITOR
90
};
91
};
91
 
92
 
92
static struct scheduler_thread dbgthread_handle IBSS_ATTR;
93
static struct scheduler_thread dbgthread_handle IBSS_ATTR;
93
static uint32_t dbgstack[0x200] STACK_ATTR;
94
static uint32_t dbgstack[0x200] STACK_ATTR;
94
struct wakeup dbgwakeup IBSS_ATTR;
95
struct wakeup dbgwakeup IBSS_ATTR;
Line 652... Line 653...
652
            break;
653
            break;
653
        case 56:  // FREE
654
        case 56:  // FREE
654
            if (set_dbgaction(DBGACTION_FREE, 0)) break;
655
            if (set_dbgaction(DBGACTION_FREE, 0)) break;
655
            dbgactionaddr = dbgrecvbuf[1];
656
            dbgactionaddr = dbgrecvbuf[1];
656
            break;
657
            break;
-
 
658
        case 57:  // FREE MONITOR ALLOCATIONS
-
 
659
            if (set_dbgaction(DBGACTION_FREEMONITOR, 0)) break;
-
 
660
            break;
657
        default:
661
        default:
658
            dbgsendbuf[0] = 2;
662
            dbgsendbuf[0] = 2;
659
            size = 16;
663
            size = 16;
660
        }
664
        }
661
        usb_setup_dbg_listener();
665
        usb_setup_dbg_listener();
Line 969... Line 973...
969
            case DBGACTION_FREE:
973
            case DBGACTION_FREE:
970
                dbgasyncsendbuf[0] = 1;
974
                dbgasyncsendbuf[0] = 1;
971
                free((void*)dbgactionaddr);
975
                free((void*)dbgactionaddr);
972
                usb_drv_send_nonblocking(dbgendpoints[1], dbgasyncsendbuf, 16);
976
                usb_drv_send_nonblocking(dbgendpoints[1], dbgasyncsendbuf, 16);
973
                break;
977
                break;
-
 
978
            case DBGACTION_FREEMONITOR:
-
 
979
                dbgasyncsendbuf[0] = 1;
-
 
980
                dbgasyncsendbuf[1] = (uint32_t)free_all_of_thread(current_thread);
-
 
981
                usb_drv_send_nonblocking(dbgendpoints[1], dbgasyncsendbuf, 16);
-
 
982
                break;
974
            }
983
            }
975
            dbgaction = DBGACTION_IDLE;
984
            dbgaction = DBGACTION_IDLE;
976
        }
985
        }
977
    }
986
    }
978
}
987
}