]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/PPC440_Xilinx_Virtex5_GCC/__xps/.dswkshop/MdtTinySvgBLKD_Processors.xsl
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / PPC440_Xilinx_Virtex5_GCC / __xps / .dswkshop / MdtTinySvgBLKD_Processors.xsl
1 <?xml version="1.0" standalone="no"?>
2 <xsl:stylesheet version="1.0"
3            xmlns:svg="http://www.w3.org/2000/svg"
4            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5            xmlns:math="http://exslt.org/math"
6            xmlns:exsl="http://exslt.org/common"
7            xmlns:xlink="http://www.w3.org/1999/xlink"
8            extension-element-prefixes="math">
9            
10 <xsl:output method="xml" 
11                         version="1.0" 
12                         encoding="UTF-8" 
13                         indent="yes"
14                 doctype-public="-//W3C//DTD SVG 1.0//EN"
15                     doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
16                         
17
18 <!-- ======================= DEF BLOCK =================================== -->
19 <xsl:template name="Define_AllStacks"> 
20         
21         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/BCLANESPACES/BCLANESPACE[(@EAST &lt; $G_ROOT/EDKSYSTEM/BLKDIAGRAM/@STACK_HORIZ_WIDTH)]">
22                         
23                 <xsl:call-template name="Define_Stack">
24                         <xsl:with-param name="iStackIdx"  select="@EAST"/>
25                 </xsl:call-template>
26                 
27         </xsl:for-each> 
28 </xsl:template>
29         
30         
31 <xsl:template name="Define_Stack"> 
32         <xsl:param name="iStackIdx"  select="100"/>
33         
34         <!-- Define the stack's peripheral shapes-->    
35         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT'))]"> 
36                         
37                 <xsl:for-each select="MODULE">
38                         <xsl:variable name="modInst_" select="@INSTANCE"/>
39                         <xsl:variable name="modType_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
40                         <xsl:call-template name="Define_Peripheral"> 
41                                 <xsl:with-param name="iModInst"    select="$modInst_"/>
42                                 <xsl:with-param name="iModType"    select="$modType_"/>
43                                 <xsl:with-param name="iShapeId"    select="../@SHAPE_ID"/>
44                                 <xsl:with-param name="iHorizIdx"   select="../@STACK_HORIZ_INDEX"/>
45                                 <xsl:with-param name="iVertiIdx"   select="../@SHAPE_VERTI_INDEX"/>
46                         </xsl:call-template>            
47                 </xsl:for-each> 
48                 
49         </xsl:for-each>
50         
51         <!-- Define the stack's memory shapes-->        
52         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS='MEMORY_UNIT'))]">
53                 <xsl:call-template name="Define_MemoryUnit"> 
54                         <xsl:with-param name="iShapeId"  select="@SHAPE_ID"/>
55                 </xsl:call-template>
56         </xsl:for-each>
57         
58         
59         <!-- Define the stack's processors-->   
60         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/PROCSHAPES/MODULE[@INSTANCE and @BIFS_W and @BIFS_H and (@STACK_HORIZ_INDEX = $iStackIdx)]"> 
61                 <xsl:call-template name="Define_Processor"/>            
62         </xsl:for-each> 
63                 
64         <!-- Make an inventory of all the things in this processor's stack -->
65         <xsl:variable name="pstackW_">
66                 <xsl:call-template name="F_Calc_Stack_Width"> 
67                         <xsl:with-param name="iStackIdx"  select="$iStackIdx"/>
68                 </xsl:call-template>            
69         </xsl:variable>
70                 
71         <xsl:variable name="pstackH_">
72                 <xsl:call-template name="F_Calc_Stack_Height"> 
73                         <xsl:with-param name="iStackIdx"  select="$iStackIdx"/>
74                 </xsl:call-template>            
75         </xsl:variable>
76         
77 <!-- 
78         <xsl:message>Proc Stack Height <xsl:value-of select="$pstackH_"/></xsl:message>
79         <xsl:message>Proc Stack Height <xsl:value-of select="$pstackH_"/></xsl:message>
80 -->     
81
82         <xsl:variable name="procW_"    select="$BLKD_MOD_W"/>
83         <xsl:variable name="procX_"    select="(ceiling($pstackW_ div 2) - ceiling($procW_ div 2))"/>
84         
85         <xsl:variable name="sbsGap_"   select="($BLKD_PROC2SBS_GAP + $G_Total_SharedBus_H)"/>
86
87         <xsl:variable name="stack_name_">
88                 <xsl:call-template name="F_generate_Stack_Name"> 
89                         <xsl:with-param name="iHorizIdx" select="$iStackIdx"/>
90                 </xsl:call-template>            
91         </xsl:variable> 
92         
93 <!--    
94                 <xsl:message>Horiz index<xsl:value-of select="$stackIdx"/></xsl:message>
95                 <xsl:message>Drawing stack <xsl:value-of select="$stack_name_"/></xsl:message>
96 -->     
97                 
98                 <!-- Now use all this stuff to draw the stack-->        
99                 <g id="{$stack_name_}">
100                         <rect x="0"
101                                   y="0"
102                               rx="6" 
103                               ry="6" 
104                           width = "{$pstackW_}"
105                           height= "{$pstackH_}"
106                               style="fill:{$COL_BG}; stroke:none;"/>
107                         
108                 
109                         <!-- First draw the the processor's peripherals-->      
110                         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
111                                 <xsl:sort select="@STACK_VERTI_INDEX" data-type="number"/>
112                                 
113                                 
114                                 <xsl:variable name="shapeW_"    select="(@MODS_W * $BLKD_MOD_W)"/>
115                                 <xsl:variable name="shapeX_"    select="(ceiling($pstackW_ div 2) - ceiling($shapeW_ div 2))"/>
116                                 
117                                 <xsl:variable name="stack_SymName_">
118                                         <xsl:call-template name="F_generate_Stack_SymbolName"> 
119                                                 <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
120                                                 <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
121                                         </xsl:call-template>            
122                                 </xsl:variable>
123                                 
124 <!--                            
125                                 <xsl:message>Drawing stack peripheral <xsl:value-of select="$stack_SymName_"/></xsl:message>
126 -->                             
127                                 <xsl:variable name="shapeY_">
128                                         <xsl:call-template name="F_Calc_Stack_Shape_Y">
129                                                 <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
130                                                 <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
131                                         </xsl:call-template>
132                                 </xsl:variable>  
133                                 
134                                 <use   x="{$shapeX_}"  y="{$shapeY_}"  xlink:href="#{$stack_SymName_}"/> 
135                         
136                         </xsl:for-each>
137                         
138                         
139                         <!-- Then draw the slave buckets for the shared busses that this processor is master to -->     
140                         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">    
141                                 <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
142                         
143                                 <xsl:variable name="bucketW_"   select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
144                                 <xsl:variable name="bucketX_"   select="(ceiling($pstackW_ div 2) - ceiling($bucketW_ div 2))"/>
145                                 
146                                 <xsl:variable name="bucketY_">
147                                         <xsl:call-template  name="F_Calc_Stack_Shape_Y">
148                                                 <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
149                                                 <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
150                                         </xsl:call-template>
151                                 </xsl:variable>  
152                                 
153 <!--                            
154                                 <xsl:message>SBS Bucket Y <xsl:value-of select="$bucketY_"/></xsl:message>
155 -->                             
156                                 
157                                  <use  x="{$bucketX_}"  y="{$bucketY_}"  xlink:href="#sbsbucket_{@BUSNAME}"/> 
158                                  
159                                  <xsl:variable name="slavesOfTxt_">SLAVES OF <xsl:value-of select="@BUSNAME"/></xsl:variable>
160 <!-- 
161                                  <text class="bkt_label"
162                                            x="{$bucketX_}" 
163                                            y="{$bucketY_ - 4}"><xsl:value-of select="$slavesOfTxt_"/></text>    
164 -->                                        
165                                            
166                                 <xsl:call-template name="F_WriteText">
167                                         <xsl:with-param name="iX"               select="$bucketX_"/>
168                                         <xsl:with-param name="iY"               select="($bucketY_ - 4)"/>
169                                         <xsl:with-param name="iText"    select="$slavesOfTxt_"/>
170                                         <xsl:with-param name="iClass"   select="'bkt_label'"/>
171                                 </xsl:call-template>    
172                                 
173                                            
174                         </xsl:for-each>
175                         
176                         <!-- Then draw the the processor itself -->     
177                         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
178                                 <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
179                                 
180                                 <xsl:variable name="procY_">
181                                         <xsl:call-template name="F_Calc_Stack_Shape_Y">
182                                                 <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
183                                                 <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
184                                         </xsl:call-template>
185                                 </xsl:variable>  
186                                 
187                                 <xsl:variable name="stack_SymName_">
188                                         <xsl:call-template name="F_generate_Stack_SymbolName"> 
189                                                 <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
190                                                 <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
191                                         </xsl:call-template>            
192                                 </xsl:variable>
193                                 
194                                 <use   x="{$procX_}"  y="{$procY_}"  xlink:href="#{$stack_SymName_}"/> 
195                 
196                         
197 <!-- 
198                                 <xsl:if test = "not(@IS_LIKEPROC)">
199                                         <text class="ipclass_label"
200                                                 x="{$procX_}" 
201                                                 y="{$procY_ - 4}">PROCESSOR</text>              
202                                 </xsl:if>                       
203                                   
204                                 <xsl:if test = "@IS_LIKEPROC = 'TRUE'">
205                                 
206                                         <text class="ipclass_label"
207                                                 x="{$procX_}" 
208                                                 y="{$procY_ - 4}">USER MODULE</text>            
209                                 </xsl:if>                       
210                                 
211 -->                             
212                         
213                                 <xsl:if test = "not(@IS_LIKEPROC)">
214                                         <xsl:call-template name="F_WriteText">
215                                                 <xsl:with-param name="iX"               select="$procX_"/>
216                                                 <xsl:with-param name="iY"               select="($procY_ - 4)"/>
217                                                 <xsl:with-param name="iText"    select="'PROCESSOR'"/>
218                                                 <xsl:with-param name="iClass"   select="'ipclass_label'"/>
219                                         </xsl:call-template>                    
220                                 </xsl:if>                       
221                                   
222                                 <xsl:if test = "@IS_LIKEPROC = 'TRUE'">
223                                         <xsl:call-template name="F_WriteText">
224                                                 <xsl:with-param name="iX"               select="$procX_"/>
225                                                 <xsl:with-param name="iY"               select="($procY_ - 4)"/>
226                                                 <xsl:with-param name="iText"    select="'USER MODULE'"/>
227                                                 <xsl:with-param name="iClass"   select="'ipclass_label'"/>
228                                         </xsl:call-template>                    
229                                 </xsl:if>
230                         
231                         </xsl:for-each>
232                 </g>
233                 
234 </xsl:template> 
235
236
237 <xsl:template name="Define_Processor">
238         <xsl:param name="iProcInst"  select="@INSTANCE"/>
239         <xsl:param name="iModType"   select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@MODTYPE"/>
240         
241         <xsl:variable name="label_y_">
242                 <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
243         </xsl:variable>
244         
245 <!--    
246         <xsl:message>The proctype is <xsl:value-of select="$procType"/></xsl:message>   
247 -->
248         
249         <xsl:variable name="procH_" select="(($BLKD_MOD_LANE_H * 2) + (($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIFS_H) + ($BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>   
250         <xsl:variable name="procW_" select="(($BLKD_MOD_LANE_W * 2) + (($BLKD_BIF_W                        * @BIFS_W) + $BLKD_MOD_BIF_GAP_H))"/>        
251         
252         <xsl:variable name="procColor_">
253                 <xsl:choose>
254                         <xsl:when test="contains($iModType,'microblaze')"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
255                         <xsl:when test="contains($iModType,'ppc')"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
256                         <xsl:otherwise>
257                                 <xsl:value-of select="$COL_PROC_BG_USR"/>       
258                         </xsl:otherwise>
259                 </xsl:choose>
260         </xsl:variable>
261         
262 <!--    
263         <xsl:message>The proc color is <xsl:value-of select="$procColor"/></xsl:message>        
264 -->     
265         
266         <xsl:variable name="procName_">
267                 <xsl:call-template name="F_generate_Stack_SymbolName"> 
268                         <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
269                         <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
270                 </xsl:call-template>            
271         </xsl:variable> 
272         
273 <!--    
274         <xsl:message>The proc name is <xsl:value-of select="$procName_"/></xsl:message> 
275 -->     
276         
277     <g id="{$procName_}">
278
279                 <rect x="0"
280                       y="0"
281                           rx="6" 
282                           ry="6" 
283                       width = "{$procW_}"
284                       height= "{$procH_}"
285                           style="fill:{$procColor_}; stroke:{$COL_WHITE}; stroke-width:2"/>             
286                           
287                           
288                 <rect x="{ceiling($procW_ div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
289                       y="{$BLKD_MOD_LANE_H}"
290                           rx="3" 
291                           ry="3" 
292                       width= "{$BLKD_MOD_LABEL_W}"
293                       height="{$BLKD_MOD_LABEL_H}"
294                           style="fill:{$COL_WHITE}; stroke:none;"/>             
295 <!-- 
296                 <text class="bciptype" 
297                           x="{ceiling($procW_ div 2)}"
298                           y="{$BLKD_MOD_LANE_H + 8}">
299                                 <xsl:value-of select="$iModType"/>
300                 </text>
301                                 
302                 <text class="bciplabel" 
303                           x="{ceiling($procW_ div 2)}"
304                           y="{$BLKD_MOD_LANE_H + 16}">
305                                 <xsl:value-of select="$iProcInst"/>
306            </text>
307 -->                       
308                           
309                         <xsl:call-template name="F_WriteText">
310                                 <xsl:with-param name="iX"               select="ceiling($procW_ div 2)"/>
311                                 <xsl:with-param name="iY"               select="($BLKD_MOD_LANE_H + 8)"/>
312                                 <xsl:with-param name="iText"    select="$iModType"/>
313                                 <xsl:with-param name="iClass"   select="'bc_iptype'"/>
314                         </xsl:call-template>                    
315                         
316                         <xsl:call-template name="F_WriteText">
317                                 <xsl:with-param name="iX"               select="ceiling($procW_ div 2)"/>
318                                 <xsl:with-param name="iY"               select="($BLKD_MOD_LANE_H + 16)"/>
319                                 <xsl:with-param name="iText"    select="$iProcInst"/>
320                                 <xsl:with-param name="iClass"   select="'bc_ipinst'"/>
321                         </xsl:call-template>                    
322                                         
323            
324            
325                 <xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP">
326                 
327                         <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
328                               y="{$BLKD_MOD_LANE_H + $BIF_H  + ceiling($BLKD_BIF_H div 3) - 2}"
329                                   rx="3" 
330                                   ry="3" 
331                               width= "{$BLKD_MOD_LABEL_W}"
332                               height="{$BLKD_BIF_H}"
333                                   style="fill:{$COL_IORING_LT}; stroke:none;"/>         
334 <!-- 
335                            <text class="ioplblgrp"  
336                                           x="{ceiling($BLKD_MOD_W div 2)}" 
337                                           y="{$BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12}">
338                                    <xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP"/>
339                                 </text>
340 -->             
341                         <xsl:call-template name="F_WriteText">
342                                 <xsl:with-param name="iX"               select="ceiling($BLKD_MOD_W div 2)"/>
343                                 <xsl:with-param name="iY"               select="($BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12)"/>
344                                 <xsl:with-param name="iText"    select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP"/>
345                                 <xsl:with-param name="iClass"   select="'iogrp_label'"/>
346                         </xsl:call-template>                    
347            
348                 </xsl:if> 
349            
350            
351                 <xsl:for-each select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/BUSINTERFACE[(@BIF_X and @BIF_Y)]">
352                         
353                         <xsl:variable name="bifBusStd_">
354                                 <xsl:choose>
355                                         <xsl:when test="@BUSSTD">
356                                                 <xsl:value-of select="@BUSSTD"/>        
357                                         </xsl:when>
358                                         <xsl:otherwise>
359                                                 <xsl:value-of select="'TRS'"/>  
360                                         </xsl:otherwise>
361                                 </xsl:choose>
362                         </xsl:variable>
363                         
364                         <xsl:variable name="bifBusColor_">
365                                 <xsl:call-template name="F_BusStd2RGB">
366                                         <xsl:with-param name="iBusStd" select="$bifBusStd_"/>
367                                 </xsl:call-template>
368                         </xsl:variable>
369                 
370                         
371                         <xsl:variable name="bifName_">
372                                 <xsl:choose>
373                                         <xsl:when test="string-length(@NAME) &lt;= 5">
374                                                 <xsl:value-of select="@NAME"/>  
375                                         </xsl:when>
376                                         <xsl:otherwise>
377                                                 <xsl:value-of select="substring(@NAME,0,5)"/>   
378                                         </xsl:otherwise>
379                                 </xsl:choose>
380                         </xsl:variable>
381                         
382                         <xsl:variable name="bif_x_"  select="(( $BLKD_BIF_W * @BIF_X) + ($BLKD_MOD_BIF_GAP_H * @BIF_X) + ($BLKD_MOD_LANE_W * 1))"/>
383                         <xsl:variable name="bif_y_"  select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
384                         
385                         <xsl:variable name="horz_line_y_" select="($bif_y_ + ceiling($BLKD_BIFC_H div 2))"/>
386                         
387                         <xsl:variable name="horz_line_x1_">
388                                 <xsl:choose>
389                                         <xsl:when test="@BIF_X = '0'">0</xsl:when>
390                                         <xsl:otherwise><xsl:value-of select="($BLKD_MOD_W - $BLKD_MOD_LANE_W)"/></xsl:otherwise>
391                                 </xsl:choose>
392                         </xsl:variable>
393                         
394                         <xsl:variable name="horz_line_x2_">
395                                 <xsl:choose>
396                                         <xsl:when test="@BIF_X = '0'"><xsl:value-of select="$BLKD_MOD_LANE_W"/></xsl:when>
397                                         <xsl:otherwise><xsl:value-of select="$BLKD_MOD_W + 1"/></xsl:otherwise>
398                                 </xsl:choose>
399                         </xsl:variable>
400                         
401                         
402                         <line x1="{$horz_line_x1_}" 
403                                   y1="{$horz_line_y_ - 2}"
404                               x2="{$horz_line_x2_}" 
405                               y2="{$horz_line_y_ - 2}" 
406                               style="stroke:{$bifBusColor_};stroke-width:1"/>
407                           
408                         <use  x="{$bif_x_}"   y="{$bif_y_}"  xlink:href="#{$bifBusStd_}_BifLabel"/>
409                                 
410 <!-- 
411                         <text class="bif_label" 
412                                   x="{$bif_x_ + ceiling($BIF_W div 2)}"
413                                   y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
414                                         <xsl:value-of select="$bifName_"/>
415                         </text>
416 -->                             
417                         
418                         <xsl:call-template name="F_WriteText">
419                                 <xsl:with-param name="iX"               select="($bif_x_ + ceiling($BIF_W div 2))"/>
420                                 <xsl:with-param name="iY"               select="($bif_y_ + ceiling($BIF_H div 2) + 3)"/>
421                                 <xsl:with-param name="iText"    select="$bifName_"/>
422                                 <xsl:with-param name="iClass"   select="'bif_label'"/>
423                         </xsl:call-template>                    
424                         
425                 </xsl:for-each>
426                 
427                 <xsl:variable name="intcIdx_">
428                         <xsl:choose>
429                                 <xsl:when test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/INTERRUPTINFO/@INTC_INDEX">
430                                         <xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/INTERRUPTINFO/@INTC_INDEX"/>
431                                 </xsl:when>
432                                 <xsl:otherwise>"_no_interrupt_cntlr_"</xsl:otherwise>
433                         </xsl:choose>
434                 </xsl:variable>
435                         
436 <!--            
437                 <xsl:message> The intc index should <xsl:value-of select="$interrupt_cntlr_"/></xsl:message>
438                 <xsl:message> The intc index is <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTC_INDEX"/></xsl:message>
439 -->             
440                 <xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(INTERRUPTINFO[(@INTC_INDEX = $intcIdx_)])]">
441                         
442                         <xsl:variable name="intrColor_">
443                                 <xsl:call-template name="F_IntcIdx2RGB">
444                                         <xsl:with-param name="iIntcIdx" select="$intcIdx_"/>
445 <!-- 
446                                         <xsl:with-param name="iIntcIdx" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/INTERRUPTINFO/@INTC_INDEX"/>
447  -->                            
448                                 </xsl:call-template>    
449                         </xsl:variable>
450                         
451                         <xsl:call-template name="F_draw_InterruptedProc">
452                                 <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
453                                 <xsl:with-param name="iIntr_Y"   select="3"/>
454                                 <xsl:with-param name="iIntr_COL" select="$intrColor_"/>
455                                 <xsl:with-param name="iIntr_IDX" select="$intcIdx_"/>
456                         </xsl:call-template>    
457                 </xsl:if>
458         </g>                      
459         
460 </xsl:template>
461
462 </xsl:stylesheet>