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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [monitor/] [monitor/] [common/] [mmu.h] - Diff between revs 84 and 180

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

Rev 84 Rev 180
Line 13... Line 13...
#define TLB_FIXED       4               /* number of fixed TLB entries */
#define TLB_FIXED       4               /* number of fixed TLB entries */
 
 
#define TLB_WRITE       (1 << 1)        /* write bit in EntryLo */
#define TLB_WRITE       (1 << 1)        /* write bit in EntryLo */
#define TLB_VALID       (1 << 0)        /* valid bit in EntryLo */
#define TLB_VALID       (1 << 0)        /* valid bit in EntryLo */
 
 
 
#define MMU_ACCS_MASK   0x07            /* bits used in BadAccs */
 
#define MMU_ACCS_READ   0x00            /* access type = read */
 
#define MMU_ACCS_WRITE  0x04            /* access type = write */
 
#define MMU_ACCS_BYTE   0x00            /* access width = byte */
 
#define MMU_ACCS_HALF   0x01            /* access width = half */
 
#define MMU_ACCS_WORD   0x02            /* access width = word */
 
 
 
 
typedef struct {
typedef struct {
  Word page;            /* 20 high-order bits of virtual address */
  Word page;            /* 20 high-order bits of virtual address */
  Word frame;           /* 20 high-order bits of physical address */
  Word frame;           /* 20 high-order bits of physical address */
  Bool write;           /* must be true to allow writing to the page */
  Bool write;           /* must be true to allow writing to the page */
Line 37... Line 44...
void mmuSetEntryHi(Word value);
void mmuSetEntryHi(Word value);
Word mmuGetEntryLo(void);
Word mmuGetEntryLo(void);
void mmuSetEntryLo(Word value);
void mmuSetEntryLo(Word value);
Word mmuGetBadAddr(void);
Word mmuGetBadAddr(void);
void mmuSetBadAddr(Word value);
void mmuSetBadAddr(Word value);
 
Word mmuGetBadAccs(void);
 
void mmuSetBadAccs(Word value);
 
 
TLB_Entry mmuGetTLB(int index);
TLB_Entry mmuGetTLB(int index);
void mmuSetTLB(int index, TLB_Entry tlbEntry);
void mmuSetTLB(int index, TLB_Entry tlbEntry);
 
 
 
 

powered by: WebSVN 2.1.0

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