Android Engineering

What was done?

Android 64/32

  • updated to 4.4 KitKat CARD-829

    • ran it through full validation cycle and collected test report
    • updated kernel
    • updated test plan for Power management testing
    • investigated regressions

Fastboot/UEFI

Builds and Baselines

What was done?

  • Linaro Stable Kernel 3.10.20-2013.11 released
    • Based on 3.10.20 stable tree
    • Includes an updated big.LITTLE MP patchset
  • Linux Linaro 3.12-2013.11 released
    • based on linux-linaro-core-tracking tree, llct-20131112.0 tag:
      • based on v3.12 release
      • gator version 5.16 (same version as in 13.10 release)
      • updated linaro-android-3.12 topic by John Stultz
      • updated big-LITTLE-pmu, iks, iks-cpufreq, and interactive-gov-updates topics from ARM LT
      • updated basic Capri board support from Broadcom LT (generic phy support for USB, watchdog, updated bcm_defconfig)
    • updated big endian topic
    • updated topic to support K3V2 board from Hisilicon LT

    • updated Versatile Express patches from ARM LT
    • vexpress64 support (updated FVP Base model files, added support for FVP Foundation models)
    • config fragments changes:
      • configs: add network namespace and virtual ethernet
      • distribution.conf: add more netfilter configs for the ltp networking iptable test
      • created multi_v7.conf and hi3xxx.conf config fragments for Hisilicon K3V2 board

  • Linaro Toolchain Binaries 2013.11 released
    • Binaries now ship with a Fortran compiler
    • Updates to GCC 4.8.2+svn204657
    • Fixes for bugs LP #1243656, #1243022
    • Backport fix for PR/58423
    • AArch64: added support for tiny model GOT access.
    • Improved AArch32 A-profile multilibs support (--with-multilib-list option)
    • Newlib was updated
  • Linaro OpenEmbedded baseline updates

    • Update to Linaro GCC 4.8-2013.11 release
    • Add Linaro GDB 7.6.1-2013.10 release
    • Adds support for the new Foundation FVP Models from ARM
    • Includes ARM Trusted Firmware binaries, built from the latest open source repository
    • Shrink openjdk-8 install by a few hundred MiB
    • Add jtreg support to openjdk-8 builds
  • Linaro Ubuntu baseline updates
    • packages updates: acpica-unix, edk2-uefi, fvp-pre-boot,
    • added sbsigntool package with ARM and Aarch64 support
    • added xen-tools to developer rootfs
  • Linaro Android baseline updates
    • Upgraded baseline to Android 4.4
    • Android builds updated to latest Linaro toolchain 4.8-2013.11

Kernel

What was done?

Kernel 3.13 merge window

  • eMMC power mangement upstreamed CARD-944

  • Suspend watchdow upstreamed CARD-896

  • Driver wakelock usage using wakeup_sources upstreamed KWG-68

ARM32 maintenance and consolidation

  • ARM32 uprobes CARD-153

    • created V2 uprobes patches based on public review and comments from Tixy
    • got comments on v2 patchset and implemented changes for most of them
      • replace "usermode" parameter with "emulate"
      • use regs[pc] instead of passing addr as an argument
      • move thumb reorg into its own patch
      • remove unnecessary opcode variable
  • Conversion PATCH_PHYS_VIRT && AUTO_ZRELADDR CARD-533

    • enabled PATCH_PHYS_VIRT and AUTO_ZRELADDR on Exynos
    • enabled PATCH_PHYS_VIRT on clps7xx
  • ARM32 maintenance - Updated arm32 machines table for 3.12 release CARD-533

Android upstreaming

  • ION CARD-501

    • Fixed ION compat_ioctl issues
    • ION build issues in 3.10 were fixed
  • MMC patches CARD-501

    • mmc deferred resume
    • already resolved patches cleanup
    • mmc wakelocks

ARM64 kernel feature enablement

  • Audit CARD-873

    • support in userspace improved
    • added seccomp support in kernel
    • audit support prototyped
  • ftrace CARD-727

    • function tracer implemented
    • v2 patches posted for review
  • kprobes and uprobes CARD-564

    • verified if ARM64 kprobes and hw breakpoints does conflict each other
    • v2 BUG: kretprobe wrong $return value at register 'x0' was fixed
  • kgdb - prototyped functional implementation CARD-743

  • Cortex strings CARD-672

    • went through few review rounds
    • measured and published benchmark results
    • published code in git tree
  • Oprofile - implementation has been successfully prototyped CARD-872

  • Kexec CARD-563

    • found and fixed a bug in the memory management code of the arm64 Linux kernel
    • fixed a few bugs in kexec assembly routines

LAVA

What was done?

  • Rest API for Results
  • LAVA Documentation - Creation of initial LAVA manual
  • Ability to Annotate Test Results
  • New LAVA tool released with new guided job submission capabilities
  • LAVA packaging refactored to install all necessary files in FHS compliant paths to support easier packaging.
  • Updated django-tables support implemented in lava-server
  • Integrated support in lava for imx6q for testing
  • All lava-tool commands accept multinode job ids.
  • LAVA updated to continue job after a lava-test-shell action fails
  • updated initrd for ARMv7 booting to enable 14 second boot tests with zImage support (was ~ 3 minutes at best before)
  • NFS root file system support
  • Added support for auto-login, username/password provided in deployment schema

LEG

What was done?

  • UEFI 2013.11 released
    • Includes support for the new Foundation FVP models
    • Fixes booting problems due to no initrd in OpenEmbedded images

  • As part of the ongoing work for authenticated boot with the Security WG there is now a minimal working authenticated boot for the Foundation Model - code is here with instructions in the commitlog

  • klibc port to ARM64 was merged upstream

  • libvirt patch to support machvirt machine model with virtio devices accepted upstream; also a libvirt CI loop has been setup

LNG

What was done?

  • Linux Linaro LNG 3.10.18-2013.11 released
    • based on Linux 3.10.18 kernel
    • PREEMPT_RT patchset rt14

Power Management

What was done?

  • Linaro PM-QA 0.4.5-2013.11 released
    • Fix thermal header include

QA

What was done?

  • 2013.11 release testing done
  • Comparison between linux-stable and LSK done (available in LAVA)
  • 1st version of Virtualization test plan completed

Toolchain

What was done?

Linaro Toolchain Releases

  • Linaro GCC 4.8-2013.11 released, based off the latest GCC 4.8.2+svn204657 release
    • Updates to GCC 4.8.2+svn204657
    • Fixes for bugs LP #1243656, #1243022
    • Backport fix for PR/58423
    • AArch64: added support for tiny model GOT access.
    • Improved AArch32 A-profile multilibs support (--with-multilib-list option)
  • Linaro GCC 4.7-2013.11 released, based off the latest GCC 4.7.4+svn204656 release
  • Linaro newlib 2.0.0-2013.11 released
    • Resync with upstream newlib trunk
    • Improved support for Cortex-A and AArch64 baremetal systems

ARMv8 Enablement

  • Improve code generation for AArch64 when 'frame grows downwards'

GCC Performance

  • Added Support in the ARM backend for LRA
  • Improved ifcombine phase.

Developer Tools Improvement

  • Patches under-review for reversible debugging in GDB for ARM.
    • Syscall support
    • Thumb instruction support

Cycles/1311/Release/Highlights (last modified 2013-11-28 09:34:46)