URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/or1ksim
- from Rev 202 to Rev 220
- ↔ Reverse comparison
Rev 202 → Rev 220
/sim-config.h
46,8 → 46,12
/* Number of cycles between checks to runtime.sim.iprompt */ |
#define CHECK_INT_TIME 100000 |
|
/* Print to the defined output stream */ |
#define PRINTF(x...) fprintf (runtime.sim.fout, x) |
|
/* Print only if we are not running silently */ |
#define PRINTFQ(x...) if (!config.sim.quiet) { fprintf (runtime.sim.fout, x); } |
|
/*! Data structure for configuration data */ |
struct config |
{ |
90,6 → 94,8
char* exe_bin_insn_log_fn; /* Binary dump log of exec. instructions name */ |
long clkcycle_ps; /* Clock duration in ps */ |
int strict_npc; /* JPB. NPC flushes pipeline when changed */ |
int quiet; /* Minimize message output */ |
int report_mem_errs; /* Report out of memory accesses */ |
} sim; |
|
struct |
/cpu/or32/or32.c
983,10 → 983,13
return cur; |
} |
|
/* Constructs new automata based on or32_opcodes array. */ |
/* -------------------------------------------------------------------------- */ |
/*!Constructs new automata based on or32_opcodes array. |
|
@param[in] quiet If non-zero (TRUE) do not print informational messages. */ |
/* -------------------------------------------------------------------------- */ |
void |
build_automata () |
build_automata (int quiet) |
{ |
int i; |
unsigned long *end; |
1001,7 → 1004,10
nuncovered = num_opcodes; |
|
#ifdef HAVE_EXECUTION |
printf ("Building automata... "); |
if (!quiet) |
{ |
printf ("Building automata... "); |
} |
#endif |
|
/* Build temporary information about instructions. */ |
1026,11 → 1032,17
exit (1); |
} |
#ifdef HAVE_EXECUTION |
printf ("done, num uncovered: %i/%i.\n", nuncovered, num_opcodes); |
if (!quiet) |
{ |
printf ("done, num uncovered: %i/%i.\n", nuncovered, num_opcodes); |
} |
#endif |
|
#ifdef HAVE_EXECUTION |
printf ("Parsing operands data... "); |
if (!quiet) |
{ |
printf ("Parsing operands data... "); |
} |
#endif |
op_data = |
(struct insn_op_struct *) malloc (MAX_OP_TABLE_SIZE * |
1051,7 → 1063,10
} |
} |
#ifdef HAVE_EXECUTION |
printf ("done.\n"); |
if (!quiet) |
{ |
printf ("done.\n"); |
} |
#endif |
} |
|
/cpu/or32/insnset.c
550,12 → 550,12
case NOP_NOP: |
break; |
case NOP_EXIT: |
PRINTF("exit(%"PRIdREG")\n", evalsim_reg (3)); |
fprintf(stderr, "@reset : cycles %lld, insn #%lld\n", |
PRINTFQ("exit(%"PRIdREG")\n", evalsim_reg (3)); |
PRINTFQ("@reset : cycles %lld, insn #%lld\n", |
runtime.sim.reset_cycles, runtime.cpu.reset_instructions); |
fprintf(stderr, "@exit : cycles %lld, insn #%lld\n", runtime.sim.cycles, |
PRINTFQ("@exit : cycles %lld, insn #%lld\n", runtime.sim.cycles, |
runtime.cpu.instructions); |
fprintf(stderr, " diff : cycles %lld, insn #%lld\n", |
PRINTFQ(" diff : cycles %lld, insn #%lld\n", |
runtime.sim.cycles - runtime.sim.reset_cycles, |
runtime.cpu.instructions - runtime.cpu.reset_instructions); |
if (config.sim.is_library) |
/cpu/or32/generate.c
417,7 → 417,7
exit (1); |
} |
|
build_automata (); |
build_automata (0); |
if (generate_header (fo)) { |
fprintf (stderr, "generate_header\n"); |
return 1; |
/cpu/common/abstract.c
399,8 → 399,12
} |
else |
{ |
PRINTF ("EXCEPTION: read out of memory (32-bit access to %" PRIxADDR |
")\n", memaddr); |
if (config.sim.report_mem_errs) |
{ |
PRINTF ("EXCEPTION: read out of memory (32-bit access to %" PRIxADDR |
")\n", memaddr); |
} |
|
except_handle (EXCEPT_BUSERR, vaddr); |
} |
|
425,8 → 429,12
} |
else |
{ |
PRINTF ("EXCEPTION: read out of memory (16-bit access to %" PRIxADDR |
")\n", memaddr); |
if (config.sim.report_mem_errs) |
{ |
PRINTF ("EXCEPTION: read out of memory (16-bit access to %" PRIxADDR |
")\n", memaddr); |
} |
|
except_handle (EXCEPT_BUSERR, vaddr); |
} |
|
451,8 → 459,12
} |
else |
{ |
PRINTF ("EXCEPTION: read out of memory (8-bit access to %" PRIxADDR |
")\n", memaddr); |
if (config.sim.report_mem_errs) |
{ |
PRINTF ("EXCEPTION: read out of memory (8-bit access to %" PRIxADDR |
")\n", memaddr); |
} |
|
except_handle (EXCEPT_BUSERR, vaddr); |
} |
|
526,8 → 538,8
return mem->direct_ops.readfunc32 (phys_memaddr & mem->size_mask, |
mem->direct_ops.read_dat32); |
else |
PRINTF ("ERR: 32-bit read out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR ")\n", memaddr, phys_memaddr); |
fprintf (stderr, "ERR: 32-bit read out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR ")\n", memaddr, phys_memaddr); |
} |
|
return 0; |
635,8 → 647,8
return mem->direct_ops.readfunc16 (phys_memaddr & mem->size_mask, |
mem->direct_ops.read_dat16); |
else |
PRINTF ("ERR: 16-bit read out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
fprintf (stderr, "ERR: 16-bit read out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
} |
|
return 0; |
695,8 → 707,8
return mem->direct_ops.readfunc8 (phys_memaddr & mem->size_mask, |
mem->direct_ops.read_dat8); |
else |
PRINTF ("ERR: 8-bit read out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
fprintf (stderr, "ERR: 8-bit read out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
} |
|
return 0; |
724,8 → 736,12
} |
else |
{ |
PRINTF ("EXCEPTION: write out of memory (32-bit access to %" PRIxADDR |
")\n", memaddr); |
if (config.sim.report_mem_errs) |
{ |
PRINTF ("EXCEPTION: write out of memory (32-bit access to %" PRIxADDR |
")\n", memaddr); |
} |
|
except_handle (EXCEPT_BUSERR, vaddr); |
} |
} |
752,8 → 768,12
} |
else |
{ |
PRINTF ("EXCEPTION: write out of memory (16-bit access to %" PRIxADDR |
")\n", memaddr); |
if (config.sim.report_mem_errs) |
{ |
PRINTF ("EXCEPTION: write out of memory (16-bit access to %" PRIxADDR |
")\n", memaddr); |
} |
|
except_handle (EXCEPT_BUSERR, vaddr); |
} |
} |
780,8 → 800,12
} |
else |
{ |
PRINTF ("EXCEPTION: write out of memory (8-bit access to %" PRIxADDR |
")\n", memaddr); |
if (config.sim.report_mem_errs) |
{ |
PRINTF ("EXCEPTION: write out of memory (8-bit access to %" PRIxADDR |
")\n", memaddr); |
} |
|
except_handle (EXCEPT_BUSERR, vaddr); |
} |
} |
862,7 → 886,7
mem->direct_ops.writefunc32 (phys_memaddr & mem->size_mask, value, |
mem->direct_ops.write_dat32); |
else |
PRINTF ("ERR: 32-bit write out of memory area: %" PRIxADDR |
fprintf (stderr, "ERR: 32-bit write out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR ")\n", memaddr, phys_memaddr); |
} |
|
943,8 → 967,8
mem->direct_ops.writefunc16 (phys_memaddr & mem->size_mask, value, |
mem->direct_ops.write_dat16); |
else |
PRINTF ("ERR: 16-bit write out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
fprintf (stderr, "ERR: 16-bit write out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
} |
|
if (cur_area && cur_area->log) |
1010,8 → 1034,8
mem->direct_ops.writefunc8 (phys_memaddr & mem->size_mask, value, |
mem->direct_ops.write_dat8); |
else |
PRINTF ("ERR: 8-bit write out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
fprintf (stderr, "ERR: 8-bit write out of memory area: %" PRIxADDR |
" (physical: %" PRIxADDR "\n", memaddr, phys_memaddr); |
} |
|
if (cur_area && cur_area->log) |
/cpu/common/parse.c
125,7 → 125,7
{ |
/* Page modified */ |
set_direct32 (transl_table + i + 8, -2, 0, 0); |
PRINTF ("found paddr=%" PRIx32 "\n", |
PRINTFQ ("found paddr=%" PRIx32 "\n", |
eval_direct32 (transl_table + i + 4, 0, 0) | |
(laddr & (PAGE_SIZE - 1))); |
return (oraddr_t) eval_direct32 (transl_table + i + 4, 0, 0) | |
144,12 → 144,12
set_direct32 (transl_table + i + 4, (i / 16) * PAGE_SIZE, 0, 0); |
/* Page modified */ |
set_direct32 (transl_table + i + 8, -2, 0, 0); |
PRINTF ("newly allocated ppn=%" PRIx32 "\n", |
PRINTFQ ("newly allocated ppn=%" PRIx32 "\n", |
eval_direct32 (transl_table + i + 4, 0, 0)); |
PRINTF ("newly allocated .ppn=%" PRIxADDR "\n", transl_table + i + 4); |
PRINTF ("newly allocated ofs=%" PRIxADDR "\n", |
PRINTFQ ("newly allocated .ppn=%" PRIxADDR "\n", transl_table + i + 4); |
PRINTFQ ("newly allocated ofs=%" PRIxADDR "\n", |
(laddr & (PAGE_SIZE - 1))); |
PRINTF ("newly allocated paddr=%" PRIx32 "\n", |
PRINTFQ ("newly allocated paddr=%" PRIx32 "\n", |
eval_direct32 (transl_table + i + 4, 0, |
0) | (laddr & (PAGE_SIZE - 1))); |
return (oraddr_t) eval_direct32 (transl_table + i + 4, 0, 0) | |
160,7 → 160,7
/* If we come this far then all phy memory is used and we can't find our |
page nor allocate new page. */ |
transl_error = 1; |
PRINTF ("can't translate %" PRIxADDR "\n", laddr); |
PRINTFQ ("can't translate %" PRIxADDR "\n", laddr); |
exit (1); |
|
return -1; |
363,11 → 363,11
perror ("readfile_coff"); |
exit (1); |
} |
PRINTF ("Section: %s,", coffscnhdr.s_name); |
PRINTF (" paddr: 0x%.8lx,", COFF_LONG_H (coffscnhdr.s_paddr)); |
PRINTF (" vaddr: 0x%.8lx,", COFF_LONG_H (coffscnhdr.s_vaddr)); |
PRINTF (" size: 0x%.8lx,", COFF_LONG_H (coffscnhdr.s_size)); |
PRINTF (" scnptr: 0x%.8lx\n", COFF_LONG_H (coffscnhdr.s_scnptr)); |
PRINTFQ ("Section: %s,", coffscnhdr.s_name); |
PRINTFQ (" paddr: 0x%.8lx,", COFF_LONG_H (coffscnhdr.s_paddr)); |
PRINTFQ (" vaddr: 0x%.8lx,", COFF_LONG_H (coffscnhdr.s_vaddr)); |
PRINTFQ (" size: 0x%.8lx,", COFF_LONG_H (coffscnhdr.s_size)); |
PRINTFQ (" scnptr: 0x%.8lx\n", COFF_LONG_H (coffscnhdr.s_scnptr)); |
|
sectsize = COFF_LONG_H (coffscnhdr.s_size); |
++firstthree; |
396,18 → 396,18
} |
if (firstthree < 3) |
{ |
PRINTF ("One or more missing sections. At least"); |
PRINTF (" three sections expected (.text, .data, .bss).\n"); |
PRINTFQ ("One or more missing sections. At least"); |
PRINTFQ (" three sections expected (.text, .data, .bss).\n"); |
exit (1); |
} |
if (firstthree > 3) |
{ |
PRINTF ("Warning: one or more extra sections. These"); |
PRINTF (" sections were handled as .data sections.\n"); |
PRINTFQ ("Warning: one or more extra sections. These"); |
PRINTFQ (" sections were handled as .data sections.\n"); |
} |
|
fclose (inputfs); |
PRINTF ("Finished loading COFF.\n"); |
PRINTFQ ("Finished loading COFF.\n"); |
return; |
|
} /* readfile_coff () */ |
492,7 → 492,7
} |
|
fclose (inputfs); |
PRINTF ("Finished loading symbols.\n"); |
PRINTFQ ("Finished loading symbols.\n"); |
return; |
} |
|
694,14 → 694,19
|
|
if (ELF_LONG_H (elf_spnt->sh_name) && s_str) |
PRINTF ("Section: %s,", &s_str[ELF_LONG_H (elf_spnt->sh_name)]); |
{ |
PRINTFQ ("Section: %s,", &s_str[ELF_LONG_H (elf_spnt->sh_name)]); |
} |
else |
PRINTF ("Section: noname,"); |
PRINTF (" vaddr: 0x%.8lx,", ELF_LONG_H (elf_spnt->sh_addr)); |
PRINTF (" paddr: 0x%" PRIx32, padd); |
PRINTF (" offset: 0x%.8lx,", ELF_LONG_H (elf_spnt->sh_offset)); |
PRINTF (" size: 0x%.8lx\n", ELF_LONG_H (elf_spnt->sh_size)); |
{ |
PRINTFQ ("Section: noname,"); |
} |
|
PRINTFQ (" vaddr: 0x%.8lx,", ELF_LONG_H (elf_spnt->sh_addr)); |
PRINTFQ (" paddr: 0x%" PRIx32, padd); |
PRINTFQ (" offset: 0x%.8lx,", ELF_LONG_H (elf_spnt->sh_offset)); |
PRINTFQ (" size: 0x%.8lx\n", ELF_LONG_H (elf_spnt->sh_size)); |
|
freemem = padd; |
sectsize = ELF_LONG_H (elf_spnt->sh_size); |
|
777,19 → 782,19
if (COFF_SHORT_H (coffhdr.f_magic) == 0x17a) |
{ |
uint32_t opthdr_size; |
PRINTF ("COFF magic: 0x%.4x\n", COFF_SHORT_H (coffhdr.f_magic)); |
PRINTF ("COFF flags: 0x%.4x\n", COFF_SHORT_H (coffhdr.f_flags)); |
PRINTF ("COFF symptr: 0x%.8lx\n", COFF_LONG_H (coffhdr.f_symptr)); |
PRINTFQ ("COFF magic: 0x%.4x\n", COFF_SHORT_H (coffhdr.f_magic)); |
PRINTFQ ("COFF flags: 0x%.4x\n", COFF_SHORT_H (coffhdr.f_flags)); |
PRINTFQ ("COFF symptr: 0x%.8lx\n", COFF_LONG_H (coffhdr.f_symptr)); |
if ((COFF_SHORT_H (coffhdr.f_flags) & COFF_F_EXEC) != COFF_F_EXEC) |
{ |
PRINTF ("This COFF is not an executable.\n"); |
PRINTFQ ("This COFF is not an executable.\n"); |
exit (1); |
} |
opthdr_size = COFF_SHORT_H (coffhdr.f_opthdr); |
if (opthdr_size != sizeof (COFF_AOUTHDR)) |
{ |
PRINTF ("COFF optional header is missing or not recognized.\n"); |
PRINTF ("COFF f_opthdr: 0x%" PRIx32 "\n", opthdr_size); |
PRINTFQ ("COFF optional header is missing or not recognized.\n"); |
PRINTFQ ("COFF f_opthdr: 0x%" PRIx32 "\n", opthdr_size); |
exit (1); |
} |
fclose (inputfs); |
800,7 → 805,7
} |
else |
{ |
PRINTF ("Not COFF file format\n"); |
PRINTFQ ("Not COFF file format\n"); |
fseek (inputfs, 0, SEEK_SET); |
} |
} |
809,13 → 814,13
if (elfhdr.e_ident[0] == 0x7f && elfhdr.e_ident[1] == 0x45 |
&& elfhdr.e_ident[2] == 0x4c && elfhdr.e_ident[3] == 0x46) |
{ |
PRINTF ("ELF type: 0x%.4x\n", ELF_SHORT_H (elfhdr.e_type)); |
PRINTF ("ELF machine: 0x%.4x\n", ELF_SHORT_H (elfhdr.e_machine)); |
PRINTF ("ELF version: 0x%.8lx\n", ELF_LONG_H (elfhdr.e_version)); |
PRINTF ("ELF sec = %d\n", ELF_SHORT_H (elfhdr.e_shnum)); |
PRINTFQ ("ELF type: 0x%.4x\n", ELF_SHORT_H (elfhdr.e_type)); |
PRINTFQ ("ELF machine: 0x%.4x\n", ELF_SHORT_H (elfhdr.e_machine)); |
PRINTFQ ("ELF version: 0x%.8lx\n", ELF_LONG_H (elfhdr.e_version)); |
PRINTFQ ("ELF sec = %d\n", ELF_SHORT_H (elfhdr.e_shnum)); |
if (ELF_SHORT_H (elfhdr.e_type) != ET_EXEC) |
{ |
PRINTF ("This ELF is not an executable.\n"); |
PRINTFQ ("This ELF is not an executable.\n"); |
exit (1); |
} |
fclose (inputfs); |
824,7 → 829,7
} |
else |
{ |
PRINTF ("Not ELF file format.\n"); |
PRINTFQ ("Not ELF file format.\n"); |
fseek (inputfs, 0, SEEK_SET); |
} |
} |
857,7 → 862,7
transl_error = 0; |
transl_table = virtphy_transl; |
freemem = startaddr; |
PRINTF ("loadcode: filename %s startaddr=%" PRIxADDR " virtphy_transl=%" |
PRINTFQ ("loadcode: filename %s startaddr=%" PRIxADDR " virtphy_transl=%" |
PRIxADDR "\n", filename, startaddr, virtphy_transl); |
identifyfile (filename); |
|
864,15 → 869,15
#if IMM_STATS |
{ |
int i = 0, a = 0, b = 0, c = 0; |
PRINTF ("index:arith/branch/jump\n"); |
PRINTFQ ("index:arith/branch/jump\n"); |
for (i = 0; i < 33; i++) |
PRINTF ("%2i:\t%3.0f%% / %3.0f%%/ %3.0f%%\t%5i / %5i / %5i\n", i, |
PRINTFQ ("%2i:\t%3.0f%% / %3.0f%%/ %3.0f%%\t%5i / %5i / %5i\n", i, |
100. * (a += bcnt[i][0]) / bsum[0], 100. * (b += |
bcnt[i][1]) / |
bsum[1], 100. * (c += |
bcnt[i][2]) / bsum[2], bcnt[i][0], |
bcnt[i][1], bcnt[i][2]); |
PRINTF ("\nsum %i %i %i\n", bsum[0], bsum[1], bsum[2]); |
PRINTFQ ("\nsum %i %i %i\n", bsum[0], bsum[1], bsum[2]); |
} |
#endif |
|
/cpu/or1k/opcode/or32.h
188,7 → 188,7
extern CONST char *insn_name PARAMS ((int index)); |
|
/* MM: Constructs new FSM, based on or32_opcodes. */ |
extern void build_automata PARAMS ((void)); |
extern void build_automata PARAMS ((int quiet)); |
|
/* MM: Destructs FSM. */ |
extern void destruct_automata PARAMS ((void)); |
/configure.ac
28,7 → 28,7
|
# Use a full version number (x.y.z, possibly with "rcn" as a suffix) when |
# preparing a release, otherwise use a the date version (yyyy-mm-dd). |
AC_INIT([or1ksim], [2010-06-31], [openrisc@opencores.org]) |
AC_INIT([or1ksim], [2010-07-23], [openrisc@opencores.org]) |
AC_CONFIG_MACRO_DIR([m4]) |
|
# Generically use extensions such as _GNU_SOURCE if available. |
/doc/or1ksim.info
1,5 → 1,5
This is ../../or1ksim/doc/or1ksim.info, produced by makeinfo version |
4.13 from ../../or1ksim/doc/or1ksim.texi. |
This is ../../doc/or1ksim.info, produced by makeinfo version 4.13 from |
../../doc/or1ksim.texi. |
|
INFO-DIR-SECTION Embedded development |
START-INFO-DIR-ENTRY |
64,7 → 64,7
Unpack the software and create a _separate_ directory in which to build |
it: |
|
tar jxf or1ksim-2010-06-31.tar.bz2 |
tar jxf or1ksim-2010-07-23.tar.bz2 |
mkdir builddir_or1ksim |
cd builddir_or1ksim |
|
81,7 → 81,7
OpenRISC 1000 32-bit architecture. If this argument is omitted, it will |
default to OpenRISC 1000 32-bit with a warning |
|
../or1ksim-2010-06-31/configure --target=or32-uclinux ... |
../or1ksim-2010-07-23/configure --target=or32-uclinux ... |
|
There are several other options available, many of which are standard |
to GNU `configure' scripts. Use `configure --help' to see all the |
258,7 → 258,7
============================= |
|
The following problems and issues are known about with Or1ksim |
2010-06-31. The OpenRISC tracker may be used to see the current state |
2010-07-23. The OpenRISC tracker may be used to see the current state |
of these issues and to raise new problems and feature requests. It may |
be found at `http://www.opencores.org/ptracker.cgi/view/or1k/398'. |
|
933,8 → 933,8
format. This is helpful for off-line dynamic execution analysis. |
|
Note: Execution logs can be _very_ big. For example, while |
booting the Linux kernel, version 2.6.34, a log file |
1.2Gbytes in size was generated. |
booting the Linux kernel, version 2.6.34, a log file 1.2GB in |
size was generated. |
|
`exe_bin_insn_log_file = FILENAME' |
Filename for the binary execution log filename if |
4326,55 → 4326,55
|
|
Tag Table: |
Node: Top830 |
Node: Installation1240 |
Node: Preparation1487 |
Node: Configuring the Build1782 |
Node: Build and Install7896 |
Node: Known Issues8742 |
Node: Usage11804 |
Node: Standalone Simulator12018 |
Node: Profiling Utility14921 |
Node: Memory Profiling Utility15831 |
Node: Simulator Library17196 |
Node: Configuration24974 |
Node: Configuration File Format25583 |
Node: Configuration File Preprocessing25875 |
Node: Configuration File Syntax26246 |
Node: Simulator Configuration29031 |
Node: Simulator Behavior29322 |
Node: Verification API Configuration33855 |
Node: CUC Configuration35795 |
Node: Core OpenRISC Configuration37712 |
Node: CPU Configuration38214 |
Node: Memory Configuration42332 |
Node: Memory Management Configuration48790 |
Node: Cache Configuration51167 |
Node: Interrupt Configuration53553 |
Node: Power Management Configuration54289 |
Node: Branch Prediction Configuration55566 |
Node: Debug Interface Configuration56926 |
Node: Peripheral Configuration61146 |
Node: Memory Controller Configuration61772 |
Node: UART Configuration65186 |
Node: DMA Configuration68705 |
Node: Ethernet Configuration70572 |
Node: GPIO Configuration74548 |
Node: Display Interface Configuration76181 |
Node: Frame Buffer Configuration78490 |
Node: Keyboard Configuration80354 |
Node: Disc Interface Configuration82592 |
Node: Generic Peripheral Configuration87535 |
Node: Interactive Command Line89830 |
Node: Verification API96804 |
Node: Code Internals101234 |
Node: Coding Conventions101817 |
Node: Global Data Structures106244 |
Node: Concepts108901 |
Ref: Output Redirection109046 |
Node: Internal Debugging109585 |
Node: Regression Testing110109 |
Node: GNU Free Documentation License113904 |
Node: Index136311 |
Node: Top814 |
Node: Installation1224 |
Node: Preparation1471 |
Node: Configuring the Build1766 |
Node: Build and Install7880 |
Node: Known Issues8726 |
Node: Usage11788 |
Node: Standalone Simulator12002 |
Node: Profiling Utility14905 |
Node: Memory Profiling Utility15815 |
Node: Simulator Library17180 |
Node: Configuration24958 |
Node: Configuration File Format25567 |
Node: Configuration File Preprocessing25859 |
Node: Configuration File Syntax26230 |
Node: Simulator Configuration29015 |
Node: Simulator Behavior29306 |
Node: Verification API Configuration33835 |
Node: CUC Configuration35775 |
Node: Core OpenRISC Configuration37692 |
Node: CPU Configuration38194 |
Node: Memory Configuration42312 |
Node: Memory Management Configuration48770 |
Node: Cache Configuration51147 |
Node: Interrupt Configuration53533 |
Node: Power Management Configuration54269 |
Node: Branch Prediction Configuration55546 |
Node: Debug Interface Configuration56906 |
Node: Peripheral Configuration61126 |
Node: Memory Controller Configuration61752 |
Node: UART Configuration65166 |
Node: DMA Configuration68685 |
Node: Ethernet Configuration70552 |
Node: GPIO Configuration74528 |
Node: Display Interface Configuration76161 |
Node: Frame Buffer Configuration78470 |
Node: Keyboard Configuration80334 |
Node: Disc Interface Configuration82572 |
Node: Generic Peripheral Configuration87515 |
Node: Interactive Command Line89810 |
Node: Verification API96784 |
Node: Code Internals101214 |
Node: Coding Conventions101797 |
Node: Global Data Structures106224 |
Node: Concepts108881 |
Ref: Output Redirection109026 |
Node: Internal Debugging109565 |
Node: Regression Testing110089 |
Node: GNU Free Documentation License113884 |
Node: Index136291 |
|
End Tag Table |
/doc/version.texi
1,4 → 1,4
@set UPDATED 17 July 2010 |
@set UPDATED 23 July 2010 |
@set UPDATED-MONTH July 2010 |
@set EDITION 2010-06-31 |
@set VERSION 2010-06-31 |
@set EDITION 2010-07-23 |
@set VERSION 2010-07-23 |
/or1ksim.h
47,8 → 47,8
extern "C" { |
#endif |
|
int or1ksim_init (const char *config_file, |
const char *image_file, |
int or1ksim_init (int argc, |
char *argv[], |
void *class_ptr, |
int (*upr) (void *class_ptr, |
unsigned long int addr, |
/ChangeLog
1,4 → 1,35
2010-07-17 Julius Baxter <julius.baxter@orsoc.se> |
2010-06-31 Jeremy Bennett <jeremy.bennett@embecosm.co> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. |
* cpu/common/abstract.c (setsim_mem32, setsim_mem16, setsim_mem8) |
(evalsim_mem32, evalsim_mem16, evalsim_mem8): Only report out of |
memory writes if --report-memory-errors is set. |
(set_direct32, set_direct16, set_direct8, eval_direct32) |
(eval_direct16, eval_direct8): Report memory errors to standard |
error. |
* cpu/common/parse.c (readfile_elf, identifyfile, loadcode): Use |
PRINTFQ for informative messages. |
* cpu/or1k/opcode/or32.h <build_automata>: Function declaration |
now takes argument. |
* cpu/or32/generate.c (main): build_automata takes argument. |
* cpu/or32/insnset.c <l_nop>: all output from NOP_EXIT is via |
PRINTFQ. |
* cpu/or32/or32.c (build_automata). Takes an argument. Only prints |
informative output if argument is zero. |
* libtoplevel.c (or1ksim_init): Changed syntax to use full |
argument vector. |
* or1ksim.h <or1ksim_init>: Changed prototype. |
* pic/pic.c (pic_reset): Reset message uses PRINTFQ. |
* sim-config.c (parse_args): Added new args -q/--quiet and |
--report-memory-errors. |
* sim-config.h <struct config>: New fields sim.quiet and |
sim.report_mem_errs. |
* toplevel-support.c (sim_init): Identification message is printed |
using PRINTFQ, call to build_automata takes parameter. |
|
2010-07-17 Julius Baxter <julius.baxter@orsoc.se> |
|
* sim-config.c: Adding binary execution trace support |
* sim-config.h: Adding binary execution trace options to config struct |
* toplevel.c: do_stats variable now set when binary insn. trace enabled |
5,8 → 36,9
* toplevel-support.c: Added file handling for binary execution trace |
* cpu/or32/execute.c: Adding binary execution dump function |
* cpu/common/execute.h: Adding proptoype for binary dump function |
|
2010-06-31 Jeremy Bennett <jeremy.bennett@embecosm.co> |
|
2010-06-31 Jeremy Bennett <jeremy.bennett@embecosm.co> |
|
* argtable2/argtable2.c (arg_print_formatted): Cast argument to |
* configure: Regenerated. |
* configure.ac: Version changed to current date. |
17,7 → 49,8
(rsp_write_mem, rsp_write_mem_bin): Invalidate caches before writing. |
* NEWS: Updated for new version |
|
2010-06-29 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-29 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. |
* cpu/or32/insnset.c <l_nop>: On exit, mark cpu as halted if this |
33,12 → 66,14
* sim-config.h <struct config>: Added field sim.is_library. |
<struct runtime>: Added field cpu.halted. |
|
2010-06-22 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-22 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to 0.4.0. |
* NEWS: Updated for 0.4.0. |
|
2010-06-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to 0.4.0rc2. New conditional to |
allow l.xori to have unsigned immediate operand. |
48,7 → 83,8
option. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. enable-arith-flag |
and enable-ov-flag config options removed. |
62,7 → 98,8
enable-ov-flag config options. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. |
* cpu/or32/generate.c (gen_eval_operands): Generate macro |
74,7 → 111,8
* cpu/or32/or32.c <or32_opcodes>: l.ror and l.rori enabled. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. |
* cpu/or32/generate.c (generate_header): stdint.h included in header. |
84,7 → 122,8
* cpu/or32/or32.c <or32_opcodes>: l.mulu enabled. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or32/insnset.c <l_maci>: Intermediate result computed as 32 |
bits, then sign extended. |
<l_macrc>: Computation corrected. |
91,12 → 130,14
* cpu/or32/or32.c <or32_opcodes>: l.maci bit pattern corrected. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or32/insnset.c <l_fl1>: New entry. |
* cpu/or32/or32.c <or32_opcodes>: l.fl1 enabled. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* peripheral/Makefile.am: mc-defines.h added to sources. |
* cpu/or32/insnset.c <l_addc>: Updated to handle overflow and |
exceptions correctly. |
103,7 → 144,8
* cpu/or32/or32.c <or32_opcodes>: l.addic enabled. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-09 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-09 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. Removed |
enable_ov_flag as option for configuration. |
112,17 → 154,20
* peripheral/Makefile.am: mc-defines.h added to sources. |
* NEWS: Updated with new bugs fixed. |
|
2010-06-08 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-08 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. |
* peripheral/mc.h: mc_defines.h -> mc-defines.h. |
* peripherals/mc-defines.h: Renamed from mc_defines.h |
|
2010-06-08 Julius Baxter <julius.baxter@orsoc.se> |
2010-06-08 Julius Baxter <julius.baxter@orsoc.se> |
|
* peripherals/mc.h: Moved defines to peripherals/mc_defines.h |
* peripherals/mc_defines.h: Created. |
|
2010-06-06 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-06 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure: Regenerated. |
* configure.ac: Version changed to current date. |
* cpu/or32/insnset.c <l_div, l_divu>: Corrected divide by zero |
129,7 → 174,8
exception. Set carry flag on divide by zero. |
* NEWS: Updated with bugs fixed. |
|
2010-06-01 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-01 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or32/generate.c (generate_header): Include math.h. |
* cpu/or32/insnset.c <l_lws>: Added definition. |
* cpu/or32/insnset.c <lf_rem_s>: Corrected implementation. |
136,16 → 182,19
* cpu/or32/or32.c <or32_opcodes>: Made l.lws valid, rather than |
ignored. |
|
2010-05-31 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-31 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or32/insnset.c <lf_cust2, lf_cust3, lf_cust4>: Removed since |
invalid. |
|
2010-05-25 Julius Baxter <julius.baxter@orsoc.se> |
2010-05-25 Julius Baxter <julius.baxter@orsoc.se> |
|
* profiler.c: PROF_DEBUG added as symbol, MAX_STACK increased. |
(prof_acquire): Conditional debugging statements added. |
* profiler.h: MAX_FUNCS increased. |
|
2010-05-25 Jungsook yang <jungsook.yang@uci.edu> |
2010-05-25 Jungsook yang <jungsook.yang@uci.edu> |
|
* cpu/common/labels.c (add_label): Improved commenting. |
* cpu/or32/generate.c (generate_header): extend typedef generation |
for FP opcodes. |
173,7 → 222,8
* sim-config.c (init_defconfig): config.cpu.hardfloat initialized. |
* sim-config.h <struct config>: cpu.hardfloat field added. |
|
2010-05-25 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-25 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/common/abstract.c (reg_mem_area): Remove debugging printf (). |
* peripheral/generic.c (generic_read_byte): Pass class ptr to upcall. |
(generic_write_byte): Pass class ptr to upcall. |
182,15 → 232,18
(generic_read_word): Pass class ptr to upcall. |
(generic_write_word): Pass class ptr to upcall. |
|
2010-05-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
configure.ac: Date of version updated. |
configure: Regenerated. |
|
2010-05-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/jtag.c (wishbone_write): Corrected writing when invalid |
address. |
|
2010-05-18 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-18 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/jtag.c (go_command_read): Change in calling convention to |
spr_read and wishbone_read. |
(go_command_write): Change in calling convention to spr_write () and |
202,7 → 255,8
(wishbone_read): Correcly handle under- and over-run. |
(wishbone_write): Correcly handle under- and over-run. |
|
2010-05-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/jtag.c (construct_response): Return type changed to void. |
(go_command): Number of bits passed as arg and on to subsidiary |
functions. Return type changed to void. Error message with invalid |
258,7 → 312,8
* or1ksim.h: Proforma for or1ksim_jtag_shift_ir and |
or1ksim_jtag_shift_ir changed to include number of bits in reg. |
|
2010-05-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/jtag.c (validate_spr_fields): More concise warnings, |
corrected length to 4, not 1. |
(reverse_bits): Fixed typo in one constant. |
265,7 → 320,8
* cpu/or1k/sprs.c (mtspr): Undocumented audio SPRs 0xfffd-0xffff |
and associated static vars "fo" and "audio_cnt" removed. |
|
2010-05-12 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-12 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/jtag.c (go_command_read): Ensure null bytes set if no data |
due to error and correct CRC calcuated. Give warning for length of |
zero as well as too long. |
282,7 → 338,8
(write_command): Warnings in terms of bytes requested, not actual |
field. Separate warning for zero. |
|
2010-05-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/jtag.c (validate_spr_fields): Check for length changed to |
4 bytes (was 1 word). |
(module_select): Save module ID, even if invalid. |
290,7 → 347,8
module undefined. |
(wishbone_read): Corrected shifts by bit-off for JTAG bytes. |
|
2010-05-04 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-04 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/jtag.c (module_select): Corrected parenthesis for |
computation of crc_in. |
(construct_response): Corrected parenthesis for computation of |
309,7 → 367,8
(wishbone_write); Correctly compute value of byte when bit-off is |
not zero (shift MS bits left not right). |
|
2010-05-02 Mark Jarvin <mark.jarvin@opencores.org> |
2010-05-02 Mark Jarvin <mark.jarvin@opencores.org> |
|
* debug/jtag.c (go_command_read): Initialize crc_out at |
declaration. |
* cpu/or32/generate.c (output_function): Close file if fgets () |
319,7 → 378,8
generator machine. |
* port/strndup.c: also include stdlib.h and string.h. |
|
2010-04-28 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-28 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.h <or1ksim_init>: Upcall arguments redefined. |
* libtoplevel.c (or1ksim_init): Upcall arguments redefined. |
* sim-config.h <struct config.ext>: definition of read_up and |
330,7 → 390,8
(generic_write_hw, generic_read_word, generic_write_word): Changed |
to use new upcall interface. |
|
2010-04-22 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-22 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* sim-config.c (read_script_file): Check cur_section is defined |
before dereferencing to identify parameter. |
* peripheral/generic.c (generic_read_byte, generic_write_byte) |
338,23 → 399,28
(generic_read_word, generic_write_word): Use upcall availability |
as test for upcall. |
|
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* NEWS: updated |
* mprofile.c (main_mprofiler): Bug 1710 fixed. |
|
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* NEWS: updated |
* peripheral/ps2kbd.c (kbd_reset): Bug 1723 fixed. |
|
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* AUTHORS: Corrected spelling of Mark Jarvin. |
* debug/rsp-server.c (rsp_get_client): Set len before calling |
accept (). |
|
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cache/icache-model.c (ic_end_sec): Use -1 as the invalid tag value. |
|
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* doc/or1ksim.texi: Updated with new testing instructions. |
* README: Updated. |
* configure.ac: Check for rl_event_hook declaration. |
363,7 → 429,8
* peripheral/atadevice.c: Added conditional includes for Apple MAC. |
* port/strndup.c: Include stddef.h to define size_t. |
|
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or1k/spr-defs.h: NOP_PRINTF removed. |
* support/simprintf.h, support/simprintf.h: Deleted |
* support/dbchs.h: simprintf channel removed. |
393,7 → 460,8
* cuc/bb.c (detect_bb): Array bound check added |
* cuc/timings.c (load_timing_table): index initialized. |
|
2010-04-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* COPYING: Updated to v3. |
* peripheral/gpio.c: #defines transfered to gpio.h |
* peripheral/gpio.h: #defines transfered from gpio.c |
400,20 → 468,24
* peripheral/mc.c: #defines transfered to mc.h |
* peripheral/mc.h: #defines transfered from mc.c |
|
2010-04-18 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-18 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or32/insnset.c: Added support for new timing NOPs. |
* cpu/or1k/spr-defs.h: NOP_GET_TICKS and NOP_GET_PS added. |
|
2010-04-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* peripheral/eth.c: #defines transfered to eth.h |
* peripheral/eth.h: #defines transfered from eth.c |
|
2009-03-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2009-03-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* README: Reference to installation instructions updated |
* NEWS: Updated for release 0.3.0 |
* doc/or1ksim.texi: Copyright date updated |
|
2009-02-24 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2009-02-24 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure.ac: Version number upped |
* cpu/common/execute.h: cpu_state.npc_not_valid added |
* cpu/or1k/spr-defs.h: SPR_DRR_FPE added |
432,21 → 504,25
functionality added. |
* toplevel-support.c (sim_init): Version number printed out |
|
2008-11-17 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-11-17 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* sim-config.c: MERROR deleted (not used). WARNING replaced by |
explicit fprintf calls. |
* sim-config.h, sim-config.c, peripheral/16450.c: CONFIG_ERROR |
replaced by fprintf. |
|
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* debug/gdbcomm.c (get_server_socket): server_ip flag getting by |
fcntl corrected (wrong syntax used for GETFL). |
|
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* doc/or1ksim.texi: Documentation of the various configuration |
options added. |
|
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or32/op-mftspr-op.h, cpu/or32/op.c, cpu/or32/dyn32-defs.h, |
cpu/or32/def_op_t.h, cpu/or32/op-support.c, cpu/or32/op-swhb-op.h, |
cpu/or32/dyn-rec.c, cpu/or32/execute.c, cpu/or32/op-arith-op.h, |
455,7 → 531,8
Numerous changes to ensure compilation succeeds with |
DYNAMIC_EXECUTION. |
|
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-11-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* cpu/or1k/opcode/or32.h: Change include of simple32_defs.h to |
simple32-defs.h and dyn32_defs.h to dyn32-defs.h |
* cpu/or32/simple32-defs.h: Made conditional and added include of |
462,7 → 539,8
* cpu/or32/Makefile.am: For simple execution removed insnset.c |
from the sources and added it to EXTRA sources. |
|
2008-10-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-10-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure.ac: Corrected gcc args for --enabled-profiling |
* cpu/common/stats.h, cpu/common/stats.c: Moved definition of |
RAW_RANGE to stats.h from stats.c. Made declaration of raw_stats |
470,7 → 548,8
* cpu/common/stats.c (printstats): Changed MAX_RANGE to RAW_RANGE |
* cpu/or32/execute.c (evalsim_reg): Changed MAX_RAW_RANGE to RAW_RANGE |
|
2008-10-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-10-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* all: Removed redundant headers added missing GPL statements, |
formatted to GNU standard. Made all non-global functions and top |
level variables explicitly static, eliminated most typedefs. |
563,11 → 642,8
generate.c to or32.c, renamed or32_debug and declared static, to |
avoid confusion with main debug function in toplevel-support.c. |
|
|
2008-09-08 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
|
|
2008-09-08 Jeremy Bennett <jeremy.bennett@embecosm.com> |
* argtable2: This directory is a direct inclusion of the argtable2 |
library <argtable.sourceforge.net> |
* artable2/Makefile.am: Modified so the library and header are not |
584,12 → 660,12
* sim-config.c (parse_args): profile and mprofile options on |
command line removed. |
|
2008-09-07 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-09-07 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* toplevel_support.c, sim-config.c, support/dumpverilog.c: |
or1ksim_ver replaced by PACKAGE_VERSION |
|
2008-09-06 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-09-06 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* AUTHORS: Added Jeremy Bennett |
* bpb/Makefile.am: Updated to use libtool libraries |
628,7 → 704,7
* toplevel_support.c: New file |
* vapi/Makefile.am: Updated to use libtool libraries |
|
2008-09-04 15:04 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2008-09-04 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* bpb/Makefile.am: Added header to SOURCES, so included in TAGS |
file |
/testsuite/libsim.tests/jtag-write-control.exp
354,7 → 354,6
"Execution step completed OK." \ |
"Processing WRITE_CONTROL." \ |
" shifting in: 0x000000000059613d0e00000000000024" \ |
"Resetting PIC." \ |
" shifted out: 0x164841bc600000000000000000000000" \ |
" status: 0x0" \ |
" time taken:" \ |
382,7 → 381,6
"Execution step completed OK." \ |
"Processing WRITE_CONTROL." \ |
" shifting in: 0x0000000001c61b4e3600000000000064" \ |
"Resetting PIC." \ |
" shifted out: 0x164841bc600000000000000000000000" \ |
" status: 0x0" \ |
" time taken:" \ |
416,7 → 414,6
"Execution step completed with breakpoint." \ |
"Processing WRITE_CONTROL." \ |
" shifting in: 0x000000000059613d0e00000000000024" \ |
"Resetting PIC." \ |
" shifted out: 0x164841bc600000000000000000000000" \ |
" status: 0x0" \ |
" time taken:" \ |
/testsuite/libsim.tests/upcalls.exp
45,8 → 45,7
"Read half word at 0x98000008 = 0xcafe." \ |
"Read half word at 0x9800000a = 0xbabe." \ |
"All done." \ |
"report(0xdeaddead);" \ |
"exit(0)"] \ |
"report(0xdeaddead);"] \ |
"lib-upcalls/lib-upcalls" "upcalls.cfg" "upcalls/upcall-basic" \ |
"14" "32" |
|
72,7 → 71,6
"Reading full word at 0x98000012: misalignment exception." \ |
"Reading full word at 0x98000017: misalignment exception." \ |
"Read full word at 0x9800001c = 0xbaadbabe." \ |
"report(0xdeaddead);" \ |
"exit(0)"] \ |
"report(0xdeaddead);"] \ |
"lib-upcalls/lib-upcalls" "upcalls.cfg" "upcalls/upcall-misaligned" \ |
"8" "32" |
/testsuite/or1ksim.tests/except-test.exp
29,16 → 29,10
[list "except_test" \ |
"dtlb_test" \ |
"buserr_test" \ |
"!EXCEPTION: read out of memory (32-bit access to 0400e000)" \ |
"!EXCEPTION: read out of memory (32-bit access to 04000000)" \ |
"!EXCEPTION: read out of memory (32-bit access to 04006000)" \ |
"!EXCEPTION: read out of memory (32-bit access to 04004000)" \ |
"illegal_insn_test" \ |
"align_test" \ |
"trap_test" \ |
"except_priority_test" \ |
"!EXCEPTION: read out of memory (32-bit access to 0400c000)" \ |
"!EXCEPTION: read out of memory (32-bit access to 04004000)" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"" "except-test/except-test" |
/testsuite/ChangeLog
1,35 → 1,66
2010-06-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-07-23 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/except-test.exp: Output no longer reports out of |
memory exceptions. |
* libsim.tests/jtag-write-control.exp |
<JTAG WRITE_CONTROL CPU0 reset>: No PIC reset. |
<JTAG WRITE_CONTROL CPU0 stall and reset>: No PIC reset. |
<JTAG WRITE_CONTROL CPU0 stall then reset>: No PIC reset. |
* libsim.tests/upcalls.exp <upcalls - basic, upcalls - misaligned>: |
No output from exit. |
* test-code/lib-iftest/lib-iftest.c (main): New interface to |
or1ksim_init. |
* test-code/lib-inttest/lib-inttest-edge.c (main): New interface to |
or1ksim_init. |
* test-code/lib-inttest/lib-inttest-level.c (main): New interface to |
or1ksim_init. |
* test-code/lib-jtag/lib-jtag.c (main): New interface to |
or1ksim_init. |
* test-code/lib-jtag/lib-jtag-full.c (main): New interface to |
or1ksim_init. |
* test-code/lib-upcalls/lib-upcalls.c (main): New interface to |
or1ksim_init. |
|
2010-06-15 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.exp: Added tests for l.mfspr and |
l.mtspr, l.sub, logical and shift instructions. |
|
2010-06-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.exp: Modified output from RANGE |
exception. Added tests for jump and rotate right instructions. |
|
2010-06-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.exp: Added multiplication |
tests. Extended divistion tests. Changed output to match new |
format from existing tests. |
* README: Updated with new tests. |
|
2010-06-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-11 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.exp: Added MAC tests. |
* or1ksim.tests/mul.exp: Corrected erroneous expected results. |
* README: Updated with new tests. |
|
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.exp: Added find tests. |
* README: Updated with new tests. |
|
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-10 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.exp: Extended addition tests. |
* README: Updated with new tests. |
|
2010-06-09 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-09 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.exp: Added division and addition tests. |
* README: Updated with new tests. |
|
2010-06-06 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-06 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/inst-set-test.cfg: Created. |
* or1ksim.tests/inst-set-test.exp: Created. |
* or1ksim.tests/Makefile.am: Updated to reflect added and deleted |
39,13 → 70,15
inst-set-test.ex). |
* README: Updated to reflect new structure. |
|
2010-06-03 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-03 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/fp.exp: Removed timeout change |
* or1ksim.tests/lws-test.exp: Created. |
* or1ksim/test/Makefile.am: Added lws-test & config. |
* or1ksim/test/Makefile.in: Regenerated. |
|
2010-06-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-06-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* lib/or1ksim.exp: Use same matching as libsim.exp, treat each |
match as a pass. |
* or1ksim/test/basic.exp: Unreported test entries marked. |
74,7 → 107,8
* or1ksim/test/mycompress.exp: Unreported test entries marked. |
* or1ksim/test/tick.exp: Unreported test entries marked. |
|
2010-05-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* lib/libsim.exp (run_libsim): Expect clause corrected to detect |
all unexpected warning/errors. |
* libsim.tests/jtag-go-command-read.exp |
86,17 → 120,20
<JTAG WRITE_COMMAND CPU0 read words>: Missing error added. |
<JTAG WRITE_COMMAND CPU0 access type 7>: Missing error added. |
|
2010-05-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* libsim.tests/Makefile.am: upcalls.exp added to distribution. |
* libsim.tests/Makefile.in: Regenerated. |
|
2010-05-18 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-18 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* libsim.tests/default.cfg: Disabled MC, replaced with memory block |
and set CPU to take vectors at high address. |
* test-code/lib-jtag/lib-jtag-full.c: Increase time quanta to 3ms to |
allow time for messages. |
|
2010-05-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-16 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* libsim.tests/Makefile.am: Added new test files to dist |
* libsim.tests/Makefile: Regenerated. |
* libsim.tests/jtag-go-command-read.exp: New file. |
114,7 → 151,8
with bit lengths. |
|
|
2010-05-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-14 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* libsim.tests/jtag-read-command.exp: Better test naming. |
* libsim.tests/jtag-select-module.exp: Better test naming. |
* libsim.tests/jtag-write-command.exp: Better test naming. |
126,7 → 164,8
<SELECT_MODULE READ_COMMAND module 14>: Check for correct access |
type. |
|
2010-05-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-13 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* libsim.tests/default.cfg: Add memory block at top of memory. |
* libsim.tests/lib-jtag-full.c: Corrected some error messages. |
* libsim.tests/Makefile.am: Added new JTAG test files. |
138,7 → 177,8
* test-code/lib-jtag/lib-jtag-full.c (process_read_command): |
Corrected printout of access_type. |
|
2010-05-04 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-04 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* configure.ac: lib-jtag/Makefile.am added as output |
* configure: Regenerated |
* libsim.tests/jtag-basic.exp: Created for low level JTAG tests. |
156,10 → 196,12
* test-code/Makefile.am: lib-jtag added as subdir |
* test-code/Makefile.in: Regenerated. |
|
2010-05-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* test-code/lib-upcalls/lib-upcalls.c (main): Commenting corrected. |
|
2010-05-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-05-02 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* global-conf.exp: Renamed from default-global-conf.exp. |
* lib/or1ksim.exp (run_or1ksim): Use $srcdir instead of |
environment variable and use $objdir. |
166,7 → 208,8
* lib/or1ksim.exp (run_libsim): Use $srcdir instead of |
environment variable and use $objdir. |
|
2010-04-30 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-30 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* lib/or1ksim.exp (run_or1ksim): Make timeout return UNRESOLVED |
rather than FAIL. |
* lib/libsim.exp (run libsim): Make timeout return UNRESOLVED |
173,7 → 216,8
rather than FAIL. |
* or1ksim.tests/fbtest.exp: Restore timeout correctly. |
|
2010-04-28 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-28 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* libsim.tests/upcalls.exp: Created. |
* libsim.tests/upcalls.cfg: Created. |
* test-code/lib-upcalls/lib-upcalls.c: Changed to use new upcall |
182,7 → 226,8
* test-code/lib-inttest/lib-inttest-level.c: Changed to use new |
upcall interface. |
|
2010-04-25 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-25 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* libsim.tests/int-level.exp: Created. |
* test-code/lib-upcalls: Created. |
* test-code/lib-upcalls/lib-upcalls.c: Created. |
191,23 → 236,27
function to print chars more clearly. |
* or1ksim.tests/kbd.exp: Updated for new test output format. |
|
2010-04-23 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-23 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* test-code/lib-inttest/lib-inttest-level.c: Created. |
* Makefile.am: Updated for new tests |
* Makefile.in: Regenerated. |
* README: Updated for new library test results. |
|
2010-04-22 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-22 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* or1ksim.tests/cbasic.exp: Errors due to buggy printf fixed. |
* or1ksim.tests/mmu.exp: Errors due to buggy printf fixed. |
* or1ksim.tests/mul.exp: Errors due to buggy printf fixed. |
|
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-21 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* test-code-or1k: Renamed from test-code. |
* configure.ac, configure: Moved to test-code-or1k. |
* AUTHORS, NEWS, INSTALL, COPYING: Moved to test-code-or1k. |
|
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-20 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* test-code/support/spr-defs.h: NOP_PRINTF definition removed. |
* test-code/except-test/except-test.c (illegal_insn_test): |
Generate and check a correct sequence for illegal instruction. |
214,7 → 263,8
* test-code/except-test/except-test.c (except_priority_test): |
Generate a properly illegal instruction. |
|
2010-04-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
2010-04-19 Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
* AUTHORS: Created to refer to parent file. |
* config: Directory for board configurations. |
* config/unix.exp: Created. |
/testsuite/test-code/lib-iftest/lib-iftest.c
69,9 → 69,22
return 1; |
} |
|
/* Dummy argv array to pass arguments to or1ksim_init. Varies depending on |
whether an image file is specified. */ |
int dummy_argc; |
char *dummy_argv[5]; |
|
dummy_argv[0] = "libsim"; |
dummy_argv[1] = "-q"; |
dummy_argv[2] = "-f"; |
dummy_argv[3] = argv[1]; |
dummy_argv[4] = argv[2]; |
|
dummy_argc = 5; |
|
/* Put the initialization message afterwards, or it will get swamped by the |
Or1ksim header. */ |
if (0 == or1ksim_init (argv[1], argv[2], NULL, NULL, NULL)) |
if (0 == or1ksim_init (dummy_argc, dummy_argv, NULL, NULL, NULL)) |
{ |
printf ("Initalization succeeded.\n"); |
} |
/testsuite/test-code/lib-upcalls/lib-upcalls.c
322,9 → 322,23
(void)memset (&(regv[next_free_byte]), 0, regc - next_free_byte); |
} |
|
/* Dummy argv array to pass arguments to or1ksim_init. Varies depending on |
whether an image file is specified. */ |
int dummy_argc; |
char *dummy_argv[5]; |
|
dummy_argv[0] = "libsim"; |
dummy_argv[1] = "-q"; |
dummy_argv[2] = "-f"; |
dummy_argv[3] = argv[1]; |
dummy_argv[4] = argv[2]; |
|
dummy_argc = 5; |
|
/* Initialize the program. Put the initialization message afterwards, or it |
will get swamped by the Or1ksim header. */ |
if (0 == or1ksim_init (argv[1], argv[2], NULL, &read_upcall, &write_upcall)) |
if (0 == or1ksim_init (dummy_argc, dummy_argv, NULL, &read_upcall, |
&write_upcall)) |
{ |
printf ("Initalization succeeded.\n"); |
} |
/testsuite/test-code/lib-jtag/lib-jtag-full.c
1349,9 → 1349,22
return 1; |
} |
|
/* Dummy argv array to pass arguments to or1ksim_init. Varies depending on |
whether an image file is specified. */ |
int dummy_argc; |
char *dummy_argv[5]; |
|
dummy_argv[0] = "libsim"; |
dummy_argv[1] = "-q"; |
dummy_argv[2] = "-f"; |
dummy_argv[3] = argv[1]; |
dummy_argv[4] = argv[2]; |
|
dummy_argc = 5; |
|
/* Initialize the program. Put the initialization message afterwards, or it |
will get swamped by the Or1ksim header. */ |
if (0 == or1ksim_init (argv[1], argv[2], NULL, NULL, NULL)) |
if (0 == or1ksim_init (dummy_argc, dummy_argv, NULL, NULL, NULL)) |
{ |
printf ("Initalization succeeded.\n"); |
} |
/testsuite/test-code/lib-jtag/lib-jtag.c
246,9 → 246,22
return 1; |
} |
|
/* Dummy argv array to pass arguments to or1ksim_init. Varies depending on |
whether an image file is specified. */ |
int dummy_argc; |
char *dummy_argv[5]; |
|
dummy_argv[0] = "libsim"; |
dummy_argv[1] = "-q"; |
dummy_argv[2] = "-f"; |
dummy_argv[3] = argv[1]; |
dummy_argv[4] = argv[2]; |
|
dummy_argc = 5; |
|
/* Initialize the program. Put the initialization message afterwards, or it |
will get swamped by the Or1ksim header. */ |
if (0 == or1ksim_init (argv[1], argv[2], NULL, NULL, NULL)) |
if (0 == or1ksim_init (dummy_argc, dummy_argv, NULL, NULL, NULL)) |
{ |
printf ("Initalization succeeded.\n"); |
} |
/testsuite/test-code/lib-inttest/lib-inttest-edge.c
173,9 → 173,23
return 1; |
} |
|
/* Dummy argv array to pass arguments to or1ksim_init. Varies depending on |
whether an image file is specified. */ |
int dummy_argc; |
char *dummy_argv[5]; |
|
dummy_argv[0] = "libsim"; |
dummy_argv[1] = "-q"; |
dummy_argv[2] = "-f"; |
dummy_argv[3] = argv[1]; |
dummy_argv[4] = argv[2]; |
|
dummy_argc = 5; |
|
/* Initialize the program. Put the initialization message afterwards, or it |
will get swamped by the Or1ksim header. */ |
if (0 == or1ksim_init (argv[1], argv[2], NULL, &read_upcall, &write_upcall)) |
if (0 == or1ksim_init (dummy_argc, dummy_argv, NULL, &read_upcall, |
&write_upcall)) |
{ |
printf ("Initalization succeeded.\n"); |
} |
/testsuite/test-code/lib-inttest/lib-inttest-level.c
249,9 → 249,23
next_raise = 0; |
next_clear = 0; |
|
/* Dummy argv array to pass arguments to or1ksim_init. Varies depending on |
whether an image file is specified. */ |
int dummy_argc; |
char *dummy_argv[5]; |
|
dummy_argv[0] = "libsim"; |
dummy_argv[1] = "-q"; |
dummy_argv[2] = "-f"; |
dummy_argv[3] = argv[1]; |
dummy_argv[4] = argv[2]; |
|
dummy_argc = 5; |
|
/* Initialize the program. Put the initialization message afterwards, or it |
will get swamped by the Or1ksim header. */ |
if (0 == or1ksim_init (argv[1], argv[2], NULL, &read_upcall, &write_upcall)) |
if (0 == or1ksim_init (dummy_argc, dummy_argv, NULL, &read_upcall, |
&write_upcall)) |
{ |
printf ("Initalization succeeded.\n"); |
} |
/config.h.in
237,9 → 237,6
/* Define to the one symbol short name of this package. */ |
#undef PACKAGE_TARNAME |
|
/* Define to the home page for this package. */ |
#undef PACKAGE_URL |
|
/* Define to the version of this package. */ |
#undef PACKAGE_VERSION |
|
/configure
1,7 → 1,7
#! /bin/sh |
# From configure.ac Id: configure.ac 1067 2010-06-28 18:27:28Z jeremy using automake version AC_ACVERSION. |
# From configure.ac Id: configure.ac 1102 2010-07-23 15:35:59Z jeremy using automake version AC_ACVERSION. |
# Guess values for system-dependent variables and create Makefiles. |
# Generated by GNU Autoconf 2.63 for or1ksim 2010-06-31. |
# Generated by GNU Autoconf 2.63 for or1ksim 2010-07-23. |
# |
# Report bugs to <openrisc@opencores.org>. |
# |
766,8 → 766,8
# Identity of this package. |
PACKAGE_NAME='or1ksim' |
PACKAGE_TARNAME='or1ksim' |
PACKAGE_VERSION='2010-06-31' |
PACKAGE_STRING='or1ksim 2010-06-31' |
PACKAGE_VERSION='2010-07-23' |
PACKAGE_STRING='or1ksim 2010-07-23' |
PACKAGE_BUGREPORT='openrisc@opencores.org' |
|
# Factoring default headers for most tests. |
1529,7 → 1529,7
# Omit some internal or obsolete options to make the list less imposing. |
# This message is too long to be a string in the A/UX 3.1 sh. |
cat <<_ACEOF |
\`configure' configures or1ksim 2010-06-31 to adapt to many kinds of systems. |
\`configure' configures or1ksim 2010-07-23 to adapt to many kinds of systems. |
|
Usage: $0 [OPTION]... [VAR=VALUE]... |
|
1600,7 → 1600,7
|
if test -n "$ac_init_help"; then |
case $ac_init_help in |
short | recursive ) echo "Configuration of or1ksim 2010-06-31:";; |
short | recursive ) echo "Configuration of or1ksim 2010-07-23:";; |
esac |
cat <<\_ACEOF |
|
1707,7 → 1707,7
test -n "$ac_init_help" && exit $ac_status |
if $ac_init_version; then |
cat <<\_ACEOF |
or1ksim configure 2010-06-31 |
or1ksim configure 2010-07-23 |
generated by GNU Autoconf 2.63 |
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
1741,7 → 1741,7
This file contains any messages produced by compilers while |
running configure, to aid debugging if configure makes a mistake. |
|
It was created by or1ksim $as_me 2010-06-31, which was |
It was created by or1ksim $as_me 2010-07-23, which was |
generated by GNU Autoconf 2.63. Invocation command line was |
|
$ $0 $@ |
11284,7 → 11284,7
|
# Define the identity of the package. |
PACKAGE='or1ksim' |
VERSION='2010-06-31' |
VERSION='2010-07-23' |
|
|
cat >>confdefs.h <<_ACEOF |
18260,7 → 18260,7
# report actual input values of CONFIG_FILES etc. instead of their |
# values after options handling. |
ac_log=" |
This file was extended by or1ksim $as_me 2010-06-31, which was |
This file was extended by or1ksim $as_me 2010-07-23, which was |
generated by GNU Autoconf 2.63. Invocation command line was |
|
CONFIG_FILES = $CONFIG_FILES |
18323,7 → 18323,7
_ACEOF |
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
ac_cs_version="\\ |
or1ksim config.status 2010-06-31 |
or1ksim config.status 2010-07-23 |
configured by $0, generated by GNU Autoconf 2.63, |
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" |
|
/toplevel-support.c
221,11 → 221,11
void |
sim_init () |
{ |
printf ("Or1ksim " PACKAGE_VERSION "\n" ); |
PRINTFQ ("Or1ksim " PACKAGE_VERSION "\n" ); |
init_labels (); |
init_breakpoints (); |
initstats (); |
build_automata (); |
build_automata (config.sim.quiet); |
|
#if DYNAMIC_EXECUTION |
/* Note: This must be called before the scheduler is used */ |
/libtoplevel.c
51,11 → 51,11
/*---------------------------------------------------------------------------*/ |
/*!Initialize the simulator. |
|
Allows specification of an (optional) config file and an image file. Builds |
up dummy argc/argv to pass to the existing argument parser. |
The user can pass in any arguments acceptable to the standalone |
simulator. Not all make any sense in a library environment. |
|
@param[in] config_file Or1ksim configuration file name |
@param[in] image_file The program image to execute |
@param[in] argc Size of argument vector |
@param[in] argv Argument vector |
@param[in] class_ptr Pointer to a C++ class instance (for use when |
called by C++) |
@param[in] upr Upcall routine for reads |
64,8 → 64,8
@return 0 on success and an error code on failure */ |
/*---------------------------------------------------------------------------*/ |
int |
or1ksim_init (const char *config_file, |
const char *image_file, |
or1ksim_init (int argc, |
char *argv[], |
void *class_ptr, |
int (*upr) (void *class_ptr, |
unsigned long int addr, |
78,24 → 78,12
unsigned char wdata[], |
int data_len)) |
{ |
int dummy_argc; |
char *dummy_argv[4]; |
|
/* Dummy argv array. Varies depending on whether an image file is |
specified. */ |
dummy_argv[0] = "libsim"; |
dummy_argv[1] = "-f"; |
dummy_argv[2] = (char *) ((NULL != config_file) ? config_file : "sim.cfg"); |
dummy_argv[3] = (char *) image_file; |
|
dummy_argc = (NULL == image_file) ? 3 : 4; |
|
/* Initialization copied from existing main() */ |
srand (getpid ()); |
init_defconfig (); |
reg_config_secs (); |
|
if (parse_args (dummy_argc, dummy_argv)) |
if (parse_args (argc, argv)) |
{ |
return OR1KSIM_RC_BADINIT; |
} |
/pic/pic.c
55,7 → 55,7
void |
pic_reset (void) |
{ |
PRINTF ("Resetting PIC.\n"); |
PRINTFQ ("Resetting PIC.\n"); |
cpu_state.sprs[SPR_PICMR] = 0; |
cpu_state.sprs[SPR_PICPR] = 0; |
cpu_state.sprs[SPR_PICSR] = 0; |
/sim-config.c
282,6 → 282,8
struct arg_int *srv; |
struct arg_str *dbg; |
struct arg_lit *command; |
struct arg_lit *quiet; |
struct arg_lit *report_mem_errs; |
struct arg_lit *strict_npc; |
struct arg_lit *profile; |
struct arg_lit *mprofile; |
288,7 → 290,7
struct arg_file *load_file; |
struct arg_end *end; |
|
void *argtab[12]; |
void *argtab[14]; |
int nerrors; |
|
/* Specify each argument, with fall back values */ |
303,6 → 305,9
srv->hdr.flag |= ARG_HASOPTVALUE; |
dbg = arg_str0 ("d", "debug-config", "<str>", "Debug config string"); |
command = arg_lit0 ("i", "interactive", "launch interactive prompt"); |
quiet = arg_lit0 ("q", "quiet", "minimal message output"); |
report_mem_errs = arg_lit0 (NULL, "report-memory-errors", |
"Report out of memory accesses"); |
strict_npc = arg_lit0 (NULL, "strict-npc", "setting NPC flushes pipeline"); |
profile = arg_lit0 (NULL, "enable-profile", "enable profiling"); |
mprofile = arg_lit0 (NULL, "enable-mprofile", "enable memory profiling"); |
317,11 → 322,13
argtab[ 4] = srv; |
argtab[ 5] = dbg; |
argtab[ 6] = command; |
argtab[ 7] = strict_npc; |
argtab[ 8] = profile; |
argtab[ 9] = mprofile; |
argtab[10] = load_file; |
argtab[11] = end; |
argtab[ 7] = quiet; |
argtab[ 8] = report_mem_errs; |
argtab[ 9] = strict_npc; |
argtab[10] = profile; |
argtab[11] = mprofile; |
argtab[12] = load_file; |
argtab[13] = end; |
|
/* Parse */ |
nerrors = arg_parse (argc, argv, argtab); |
400,6 → 407,12
/* Interactive operation */ |
runtime.sim.iprompt = command->count; |
|
/* Request for quiet running */ |
config.sim.quiet = quiet->count; |
|
/* Request for quiet running */ |
config.sim.report_mem_errs = report_mem_errs->count; |
|
/* Request for strict NPC behavior (flush the pipeline on change) */ |
config.sim.strict_npc = strict_npc->count; |
|