Ignore:
Timestamp:
Dec 17, 2013, 11:11:20 AM (10 years ago)
Author:
cfuguet
Message:

Modifications in vci_mem_cache:

  • The out of segment read or write does not activate any more an assert on the memory cache. Instead, the request is sent to the XRAM and the error from the XRAM will be propagated to the processor doing the access.

The propagation of the error is done in two different ways:

  • When is a READ MISS: The error is propagated through the VCI rerror to the processor doing the read.
  • When is a WRITE MISS: The error is propagated through an IRQ which normally is connected to the local XICU.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/vci_mem_cache/include/soclib/mem_cache.h

    r596 r601  
    3232    MEMC_CONFIG = 0,
    3333    MEMC_INSTRM = 1,
     34    MEMC_RERROR = 2,
    3435
    3536    MEMC_FUNC_SPAN = 0x200
     
    7071//                                                       //
    7172//  For configuration: FUNC_IDX = 0b000                  //
     73//                                                       //
     74//  REGS_IDX                                             //
     75//  ============================================         //
     76//             RESERVED             |    X     |         //
     77//             (4 bits)             | (3 bits) |         //
     78//  ============================================         //
     79//                                                       //
     80//  X : REGISTER INDEX                                   //
     81//                                                       //
     82//  For WRITE MISS error signaling: FUNC = 0x010         //
    7283//                                                       //
    7384//  REGS_IDX                                             //
     
    166177};
    167178
     179enum SoclibMemCacheRerrorRegs
     180{
     181    MEMC_RERROR_ADDR_LO = 0,
     182    MEMC_RERROR_ADDR_HI,
     183    MEMC_RERROR_SRCID,
     184    MEMC_RERROR_IRQ_RESET,
     185    MEMC_RERROR_IRQ_ENABLE
     186};
     187
    168188#define MEMC_REG(func,idx) ((func<<7)|idx)
    169189
Note: See TracChangeset for help on using the changeset viewer.