From 35fd255487ce870c48e378017b859b7e40eb09ce Mon Sep 17 00:00:00 2001 From: Dietmar Eggemann Date: Tue, 13 Mar 2012 18:25:17 +0000 Subject: Update release notes and docs subdirectory to v2.3 (3). Incorporate changes after release notes and docs subdirectory review. Signed-off-by: Dietmar Eggemann --- docs/01-Usage.txt | 10 ++++----- docs/02-Code-layout.txt | 16 +++++++------- docs/03-Linux-kernel-build.txt | 12 +++++----- docs/07-Linux-cpu-hotplug-howto.txt | 44 +++++++++++++++++++------------------ 4 files changed, 42 insertions(+), 40 deletions(-) mode change 100755 => 100644 docs/07-Linux-cpu-hotplug-howto.txt (limited to 'docs') diff --git a/docs/01-Usage.txt b/docs/01-Usage.txt index ff1b689..15e4f06 100644 --- a/docs/01-Usage.txt +++ b/docs/01-Usage.txt @@ -30,15 +30,15 @@ Usage location then this must be reflected in the first line of the following file: - arm-virtualizer-v2_2-160212/bootwrapper/makemap + arm-virtualizer-v2_3-130312/bootwrapper/makemap Failure to make this modification will result in a build failure. To build the software: - $ tar -jxf arm-virtualizer-v2_2-160212.tar.bz2 - $ cd arm-virtualizer-v2_2-160212/bootwrapper + $ tar -jxf arm-virtualizer-v2_3-130312.tar.bz2 + $ cd arm-virtualizer-v2_3-130312/bootwrapper $ make clean && make The resulting file is 'img.axf'. @@ -48,12 +48,12 @@ Usage Note that the pre-built stub kernel image is located at: - arm-virtualizer-v2_2-160212/bootwrapper/payload/kernel + arm-virtualizer-v2_3-130312/bootwrapper/payload/kernel .. and the placeholder dummy root filesystem image is located at: - arm-virtualizer-v2_2-160212/bootwrapper/payload/fsimg + arm-virtualizer-v2_3-130312/bootwrapper/payload/fsimg These may be replaced with custom built images such as a suitably configured linux kernel image and a root filesystem diff --git a/docs/02-Code-layout.txt b/docs/02-Code-layout.txt index 9e49fa8..32a2a9a 100644 --- a/docs/02-Code-layout.txt +++ b/docs/02-Code-layout.txt @@ -145,8 +145,8 @@ B Code layout overview 1. Simple perl script that takes an ELF image of the Virtualizer, parses through the relevant sections & adds those sections to the scatter - file so that a consolidated image can be - created. + file so that a consolidated image can be + created. 2. big-little/common @@ -322,11 +322,11 @@ B Code layout overview 1. Contains code to handle an HVC instructions executed by the payload software: - a. to initiate a synchronous switchover. - ("HVC #1") + a. to initiate a synchronous switchover. + ("HVC #1"). - b. to find the id of the cluster on which its - currently executing. ("HVC #2") + b. to find the id of the cluster on which + its currently executing. ("HVC #2"). 3. handle_switchover.s @@ -498,8 +498,8 @@ B Code layout overview initialise the Secure world stacks, coherency, pagetables, to configure some coprocessor and memory mapped peripheral - (Coherent interconnect & shared vGIC) - registers for use of these features by + (Coherent interconnect & shared vGIC) + registers for use of these features by the Non-secure world. 2. SMC_SEC_SAVE diff --git a/docs/03-Linux-kernel-build.txt b/docs/03-Linux-kernel-build.txt index a35b5c4..9252859 100644 --- a/docs/03-Linux-kernel-build.txt +++ b/docs/03-Linux-kernel-build.txt @@ -5,8 +5,8 @@ A suitable Linux kernel image for use with the virtualizer can be built as follows (GCC toolchain used for these steps is: CodeSourcery Sourcery G++ Lite 2010.09 v4.5.1) -$ tar -jxf arm-virtualizer-v2_2-160212.tar.bz2 -$ cd arm-virtualizer-v2_2-160212/bootwrapper +$ tar -jxf arm-virtualizer-v2_3-130312.tar.bz2 +$ cd arm-virtualizer-v2_3-130312/bootwrapper $ make clean $ pushd /tmp $ git clone git://linux-arm.org/linux-2.6-lp.git linux-2.6-lp.git @@ -24,10 +24,10 @@ $ make clean && make .. in the top bootwrapper directory. This will result in a file called img.axf located at -arm-virtualizer-v2_2-160212/bootwrapper/img.axf. +arm-virtualizer-v2_3-130312/bootwrapper/img.axf. To launch the ARM FastModel with the virtualizer, first modify -arm-virtualizer-v2_2-160212/bootwrapper/big-little-MP.mxscript +arm-virtualizer-v2_3-130312/bootwrapper/big-little-MP.mxscript as usual to fill in paths to the model binary and the img.axf files. The mxscript file is adequately commented to assist with this. @@ -44,11 +44,11 @@ string model = "/home/working_dir/models/RTSM_VE_Cortex-A15x4-A7x4"; The path to the img.axf file is specified using the app directive as follows: -string app = "arm-virtualizer-v2_2-160212/bootwrapper/img.axf"; +string app = "arm-virtualizer-v2_3-130312/bootwrapper/img.axf"; The model can then be launched using: -modeldebugger -s arm-virtualizer-v2_2-160212/bootwrapper/big-little-MP.mxscript +modeldebugger -s arm-virtualizer-v2_3-130312/bootwrapper/big-little-MP.mxscript Where 'x' is the 1 or 4 respectively in the case of an MP1 model run or an MP4 model run. diff --git a/docs/07-Linux-cpu-hotplug-howto.txt b/docs/07-Linux-cpu-hotplug-howto.txt old mode 100755 new mode 100644 index 873a88c..90343eb --- a/docs/07-Linux-cpu-hotplug-howto.txt +++ b/docs/07-Linux-cpu-hotplug-howto.txt @@ -1,43 +1,46 @@ -Instructions & Guidelines to use Linux cpu hotplug +Instructions & guidelines to use Linux CPU hotplug ================================================== A Introduction This note describes how the Virtualizer software should - be configured for use with the Linux cpu hotplug + be configured for use with the Linux CPU hotplug subsystem. It also mentions conditions that both Linux and the Virtualizer software should fulfil for cpu hotplug to work. B Guidelines - A cpu hotplug operation involves migration of all tasks - and interrupts from the cpu in question before flushing - the relevant cache level(s) and shutting down the cpu. - A cpu is shutdown by programming the relevant RST_HOLDx + A CPU hotplug operation involves migration of all tasks + and interrupts from the CPU in question before flushing + the relevant cache level(s) and shutting down the CPU. + A CPU is shutdown by programming the relevant RST_HOLDx register in the KingFisher System Control Block (KFSCB). The Virtualizer software traps accesses to the KFSCB made - by Linux to shutdown a cpu to save its HYP mode context + by Linux to shutdown a CPU to save its HYP mode context and request the Secure world to save its own context. It then proceeds with the shutdown operation as Linux originally intended. The key assumption made here is that Linux will access the KFSCB RST_HOLDx registers only - during a cpu hotplug operation. + during a CPU hotplug operation. - It is also assumed that its not possible hotplug cpu0. - Hence, Linux cpu hotplug will work only with the MPx4 - variant of the big.LITTLE FastModels. + It is also assumed that its not possible to hotplug CPU0. + Hence, Linux CPU hotplug will work only with the MPx4 + variant of the big.LITTLE FastModels. The CPU choice here + isn't prescriptive and does not imply that CPU0 should + always be the last man standing CPU in a hotplug capable + system. It was chosen for simplicity. The Virtualizer software is built to switch the payload software between clusters asynchronously. There is a - possibility of unpredictable behaviour happenning if a - cluster switch is initiated when a cpu hotplug operation + possibility of unpredictable behaviour happening if a + cluster switch is initiated when a CPU hotplug operation is in progress. Hence the following two conditions need to be met to be able to use the Virtualizer software in - conjunction with Linux cpu hotplug: + conjunction with Linux CPU hotplug: - 1. The Virtualizer software should be built to support + 1. The Virtualizer software must be built to support synchronous switching by setting the ASYNC environment variable to FALSE prior to building it. For example with the tcsh shell: @@ -45,7 +48,7 @@ B Guidelines setenv ASYNC FALSE; make 2. Linux should invoke a cluster switch explicitly - after ensuring that no cpu hotplug operation is in + after ensuring that no CPU hotplug operation is in progress and vice versa. It can invoke a cluster switch by using the "HVC #1" assembler instruction from the relevant code. @@ -54,7 +57,7 @@ C Instructions 1. Build a linux kernel as per the steps listed in "docs/03-Linux-kernel-build.txt". - The configuration includes support for cpu + The configuration includes support for CPU hotplug by default. 2. Use an existing root filesystem or build a new @@ -71,12 +74,11 @@ C Instructions 4. Boot the resulting "bootwrapper/img.axf" file using the "bootwrapper/big-little-mp4.mxscript" file. At the command prompt, the Linux cpu - hotplug commands to hotplug cpus should work - as expected. For example, to hotplug cpu1 do: + hotplug commands to hotplug CPUs should work + as expected. For example, to hotplug CPU1 do: echo 0 > /sys/devices/system/cpu/cpu1/online - To bring cpu1 online do: + To bring CPU1 online do: echo 1 > /sys/devices/system/cpu/cpu1/online - -- cgit v1.2.3