1 <?xml version="1.0" standalone="no"?>
3 <!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
4 <!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
6 <!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
7 <!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
9 <!ENTITY ALPHALOWER "ABCDEFxX0123456789">
10 <!ENTITY HEXUPPER "ABCDEFxX0123456789">
11 <!ENTITY HEXLOWER "abcdefxX0123456789">
12 <!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
14 <!ENTITY ALLMODS "MODULE[(@INSTANCE)]">
15 <!ENTITY BUSMODS "MODULE[(@MODCLASS ='BUS')]">
16 <!ENTITY CPUMODS "MODULE[(@MODCLASS ='PROCESSOR')]">
18 <!ENTITY MODIOFS "MODULE/IOINTERFACES/IOINTERFACE">
19 <!ENTITY ALLIOFS "&MODIOFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
21 <!ENTITY V11MODBIFS "MODULE/BUSINTERFACE">
22 <!ENTITY V12MODBIFS "MODULE/BUSINTERFACES/BUSINTERFACE">
23 <!ENTITY V11ALLBIFS "&V11MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and @TYPE and @BUSSTD]">
24 <!ENTITY V12ALLBIFS "&V12MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and @TYPE and @BUSSTD]">
26 <!ENTITY V11MODPORTS "MODULE/PORT">
27 <!ENTITY V12MODPORTS "MODULE/PORTS/PORT">
28 <!ENTITY V11ALLPORTS "&V11MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
29 <!ENTITY V12ALLPORTS "&V12MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
30 <!ENTITY V11NDFPORTS "&V11MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
31 <!ENTITY V12NDFPORTS "&V12MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
32 <!ENTITY V11DEFPORTS "&V11MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
33 <!ENTITY V12DEFPORTS "&V12MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
37 <!ENTITY MSTBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]">
38 <!ENTITY SLVBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE')]">
39 <!ENTITY MOSBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE'))]">
40 <!ENTITY P2PBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR'))]">
42 <xsl:stylesheet version="1.0"
43 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
44 xmlns:exsl="http://exslt.org/common"
45 xmlns:dyn="http://exslt.org/dynamic"
46 xmlns:math="http://exslt.org/math"
47 xmlns:xlink="http://www.w3.org/1999/xlink"
48 extension-element-prefixes="math exsl dyn xlink">
50 ======================================================
51 EDK SYSTEM (EDWARD) Globals.
52 ======================================================
55 <xsl:variable name="G_SYS_ROOT" select="/"/>
57 <xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_ROOT)"/>
58 <xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_ROOT)"/>
60 <xsl:variable name="G_SYS" select="$G_SYS_ROOT/EDKSYSTEM"/>
61 <xsl:variable name="G_SYS_TIMESTAMP" select="$G_SYS/@TIMESTAMP"/>
62 <xsl:variable name="G_SYS_EDKVERSION" select="$G_SYS/@EDKVERSION"/>
64 <xsl:variable name="G_SYS_INFO" select="$G_SYS/SYSTEMINFO"/>
65 <xsl:variable name="G_SYS_INFO_PKG" select="$G_SYS_INFO/@PACKAGE"/>
66 <xsl:variable name="G_SYS_INFO_DEV" select="$G_SYS_INFO/@DEVICE"/>
67 <xsl:variable name="G_SYS_INFO_ARCH" select="$G_SYS_INFO/@ARCH"/>
68 <xsl:variable name="G_SYS_INFO_SPEED" select="$G_SYS_INFO/@SPEEDGRADE"/>
70 <xsl:variable name="G_SYS_MODS" select="$G_SYS/MODULES"/>
71 <xsl:variable name="G_SYS_EXPS" select="$G_SYS/EXTERNALPORTS"/>
73 <!-- INDEX KEYS FOR FAST ACCESS -->
74 <xsl:key name="G_MAP_MODULES" match="&ALLMODS;" use="@INSTANCE"/>
75 <xsl:key name="G_MAP_PROCESSORS" match="&CPUMODS;" use="@INSTANCE"/>
77 <xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@INSTANCE"/>
78 <xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD"/>
79 <xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD_PSF"/>
81 <xsl:key name="G_MAP_ALL_IOFS" match="&ALLIOFS;" use="../../@INSTANCE"/>
83 <xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@TYPE"/>
84 <xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@TYPE"/>
85 <xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@BUSSTD"/>
86 <xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@BUSSTD"/>
87 <xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@BUSSTD_PSF"/>
88 <xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@BUSSTD_PSF"/>
89 <xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="../@INSTANCE"/>
90 <xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="../../@INSTANCE"/>
93 <xsl:key name="G_MAP_ALL_BIFS_BY_BUS" match="&ALLBIFS;" use="@BUSNAME"/>
94 <xsl:key name="G_MAP_ALL_BIFS_BY_STD" match="&ALLBIFS;" use="@BUSSTD"/>
95 <xsl:key name="G_MAP_ALL_BIFS_BY_STD" match="&ALLBIFS;" use="@BUSSTD_PSF"/>
98 <xsl:key name="G_MAP_MST_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
99 <xsl:key name="G_MAP_SLV_BIFS" match="&SLVBIFS;" use="@BUSNAME"/>
100 <xsl:key name="G_MAP_MOS_BIFS" match="&MOSBIFS;" use="@BUSNAME"/>
102 <xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSNAME"/>
103 <xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD"/>
104 <xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD_PSF"/>
107 <xsl:key name="G_MAP_ALL_PORTS" match="&V11ALLPORTS;" use="../@INSTANCE"/>
108 <xsl:key name="G_MAP_ALL_PORTS" match="&V12ALLPORTS;" use="../../@INSTANCE"/>
109 <xsl:key name="G_MAP_DEF_PORTS" match="&V11DEFPORTS;" use="../@INSTANCE"/> <!-- Default ports -->
110 <xsl:key name="G_MAP_DEF_PORTS" match="&V12DEFPORTS;" use="../../@INSTANCE"/> <!-- Default ports -->
111 <xsl:key name="G_MAP_NDF_PORTS" match="&V11NDFPORTS;" use="../@INSTANCE"/> <!-- Non Default ports -->
112 <xsl:key name="G_MAP_NDF_PORTS" match="&V12NDFPORTS;" use="../../@INSTANCE"/> <!-- Non Default ports -->
114 <xsl:variable name="G_BIFTYPES">
116 <BIFTYPE TYPE="SLAVE"/>
117 <BIFTYPE TYPE="MASTER"/>
118 <BIFTYPE TYPE="MASTER_SLAVE"/>
120 <BIFTYPE TYPE="TARGET"/>
121 <BIFTYPE TYPE="INITIATOR"/>
123 <BIFTYPE TYPE="MONITOR"/>
125 <BIFTYPE TYPE="USER"/>
126 <BIFTYPE TYPE="TRANSPARENT"/>
129 <xsl:variable name="G_BIFTYPES_NUMOF" select="count(exsl:node-set($G_BIFTYPES)/BIFTYPE)"/>
131 <xsl:variable name="G_IFTYPES">
132 <IFTYPE TYPE="SLAVE"/>
133 <IFTYPE TYPE="MASTER"/>
134 <IFTYPE TYPE="MASTER_SLAVE"/>
136 <IFTYPE TYPE="TARGET"/>
137 <IFTYPE TYPE="INITIATOR"/>
139 <IFTYPE TYPE="MONITOR"/>
141 <IFTYPE TYPE="USER"/>
143 <IFTYPE TYPE="TRANSPARENT"/>
146 <xsl:variable name="G_IFTYPES_NUMOF" select="count(exsl:node-set($G_IFTYPES)/IFTYPE)"/>
148 <xsl:variable name="G_BUSSTDS">
159 <BUSSTD NAME="PLB34"/>
160 <BUSSTD NAME="PLBV46"/>
161 <BUSSTD NAME="PLBV46_P2P"/>
163 <BUSSTD NAME="USER"/>
166 <xsl:variable name="G_BUSSTDS_NUMOF" select="count(exsl:node-set($G_BUSSTDS)/BUSSTD)"/>