--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/f32test/loader/dlltree.txt Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,251 @@
+# Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# \f32test\loader\dlltree.txt
+# Description file for trees of DLLs and EXEs used for loader testing.
+# Tree with no data
+#
+#
+
+Tree0 : Tree1 Tree2
+Tree1 : Tree3 Tree4
+Tree2 : Tree5 Tree6
+Tree3
+Tree4
+Tree5
+Tree6
+
+# Tree with data
+
+DTree0 D : DTree1 DTree2
+DTree1 D : DTree3 DTree4
+DTree2 D : DTree5 DTree6
+DTree3 D
+DTree4 D
+DTree5 D
+DTree6 D
+
+# Tree with some data
+
+PDTree0 : Tree2 DTree2
+
+
+# Lattice with no data
+
+Lat0 : Lat1 Lat2
+Lat1 : Lat3
+Lat2 : Lat3
+Lat3
+
+# Lattice with data
+
+DLat0 D : DLat1 DLat2
+DLat1 D : DLat3
+DLat2 D : DLat3
+DLat3 D
+
+# Lattice with some data
+
+PDLat0 : PDLat1 Lat2
+PDLat1 D : Lat3
+
+
+# Cycle with no data
+
+Cyc0 : Cyc1
+Cyc1 : Cyc2
+Cyc2 : Cyc0
+
+# Cycle with data
+
+DCyc0 D : DCyc1
+DCyc1 D : DCyc2
+DCyc2 D : DCyc0
+
+# Cycle with some data
+
+PDCyc0 : PDCyc1
+PDCyc1 D : PDCyc2
+PDCyc2 : PDCyc0
+
+
+# Cycle with spurs, no data
+
+CycS0 : CycS1
+CycS1 : CycS2 Lat0
+CycS2 : CycS0
+
+# Cycle with spurs, data
+
+DCycS0 D : DCycS1
+DCycS1 D : DCycS2 DLat0
+DCycS2 D : DCycS0
+
+# Cycle with spurs, some data
+
+PDCycS0 : PDCycS1
+PDCycS1 : PDCycS2 PDLat0
+PDCycS2 D : PDCycS0
+
+# EXEs
+
+Exe0 X
+Exe1 X F
+Exe2 X R
+Exe3 X R F
+Exe4 X D
+Exe5 X F D
+Exe6 X R D
+Exe7 X R F D
+
+# EXE with link to DLL
+
+Exe8 X : PDLat0
+Exe9 X F : PDLat0
+Exe10 X R : X10Dep0
+Exe11 X R F : X11Dep0
+Exe12 X : Rom6
+
+X10Dep0 R,Exe10 D
+X11Dep0 R,Exe11 D
+
+# ROM XIP DLLs
+
+Rom5 R D : Rom6 Rom3
+Rom7 R D
+Rom6 R D : Rom7 Rom8
+Rom8 R D
+Rom0 R
+Rom1 R D
+Rom2 R D : Rom1
+Rom3 R D : Rom1 Rom2
+Rom4 R : Rom1
+RomCyc0 R D : RomCyc1
+RomCyc1 R D : RomCyc2
+RomCyc2 R D : RomCyc0
+RomCycS0 R : RomCycS1
+RomCycS1 R : RomCycS2 Rom3
+RomCycS2 R D : RomCycS0
+
+# RAM linking to ROM
+
+RamRom0 : Rom1
+RamRom1 : Lx5
+RamRom2 : Lx3
+RamRom3 : Lx4
+
+# Link to EXE
+
+Lx0 : Exe8
+Lx1 : Exe10
+Lx2 : Exe11
+Lx3 R : Exe10
+Lx4 R : Exe11
+Lx5 R : Exe7
+
+# ---- Code paging tests ----
+
+# paged binaries must be copied to removable media because the block map API
+# does not support paging from ROM.
+
+# bytepair with paged, unpaged subsets
+
+GTreeA I : GBTree1 GBNTree2 GBPTree3
+GBTree1 I B
+GBNTree2 I B N
+GBPTree3 I B P
+
+# uncompressed with paged, unpaged subsets
+# GUPNITree4 must be copied to writable media because toolchain should not set both flags
+
+GTreeB I : GUTree1 GUNTree2 GUPTree3
+GUTree1 I U
+GUNTree2 I U N
+GUPTree3 I U P
+
+# deflate compressed with non-empty paged, unpaged subsets
+# must copy to writable media because toolchain only supports paging flags with bytepair or uncompressed
+
+GTreeC I : GTree1 GNTree2 GPTree3
+GTree1 I
+GNTree2 I N
+GPTree3 I P
+
+# paged and unpaged together are corrupt if they have to be acted on
+
+GBPNITree B P N I
+GUPNITree U P N I
+GPNITree P N I
+
+# paged but loaded from nonpageable media
+
+GBPVTree B P V
+
+# mixed paged / unpaged lattice
+
+GLat0 B P I T : DTree1
+GLat1 B P I D T : Tree2
+GLat2 N T : GLat1 GLat0
+GLat3 N T : GLat1 GLat0 GLat2
+GLat4 B P I D T : GLat1 GLat2 GLat3
+
+# paged / unpaged executables
+
+GBPExe X B P I T : GLat4
+GBPDExe X B P I D T : GLat4
+GBPFExe X B P I F T : GLat4
+GBPDFExe X B P I D F T : GLat4
+GBNExe X B N I T : GLat4
+GBNFExe X B N I F T : GLat4
+
+# ---- Data paging tests ----
+
+# just add some data paged executables so loading gets OOM tested
+
+DataPagedExe1 X PD T
+DataPagedExe2 X PD D T
+
+!TESTCASES
+
+ExeLoad: Tree0 DTree0 PDTree0 \
+ Lat0 DLat0 PDLat0 \
+ Cyc0 DCyc0 PDCyc0 \
+ CycS0 DCycS0 PDCycS0 \
+ Rom4 RomCyc0 RomCycS0 \
+ RamRom1 GTreeA GTreeB \
+ GTreeC GLat4
+
+DllOOM: Tree0 DTree0 PDTree0 \
+ Lat0 DLat0 PDLat0 \
+ Cyc0 DCyc0 PDCyc0 \
+ CycS0 DCycS0 PDCycS0 \
+ Rom4 RomCyc0 RomCycS0 \
+ RamRom1 GTreeA GTreeB \
+ GTreeC GLat4 GBPVTree
+
+MultLoad: \
+ Exe0 RomCyc0 Tree0 Tree0 \
+ Exe2 RomCyc0 Tree0 Tree0 \
+ Exe3 RomCyc0 Tree0 Tree0 \
+ Exe3 DCycS0 Tree0 Tree0 \
+ Exe8 PDCycS0 Tree0 Tree0 \
+ Exe3 DCycS0 Tree0 Tree0 \
+ Exe8 DCycS0 Exe8 PDCycS0 \
+ Exe7 DCycS0 Exe3 DCycS0 \
+ Exe3 DLat0 Exe8 DCycS0 \
+ Tree0 Tree0 Exe3 DCycS0 \
+ Tree0 Tree0 Exe3 DLat0
+
+MultLoadTargetOnly: \
+ GBPExe GLat2 GBPExe GLat4 \
+ GBPExe GLat4 GLat3 GLat2