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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [or1ksim/] [cpu/] [or1k/] [sprs.c] - Diff between revs 1471 and 1486

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

Rev 1471 Rev 1486
Line 67... Line 67...
    spr_write_ttmr (value);
    spr_write_ttmr (value);
    break;
    break;
  /* Data cache simulateing stuff */
  /* Data cache simulateing stuff */
  case SPR_DCBPR:
  case SPR_DCBPR:
    if(value) {
    if(value) {
      dc_simulate_read(value, 4);
      /* FIXME: The arch. manual says "DCBPR is written with the effective
 
       *        address" which suggests it is written with a _virtual_ address,
 
       *        but it seems that the cache sits behind the mmu.  How is this
 
       *        address translated then? */
 
      dc_simulate_read(value, value, 4);
      cpu_state.sprs[SPR_DCBPR] = 0;
      cpu_state.sprs[SPR_DCBPR] = 0;
    }
    }
    break;
    break;
  case SPR_DCBFR:
  case SPR_DCBFR:
    if(value != -1) {
    if(value != -1) {
Line 92... Line 96...
    cpu_state.sprs[SPR_DCBLR] = 0;
    cpu_state.sprs[SPR_DCBLR] = 0;
    break;
    break;
  /* Instruction cache simulateing stuff */
  /* Instruction cache simulateing stuff */
  case SPR_ICBPR:
  case SPR_ICBPR:
    if(value) {
    if(value) {
      ic_simulate_fetch(value);
      /* FIXME: The arch. manual says "ICBPR is written with the effective
 
       *        address" which suggests it is written with a _virtual_ address,
 
       *        but it seems that the cache sits behind the mmu.  How is this
 
       *        address translated then? */
 
      ic_simulate_fetch(value, value);
      cpu_state.sprs[SPR_ICBPR] = 0;
      cpu_state.sprs[SPR_ICBPR] = 0;
    }
    }
    break;
    break;
  case SPR_ICBIR:
  case SPR_ICBIR:
    if(value) {
    if(value) {

powered by: WebSVN 2.1.0

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