OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_47/] [or1ksim/] [cpu/] [common/] [abstract.h] - Diff between revs 897 and 970

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 897 Rev 970
Line 104... Line 104...
 
 
/* Register read and write function for a memory area.
/* Register read and write function for a memory area.
   addr is inside the area, if addr & addr_mask == addr_compare
   addr is inside the area, if addr & addr_mask == addr_compare
   (used also by peripheral devices like 16450 UART etc.) */
   (used also by peripheral devices like 16450 UART etc.) */
void register_memoryarea_mask(unsigned long addr_mask, unsigned long addr_compare,
void register_memoryarea_mask(unsigned long addr_mask, unsigned long addr_compare,
                         unsigned long size, unsigned granularity,
                         unsigned long size, unsigned granularity, unsigned mc_dev,
                         unsigned long (readfunc)(unsigned long),
                         unsigned long (readfunc)(unsigned long),
                         void (writefunc)(unsigned long, unsigned long));
                         void (writefunc)(unsigned long, unsigned long));
 
 
/* Register read and write function for a memory area.
/* Register read and write function for a memory area.
   Memory areas should be aligned. Memory area is rounded up to
   Memory areas should be aligned. Memory area is rounded up to
   fit the nearest 2^n aligment.
   fit the nearest 2^n aligment.
   (used also by peripheral devices like 16450 UART etc.) */
   (used also by peripheral devices like 16450 UART etc.)
 
   If mc_dev is 1, this means that this device will be checked first for match
 
   and will be accessed in case in overlaping memory spaces.
 
   Only one device can have this set to 1 (used for memory controller) */
void register_memoryarea(unsigned long addr,
void register_memoryarea(unsigned long addr,
                         unsigned long size, unsigned granularity,
                         unsigned long size, unsigned granularity, unsigned mc_dev,
                         unsigned long (readfunc)(unsigned long),
                         unsigned long (readfunc)(unsigned long),
                         void (writefunc)(unsigned long, unsigned long));
                         void (writefunc)(unsigned long, unsigned long));
 
 
/* Finds the memory area for the address and adjust the read and write delays for it. */
/* Finds the memory area for the address and adjust the read and write delays for it. */
void adjust_rw_delay(unsigned long memaddr, unsigned long delayr, unsigned long delayw);
void adjust_rw_delay(unsigned long memaddr, unsigned long delayr, unsigned long delayw);
Line 129... Line 132...
char *generate_time_pretty (char *dest, long time_ps);
char *generate_time_pretty (char *dest, long time_ps);
 
 
/* Temporary variable to increase speed.  */
/* Temporary variable to increase speed.  */
extern struct dev_memarea *cur_area;
extern struct dev_memarea *cur_area;
 
 
 
/* Virtual address of current access. */
 
extern unsigned long cur_vadd;
 
 
/* These are set by mmu if cache inhibit bit is set for current acces.  */
/* These are set by mmu if cache inhibit bit is set for current acces.  */
extern int data_ci, insn_ci;
extern int data_ci, insn_ci;
 
 
/* Added by MM */
/* Added by MM */
#ifndef LONGEST
#ifndef LONGEST

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.