[processor-sdk/performance-audio-sr.git] / psdk_cust / ipc_3_43_00_00_eng / docs / cdoc / ti / sdo / ipc / gates / GateAAMonitor-src.html
diff --git a/psdk_cust/ipc_3_43_00_00_eng/docs/cdoc/ti/sdo/ipc/gates/GateAAMonitor-src.html b/psdk_cust/ipc_3_43_00_00_eng/docs/cdoc/ti/sdo/ipc/gates/GateAAMonitor-src.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html><head><title>module ti.sdo.ipc.gates.GateAAMonitor</title>
-<meta name="googlebot" content="noindex,nofollow">
-<link rel="stylesheet" type="text/css" href="../../../../src.css"/>
-</head>
-<body>
-<pre class=src>
- 1 <span class="comment">/*
-</span> 2 <span class="comment"> * Copyright (c) 2012-2013, Texas Instruments Incorporated
-</span> 3 <span class="comment"> * All rights reserved.
-</span> 4 <span class="comment"> *
-</span> 5 <span class="comment"> * Redistribution and use in source and binary forms, with or without
-</span> 6 <span class="comment"> * modification, are permitted provided that the following conditions
-</span> 7 <span class="comment"> * are met:
-</span> 8 <span class="comment"> *
-</span> 9 <span class="comment"> * * Redistributions of source code must retain the above copyright
-</span> 10 <span class="comment"> * notice, this list of conditions and the following disclaimer.
-</span> 11 <span class="comment"> *
-</span> 12 <span class="comment"> * * Redistributions in binary form must reproduce the above copyright
-</span> 13 <span class="comment"> * notice, this list of conditions and the following disclaimer in the
-</span> 14 <span class="comment"> * documentation and/or other materials provided with the distribution.
-</span> 15 <span class="comment"> *
-</span> 16 <span class="comment"> * * Neither the name of Texas Instruments Incorporated nor the names of
-</span> 17 <span class="comment"> * its contributors may be used to endorse or promote products derived
-</span> 18 <span class="comment"> * from this software without specific prior written permission.
-</span> 19 <span class="comment"> *
-</span> 20 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-</span> 21 <span class="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-</span> 22 <span class="comment"> * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-</span> 23 <span class="comment"> * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-</span> 24 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-</span> 25 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-</span> 26 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-</span> 27 <span class="comment"> * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-</span> 28 <span class="comment"> * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-</span> 29 <span class="comment"> * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-</span> 30 <span class="comment"> * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</span> 31 <span class="comment"> */</span>
- 32 <span class="comment">/*
-</span> 33 <span class="comment"> * ======== GateAAMonitor.xdc ========
-</span> 34 <span class="comment"> *
-</span> 35 <span class="comment"> */</span>
- 36
- 37 <span class=key>package</span> ti.sdo.ipc.gates;
- 38
- 39 import xdc.runtime.Error;
- 40 import xdc.runtime.Assert;
- 41 import xdc.runtime.IGateProvider;
- 42 import xdc.runtime.Diags;
- 43 import xdc.runtime.Log;
- 44
- 45 import ti.sdo.ipc.Ipc;
- 46
- 47 import ti.sdo.ipc.interfaces.IGateMPSupport;
- 48
- 49 <span class="xdoc">/*!
-</span> 50 <span class="xdoc"> * ======== GateAAMonitor ========
-</span> 51 <span class="xdoc"> * Multiprocessor gate that utilizes an atomic access monitor (AAM)
-</span> 52 <span class="xdoc"> */</span>
- 53 @InstanceInitError
- 54
- 55 <span class=key>module</span> GateAAMonitor <span class=key>inherits</span> IGateMPSupport
- 56 {
- 57 <span class="xdoc">/*! <b>@_nodoc</b> */</span>
- 58 <span class=key>metaonly</span> <span class=key>struct</span> BasicView {
- 59 Ptr sharedAddr;
- 60 UInt nested;
- 61 String enteredBy; <span class="comment">/* Entered or free */</span>
- 62 }
- 63
- 64 <span class="xdoc">/*!
-</span> 65 <span class="xdoc"> * ======== rovViewInfo ========
-</span> 66 <span class="xdoc"> * <b>@_nodoc</b>
-</span> 67 <span class="xdoc"> */</span>
- 68 @Facet
- 69 <span class=key>metaonly</span> <span class=key>config</span> xdc.rov.ViewInfo.Instance rovViewInfo =
- 70 xdc.rov.ViewInfo.create({
- 71 viewMap: [
- 72 [<span class="string">'Basic'</span>,
- 73 {
- 74 type: xdc.rov.ViewInfo.INSTANCE,
- 75 viewInitFxn: <span class="string">'viewInitBasic'</span>,
- 76 structName: <span class="string">'BasicView'</span>
- 77 }
- 78 ],
- 79 ]
- 80 });
- 81
- 82 <span class="xdoc">/*!
-</span> 83 <span class="xdoc"> * ======== A_invSharedAddr ========
-</span> 84 <span class="xdoc"> * Assert raised when supplied sharedAddr is invalid
-</span> 85 <span class="xdoc"> *
-</span> 86 <span class="xdoc"> * C6472 requires that shared region 0 be placed in SL2 memory and that
-</span> 87 <span class="xdoc"> * all GateMP instances be allocated from region 0. The gate itself may
-</span> 88 <span class="xdoc"> * be used to protect the contents of any shared region.
-</span> 89 <span class="xdoc"> */</span>
- 90 <span class=key>config</span> Assert.Id A_invSharedAddr = {
- 91 msg: <span class="string">"A_invSharedAddr: Address must be in shared L2 address space"</span>
- 92 };
- 93
- 94 <span class="xdoc">/*!
-</span> 95 <span class="xdoc"> * ======== numInstances ========
-</span> 96 <span class="xdoc"> * Maximum number of instances supported by the GateAAMonitor module
-</span> 97 <span class="xdoc"> */</span>
- 98 <span class=key>config</span> UInt numInstances = 32;
- 99
- 100 <span class=key>instance</span>:
- 101
- 102
- 103 <span class=key>internal</span>:
- 104
- 105 <span class="xdoc">/*! Get the lock */</span>
- 106 @DirectCall
- 107 UInt getLock(Ptr sharedAddr);
- 108
- 109 <span class="xdoc">/*! L1D cache line size is 64 */</span>
- 110 <span class=key>const</span> UInt CACHELINE_SIZE = 64;
- 111
- 112 <span class="xdoc">/*!
-</span> 113 <span class="xdoc"> * Range of SL2 RAM on TMS320TCI6486. Used for ensuring sharedAddr is
-</span> 114 <span class="xdoc"> * valid
-</span> 115 <span class="xdoc"> */</span>
- 116 <span class=key>const</span> Ptr SL2_RANGE_BASE = 0x00200000;
- 117 <span class=key>const</span> Ptr SL2_RANGE_MAX = 0x002bffff;
- 118
- 119 <span class=key>struct</span> Instance_State {
- 120 volatile UInt32* sharedAddr;
- 121 UInt nested; <span class="comment">/* For nesting */</span>
- 122 IGateProvider.Handle localGate;
- 123 };
- 124 }
-</pre>
-</body></html>