Mercurial > flash_v2
changeset 1364:19f40f995cc2
Fix GDB exceptions - broken on 10/23
| author | gthomas |
|---|---|
| date | Thu, 13 Nov 2003 15:48:01 +0000 |
| parents | 70b10f2956d8 |
| children | 1e45895acdfa |
| files | packages/redboot/current/ChangeLog packages/redboot/current/src/main.c |
| diffstat | 2 files changed, 7 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/redboot/current/ChangeLog +++ b/packages/redboot/current/ChangeLog @@ -1,3 +1,9 @@ +2003-11-13 Gary Thomas <gary@mlbassoc.com> + + * src/main.c (do_go): Need to stop catching exceptions when running a + user program, otherwise GDB will never run when the program fails, gets + a ^C interrupt, etc. Also, clean up [remove] some cache debug code. + 2003-11-12 Gary Thomas <gary@mlbassoc.com> * misc/redboot_XXX.ecm: Removed - since it was only a source of confusion.
--- a/packages/redboot/current/src/main.c +++ b/packages/redboot/current/src/main.c @@ -497,11 +497,6 @@ return_to_redboot(int status) CYGARC_HAL_RESTORE_GP(); } -#if 0 -externC _get_cache_contents(unsigned char *buf); -unsigned char _hold_cache_contents[2][256*2*8]; -#endif - void do_go(int argc, char *argv[]) { @@ -518,6 +513,7 @@ do_go(int argc, char *argv[]) char line[8]; hal_virtual_comm_table_t *__chan; + __mem_fault_handler = 0; // Let GDB handle any faults directly entry = entry_address; // Default from last 'load' operation init_opts(&opts[0], 'w', true, OPTION_ARG_TYPE_NUM, (void **)&wait_time, (bool *)&wait_time_set, "wait timeout"); @@ -575,9 +571,6 @@ do_go(int argc, char *argv[]) #endif HAL_DISABLE_INTERRUPTS(oldints); -#if 0 - _get_cache_contents(CYGARC_UNCACHED_ADDRESS(&_hold_cache_contents[0][0])); -#endif HAL_DCACHE_SYNC(); if (!cache_enabled) { HAL_ICACHE_DISABLE(); @@ -586,13 +579,6 @@ do_go(int argc, char *argv[]) } HAL_ICACHE_INVALIDATE_ALL(); HAL_DCACHE_INVALIDATE_ALL(); -#if 0 - _get_cache_contents(CYGARC_UNCACHED_ADDRESS(&_hold_cache_contents[1][0])); - diag_printf("Cache before flush/invalidate\n"); - diag_dump_buf(&_hold_cache_contents[0][0], sizeof(_hold_cache_contents[0])); - diag_printf("Cache after flush/invalidate\n"); - diag_dump_buf(&_hold_cache_contents[1][0], sizeof(_hold_cache_contents[1])); -#endif // set up a temporary context that will take us to the trampoline HAL_THREAD_INIT_CONTEXT((CYG_ADDRESS)workspace_end, entry, trampoline, 0);
