diff options
author | Andrew Cagney <cagney@redhat.com> | 1998-03-27 04:25:45 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 1998-03-27 04:25:45 +0000 |
commit | 82ea14fd9d61893514375b6649e0a74a076d4443 (patch) | |
tree | 7dc15ebabf667a3da1da31e47f628b9de1906261 /sim | |
parent | 227b6b55faa2b122d348563a49061730caa9b90c (diff) | |
download | gdb-82ea14fd9d61893514375b6649e0a74a076d4443.zip gdb-82ea14fd9d61893514375b6649e0a74a076d4443.tar.gz gdb-82ea14fd9d61893514375b6649e0a74a076d4443.tar.bz2 |
Define CPU_INDEX. Initialize.
For mips_options, iterate over MAX_NR_PROCESSORS when setting options.
Diffstat (limited to 'sim')
-rw-r--r-- | sim/common/ChangeLog | 7 | ||||
-rw-r--r-- | sim/common/sim-base.h | 10 | ||||
-rw-r--r-- | sim/common/sim-module.c | 7 | ||||
-rw-r--r-- | sim/mips/ChangeLog | 9 | ||||
-rw-r--r-- | sim/mips/interp.c | 54 |
5 files changed, 62 insertions, 25 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index ec33093..b23393b 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 27 14:55:06 1998 Andrew Cagney <cagney@b1.cygnus.com> + + * sim-base.h (CPU_INDEX): Define. + + * sim-utils.c (sim_state_alloc): Initialize. + * sim-module.c (sim_post_argv_init): Ditto. + start-sanitize-am30 Thu Mar 26 10:07:57 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk> diff --git a/sim/common/sim-base.h b/sim/common/sim-base.h index 654e71e..1c395df 100644 --- a/sim/common/sim-base.h +++ b/sim/common/sim-base.h @@ -1,5 +1,5 @@ /* Simulator pseudo baseclass. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997-1998 Free Software Foundation, Inc. Contributed by Cygnus Support. This file is part of GDB, the GNU debugger. @@ -174,6 +174,10 @@ typedef struct { struct _bfd *prog_bfd; #define STATE_PROG_BFD(sd) ((sd)->base.prog_bfd) + /* Symbol table for prog_bfd */ + struct symbol_cache_entry **prog_syms; +#define STATE_PROG_SYMS(sd) ((sd)->base.prog_syms) + /* The program's text section. */ struct sec *text_section; /* Starting and ending text section addresses from the bfd. */ @@ -243,6 +247,10 @@ typedef struct { SIM_DESC state; #define CPU_STATE(cpu) ((cpu)->base.state) + /* Processor index within the SD_DESC */ + int index; +#define CPU_INDEX(cpu) ((cpu)->base.index) + /* The name of the cpu. */ const char *name; #define CPU_NAME(cpu) ((cpu)->base.name) diff --git a/sim/common/sim-module.c b/sim/common/sim-module.c index 297b133..0fb5471 100644 --- a/sim/common/sim-module.c +++ b/sim/common/sim-module.c @@ -87,6 +87,8 @@ sim_pre_argv_init (SIM_DESC sd, const char *myname) } } + sim_config_default (sd); + /* Install all configured in modules. */ if (sim_module_install (sd) != SIM_RC_OK) return SIM_RC_FAIL; @@ -108,7 +110,10 @@ sim_post_argv_init (SIM_DESC sd) /* Set the cpu->state backlinks for each cpu. */ for (i = 0; i < MAX_NR_PROCESSORS; ++i) - CPU_STATE (STATE_CPU (sd, i)) = sd; + { + CPU_STATE (STATE_CPU (sd, i)) = sd; + CPU_INDEX (STATE_CPU (sd, i)) = i; + } return SIM_RC_OK; } diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index d202aa0..125e44a 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,12 @@ +Fri Mar 27 15:01:50 1998 Andrew Cagney <cagney@b1.cygnus.com> + + * interp.c (mips_option_handler): Iterate over MAX_NR_PROCESSORS. + +Wed Mar 25 16:44:27 1998 Ian Carmichael <iancarm@cygnus.com> + + * configure: Regenerated to track ../common/aclocal.m4 changes. + * config.in: Regenerated to track ../common/aclocal.m4 changes. + Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com> * configure: Regenerated to track ../common/aclocal.m4 changes. diff --git a/sim/mips/interp.c b/sim/mips/interp.c index eaf37a2..0dc36e1 100644 --- a/sim/mips/interp.c +++ b/sim/mips/interp.c @@ -148,6 +148,12 @@ static void ColdReset PARAMS((SIM_DESC sd)); #define MONITOR_BASE (0xBFC00000) #define MONITOR_SIZE (1 << 11) #define MEM_SIZE (2 << 20) +/* start-sanitize-sky */ +#ifdef TARGET_SKY +#undef MEM_SIZE +#define MEM_SIZE (16 << 20) /* 16 MB */ +#endif +/* end-sanitize-sky */ #if defined(TRACE) static char *tracefile = "trace.din"; /* default filename for trace log */ @@ -177,7 +183,7 @@ mips_option_handler (sd, cpu, opt, arg, is_command) allow external control of the program points being traced (i.e. only from main onwards, excluding the run-time setup, etc.). */ - for (cpu_nr = 0; cpu_nr < sim_engine_nr_cpus (sd); cpu_nr++) + for (cpu_nr = 0; cpu_nr < MAX_NR_PROCESSORS; cpu_nr++) { sim_cpu *cpu = STATE_CPU (sd, cpu_nr); if (arg == NULL) @@ -571,7 +577,7 @@ sim_write (sd,addr,buffer,size) int cca; if (!address_translation (SD, CPU, NULL_CIA, vaddr, isDATA, isSTORE, &paddr, &cca, isRAW)) break; - if (sim_core_write_buffer (SD, CPU, sim_core_read_map, buffer + index, paddr, 1) != 1) + if (sim_core_write_buffer (SD, CPU, read_map, buffer + index, paddr, 1) != 1) break; } @@ -600,7 +606,7 @@ sim_read (sd,addr,buffer,size) int cca; if (!address_translation (SD, CPU, NULL_CIA, vaddr, isDATA, isLOAD, &paddr, &cca, isRAW)) break; - if (sim_core_read_buffer (SD, CPU, sim_core_read_map, buffer + index, paddr, 1) != 1) + if (sim_core_read_buffer (SD, CPU, read_map, buffer + index, paddr, 1) != 1) break; } @@ -1539,43 +1545,42 @@ load_memory (SIM_DESC sd, { case AccessLength_QUADWORD : { - unsigned_16 val = sim_core_read_aligned_16 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + unsigned_16 val = sim_core_read_aligned_16 (cpu, NULL_CIA, read_map, pAddr); value1 = VH8_16 (val); value = VL8_16 (val); break; } case AccessLength_DOUBLEWORD : value = sim_core_read_aligned_8 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; case AccessLength_SEPTIBYTE : value = sim_core_read_misaligned_7 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; case AccessLength_SEXTIBYTE : value = sim_core_read_misaligned_6 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; case AccessLength_QUINTIBYTE : value = sim_core_read_misaligned_5 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; case AccessLength_WORD : value = sim_core_read_aligned_4 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; case AccessLength_TRIPLEBYTE : value = sim_core_read_misaligned_3 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; case AccessLength_HALFWORD : value = sim_core_read_aligned_2 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; case AccessLength_BYTE : value = sim_core_read_aligned_1 (cpu, NULL_CIA, - sim_core_read_map, pAddr); + read_map, pAddr); break; default: abort (); @@ -1675,41 +1680,40 @@ store_memory (SIM_DESC sd, case AccessLength_QUADWORD : { unsigned_16 val = U16_8 (MemElem1, MemElem); - sim_core_write_aligned_16 (cpu, NULL_CIA, - sim_core_write_map, pAddr, val); + sim_core_write_aligned_16 (cpu, NULL_CIA, write_map, pAddr, val); break; } case AccessLength_DOUBLEWORD : sim_core_write_aligned_8 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; case AccessLength_SEPTIBYTE : sim_core_write_misaligned_7 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; case AccessLength_SEXTIBYTE : sim_core_write_misaligned_6 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; case AccessLength_QUINTIBYTE : sim_core_write_misaligned_5 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; case AccessLength_WORD : sim_core_write_aligned_4 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; case AccessLength_TRIPLEBYTE : sim_core_write_misaligned_3 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; case AccessLength_HALFWORD : sim_core_write_aligned_2 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; case AccessLength_BYTE : sim_core_write_aligned_1 (cpu, NULL_CIA, - sim_core_write_map, pAddr, MemElem); + write_map, pAddr, MemElem); break; default: abort (); @@ -2928,6 +2932,7 @@ SquareRoot(op,fmt) return(result); } +#if 0 uword64 Max (uword64 op1, uword64 op2, @@ -2995,7 +3000,9 @@ Max (uword64 op1, return(result); } +#endif +#if 0 uword64 Min (uword64 op1, uword64 op2, @@ -3063,6 +3070,7 @@ Min (uword64 op1, return(result); } +#endif uword64 convert (SIM_DESC sd, |