Hi,
I tried booting linux-linaro-2.6.37 kernel on my beagle board C4. I executed
following:
1. Installed linaro on a 4 GB SD card using linaro-image-tools 0.4.1 with
hwpack daily snapshot hwpack_linaro-omap3_20110125-0_armel_supported.tar.gz
and linaro-natty-headless-tar-20101202-1.tar.gz. It was booting properly on
my BB.
2. Cloned linux-linaro-2.6.37. Changed to source directory
3. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- omap2plus_defconfig
4. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig (enabled
EARLY_PRINTK)
5. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage
6. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
7. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules_install
INSTALL_MOD_PATH=/media/rootfs
8. cp arch/arm/boot/uImage /media/boot; sync
Everything went on smoothly. Then I put the SD card on BB and powered it on.
I got a kernel panic: http://paste.ubuntu.com/560562
Please help me figuring out the problem. Is it because I didn't create
uInitrd? If so, then how to create it for ARM?
Regards,
Avik
Hi all,
this patch series implements Xen support for ARMv7 with virtualization
extensions. It allows a Linux guest to boot as dom0 and
as domU on Xen on ARM. PV console, disk and network frontends and
backends are all working correctly.
It has been tested on a Versatile Express Cortex A15 emulator, using the
latest Xen ARM developement branch
(git://xenbits.xen.org/people/ianc/xen-unstable.git arm-for-4.3) plus
the "ARM hypercall ABI: 64 bit ready" patch series
(http://marc.info/?l=xen-devel&m=134426267205408), and a simple ad-hoc
tool to build guest domains (marc.info/?l=xen-devel&m=134089788016546).
The patch marked with [HACK] shouldn't be applied and is part of the
series only because it is needed to create domUs.
I am also attaching to this email the dts'es that I am currently using
for dom0 and domU: vexpress-v2p-ca15-tc1.dts (that includes
vexpress-v2m-rs1-rtsm.dtsi) is the dts used for dom0 and it is passed to
Linux by Xen, while vexpress-virt.dts is the dts used for other domUs
and it is appended in binary form to the guest kernel image. I am not
sure where they are supposed to live yet, so I am just attaching them
here so that people can actually try out this series if they want to.
Comments are very welcome!
Changes in v3:
- move patches that have been picked up by Konrad at the end of the
series;
- improve comments;
- add a doc to describe the Xen Device Tree format;
- do not use xen_ulong_t for multicalls and apic_physbase;
- add a patch at the end of the series to use the new __HVC macro;
- add missing pvclock-abi.h include to ia64 header files;
- do not use an anonymous union in struct xen_add_to_physmap.
Changes in v2:
- fix up many comments and commit messages;
- remove the early_printk patches: rely on the emulated serial for now;
- remove the xen_guest_init patch: without any PV early_printk, we don't
need any early call to xen_guest_init, we can rely on core_initcall
alone;
- define an HYPERCALL macro for 5 arguments hypercall wrappers, even if
at the moment is unused;
- use ldm instead of pop in the hypercall wrappers;
- return -ENOSYS rather than -1 from the unimplemented grant_table
functions;
- remove the pvclock ifdef in the Xen headers;
- remove include linux/types.h from xen/interface/xen.h;
- replace pr_info with pr_debug in xen_guest_init;
- add a new patch to introduce xen_ulong_t and use it top replace all
the occurences of unsigned long in the public Xen interface;
- explicitely size all the pointers to 64 bit on ARM, so that the
hypercall ABI is "64 bit ready";
- clean up xenbus_init;
- make pci.o depend on CONFIG_PCI and acpi.o depend on CONFIG_ACPI;
- mark Xen guest support on ARM as EXPERIMENTAL;
- introduce GRANT_TABLE_PHYSADDR;
- remove unneeded initialization of boot_max_nr_grant_frames;
- add a new patch to clear IRQ_NOAUTOEN and IRQ_NOREQUEST in events.c;
- return -EINVAL from xen_remap_domain_mfn_range if
auto_translated_physmap;
- retain binary compatibility in xen_add_to_physmap: use a union to
introduce foreign_domid.
Ian Campbell (1):
[HACK] xen/arm: implement xen_remap_domain_mfn_range
Stefano Stabellini (24):
arm: initial Xen support
xen/arm: hypercalls
xen/arm: page.h definitions
xen/arm: sync_bitops
xen/arm: empty implementation of grant_table arch specific functions
docs: Xen ARM DT bindings
xen/arm: Xen detection and shared_info page mapping
xen/arm: Introduce xen_pfn_t for pfn and mfn types
xen/arm: Introduce xen_ulong_t for unsigned long
xen/arm: compile and run xenbus
xen: do not compile manage, balloon, pci, acpi and cpu_hotplug on ARM
xen/arm: introduce CONFIG_XEN on ARM
xen/arm: get privilege status
xen/arm: initialize grant_table on ARM
xen/arm: receive Xen events on ARM
xen: clear IRQ_NOAUTOEN and IRQ_NOREQUEST
xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree
xen: allow privcmd for HVM guests
xen/arm: compile blkfront and blkback
xen/arm: compile netback
arm/v2m: initialize arch_timers even if v2m_timer is not present
xen/arm: use the __HVC macro
xen: missing includes
xen: update xen_add_to_physmap interface
Documentation/devicetree/bindings/arm/xen.txt | 22 +++
arch/arm/Kconfig | 10 +
arch/arm/Makefile | 1 +
arch/arm/include/asm/hypervisor.h | 6 +
arch/arm/include/asm/sync_bitops.h | 27 +++
arch/arm/include/asm/xen/events.h | 18 ++
arch/arm/include/asm/xen/hypercall.h | 69 +++++++
arch/arm/include/asm/xen/hypervisor.h | 19 ++
arch/arm/include/asm/xen/interface.h | 73 ++++++++
arch/arm/include/asm/xen/page.h | 82 ++++++++
arch/arm/mach-vexpress/v2m.c | 11 +-
arch/arm/xen/Makefile | 1 +
arch/arm/xen/enlighten.c | 245 +++++++++++++++++++++++++
arch/arm/xen/grant-table.c | 53 ++++++
arch/arm/xen/hypercall.S | 102 ++++++++++
arch/ia64/include/asm/xen/interface.h | 8 +-
arch/x86/include/asm/xen/interface.h | 8 +
arch/x86/xen/enlighten.c | 1 +
arch/x86/xen/irq.c | 1 +
arch/x86/xen/mmu.c | 3 +
arch/x86/xen/xen-ops.h | 1 -
drivers/block/xen-blkback/blkback.c | 1 +
drivers/net/xen-netback/netback.c | 1 +
drivers/net/xen-netfront.c | 1 +
drivers/tty/hvc/hvc_xen.c | 2 +
drivers/xen/Makefile | 11 +-
drivers/xen/events.c | 18 ++-
drivers/xen/grant-table.c | 1 +
drivers/xen/privcmd.c | 20 +-
drivers/xen/xenbus/xenbus_comms.c | 2 +-
drivers/xen/xenbus/xenbus_probe.c | 62 +++++--
drivers/xen/xenbus/xenbus_probe_frontend.c | 1 +
drivers/xen/xenbus/xenbus_xs.c | 1 +
drivers/xen/xenfs/super.c | 7 +
include/xen/events.h | 2 +
include/xen/interface/features.h | 3 +
include/xen/interface/grant_table.h | 4 +-
include/xen/interface/io/protocols.h | 3 +
include/xen/interface/memory.h | 32 ++-
include/xen/interface/physdev.h | 2 +-
include/xen/interface/platform.h | 4 +-
include/xen/interface/version.h | 2 +-
include/xen/interface/xen.h | 7 +-
include/xen/privcmd.h | 3 +-
include/xen/xen.h | 2 +-
45 files changed, 885 insertions(+), 68 deletions(-)
A branch based on 3.5-rc7 is available here (the __HVC patch is missing
from this branch because it depends on "ARM: opcodes: Facilitate custom
opcode injection" http://marc.info/?l=linux-arm-kernel&m=134442896128124):
git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git 3.5-rc7-arm-3
Cheers,
Stefano
Hi Andrey,
Below is pull request for v7 of MP work, you can skip v6-resend pull
request that i sent yesterday.
Following are the main changes:
- Based on v3.6-rc3
- per-task-load-average updated with v3
- applied Tixy's patch from fast-slow-cpu-dt-v1 to task-placement-v1 as
they are
somewhat related only. And so removed fast-slow-cpu-dt-v1 branch
NOTE: Compile tested only
--
viresh
--------------->8-----------------------------
The following changes since commit fea7a08acb13524b47711625eebea40a0ede69a0:
Linux 3.6-rc3 (2012-08-22 13:29:06 -0700)
are available in the git repository at:
git://git.linaro.org/arm/big.LITTLE/mp.git big-LITTLE-MP-v7
for you to fetch changes up to 549b2d49de89f9454a933a32efb5825a076efd42:
Merge branches 'per-cpu-thread-hotplug-v3-fixed', 'task-placement-v1',
'cpu-hotplug-get_online_cpus-v1', 'arm-asymmetric-support-v3-v3.6-rc1' and
'config-fragments' into big-LITTLE-MP-v7 (2012-08-24 09:24:14 +0530)
----------------------------------------------------------------
Ben Segall (1):
sched: maintain per-rq runnable averages
Jon Medhurst (6):
configs: Initial core configs
configs: Make CONFIG_MODULES part of linaro-base
Merge branch 'config-core-3.4' into config-core-tracking
configs: Replace CONFIG_PERF_COUNTERS with CONFIG_PERF_EVENTS
configs: android: Enable FB_EARLYSUSPEND
configs: android: Enable CONFIG_INPUT_UINPUT to get aidb working
Jon Medhurst (Tixy) (1):
sched: Use device-tree to provide fast/slow CPU list for HMP
Morten Rasmussen (6):
sched: Add ftrace events for entity load-tracking
sched: entity load-tracking load_avg_ratio
sched: load-tracking driven wakeup migration for HMP platforms
sched: Forced migration of high load task on HMP platforms
sched: Add HMP forced task migration ftrace event
sched: Add missing cpus_allowed checks to HMP scheduler
Paul E. McKenney (2):
rcu: Use smp_hotplug_thread facility for RCUs per-CPU kthread
hotplug: Fix UP bug in smpboot hotplug code
Paul Turner (15):
sched: track the runnable average on a per-task entitiy basis
sched: aggregate load contributed by task entities on parenting cfs_rq
sched: maintain the load contribution of blocked entities
sched: add an rq migration call-back to sched_class
sched: account for blocked load waking back up
sched: aggregate total task_group load
sched: compute load contribution by a group entity
sched: normalize tg load contributions against runnable time
sched: maintain runnable averages across throttled periods
sched: replace update_shares weight distribution with per-entity
computation
sched: refactor update_shares_cpu() -> update_blocked_avgs()
sched: update_cfs_shares at period edge
sched: make __update_entity_runnable_avg() fast
sched: implement usage tracking
sched: introduce temporary FAIR_GROUP_SCHED dependency for
load-tracking
Ricardo Salveti de Araujo (8):
configs: moving previous ubuntu.conf as ubuntu-minimal and creating a
full ubuntu one
configs: ubuntu: be compatible with the enforce script
configs: ubuntu: disabling CODA_FS, seems to be broken atm
configs: ubuntu: disabling CGROUPS as default
Merge branch 'config-core-3.4' into config-core-tracking
configs: ubuntu: updating configs for 3.5
configs: ubuntu: disabling CONFIG_MTD_NAND_NANDSIM=m, breaking build
config: ubuntu: ATH6KL should be platform dependent
Silas Boyd-Wickizer (4):
Use get_online_cpus to avoid races involving CPU hotplug
Use get_online_cpus to avoid races involving CPU hotplug
Use get_online_cpus to avoid races involving CPU hotplug
Use get_online_cpus to avoid races involving CPU hotplug
Thomas Gleixner (6):
rcu: Yield simpler
kthread: Implement park/unpark facility
smpboot: Provide infrastructure for percpu hotplug threads
softirq: Use hotplug thread infrastructure
watchdog: Use hotplug thread infrastructure
infiniband: ehca: Use hotplug thread infrastructure
Vincent Guittot (1):
sched: cpu_power: enable ARCH_POWER
Viresh Kumar (3):
configs: Add config fragments for big LITTLE MP
linaro/configs: Update big LITTLE MP fragment for task placement work
Merge branches 'per-cpu-thread-hotplug-v3-fixed',
'task-placement-v1', 'cpu-hotplug-get_online_cpus-v1',
'arm-asymmetric-support-v3-v3.6-rc1' and 'config-fragments' into
big-LITTLE-MP-v7
arch/arm/Kconfig | 29 +
arch/arm/kernel/topology.c | 69 ++
arch/x86/kernel/cpuid.c | 5 +
arch/x86/kernel/msr.c | 5 +
drivers/hwmon/coretemp.c | 5 +
drivers/hwmon/via-cputemp.c | 5 +
drivers/infiniband/hw/ehca/ehca_irq.c | 253 ++--
drivers/infiniband/hw/ehca/ehca_irq.h | 6 +-
include/linux/kthread.h | 11 +-
include/linux/sched.h | 24 +
include/linux/smpboot.h | 43 +
include/trace/events/sched.h | 151 +++
kernel/Makefile | 3 +-
kernel/cpu.c | 10 +-
kernel/kthread.c | 185 ++-
kernel/rcutree.c | 12 +-
kernel/rcutree.h | 15 +-
kernel/rcutree_plugin.h | 403 ++-----
kernel/rcutree_trace.c | 3 +-
kernel/sched/core.c | 11 +
kernel/sched/debug.c | 39 +-
kernel/sched/fair.c | 1111 ++++++++++++++---
kernel/sched/features.h | 2 +-
kernel/sched/sched.h | 60 +-
kernel/smpboot.c | 233 ++++
kernel/smpboot.h | 4 +
kernel/softirq.c | 108 +-
kernel/watchdog.c | 263 ++--
linaro/configs/android.conf | 33 +
linaro/configs/big-LITTLE-MP.conf | 9 +
linaro/configs/linaro-base.conf | 84 ++
linaro/configs/ubuntu-minimal.conf | 24 +
linaro/configs/ubuntu.conf | 2133
+++++++++++++++++++++++++++++++++
33 files changed, 4355 insertions(+), 996 deletions(-)
create mode 100644 include/linux/smpboot.h
create mode 100644 linaro/configs/android.conf
create mode 100644 linaro/configs/big-LITTLE-MP.conf
create mode 100644 linaro/configs/linaro-base.conf
create mode 100644 linaro/configs/ubuntu-minimal.conf
create mode 100644 linaro/configs/ubuntu.conf
Hello Ming,
could you please give some pointers to observe an overall status of
oprofile support on ARM A9 cores? IIUC, now it doesn't work
without oprofile.timer=1 kernel option, at least for Linus' tree;
searching gives a lot of discussion/patches fragments and similar
stuff, but I was unable to find a complete patch/git tree/whatever
else to try.
Thanks in advance,
Dmitry
hi there,
at HK connect i learned about the ARM energy probe (
http://www.arm.com/about/newsroom/arm-enables-energy-aware-coding-with-the-…).
Since that we ordered some probes, and I was wondering if someone is
working in linaro on enabling power measurements? I would be interested in
DS5 or even command line tools to retrieve information, ideally from
Panda...
thx
Hi -
We've been getting some good mileage from the llct-based tilt-3.4
history tree the last months.
However a couple of points have been raised by TI which really boil down
to being about the deal with llct post-release. We know that it goes on
mutating and tracking as it should, but the release-specific version,
like "linux-linaro-3.4" just sits there afaik.
The points raised were:
1) Can we have linux stable point release content in tilt-3.4? Rather
than my doing it, isn't it better to add it to llc-3.4 and merge it on
the lt history tree periodically? That way every lt can get them from
one place.
2) What's the deal with things that were the latest and greatest at that
time, ie, the best "CMA" or whatever series was in tracking, but after
it got copied out to be linux-linaro-core-3.4, horrible bugs were fixed
in linux-linaro-tracking? What's happening is that TI are sticking with
these releases for a fair time as the basis for their release to customers.
I can see there's tension between tracking-style fix it for the future,
and backport to old and crusty things, there's also issue of testing,
but there must be some cases where this makes some sense. Again people
looking after the feature tree for llct are best placed to make those
calls about, "hm, that looks like it should maybe also go on the last
couple of llc release trees".
What do you think about this?
-Andy
--
Andy Green | TI Landing Team Leader
Linaro.org │ Open source software for ARM SoCs | Follow Linaro
http://facebook.com/pages/Linaro/155974581091106 -
http://twitter.com/#!/linaroorg - http://linaro.org/linaro-blog
This patchset creates an arch_scale_freq_power function for ARM, which is used
to set the relative capacity of each core of a big.LITTLE system. It also removes
the broken power estimation of x86.
Modification since v3:
- Add comments
- Add optimization for SMP system
- Ensure that capacity of a CPU will be at most 1
Modification since v2:
- set_power_scale function becomes static
- Rework loop in update_siblings_masks
- Remove useless code in parse_dt_topology
Modification since v1:
- Add and update explanation about the use of the table and the range of the value
- Remove the use of NR_CPUS and use nr_cpu_ids instead
- Remove broken power estimation of x86
Peter Zijlstra (1):
sched, x86: Remove broken power estimation
Vincent Guittot (4):
ARM: topology: Add arch_scale_freq_power function
ARM: topology: factorize the update of sibling masks
ARM: topology: Update cpu_power according to DT information
sched: cpu_power: enable ARCH_POWER
arch/arm/kernel/topology.c | 239 ++++++++++++++++++++++++++++++++++++++----
arch/x86/kernel/cpu/Makefile | 2 +-
arch/x86/kernel/cpu/sched.c | 55 ----------
kernel/sched/features.h | 2 +-
4 files changed, 219 insertions(+), 79 deletions(-)
delete mode 100644 arch/x86/kernel/cpu/sched.c
--
1.7.9.5
Since commit 46bcfad7a819bd17ac4e831b04405152d59784ab,
cpuidle: Single/Global registration of idle states
we have a single registration for the cpuidle states which makes
sense. But now two new architectures are coming: tegra3 and big.LITTLE.
These architectures have different cpus with different caracteristics
for power saving. High load => powerfull processors, idle => small processors.
That implies different cpu latencies.
This patchset present a simple way to keep the current behavior as introduced
by Deepthi without breaking the drivers and add the possibility to specify a
per cpu states.
Daniel Lezcano (5):
acpi : move the acpi_idle_driver variable declaration
acpi : move cpuidle_device field out of the acpi_processor_power
structure
cpuidle : add a pointer for cpuidle_state in the cpuidle_device
cpuidle : use per cpuidle device cpu states
cpuidle : add cpuidle_register_states function
drivers/acpi/processor_driver.c | 2 +-
drivers/acpi/processor_idle.c | 25 ++++++++++++++++++-------
drivers/cpuidle/cpuidle.c | 24 +++++++++++++++++++++---
drivers/cpuidle/governors/ladder.c | 18 +++++++++---------
drivers/cpuidle/governors/menu.c | 8 ++++----
drivers/cpuidle/sysfs.c | 3 +--
include/acpi/processor.h | 3 ---
include/linux/cpuidle.h | 11 ++++++++---
8 files changed, 62 insertions(+), 32 deletions(-)
--
1.7.5.4