On 28 August 2012 10:37, Viresh Kumar viresh.kumar@linaro.org wrote:
I have updated
https://wiki.linaro.org/WorkingGroups/PowerManagement/Process/bigLittleMPTre...
as per our last discussion. Please see if i have missed something.
Hi Guys,
I will be sending PULL request of big-LITTLE-MP-v7 today as per schedule. Do let me know if you want anything to be included in it before that.
@Morten: What should i do with patch reported by Santosh:
ARM-Add-HMP-scheduling-support-for-ARM-architecture
Do i need to apply it over your branch?
-- viresh
Hi Viresh,
On Mon, Sep 03, 2012 at 06:21:26AM +0100, Viresh Kumar wrote:
On 28 August 2012 10:37, Viresh Kumar viresh.kumar@linaro.org wrote:
I have updated
https://wiki.linaro.org/WorkingGroups/PowerManagement/Process/bigLittleMPTre...
as per our last discussion. Please see if i have missed something.
Hi Guys,
I will be sending PULL request of big-LITTLE-MP-v7 today as per schedule. Do let me know if you want anything to be included in it before that.
@Morten: What should i do with patch reported by Santosh:
ARM-Add-HMP-scheduling-support-for-ARM-architecture
Do i need to apply it over your branch?
The patch is already in the original patch set, so I'm not sure why it is missing.
http://linux-arm.org/git?p=arm-bls.git%3Ba=commit%3Bh=1416200dd62551aa9ac4aa...
It needs to be there for the HMP scheduling to work.
Regards, Morten
On 5 September 2012 19:16, Morten Rasmussen Morten.Rasmussen@arm.com wrote:
The patch is already in the original patch set, so I'm not sure why it is missing.
http://linux-arm.org/git?p=arm-bls.git%3Ba=commit%3Bh=1416200dd62551aa9ac4aa...
It needs to be there for the HMP scheduling to work.
Surprisingly, it wasn't there in my tree since beginning... I have included it now. :)
Hi Viresh,
On Thu, Sep 6, 2012 at 12:29 AM, Viresh Kumar viresh.kumar@linaro.orgwrote:
On 5 September 2012 19:16, Morten Rasmussen Morten.Rasmussen@arm.com wrote:
The patch is already in the original patch set, so I'm not sure why it is missing.
http://linux-arm.org/git?p=arm-bls.git%3Ba=commit%3Bh=1416200dd62551aa9ac4aa...
It needs to be there for the HMP scheduling to work.
Surprisingly, it wasn't there in my tree since beginning... I have included it now. :)
I have several questions related how to run the mp over fastmodel. For the kernel config file, I see there are many for VE: android_vexpress_defconfig ubuntu_vexpress_defconfig vexpress_defconfig vexpress_tc2_defconfig Which one is suitable for the kernel run over fastmodel?
Also the dts and bootwrapper, should I use below link? git://linux-arm.org/arm-dts.git git://git.linaro.org/arm/models/boot-wrapper.git or git:// linux-arm.org/boot-wrapper.git
Thanks, Lei
Tixy,
Can you please answer below queries? I am not sure about them.
-- viresh
On 6 September 2012 20:04, Lei Wen adrian.wenl@gmail.com wrote:
Hi Viresh,
On Thu, Sep 6, 2012 at 12:29 AM, Viresh Kumar viresh.kumar@linaro.org wrote:
On 5 September 2012 19:16, Morten Rasmussen Morten.Rasmussen@arm.com wrote:
The patch is already in the original patch set, so I'm not sure why it is missing.
http://linux-arm.org/git?p=arm-bls.git%3Ba=commit%3Bh=1416200dd62551aa9ac4aa...
It needs to be there for the HMP scheduling to work.
Surprisingly, it wasn't there in my tree since beginning... I have included it now. :)
I have several questions related how to run the mp over fastmodel. For the kernel config file, I see there are many for VE: android_vexpress_defconfig ubuntu_vexpress_defconfig vexpress_defconfig vexpress_tc2_defconfig Which one is suitable for the kernel run over fastmodel?
Also the dts and bootwrapper, should I use below link? git://linux-arm.org/arm-dts.git git://git.linaro.org/arm/models/boot-wrapper.git or git://linux-arm.org/boot-wrapper.git
Thanks, Lei
On Thu, 2012-09-06 at 22:34 +0800, Lei Wen wrote:
I have several questions related how to run the mp over fastmodel. For the kernel config file, I see there are many for VE: android_vexpress_defconfig ubuntu_vexpress_defconfig vexpress_defconfig vexpress_tc2_defconfig Which one is suitable for the kernel run over fastmodel?
Also the dts and bootwrapper, should I use below link? git://linux-arm.org/arm-dts.git git://git.linaro.org/arm/models/boot-wrapper.git or git:// linux-arm.org/boot-wrapper.git
Linaro's standard vexpress kernel will work on Fast Models.
The kernel source is in the linux-linaro branch of git://git.linaro.org/kernel/linux-linaro-tracking.git
The config used is generated by the command:
ARCH=arm scripts/kconfig/merge_config.sh \ linaro/configs/linaro-base.conf \ linaro/configs/ubuntu-minimal.conf \ linaro/configs/vexpress.conf
If you want to run a full Ubuntu desktop system its probably best to replace 'ubuntu-minimal.conf' with 'ubuntu.conf'. And for Android kernels use 'android.conf' instead.
This kernel tree also contains device-trees for the Fast Models as arch/arm/boot/dts/rtsm_ve*
The boot-wrapper we are trying to standardise on is at git://git.linaro.org/arm/models/boot-wrapper.git
Currently this requires a patch (attached) to work on big.LITTLE models. Note, this patch will break non bit.LITTLE models but people are working on a way of a single boot-wrapper to work on all models.
This boot-wrapper supports semi-hosting so it can be used as a stand-alone bootloader and does not need to be merged with the kernel binary. To build it:
make CROSS_COMPILE=arm-linux-gnueabi- linux-system-semi.axf
To run the big.LITTLE models you can then use a command like:
RTSM_VE_Cortex-A15x4-A7x4 \ -a coretile.cluster0.*=/path/linux-system-semi.axf \ -a coretile.cluster1.*=/path/linux-system-semi.axf \ -C coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 \ -C motherboard.mmc.p_mmc_file=/path/mmc.bin \ -C coretile.cluster0.cpu0.semihosting-cmd_line="--kernel /path/uImage --initrd /path/uInitrd --dtb /path/rtsm_ve-v2p-ca15x4-ca7x4 -- console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro debug"
replacing names and paths as appropriate; and making sure the dtb file you use matches the model you are running. I.e. it has the same type and number of CPUS.
For running non bit.LITTLE models use something like:
RTSM_VE_Cortex-A15x4 \ /path/linux-system-semi.axf \ -C motherboard.mmc.p_mmc_file=/path/mmc.bin \ -C cluster.cpu0.semihosting-cmd_line="--kernel /path/uImage --initrd /path/uInitrd --dtb /path/rtsm_ve-cortex_a15x4 -- console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro debug"
The MMC image to use for the root filesystem can be any Linaro vexpress image created by linaro-media-create, or linaro-android-media-create, but it needs to be limited to <2GB, e.g. for Android
linaro-android-media-create \ --image-file mmc.bin --image-size 2000M --dev vexpress \ --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
or an Ubuntu image
linaro-media-create \ --image-file mmc.bin --image-size 2000M --dev vexpress \ --binary linaro-precise-XXXX.tar.gz \ --hwpack hwpack_linaro-vexpress_XXXX.tar.gz
To get a uInitrd to pass to the models then you can find this in Android's boot.tar.bz2. However, for Ubuntu images I'm not sure of a good way, only to create a second image on an SD card and then get a uInitrd from the boot partition of that.
Hi Tixy,
On Fri, Sep 7, 2012 at 5:42 PM, Jon Medhurst (Tixy) tixy@linaro.org wrote:
On Thu, 2012-09-06 at 22:34 +0800, Lei Wen wrote:
I have several questions related how to run the mp over fastmodel. For the kernel config file, I see there are many for VE: android_vexpress_defconfig ubuntu_vexpress_defconfig vexpress_defconfig vexpress_tc2_defconfig Which one is suitable for the kernel run over fastmodel?
Also the dts and bootwrapper, should I use below link? git://linux-arm.org/arm-dts.git git://git.linaro.org/arm/models/boot-wrapper.git or git:// linux-arm.org/boot-wrapper.git
Linaro's standard vexpress kernel will work on Fast Models.
The kernel source is in the linux-linaro branch of git://git.linaro.org/kernel/linux-linaro-tracking.git
The config used is generated by the command:
ARCH=arm scripts/kconfig/merge_config.sh \ linaro/configs/linaro-base.conf \ linaro/configs/ubuntu-minimal.conf \ linaro/configs/vexpress.conf
If you want to run a full Ubuntu desktop system its probably best to replace 'ubuntu-minimal.conf' with 'ubuntu.conf'. And for Android kernels use 'android.conf' instead.
This kernel tree also contains device-trees for the Fast Models as arch/arm/boot/dts/rtsm_ve*
The boot-wrapper we are trying to standardise on is at git://git.linaro.org/arm/models/boot-wrapper.git
Currently this requires a patch (attached) to work on big.LITTLE models. Note, this patch will break non bit.LITTLE models but people are working on a way of a single boot-wrapper to work on all models.
This boot-wrapper supports semi-hosting so it can be used as a stand-alone bootloader and does not need to be merged with the kernel binary. To build it:
make CROSS_COMPILE=arm-linux-gnueabi- linux-system-semi.axf
To run the big.LITTLE models you can then use a command like:
RTSM_VE_Cortex-A15x4-A7x4 \ -a coretile.cluster0.*=/path/linux-system-semi.axf \ -a coretile.cluster1.*=/path/linux-system-semi.axf \ -C
coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 \ -C motherboard.mmc.p_mmc_file=/path/mmc.bin \ -C coretile.cluster0.cpu0.semihosting-cmd_line="--kernel /path/uImage --initrd /path/uInitrd --dtb /path/rtsm_ve-v2p-ca15x4-ca7x4 -- console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro debug"
replacing names and paths as appropriate; and making sure the dtb file you use matches the model you are running. I.e. it has the same type and number of CPUS.
For running non bit.LITTLE models use something like:
RTSM_VE_Cortex-A15x4 \ /path/linux-system-semi.axf \ -C motherboard.mmc.p_mmc_file=/path/mmc.bin \ -C cluster.cpu0.semihosting-cmd_line="--kernel /path/uImage
--initrd /path/uInitrd --dtb /path/rtsm_ve-cortex_a15x4 -- console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro debug"
The MMC image to use for the root filesystem can be any Linaro vexpress image created by linaro-media-create, or linaro-android-media-create, but it needs to be limited to <2GB, e.g. for Android
linaro-android-media-create \ --image-file mmc.bin --image-size 2000M --dev vexpress \ --boot boot.tar.bz2 --system system.tar.bz2 --userdata
userdata.tar.bz2
or an Ubuntu image
linaro-media-create \ --image-file mmc.bin --image-size 2000M --dev vexpress \ --binary linaro-precise-XXXX.tar.gz \ --hwpack hwpack_linaro-vexpress_XXXX.tar.gz
To get a uInitrd to pass to the models then you can find this in Android's boot.tar.bz2. However, for Ubuntu images I'm not sure of a good way, only to create a second image on an SD card and then get a uInitrd from the boot partition of that.
Thanks a lot for the detailed setup doc.
Thanks, Lei