Archive

Posts Tagged ‘armv8’

Linaro 13.04 Release With Linux Kernel 3.9 and Android 4.2.2

April 26th, 2013 2 comments

Linaro 13.04 has just been released. It features Linux Kernel 3.9-rc7 and Android 4.2.2.

A lot of work has been done on ARMv8 (Cortex A53) with further work on OpenEmbedded, more testing, and updates to the GCC toolchain. Calxeda EnergyCore server has been added to LAVA, Origen Quad now gets hardware video acceleration in Android Jelly Bean. Still more cleanup has been done on the kernel side with regards to Samsung and ST SoC, and a big.LITTLE porting guide is now available (linaro login required).

Here are the highlights of this release:

  • LAVA

    • Prototype of a new publishing system is used to overcome performance problems with android-build.linaro.org.
    • Calxeda EnergyCore support is merged in LAVA, and an isolated system has been set up for web benchmarking.
    • Fedora support is merged in LAVA. A user can submit LAVA jobs using a Fedora pre-built image.
    • Boot commands are untangled from LAVA dispatcher. They’re now read from images.
    • Nexus implementation in LAVA is generalized and reusable for other devices that support fastboot/adb.
    • Linaro Image Tools 2013.04 released
    • More xml-rpc APIs available in lava dashboard to make life easy.
    • Test Definitions now available in lava dashboard. Accumulation of meta-data via test definitions started.
  • Builds and Baselines
    • Dalvik VM unit test has been automated.
    • Accelerated video playback support on Android was added for Origen Quad.
    • Skia and 0xbench tests were added into lava-test-shell.
    • Test suite builder has been set up to provide test suite binaries as an overlay for Android.
    • Toolchain integration
      • Native toolchain on Android updated to 4.8.
      • Binaries for GCC 4.7 and 4.8 based toolchains released.
      • Android tree updated to compile with 4.8 based toolchains, all related changes upstreamed.
    • ARMv7 KVM enabled kernels and images are daily built and tested in Linaro’s CI loop.
    • OpenEmbedded ARMv8 engineering build provides 64bit HipHop VM requirements for porting and optimization purposes.
    • OpenEmbedded test cases (https://wiki.linaro.org/Platform/QA/TestCases/OpenEmbedded) have been automated. See https://git.linaro.org/gitweb?p=qa/test-definitions.git;a=tree;f=openembedded for current list.
    • Linux Linaro 3.9 2013.04 released
      • updated Versatile Express patches from ARM LT
      • updated arndale/exynos patches from Samsung LT
      • a patch to enable perf in Android by Bernhard Rosenkraenzer
      • vexpress64 support (both RTSM and Foundation model)
      • panda-fix-usb topic to make USB and on-board Ethernet to work on Panda with Device Tree enabled (cherry-pick / forward port of some of the dev.omapzoom.org commits)
      • a few fixes for MMC on Snowball from STE Landing Team
      • patch from ARM LT to fix lockups/crashes seen when enabling function tracer on TC2 with the not yet mainlined cpuidle driver
    • New or updated packages available from Linaro’s Overlay PPA: edk2-uefi, gator-daemon, gator, openssl and powerdebug.
  • Graphics
    • dma-buf – (upstream) debugfs support released, accepted for 3.10
    • AV playback bringup on Jelly Bean on Origen Quad complete and released to android team
    • kernel – (upstream) patches to adds common FIMD device node for all Exynos4 SoCs.
    • piglit – gles2-all and android support released via git. opencl-arm established with fixes specifically for ARM
    • audio – Channel swap for panda has been fixed in 3.9 and 3.8 as well.
    • opencl – Proof of Concept SNU CPU only OpenCL lib investigated and ported to armhf, available via git
  • Kernel
    • Refactor EHCI controller code
    • Depopulate the Exynos <mach-exynos/include-mach> directory
    • Expanded Binder Unit Test – Implement base ioctl unit tests
    • Depopulate the ux500 and plat-nomadik <mach/*> and <plat/*>
    • Improve eMMC Power Management Support – Merge patches to add a skeleton for doing background operations at idle time, based on runtime PM
    • Port some of the simpler platforms to multi-platform support
      • integrator: get to a state where DT is working fully as a prerequisite
      • pci: fix PCI device tree problems when resolving IRQs
      • SPEAr
      • Finalize Nomadik DT transition by moving the clocks to DT
      • Convert u300 to DT as a prerequisite
    • Android upstreaming: ashmem
    • Android alarm-dev compat_ioctl support
    • Implement and upstream ARM 32 bit uprobes (userspace probes) support
  • Power Management
    • Porting guide for big.LITTLE switcher is available (https://wiki.linaro.org/Internal/Projects/Big.Little.Switcher/Docs/porting-guide).
    • cpuidle : consolidate ARM drivers
    • DVFS for the Common Clock Framework
    • thermal: Powertop Integration – Add basic RFC patch and send for review
    • Linaro PM QA 0.4.1 2013.04 released. Fixed in this release:
    • Linaro Powerdebug 0.6.3 2013-04 released. Fixed in this release:
  • QA
    • Tests to cover big.LITTLE cluster init and shutdown have been added to the big.LITTLE core test suite
    • big.LITTLE extended test case scenarios have been implemented.
    • Functional and regression tests for scheduler from ARM have been integrated, covering HMP patches.
  • Toolchain
    • Linaro GCC 4.8 2013.04 released, based off the latest GCC 4.8.0+svn197294 release.
      • Initial optimized support for Cortex-A53 for arm*-*-* targets.
      • Improved support for new ARMv8-A instructions for arm*-*-* and aarch64*-*-* targets.
      • Backport of optimizations concerning whether to use Neon for 64-bit bitops for arm*-*-* targets.
    • Linaro GCC 4.7 2013.04 released, based off the latest GCC 4.7.2+svn197188 release.
      • Includes arm/aarch64-4.7-branch up to svn revision 196381.
      • Backport vectorizer cost model.
      • Turn off 64-bit Bitops in Neon.
    • Linaro GCC 4.6 2013.04 released, based off the latest GCC 4.6.3+svn197511 release. It’s the last monthly release of 4.6 series.
    • Linaro Toolchain Binaries 2013.04 released, updated to Linaro GCC 4.7 2013.04 and Linaro GCC 4.8 2013.04
  • LEG
    • Linaro UEFI 2013.04 released – bugfix
    • OpenSSL optimisations
    • SCT (Self-Certification Test)is now running without any crashes.
    • ACPI topic branch is being prepared for inclusion into linux-linaro tree.

Visit https://wiki.linaro.org/Cycles/1304/Release for a list of known issues and further release details about the LEB, Android, Kernel, Graphics, Landing Team,  Platform, Power management and Toolchain (GCC / Qemu) components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 13.03 Release with Linux Kernel 3.9 and Android 4.2.2

March 29th, 2013 No comments

Linaro 13.03 is now available, and features Linux Kernel 3.9-rc3 and Android 4.2.2.

This month, Linaro has released their first Origen Quad Android image, as well as Tiny Android build for Arndale. The ALIP image listed in the download page is still based on Ubuntu 12.11, but as doc Bormental noticed earlier this month, the latest ALIP Quantal 13.03 image is available for download at https://releases.linaro.org/latest/ubuntu/quantal-images/alip. Some development tools (gcc, g++, vi, make..) are now included in Android, so you can develop and build natively from your Android device. Linaro has kept on cleaning the Linux kernel ARM tree for Exynos and ST Ericson SoCs. More work has been done on big.LITTLE for both IKS and HMP, as well as ARMv8 OpenEmbedded, and an initial GRUB port on ARM UEFI is now available.

Here are the highlights of this release:

  • Automation and Validation
    • A simple CLI tool for communicating with the CI dashboard has been developed
    • LAVA supports Arndale booting with UEFI. The bootloader configuration is done on the fly
    • Snowballs coming back online
  • Builds and Baselines
    • linux-linaro-arndale Bringup with Tiny Android build for Arndale setup, and Android with GUI  planned for the next cycle.
    • Origen-Quad Member build
    • Native Toolchain on Android
      • The toolchain is now available natively inside Linaro Android builds.
      • The builds now include gcc, g++, vim, make, a terminal emulator and a vi-friendly keyboard.
    • Unified manifest – Details on how to work with common manifest can be found on https://wiki.linaro.org/Platform/Android/WorkWithCommonManifest
    • Restructure release toolchain – Released toolchains are checked into a prebuilts/ git repository and pulled in by the manifest as opposed to being downloaded as separate tarballs.This is the approach taken by AOSP to distribute the toolchain.
    • CTS Support in LAVA
      • CTS support for 4.2 reworked for better stability.
      • CTS has been enabled for the Engineering builds.
      • Investigations to be done next cycle on tests that are not getting executed.
    • Linux Linaro 3.9 2013.03 released
      • based off linux-linaro-core-tracking tree, llct-20130321.0 tag:
      • updated Versatile Express patches from ARM LT
      • updated arndale/exynos patches from Samsung LT
      • a patch to enable perf in Android by Bernhard Rosenkraenzer
      • vexpress64 support (both RTSM and Foundation model)
      • panda-fix-usb topic to make USB and on-board ethernet to work on Panda with Device Tree enabled (cherry-pick / forward port of some of the dev.omapzoom.org commits)
      • a few fixes for MMC on Snowball from STE Landing Team
    • Enable 64bit HipHop VM development in OpenEmbedded
    • Improve Ubuntu engineering build CI loop
    • ARMv7 KVM CI Bringup
    • Merge ARMv8 support into OpenEmbedded
    • CI bring up: Calxeda EnergyCore ECX-1000 (highbank)
      • Added hwpack configurations for ECX-1000 (highbank)
      • Set up CI job for ECX-1000 (highbank) hwpack daily builds
    • Adapt core LAVA tests from Ubuntu/Android to OpenEmbedded engineering build
  • Graphics
    • upstream: Version 10 of CMA-ION patches released by Benjamin Gaignard. ION is a new memory allocator for Android. CMA stands with Continuous Memory Allocator. Click here for details.
    • upstream: Android piglit enablement patches for OpenGL ES 2 updated and released by Tom Gall
    • upstream: Version 1 of variable-index-* shader-tests extended for Android and Linux released by Tom Gall
    • upstream: Version 1 of debugfs support for dma-buf released by Sumit Semwal
    • upstream: Version 9 of DRM FIMD DT support for Exynos4 DT machine released by Vikas Sajjan
  • Kernel
    • Depopulate the Exynos <mach-exynos/include-mach> directory
    • Convert UX500 to common clk
    • Refactor EHCI controller code – Separated ehci_tegra host controller driver from ehci-hcd into its own driver
    • Depopulate the ux500 and plat-nomadik <mach/*> and <plat/*>
    • Android alarm-dev compat_ioctl support
    • Android keyreset driver upstreaming
    • Improve eMMC Power Management Support
    • Android Sync infrastructure Upstreaming
  • Power Management
    • Dynamic timer irq affinity: set up the timer irq affinity to the cpu concerned by the first timer expiration – This patch was upstreamed.
    • cpufreq driver for IKS has been optimized
    • Analysis of HMP scheduler optimizations using bbench and their applicability to A15 SMP systems is completed: No performance regressions were seen.
    • sched: modified timer and workqueue framework to allow migration to non-idle cpus
    • Powerdebug is ported to Android platform and available in builds
    • Thermal manager: Powertop Integration.
  • Toolchain
    • Linaro GCC 4.7 2013.03 released, based off the latest GCC 4.7.2+svn195745 release
    • Linaro GCC 4.6 2013.03 released, based off the latest GCC 4.6.3+svn196247 release
    • Linaro QEMU 2013.03 released, based off upstream (trunk) QEMU. This release has been updated to be based on upstream’s recent 1.4.0 release. It also includes ARM KVM support patches which are in sync with the ABI as committed to the upstream Linux kernel for 3.9. This feature is still under development but will no longer be subject to kernel-vs-userspace ABI breaks.
    • Linaro Toolchain Binaries 2013.03 released, updated to Linaro GCC 4.7 2013.03
    • Updated GCC’s ARM backend to use new vectorizer cost model infrastructure
  • LEG
Visit https://wiki.linaro.org/Cycles/1303/Release for a list of known issues and further release details about the LEB, Android, Kernel, Graphics, Landing Team,  Platform, Power management and Toolchain (GCC / Qemu) components.
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 13.02 Release with Linux Kernel 3.8 and Android 4.2.2

March 1st, 2013 2 comments

Linaro 13.02 is now available, and features Linux Kernel 3.8 and Android 4.2.2.

The biggest news this month is probably the first release of a preliminary ARM64 Debian/Ubuntu Raring image. Other noticeable items include work on ARMv7 KVM, more improvements to OpenEmbedded ARMv8 implementation, as well as big.LITTLE MP implementation, and some modifications to the toolchain for Cortex A7 support. Origen images are not available for download this month, and there’s still no ALIP images since they have disappeared since Linaro upgraded to Ubuntu Quantal.

Here are the highlights of this release:

  • Android
    • AOSP master build for Galaxy Nexus has been setup
    • All the platforms have been updated to 4.2.2
    • Support for lava-test-shell has been added to linaro-android-build-tools.
  • Developer Platform
    • CI bring up: ARMv7 KVM – Add Arndale hypervisor patch to u-boot-linaro.
    • CI bring up: Arndale – Add Arndale image reports to LAVA, Enable and verify UEFI support in the hwpack.
    • Linux Linaro 3.8 2013.02 released
    • OpenEmbedded based SDK is able to build HipHopVM
    • OpenEmbedded ARMv8 build has been updated
    • ARM64 Debian/Ubuntu (Raring) port image available.
    • Several new packages available from Linaro’s Overlay PPA – acpica-unix, acpi-abat, fwts, libhugetlbfs and numactl
    • Support LEG engineering to ramp-up on LAVA
  • Infrastructure
    • OpenEmbedded CI builds now use persistent builders, which drastically reduces the build time.
  • Kernel
    • AB8500 driver has been updated with pinctrl patches
    • Ux500 now uses sparse IRQs
    • Depopulate the Exynos <mach-exynos/include-mach> directory – Convert all users of gpio to pinctrl and remove gpio.h for Exynos4
    • Depopulate the ux500 and plat-nomadik <mach/*> and <plat/*>
    • Research impact on kernel size for multi-platform configs
    • Android keyreset driver upstreaming
    • android upstreaming: Lowmem
    • Improve eMMC Power Management Support
    • Refactor EHCI controller code
    • Android alarm-dev compat_ioctl support
  • Power Management
    • Small task packing by scheduler (Power-aware scheduler) – Implement or update patches based on HMP and upstream workshop
    • Integration tree to bring together big.LITTLE MP related work (V15 branch of big LITTLE MP tree)
    • DVFS for the Common Clock Framework
    • Cpufreq cleanups with a view to more consolidation and simpler drivers
    • Port Adaptive NOHZ patchset to ARM
    • Update devfreq core
    • cpuidle: Tracks all miscellaneous changes to upstream cpuidle
    • Refactor the acpi cpuidle driver
    • Linaro Powerdebug 0.6.2-2013.02 released
  • Toolchain
    • Linaro GCC 4.7-2013.02-01
    • Linaro GCC 4.6 2013.02
    • Linaro Toolchain Binaries 2013.02 released
    • Backport Cortex-A7 support to -mcpu=native
    • Backport improvements for Cortex-A7
    • Backport AArch64 patches from Cavium
  • LAVA
    • Linaro CI jobs are converted to lava-test-shell
    • Galaxy Nexus device is deployed into LAVA
    • Calxeda and TC2-Hackbox servers are deployed in the lab
    • Support ARM engineering to deploy LAVA in-house
    • ARM Energy Probe deployed in LAVA lab
    • SSD Added to Calxeda server for hadoop testing
  • LEG
    • Linaro UEFI 2013.02 released with bug fixes for Arndale board.
    • ARM support merged in libhugetlbfs next branch (package available from Linaro’s Overlay PPA)

Visit https://wiki.linaro.org/Cycles/1302/Release for a list of known issues and further release details about the LEB, Android, Kernel, Graphics, Landing Team,  Platform, Power management and Toolchain (GCC / Qemu) components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

A Selection of FOSDEM 2013 Events

February 1st, 2013 No comments

FOSDEM is a 2-day (or 3 if you include Friday beer event) event where over 5,000 members of open source communities meet, share ideas and collaborate. It’s free to attend, and there’s no registration, so you just show up to attend. FOSDEM 2013 takes place on Feb 2-3 (yep, this week-end) in Brussels

There are 7 main tracks where sessions are organized:

  • fosdem logoOperating systems
  • Open source challenges
  • Security Janson
  • Beyond operating systems
  • Web development
  • Miscellaneous
  • Robotics

There are also keynotes and devroom for a total of 488 sessions. Developers rooms that may particularly be of interest to readers of this blog are:

All in all that’s a lot of sessions, and even though I won’t attend, I’m going to select a few from the main tracks:

This talk introduces the Fedora ARM Project and in particular the work we are doing to bring Fedora to emerging 64-bit ARM server systems.

Where are we today, one year after the unveiling of the Lima driver. This talk will cover the Lima driver (ARM Mali 200/400), but also other open source GPU driver projects such as the freedreno driver (Qualcomm Adreno), open source driver for Nvidia Tegra, etnaviv project (Vivante GC) and cover the status for Broadcoms Videocore and Imaginations PowerVR GPUs.

Based on the speaker’s experience of getting the support for the new Armada 370 and Armada XP ARM processors from Marvell into the mainline Linux kernel, this talk will detail the most important steps involved in this effort, and through this, give an overview of those changes and summarize the new rules for ARM Linux support.

  • Sunday 11:00 – 11:50 – Firefox OS by Jonas Sicking

Firefox OS is the next product being developed by Mozilla. It’s an open source OS based on the web and following the principals which have made the web a success. A phone running recent builds of Firefox OS (it’s not a finished product yet) will be demoed, and  the technologies and ideas behind Firefox OS will be discussed.

The systemd project is now two years old (almost three). It found adoption as the core of many big community and commercial Linux distributions. It’s time to look back what we achieved, what we didn’t achieve, how we dealt with the various controversies, and what’s to come next.

How Aldebaran Robotics is using open source on their NAO robot.

This talk will provide an overview of the Robot Operating System (ROS), an open software integration framework for robots.

This talk describes how the automotive industry has moved to embedded Linux and Open Source to develop the next generation of In-Vehicle Infotainment (IVI) and how it has met the challenges along the way.

What, why, when, where and how SecureBoot changes the way we build F/LOSS

 

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 13.01 Release with Linux Kernel 3.8 and Android 4.2.1

February 1st, 2013 2 comments

Linaro has just announced release 13.01 which includes Linux Kernel 3.8-rc4 and Android 4.2.1.

A lot of work seems to have gone in Arndale board and OpenEmbedded ARMv8. It’s the first time an Ubuntu image is released for Arndale Cortex A15 development board. One the kernel side some Android upstreaming work has been done, as well as some fixes for eMMC, and code for ST Ericsson Novathor 8500 SoC has been reorganized. Version 14 of the big.LITTLE MP (Multi Processing) has been released. The LEG has done further work on Linaro UEFI and GRUB.

Here are the highlights of this release:

  • Android
    • Platform Work
      • The first step of the android-build front-end update for new build program has been landed.
      • Origen and Versatile Express manifests have been consolidated into a single manifest.
      • linaro-android-tools were developed to improve development time for kernel developers. See Kernel Update Tools for details.
      • The android-build scripts have been cleaned up and should work from Ubuntu 10.04 and work for restricted builds as well.
      • busybox was upgraded to 1.21
    • Enablement
      • Audio Playback for panda is fixed.
      • External sdcard issue on pandaboard and origen quad was fixed.
    • LAVA/Testing
      • Third party benchmark suite is updated to use the uiautomator testing framework.
  • Developer Platform
    • CI bring up: Arndale
      • Add binary pre-bootloader package for Arndale (BL1)
      • Include Arndale support into Linaro U-Boot
      • Update u-boot-linaro source package to build a binary package for Arndale
      • Update edk2-uefi source package to build a binary package for Arndale
      • Pulls Arndale support into Linux Linaro
      • Add linaro-image-tools support for Arndale
      • Add package-and-publish linux linaro CI job for Arndale
      • Add hwpack configurations for Arndale
      • Setup CI job for Arndale hwpack daily builds
      • Create a pre-built image for Arndale
    • Enable 64-bit HipHop VM development in OpenEmbedded
      • Build dwarfutils, libmcrypt, libmemcached, memcached, onig, google-glog and libevent 1.4.14b with Facebook patch
      • Mark libdwarf and libunwind and google-perftools as optional (JIT requirement)
      • Create meta-toolchain-hhvm
    • Porting userspace applications for ARMv8: fuse ,libaio, xserver-xorg, cmake, nspr …
    • Merge ARMv8 support into OpenEmbedded
      • Merged slang, libffi, libart-lgpl, ghostscript, cmake, linux-libc-headers, libav, oprofile, python-numpy, xserver-xorg, gmp, attr, libaio, fuse and nspr changes into OE (and upstream if applicable)
    • Create Toolchain validation setup
      • Add options to jenkins-setup scripts to pass architecture and GCC version
      • Add ARMv7a gcc-4.7 and gcc-4.6 LAMP builds to ci.linaro.org
      • Update CI jobs publishing to snapshots.linaro.org
      • Merge changes in toolchain-layer
    • Linux Linaro 3.8-rc4 2013.01 released
      • Based off linux-linaro-core-tracking tree, llct-20130123.0 tag
        • Based off v3.8-rc4
        • Updated linaro-android-3.8 topic by John Stultz
        • Gator version 5.13
        • big.LITTLE MP version master-v14
        • eMMC patches from Kernel WG
      • Updated Versatile Express patches from ARM LT
      • Updated patches from Samsung LT: Arndale support added
      • Ethernet fixes for Snowball: ethernet works OK now
      • A patch to enable perf in Android by Bernhard Rosenkraenzer
      • Ashmem patch by Serban Constantinescu
      • VExpress64 support (both RTSM and Foundation models)
    • Linaro U-Boot 2013.01.1 released
      • LP #1103004 [Arndale] u-boot-linaro lacks pxeboot support
    • OpenEmbedded ARMv8 build has been updated
      • Toolchain updated to Linaro GCC 4.7 2013.01
      • Kernel updated to Linux Linaro 3.8-rc4
      • Various bug fixes
  • Graphics
  • Infrastructure
  • Kernel
    • Android upstreaming
      • Mempressure cgroup got an lwn article: https://lwn.net/Articles/531077
      • keyreset work got an initial patch queued with the input driver for 3.9
      • alarm-dev compat_ioctl support for 32-app on 64bit-kernel is queued for 3.9
      • First pass implementation of extended ashmem unit test completed
      • ashmem compat_ioctl support reworked to include feedback from lkml
    • ux500
      • conversion to common clock got several patchsets merged upstream by Torvalds
      • now uses sparse IRQs and accepted in ARM SoC
    • EHCI refactoring separated mxc, spear, orion and tegra host controller driver from ehci-hcd into its own driver modules
    • Research impact on kernel size for multi-platform configs
      • Gather kernel image and runtime size data for i.MX platform with multiplatform config support
    • AB8500 GPIO shape-up
    • Android upstreaming: Ashmem
      • Review Minchan’s v5 vma based approach
    • Android keyreset driver upstreaming
    • Android upstreaming: Lowmem
      • Anton sent out non RFC version of mempressure cgroup patchset, got ack from Kirill A. Shutemov
      • Anton’s work was written up in an lwn article https://lwn.net/Articles/531077/
    • Depopulate the ux500 and plat-nomadik <mach/*> and <plat/*>
    • Refactor USB Host Drivers
      • Write Orine host controller driver to separate from ehci-hcd host code into its own driver module
    • Android alarm-dev compat_ioctl support
    • Refactor EHCI controller code
      • Separate the mxc,spear,orion and tegra host controller driver from ehci-hcd into its own driver modules
    • Improve eMMC Power Management Support
      • Prepare patches for fixup I/O voltage switch in protocol layer
      • Prepare patches for adapt sdhci host driver to new sequence for how I/O voltage switch is done
    • Support for EMMC 4.5 and UFS
      • Submit /integrate patches for fixing Power Off Notify issues
  • Power Management
    • Integration tree to bring together big.LITTLE MP related work (V14 branch)
    • DVFS for the Common Clock Framework
      • improve re-parenting in clk_set_rate
      • create new clk-next branch based on 3.8-rcN
      • brainstorm alternative locking mechanism
    • Thermal framework enhancements for non-ACPI platforms
      • Get feedback from thermal tests PM-QA for all platforms and enable by default in LAVA
    • sched: modify timer and workqueue framework to allow migration
      • Get patches reviewed and accepted in mainline
      • Analyse users of workqueue subsystem to check which drivers would break by migrating work to other cpus, total of 1200 drivers found
      • Implement queue_work_on_any_cpu() type interfaces
    • Upstream stericsson u8500 suspend driver
      • Get clear the kernel requirements/constrains about suspend codes
      • Check the issue of rtc alarm doesn’t work
    • cpuidle: testsuite in PM-QA
      • Understand the existing tests
    • Upstream stericsson ab8500 thermal driver using new thermal framework
      • Keep reviewing and tracking patches for new thermal framework
      • Send out patches for upstreaming
    • Linaro PM QA 0.4.0 released
  • Toolchain
    • Linaro GCC 4.7 2013.01 released, based off GCC 4.7.2+svn194772
      • Includes arm/aarch64-4.7-branch up to svn revision 194808
      • Support for the rev16 and revsh instructions
      • A15 Neon pipeline backported from trunk
      • FMA intrinsic backported from trunk
      • Better extending core to NEON transfers
      • Fused multiply-add support
    • Linaro GCC 4.6 2013.01 released, based off GCC 4.6.3+svn194771
    • AArch64 Boehm GC port upstreamed
    • Multimedia filters in WebP submitted for upstream approval.
    • Linaro Toolchain Binaries 2013.01 released, updated to latest Linaro GCC 4.7 2013.01
  • LAVA
    • Filters now support a “compare” feature that allows comparing the results of two different jobs.
    • Filters results can now be downloaded as JSON data so people can generate their own custom reports.
    • Galaxy Nexus support added
    • pre-built CI images converted to use lava-test-shell
  • LEG
    • Linaro UEFI 2013.01 released. Highlights include fixes for native building of UEFI on ARM platforms and improvements to flashing images on Arndale boards.
      • imgburn.sh: add parameters and defaults
      • panda: Enable native building for Pandaboard
      • LP #1091447 UEFI: A9 crashes on boot with ATAGS
    • Linaro GRUB 2013.01 released.
      • Merge in latest upstream changes, including nested function removal.
      • Add cache line size probing for clean/invalidate operations
      • Fix a bug in D-cache clean operation.
      • Made code, especially Linux loader, more generic.

Visit https://wiki.linaro.org/Cycles/1301/Release for a list of known issues and further release details about the LEB, Android, Kernel, Graphics, Landing Team,  Platform, Power management and Toolchain (GCC / Qemu) components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

ARM 64-Bit Bootstrapping with OpenEmbedded – ELCE 2012

January 16th, 2013 No comments

Marcin Juszkiewicz, software engineer at Canonical, explains how ARMv8 was bootstrapped with OpenEmbedded with fast model simulation at the Embedded Linux Conference in Barcelona on November 7, 2012.

Abstract:

The time has come – there is ARM 64-bit architecture right behind a corner. In this talk I will present how OpenEmbedded was used to build root filesystem for fast models simmulating not-yet-existing hardware. Presentation is targeted at developers interested in cross compilation, handling new architectures in existing projects.

Agenda of the talk:
OpenEmbedded Logo

  • Introduction to Aarch64 – aka arm64 or ARMv8,  the new 64-bit version of the ARM architecture
  • Introduction to OpenEmbedded – Build system capable to build everything from package to
    whole distribution with repositories
  • First steps:
    • Create own layer for AArch64 stuff
    • Adding basic support into OE classes
    • Machine definition
  • Toolchain – Based on  gcc 4.7 + ARM patches
  • Build results – As of October 2012, 800 packages have been built, and LAMP and SDK images are available
  • Typical problems – configure scripts, old config files, and CPU/Architecture definitions
  • Current status – Merged into OpenEmbedded, Available in meta-linaro layer and meta-aarch64 layer
  • Build Instructions:
    git clone git://git.linaro.org/openembedded/meta-aarch64.git
    bash meta-aarch64/scripts/init.sh
    bitbake nano
  • Lessons learnt

You can download the slides for the presentation. You can also read one of my previous post entitled “Getting Started with 64-bit ARM Development: Hello World and Linux on ARMv8 Fast Models” to have a go.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 12.12 Release with Linux Kernel 3.7 and Android 4.2.1

December 21st, 2012 5 comments

Linaro release 12.12 has just been announced, and includes Linux Kernel 3.7 and Android 4.2.1. The tracking version (stable release) uses Kernel 3.4.22.

This release upgrades Android to version 4.2.1, Ubuntu images are now based on Ubuntu 12.10 (Quantal Quetzal) and Linaro U-Boot 2012.12 has been released with support for Origen 4 Quad and Arndale boards. Further improvements have been done for OpenEmbedded ARMv8, where they replaced the php Apache module by php-fpm among other things. On the kernel side, USB drivers have been refactored, and a kernel size analysis have been performed on several platforms. The power management team has mainly worked on big.LITTLE IKS and MP implementations, and it’s the first time LEG (Linaro Enterprise Group) is included in the release, and they worked on UEFI for ARM, GRUB for U-Boot, and provided a Ubuntu server image for Arndale board which can boot via UEFI or UBoot.

Here are the highlights of this release:

  • Android
    • Platform Enablement
      • Android upgraded to 4.2.1
      • Android 12.12 toolchain released
      • Wifi on PandaBoard enabled for 4.2.1
      • Audio enabled for Origen 4210
    • LAVA/Testing
      • Support to handle 4.2.1 images were added
    • Upstreaming
      • Perf patches were rebased for 4.2.1 on 3.7 kernel
  • Developer Platform
    • Ubuntu baseline images are now based on the latest Ubuntu stable release, Quantal Quetzal (12.10)
    • CI loop for OpenEmbedded builds is set up: daily build are produced, boot tested and image report is available on LAVA dashboard
    • The developer rootfs contains the software stack required by the Kernel Working Group
    • Linaro U-Boot 2012.12 released, based off U-Boot v2013.01-rc1
      • include support for Origen quad (4412) and Arndale (5250) boards
    • Kernel package for IKS has been updated and b.L hardware pack converted to v3
    • OpenEmbedded ARMv8 build has been updated
      • Kernel updated to linux-linaro 3.7
      • binutils and gdb updated to HEAD
      • switch setup to use “–network bridged –network-bridge tap0″ by default to have host<>model networking
      • switch to use php-fpm instead of Apache module
    • Linux Linaro has been updated
      • based on linux-linaro-core-tracking tree, llct-20121211.0 tag:
        • based on v3.7 release
        • config fragments: updated config-core-tracking and basic-board-configs topics
        • emmc patches from Kernel WG
        • updated linaro-android-3.7 topic by John Stultz
        • gator version 5.12
        • big-LITTLE-MP version master-v13
        • devfreq topic from Rajagopal Venkat
        • “KBuild: Allow scripts/* to be cross compiled” patch included. This is all that remains from the ubuntu-sauce topic.
        • patches to enable perf in Android by Bernhard Rosenkraenzer
      • updated Versatile Express patches from ARM LT
      • updated Origen patches from Samsung LT
    • Linux Linaro tracking updated, v3.4 based
      • Gator version 5.12
      • updated tilt-3.4 topic from TI LT; now includes the 3.4.22 stable release
  • Graphics and Multimedia
    • A glmark2 canvas (backend) for rendering using the DRM stack without X11
    • A glmark2 scene rendering a translucent model with reflective properties (e.g., a “crystal” statue)
  • Kernel
    • Refactor USB Host Drivers
      • Analyzing ehci-hcd and echi-omap source code
      • Studying existing ehci-platform,echi-mxc, ehci-spear, and ehci-orion code
    • Research impact on kernel size for multi-platform configs
      • Identify appropriate defconfig file: u8500_defconfig, vexpress_defconfig
      • Kernel static size measurement
      • Currently we can start with ‘free’ and ‘/proc/modules’
      • Finalize dts file to use across all the platforms
      • zImage with built-in’s
      • zImage static size with and without init sections
      • Setup mmc rootfs for runtime size analysis for U8500 platform
      • Setup qemu-linaro for runtime size analysis for vexpress platform
      • Prepare mmc based rootfs with *.ko’s
      • Identify the zImage size with built-in and ‘*.ko’
      • Gather kernel image and runtime size data for Ux500 platform, Versatile express platform and i.MX platform
      • For each platform, identify FDT’d Modules that are participating for .ko
      • zImage with *.ko’s
      • Prepare mmc based rootfs with *.ko’s for u8500 platform
      • Identify the number of pages used before and after installing the modules
      • Followup with shawnGuo for runtime size data gathering on i.MX platform
    • Android upstreaming: Ashmem
      • Review Minchan’s v3 vma based appraoch, found an critical issue and reported it
    • Android upstreaming: Lowmem
      • Create mempressure cgroup per David Rientjes suggestions (this also involves making vmpressure calculations per-thread)
      • Develop feedback cycle interface per akpm’s & sent to lkml
      • Got some interest in using the new interface from kvm developer for automatic memory ballooning
    • Pincontrol GPIO range makeover
      • Patches for the above merged into Torvald’s mainline tree
    • Refactor EHCI controller code
      • Study existing ECHI code
      • Studying existing ehci-platform,echi-mxc, ehci-spear, and ehci-orion code
  • Power Management
    • Highlights
      • Getting b.L IKS out the door
        • Lots of benchmarking, kernel optimising, bug fixing and code cleanups
        • Power measurements and tuning using ARM’s workbench
      • Release new version of powertop based on upstream 2.2 version
        • New feature to view devfreq device states
      • cpuidle – create new tool to analyse idle intersection of multiple cores
        • useful for optimising cpuidle driver to achieve cluster shutdown
    • Optimise cpufreq for IKS
      • Refactor cpufreq driver
      • Replicate Mathieu’s work setup at my place to verify power figures
      • Fix cpufreq driver to work with on-the-fly disablement of bl_switcher
      • Host Automated Workload Benchmark Suite in a linaro private repo
      • Optimize/Fix issues in Workbench
      • Fix Nico/next kernel crashes due to cpufreq framework
      • Run lots of benchmark tests
      • Fix potential bugs in cpufreq core
      • Supply the same cpufreq driver to ARM LT Team
      • Work on spreadsheet used for keeping results
      • Fix any pending issues with cpufreq driver
    • Integration tree to bring together big.LITTLE MP related work
      • Host cpufreq-interactive-master (Host patches from Todd Poyners tree) and cpufreq-interactive-exp (master + optimization patches from Linaro) branches
      • Release v13 of big LITTLE MP tree
    • Tasking packing heuristics (Power-aware scheduler)
      • Make MP3 power measurement on TC2 ubuntu image with pack mechanism
      • Create an TC2 android image with packing mecanism
      • Make MP3 power measurement on TC2 android image with pack mechanism
      • Update ARM bench
      • Make power measurement on TC2 android image with pack mechanism and ARM bench
      • Prepare packing small task v2
      • Update TC2 firmware
      • Test IKS-MP kernel with packing small tasks
      • Fix function tracer with new kernel and firmware
      • Test cpu hotplug stree test on TC2 and get results
    • Thermal framework enhancements for non-ACPI platforms
      • Analyse ways to have more than one temp sensor and how to share cooling devices between 2 thermal zones
    • Keep powertop 2.xworking on ARM
      • Add devfreq support into powertop to display all devfreq devices freq stats perhaps in new window
      • Rebase powertop to new 2.2 version
    • Upstream stericsson u8500 suspend driver
      • Look through the u8500 suspend codes
      • Find out if there is any dependencies blocking u8500 suspend upstream
    • cpuidle: support for multi-cluster in the core
      • parse a ftrace file and load data
      • do statistics on average, min, max time on the fly
      • compute intersection intervals
      • optimize intersection algorithm for memory & speed
      • do statistics on intersections on the fly
      • display results
      • add options to the command line
      • add a cstate options to filter results
      • check plotting against intervals
      • create a wiki page the wakeup source and fill it step by step
    • Refactor the acpi cpuidle driver
      • fix power state recomputation and dynamic C-states
  • Toolchain
    • Linaro GCC 4.7 2012.12 released, based off GCC 4.7.2+svn194184
      • better 64 bit shifts in NEON
      • arm/aarch64-4.7-branch up to svn revision 194154
      • LP #1060221 – Fix ICE: libgrypt
    • Linaro GCC 4.6 2012.12 released, based off GCC 4.6.3+svn194340
    • Linaro QEMU 2012.12 released, based off upstream’s recent 1.3.0 release
    • Linaro GDB 7.5 2012.12 released, based the FSF GDB 7.5.1 release
    • Linaro Toolchain Binaries 2012.12 released, updated to latest Linaro GCC 4.7 2012.12 and Linaro GDB 7.5 2012.12
  • LAVA
    • The validation lab increased its IP space from 255 to 65k addresses to prepare for new devices and LEG use cases requirements.
    • The Toolchain WG PandaBoard boards have been updated to support hard and soft float images
    • Image Reports for Automated Testing of OpenEmbedded builds is now availale
    • A new server is deployed in the validation lab for audio, power measurement, and SD-mux capable devices.
    • We started to use the ‘salt’ tool to manage the lab infrastructure
    • LAVA can execute Versatile Express jobs using the test image’s DTB
    • VExpress-tc2 boards are converted to use IKS
    • The validation lab has increased the number of wireless access points available
    • The ‘cbuild’ service for the toolchain group is now running on a VM in the lab
    • The UI for finding, viewing and downloading attachments in the dashboard has been improved
    • Signal handlers can be written in shell and bundled with the tests themselves
    • Most lava-test and lava-android-test tests had lava-test-shell versions written for them
    • Subscriptions to test run filters work properly now. A user can choose to be notified on failed test job or always.
  • LEG
    • Completed the investigation of CRC32 for HDFS (Hadoop Distributed File System) optimisation
    • Ported and submitted Non-Uniform Memory Access patches to upstream
    • Enabled GRUB on U-boot
    • Enabled UEFI on Samsung Arndale board
    • Provide a pre-built Ubuntu server image for Arndale using either U-boot or UEFI

Visit https://wiki.linaro.org/Cycles/1212/Release for a list of known issues and further release details about the LEB, Android, Kernel, Graphics, Landing Team,  Platform, Power management and Toolchain (GCC / Qemu) components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter