OLD | NEW |
1 /* Simulator for the Renesas (formerly Hitachi) / SuperH Inc. SH architecture. | 1 /* Simulator for the Renesas (formerly Hitachi) / SuperH Inc. SH architecture. |
2 | 2 |
3 Written by Steve Chamberlain of Cygnus Support. | 3 Written by Steve Chamberlain of Cygnus Support. |
4 sac@cygnus.com | 4 sac@cygnus.com |
5 | 5 |
6 This file is part of SH sim | 6 This file is part of SH sim |
7 | 7 |
8 | 8 |
9 THIS SOFTWARE IS NOT COPYRIGHTED | 9 THIS SOFTWARE IS NOT COPYRIGHTED |
10 | 10 |
(...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 #ifdef ACE_FAST | 855 #ifdef ACE_FAST |
856 | 856 |
857 #define MA(n) | 857 #define MA(n) |
858 #define L(x) | 858 #define L(x) |
859 #define TL(x) | 859 #define TL(x) |
860 #define TB(x) | 860 #define TB(x) |
861 | 861 |
862 #else | 862 #else |
863 | 863 |
864 #define MA(n) \ | 864 #define MA(n) \ |
865 do { memstalls += ((((int) PC & 3) != 0) ? (n) : ((n) - 1)); } while (0) | 865 do { memstalls += ((((long) PC & 3) != 0) ? (n) : ((n) - 1)); } while (0) |
866 | 866 |
867 #define L(x) thislock = x; | 867 #define L(x) thislock = x; |
868 #define TL(x) if ((x) == prevlock) stalls++; | 868 #define TL(x) if ((x) == prevlock) stalls++; |
869 #define TB(x,y) if ((x) == prevlock || (y) == prevlock) stalls++; | 869 #define TB(x,y) if ((x) == prevlock || (y) == prevlock) stalls++; |
870 | 870 |
871 #endif | 871 #endif |
872 | 872 |
873 #if defined(__GO32__) | 873 #if defined(__GO32__) |
874 int sim_memory_size = 19; | 874 int sim_memory_size = 19; |
875 #else | 875 #else |
(...skipping 1473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2349 break; | 2349 break; |
2350 case SIM_SH_BANK_IVN_REGNUM: | 2350 case SIM_SH_BANK_IVN_REGNUM: |
2351 saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_IVN] = val; | 2351 saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_IVN] = val; |
2352 break; | 2352 break; |
2353 case SIM_SH_BANK_MACH_REGNUM: | 2353 case SIM_SH_BANK_MACH_REGNUM: |
2354 saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_MACH] = val; | 2354 saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_MACH] = val; |
2355 break; | 2355 break; |
2356 default: | 2356 default: |
2357 return 0; | 2357 return 0; |
2358 } | 2358 } |
2359 return -1; | 2359 return length; |
2360 } | 2360 } |
2361 | 2361 |
2362 int | 2362 int |
2363 sim_fetch_register (sd, rn, memory, length) | 2363 sim_fetch_register (sd, rn, memory, length) |
2364 SIM_DESC sd; | 2364 SIM_DESC sd; |
2365 int rn; | 2365 int rn; |
2366 unsigned char *memory; | 2366 unsigned char *memory; |
2367 int length; | 2367 int length; |
2368 { | 2368 { |
2369 int val; | 2369 int val; |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2524 case SIM_SH_BANK_IVN_REGNUM: | 2524 case SIM_SH_BANK_IVN_REGNUM: |
2525 val = saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_IVN]; | 2525 val = saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_IVN]; |
2526 break; | 2526 break; |
2527 case SIM_SH_BANK_MACH_REGNUM: | 2527 case SIM_SH_BANK_MACH_REGNUM: |
2528 val = saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_MACH]; | 2528 val = saved_state.asregs.regstack[gdb_bank_number].regs[REGBANK_MACH]; |
2529 break; | 2529 break; |
2530 default: | 2530 default: |
2531 return 0; | 2531 return 0; |
2532 } | 2532 } |
2533 * (int *) memory = swap (val); | 2533 * (int *) memory = swap (val); |
2534 return -1; | 2534 return length; |
2535 } | 2535 } |
2536 | 2536 |
2537 int | 2537 int |
2538 sim_trace (sd) | 2538 sim_trace (sd) |
2539 SIM_DESC sd; | 2539 SIM_DESC sd; |
2540 { | 2540 { |
2541 tracing = 1; | 2541 tracing = 1; |
2542 sim_resume (sd, 0, 0); | 2542 sim_resume (sd, 0, 0); |
2543 tracing = 0; | 2543 tracing = 0; |
2544 return 1; | 2544 return 1; |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2786 host_callback *p; | 2786 host_callback *p; |
2787 { | 2787 { |
2788 callback = p; | 2788 callback = p; |
2789 } | 2789 } |
2790 | 2790 |
2791 char ** | 2791 char ** |
2792 sim_complete_command (SIM_DESC sd, char *text, char *word) | 2792 sim_complete_command (SIM_DESC sd, char *text, char *word) |
2793 { | 2793 { |
2794 return NULL; | 2794 return NULL; |
2795 } | 2795 } |
OLD | NEW |