summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDietmar Eggemann <dietmar.eggemann@arm.com>2012-05-17 16:50:37 +0100
committerDietmar Eggemann <dietmar.eggemann@arm.com>2012-05-23 12:44:36 +0100
commit7650c525f68e79586ae65bcc08b39ae48b23d794 (patch)
tree08cbcfb417c0389873b431b54df1fa6d1e9174eb
parentbe6df40d74877aafe9fb065b88aa667952ac0f65 (diff)
downloadswitcher-7650c525f68e79586ae65bcc08b39ae48b23d794.tar.gz
Added more informative comments to the mxscript files.HEADv2.4master
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
-rw-r--r--bootwrapper/big-little-mp1.mxscript98
-rw-r--r--bootwrapper/big-little-mp4.mxscript98
2 files changed, 110 insertions, 86 deletions
diff --git a/bootwrapper/big-little-mp1.mxscript b/bootwrapper/big-little-mp1.mxscript
index 54106cf..c8c05ee 100644
--- a/bootwrapper/big-little-mp1.mxscript
+++ b/bootwrapper/big-little-mp1.mxscript
@@ -1,64 +1,76 @@
-// Replace the string with the absolute path of the Kingfisher model executable
-// e.g. string model = "/home/working_dir/RTSM_VE_Cortex-A15x1-A7x1";
+// SET THE DEFAULT FASTMODELS PARAMETERS
+//
+// 1. Replace the string with the absolute path of the FastModel executable
+// e.g. string model = "/home/working_dir/RTSM_VE_Cortex-A15x1-A7x1";
string model = "<path to the model>";
-// Replace the string with the absolute path of the Virutalizer+Payload software image
-// e.g. string app = "/home/working_dir/bootwrapper/img.axf"
+// 2. Replace the string with the absolute path of the Virutalizer+Payload software
+// image e.g. string app = "/home/working_dir/bootwrapper/img.axf".
string app = "<path to the software image>";
-// Replace the string with the absolute path of the wboot.bin image created in the
-// bootwrapper/big-little directory. This image is load in flash at 0x0 and distinguishes
-// between a warm and a cold reset
+// 3. Replace the string with the absolute path of the wboot.bin image created in
+// the bootwrapper/big-little directory. This image is load in flash at 0x0
+// and distinguishes between a warm and a cold reset.
string wboot = "<path to warm reset handler image>";
-int ctr = 0;
-
-// NOTE
-//
-// Uncomment the next 4 'string' variables and update them _only_ if the run is required
-// to generate trace output as described in docs/04-Cache-hit-rate-howto.txt. Also,
-// comment out the system() invocation on line 47 and uncomment the system() command on line 34.
-// Each 'trace' parameter is described below.
-
-// Add the path to the trace plugin
-// string trace_plugin = " --trace-plugin <path to>/GenericTrace.so";
+// 4. Invoke the FastModel with support for networking enabled.
+string networking = " -C motherboard.hostbridge.userNetworking=1 -C motherboard.hostbridge.userNetPorts=\"8080=8080\" -C motherboard.smsc_91c111.enabled=1";
-// Parameters for selecting the trace sources to monitor outbound cache hits
-// string trace_sources = " --parameter TRACE.GenericTrace.trace-sources=\*sw_trace_event\*,\*read_for_3_came_from_snoop\*,\*read_for_4_came_from_snoop\* ";
+// 5. Additional parameters to improve FastModels performance.
+string console = " -C motherboard.pl011_uart0.untimed_fifos=1 -C motherboard.pl011_uart1.untimed_fifos=1 -C motherboard.pl011_uart2.untimed_fifos=1 -C motherboard.pl011_uart3.untimed_fifos=1";
-// Add the path to the trace file where all the output will be collected
-// string trace_file = " --parameter TRACE.GenericTrace.trace-file=<path to trace file> ";
+// 6. Select which cluster (Boot Cluster mentioned in "docs/01-Usage.txt")
+// will come out of reset on power-on: 0x1 for for primary cluster
+// (Cortex-A15, default); 0x2 for secondary cluster (Cortex-A7).
+string dualcluster = " -C coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x1";
-// Miscellaneous parameters. The frequency at which the performance metrics of the
-// model appear in the trace source can be changed here (default is 0x100).
-// string trace_misc = " -C TRACE.GenericTrace.perf-period=0x100 -C TRACE.GenericTrace.flush=1 ";
-// The commented 'system' command below will launch the model and register the trace
-// sources selected in 'trace_sources' with the Generic Trace plugin selected using
-// 'trace_plugin'. Other parameters are specified in 'trace_file' & 'trace_misc'.
-// system(model + trace_plugin + trace_sources + trace_file + trace_misc + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + " --verbose -S &");
+// INCLUDE OPTIONAL FASTMODELS PARAMETERS
+//
+// 1. Using the Generic Trace plugin
+//
+// Uncomment the next 4 'string' variables and update them _only_ if the run
+// is required to generate trace output as described in
+// docs/04-Cache-hit-rate-howto.txt. Also, ensure that the 4 string variables
+// are appended to the system() command invocation below. Each 'trace'
+// parameter is described below.
+//
+// a. Add the path to the trace plugin
+// string trace_plugin = " --trace-plugin <path to>/GenericTrace.so";
+//
+// b. Add parameters for selecting the trace sources to monitor outbound cache
+// hits
+// string trace_sources = " --parameter TRACE.GenericTrace.trace-sources=\*sw_trace_event\*,\*read_for_3_came_from_snoop\*,\*read_for_4_came_from_snoop\* ";
+//
+// c. Add the path to the trace file where all the output will be collected
+// string trace_file = " --parameter TRACE.GenericTrace.trace-file=<path to trace file> ";
+//
+// d. Add miscellaneous parameters. The frequency at which the performance
+// metrics of the model appear in the trace source can be changed here
+// (default is 0x100).
+// string trace_misc = " -C TRACE.GenericTrace.perf-period=0x100 -C TRACE.GenericTrace.flush=1 ";
+//
+// 2. Using MMC emulation
+//
+// Uncomment the 'mmcimage' string variable _only_ if a run is needed using
+// an optional rootfs MMC image built using the instructions in
+// docs/06-Optional-rootfs-build.txt. Also ensure that the 'mmcimage' string
+// variable is appended to the system() command invocation below.
+// string mmcimage = " -C motherboard.mmc.p_mmc_file=<path to mmc.img>";
-string networking = " -C motherboard.hostbridge.userNetworking=1 -C motherboard.hostbridge.userNetPorts=\"8080=8080\" -C motherboard.smsc_91c111.enabled=1";
-string console = " -C motherboard.pl011_uart0.untimed_fifos=1 -C motherboard.pl011_uart1.untimed_fifos=1 -C motherboard.pl011_uart2.untimed_fifos=1 -C motherboard.pl011_uart3.untimed_fifos=1";
-// Select which cluster will come out of reset on power-on: 0x1 for for primary cluster (Cortex-A15, default); 0x2 for secondary cluster (Cortex-A7).
-string dualcluster = " -C coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x1";
-// NOTE
+// START FASTMODEL EXECUTION & SET BREAKPOINTS
//
-// _Only_ if a run is needed using an optional rootfs MMC image built using the instructions in
-// docs/06-Optional-rootfs-build.txt, then comment out the system() invocation
-// below (on line 47) and uncomment the following lines taking care to update
-// the paths accordingly.
-// string mmcimage = "<path to mmc.img>";
-// system(model + " -C motherboard.mmc.p_mmc_file=" + mmcimage + trace_plugin + trace_sources + trace_file + trace_misc + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + " --verbose -S &");
-
-// Invoke the model. It then listens for connection requests from the model debugger
-// Vanilla invocation of the model.
+// Invoke the model using the system(0 command below. It then listens for
+// connection requests from the model debugger Vanilla invocation of the
+// model. Append the string variables for optional parameters to the
+// system() command.
system(model + " -C motherboard.flashloader0.fname=" + wboot + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + networking + console + dualcluster +" --verbose -S &");
// Wait for the model to load before connecting to it. There will be times when we
// try connecting before the model has loded resulting in a "Connection refused"
// error. Increasing 'ctr' or retrying should solve the problem.
+int ctr = 0;
while(ctr < 400000000)
{
ctr++;
diff --git a/bootwrapper/big-little-mp4.mxscript b/bootwrapper/big-little-mp4.mxscript
index 67ebec3..3b2615e 100644
--- a/bootwrapper/big-little-mp4.mxscript
+++ b/bootwrapper/big-little-mp4.mxscript
@@ -1,64 +1,76 @@
-// Replace the string with the absolute path of the Kingfisher model executable
-// e.g. string model = "/home/working_dir/RTSM_VE_Cortex-A15x4-A7x4";
+// SET THE DEFAULT FASTMODELS PARAMETERS
+//
+// 1. Replace the string with the absolute path of the FastModel executable
+// e.g. string model = "/home/working_dir/RTSM_VE_Cortex-A15x4-A7x4";
string model = "<path to the model>";
-// Replace the string with the absolute path of the Virutalizer+Payload software image
-// e.g. string app = "/home/working_dir/bootwrapper/img.axf";
+// 2. Replace the string with the absolute path of the Virutalizer+Payload software
+// image e.g. string app = "/home/working_dir/bootwrapper/img.axf".
string app = "<path to the software image>";
-// Replace the string with the absolute path of the wboot.bin image created in the
-// bootwrapper/big-little directory. This image is load in flash at 0x0 and distinguishes
-// between a warm and a cold reset
+// 3. Replace the string with the absolute path of the wboot.bin image created in
+// the bootwrapper/big-little directory. This image is load in flash at 0x0
+// and distinguishes between a warm and a cold reset.
string wboot = "<path to warm reset handler image>";
-int ctr = 0;
-
-// NOTE
-//
-// Uncomment the next 4 'string' variables and update them _only_ if the run is required
-// to generate trace output as described in docs/04-Cache-hit-rate-howto.txt. Also,
-// comment out the system() invocation on line 47 and uncomment the system() command on line 34.
-// Each 'trace' parameter is described below.
-
-// Add the path to the trace plugin
-// string trace_plugin = " --trace-plugin <path to>/GenericTrace.so";
+// 4. Invoke the FastModel with support for networking enabled.
+string networking = " -C motherboard.hostbridge.userNetworking=1 -C motherboard.hostbridge.userNetPorts=\"8080=8080\" -C motherboard.smsc_91c111.enabled=1";
-// Parameters for selecting the trace sources to monitor outbound cache hits
-// string trace_sources = " --parameter TRACE.GenericTrace.trace-sources=\*sw_trace_event\*,\*read_for_3_came_from_snoop\*,\*read_for_4_came_from_snoop\* ";
+// 5. Additional parameters to improve FastModels performance.
+string console = " -C motherboard.pl011_uart0.untimed_fifos=1 -C motherboard.pl011_uart1.untimed_fifos=1 -C motherboard.pl011_uart2.untimed_fifos=1 -C motherboard.pl011_uart3.untimed_fifos=1";
-// Add the path to the trace file where all the output will be collected
-// string trace_file = " --parameter TRACE.GenericTrace.trace-file=<path to trace file> ";
+// 6. Select which cluster (Boot Cluster mentioned in "docs/01-Usage.txt")
+// will come out of reset on power-on: 0x1 for for primary cluster
+// (Cortex-A15, default); 0x2 for secondary cluster (Cortex-A7).
+string dualcluster = " -C coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x1";
-// Miscellaneous parameters. The frequency at which the performance metrics of the
-// model appear in the trace source can be changed here (default is 0x100).
-// string trace_misc = " -C TRACE.GenericTrace.perf-period=0x100 -C TRACE.GenericTrace.flush=1 ";
-// The commented 'system' command below will launch the model and register the trace
-// sources selected in 'trace_sources' with the Generic Trace plugin selected using
-// 'trace_plugin'. Other parameters are specified in 'trace_file' & 'trace_misc'.
-// system(model + trace_plugin + trace_sources + trace_file + trace_misc + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + " --verbose -S &");
+// INCLUDE OPTIONAL FASTMODELS PARAMETERS
+//
+// 1. Using the Generic Trace plugin
+//
+// Uncomment the next 4 'string' variables and update them _only_ if the run
+// is required to generate trace output as described in
+// docs/04-Cache-hit-rate-howto.txt. Also, ensure that the 4 string variables
+// are appended to the system() command invocation below. Each 'trace'
+// parameter is described below.
+//
+// a. Add the path to the trace plugin
+// string trace_plugin = " --trace-plugin <path to>/GenericTrace.so";
+//
+// b. Add parameters for selecting the trace sources to monitor outbound cache
+// hits
+// string trace_sources = " --parameter TRACE.GenericTrace.trace-sources=\*sw_trace_event\*,\*read_for_3_came_from_snoop\*,\*read_for_4_came_from_snoop\* ";
+//
+// c. Add the path to the trace file where all the output will be collected
+// string trace_file = " --parameter TRACE.GenericTrace.trace-file=<path to trace file> ";
+//
+// d. Add miscellaneous parameters. The frequency at which the performance
+// metrics of the model appear in the trace source can be changed here
+// (default is 0x100).
+// string trace_misc = " -C TRACE.GenericTrace.perf-period=0x100 -C TRACE.GenericTrace.flush=1 ";
+//
+// 2. Using MMC emulation
+//
+// Uncomment the 'mmcimage' string variable _only_ if a run is needed using
+// an optional rootfs MMC image built using the instructions in
+// docs/06-Optional-rootfs-build.txt. Also ensure that the 'mmcimage' string
+// variable is appended to the system() command invocation below.
+// string mmcimage = " -C motherboard.mmc.p_mmc_file=<path to mmc.img>";
-string networking = " -C motherboard.hostbridge.userNetworking=1 -C motherboard.hostbridge.userNetPorts=\"8080=8080\" -C motherboard.smsc_91c111.enabled=1";
-string console = " -C motherboard.pl011_uart0.untimed_fifos=1 -C motherboard.pl011_uart1.untimed_fifos=1 -C motherboard.pl011_uart2.untimed_fifos=1 -C motherboard.pl011_uart3.untimed_fifos=1";
-// Select which cluster will come out of reset on power-on: 0x1 for for primary cluster (Cortex-A15, default); 0x2 for secondary cluster (Cortex-A7).
-string dualcluster = " -C coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x1";
-// NOTE
+// START FASTMODEL EXECUTION & SET BREAKPOINTS
//
-// _Only_ if a run is needed using an optional rootfs MMC image built using the instructions in
-// docs/06-Optional-rootfs-build.txt, then comment out the system() invocation
-// below (on line 47) and uncomment the following lines taking care to update
-// the paths accordingly.
-// string mmcimage = "<path to mmc.img>";
-// system(model + " -C motherboard.mmc.p_mmc_file=" + mmcimage + trace_plugin + trace_sources + trace_file + trace_misc + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + " --verbose -S &");
-
-// Invoke the model. It then listens for connection requests from the model debugger
-// Vanilla invocation of the model.
+// Invoke the model using the system(0 command below. It then listens for
+// connection requests from the model debugger Vanilla invocation of the
+// model. Append the string variables for optional parameters to the
+// system() command.
system(model + " -C motherboard.flashloader0.fname=" + wboot + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + networking + console + dualcluster +" --verbose -S &");
// Wait for the model to load before connecting to it. There will be times when we
// try connecting before the model has loded resulting in a "Connection refused"
// error. Increasing 'ctr' or retrying should solve the problem.
+int ctr = 0;
while(ctr < 400000000)
{
ctr++;