From 27f2efc606df7adbf4477e860c447debf20d4dd1 Mon Sep 17 00:00:00 2001 From: Dietmar Eggemann Date: Tue, 15 May 2012 13:47:42 +0100 Subject: Add additional cluster startup related RTSM model parameter to the mxscript files. Introduce the parameter string dualcluster which for now only contains the model parameter coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER. It is set to the model's default value 0x1 meaning the model will boot on the primary cluster (A15). Set it to 0x2 to be able to boot from secondary cluster (A7). Signed-off-by: Dietmar Eggemann --- bootwrapper/big-little-mp1.mxscript | 4 +++- bootwrapper/big-little-mp4.mxscript | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/bootwrapper/big-little-mp1.mxscript b/bootwrapper/big-little-mp1.mxscript index b50736a..0dbcfb0 100644 --- a/bootwrapper/big-little-mp1.mxscript +++ b/bootwrapper/big-little-mp1.mxscript @@ -40,6 +40,8 @@ int ctr = 0; 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 // @@ -52,7 +54,7 @@ string console = " -C motherboard.pl011_uart0.untimed_fifos=1 -C motherboard.pl0 // Invoke the model. It then listens for connection requests from the model debugger // Vanilla invocation of the model. -system(model + " -C motherboard.flashloader0.fname=" + wboot + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + networking + console +" --verbose -S &"); +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" diff --git a/bootwrapper/big-little-mp4.mxscript b/bootwrapper/big-little-mp4.mxscript index 3516857..b30509c 100644 --- a/bootwrapper/big-little-mp4.mxscript +++ b/bootwrapper/big-little-mp4.mxscript @@ -1,9 +1,9 @@ // Replace the string with the absolute path of the Kingfisher model executable -// e.g. string model = "/home/working_dir/RTSM_VE_Cortex-A15x4-A7x4" +// e.g. string model = "/home/working_dir/RTSM_VE_Cortex-A15x4-A7x4"; string model = ""; // Replace the string with the absolute path of the Virutalizer+Payload software image -// e.g. string app = "/home/working_dir/bootwrapper/img.axf" +// e.g. string app = "/home/working_dir/bootwrapper/img.axf"; string app = ""; // Replace the string with the absolute path of the wboot.bin image created in the @@ -40,6 +40,8 @@ int ctr = 0; 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 // @@ -52,7 +54,7 @@ string console = " -C motherboard.pl011_uart0.untimed_fifos=1 -C motherboard.pl0 // Invoke the model. It then listens for connection requests from the model debugger // Vanilla invocation of the model. -system(model + " -C motherboard.flashloader0.fname=" + wboot + " -C coretile.cache_state_modelled=1" + " -a coretile.cluster0.\*=" + app + " -a coretile.cluster1.\*=" + app + networking + console +" --verbose -S &"); +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" -- cgit v1.2.3