1    /* 
     2     * Copyright (c) 2009
     3     * Texas Instruments
     4     *
     5     *  All rights reserved.  Property of Texas Instruments
     6     *  Restricted rights to use, duplicate or disclose this code are
     7     *  granted through contract.
     8     * 
     9     * */
    10    /*
    11     *  ======== Cache.xdc ========
    12     *
    13     */
    14    package ti.sysbios.hal;
    15    
    16    import xdc.rov.ViewInfo;
    17    
    18    /*!
    19     *  ======== Cache ========
    20     *  Cache Manager Proxy.
    21     *
    22     *  This module is a proxy to the generic Cache module functions
    23     *  as defined in ICache.xdc.
    24     *
    25     *  The actual implementations of the Cache module functions are
    26     *  provided by the Cache module delegates.
    27     *
    28     *  Additional, family specific Cache module APIs may also be provided
    29     *  by the Cache module delegates.
    30     *
    31     *  Follow the link below to determine which Cache delegate is used
    32     *  for your Target/Device:
    33     *
    34     *      {@link ./../family/doc-files/delegates.html Delegate Mappings}
    35     *
    36     *  @p(html)
    37     *  <h3> Calling Context </h3>
    38     *  <table border="1" cellpadding="3">
    39     *    <colgroup span="1"></colgroup> <colgroup span="5" align="center"></colgroup>
    40     *
    41     *    <tr><th> Function                 </th><th>  Hwi   </th><th>  Swi   </th><th>  Task  </th><th>  Main  </th><th>  Startup  </th></tr>
    42     *    <!--                                                                                                                 -->
    43     *    <tr><td> {@link #disable} </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td></tr>
    44     *    <tr><td> {@link #enable}  </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td></tr>
    45     *    <tr><td> {@link #inv}     </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td></tr>
    46     *    <tr><td> {@link #wait}    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td></tr>
    47     *    <tr><td> {@link #wb}      </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td></tr>
    48     *    <tr><td> {@link #wbInv}   </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td><td>   Y    </td></tr>
    49     *    <tr><td colspan="6"> Definitions: <br />
    50     *       <ul>
    51     *         <li> <b>Hwi</b>: API is callable from a Hwi thread. </li>
    52     *         <li> <b>Swi</b>: API is callable from a Swi thread. </li>
    53     *         <li> <b>Task</b>: API is callable from a Task thread. </li>
    54     *         <li> <b>Main</b>: API is callable during any of these phases: </li>
    55     *           <ul>
    56     *             <li> In your module startup after this module is started (e.g. Cache_Module_startupDone() returns TRUE). </li>
    57     *             <li> During xdc.runtime.Startup.lastFxns. </li>
    58     *             <li> During main().</li>
    59     *             <li> During BIOS.startupFxns.</li>
    60     *           </ul>
    61     *         <li> <b>Startup</b>: API is callable during any of these phases:</li>
    62     *           <ul>
    63     *             <li> During xdc.runtime.Startup.firstFxns.</li>
    64     *             <li> In your module startup before this module is started (e.g. Cache_Module_startupDone() returns FALSE).</li>
    65     *           </ul>
    66     *       </ul>
    67     *    </td></tr>
    68     *
    69     *  </table>
    70     *  @p
    71     */
    72    
    73    module Cache inherits ti.sysbios.interfaces.ICache 
    74    {
    75        metaonly struct ModuleView {
    76            String      delegateCacheModule;
    77        };
    78    
    79        @Facet
    80        metaonly config ViewInfo.Instance rovViewInfo = 
    81            ViewInfo.create({
    82                viewMap: [
    83                    ['Module',   {type: ViewInfo.MODULE,   viewInitFxn: 'viewInitModule',   structName: 'ModuleView'}]
    84                ]
    85            });
    86    
    87    internal:   /* not for client use */
    88    
    89        /*! target/device specific Cache implementation. */
    90        proxy CacheProxy inherits ti.sysbios.interfaces.ICache;
    91    }
    92    /*
    93     *  @(#) ti.sysbios.hal; 2, 0, 0, 0,351; 12-18-2009 15:12:45; /db/vtree/library/trees/avala/avala-m19x/src/
    94     */
    95