Dear linaro members
I want to build arm64 kernel according to the steps of HowTo/BuildArm64Kernel. Then i use Foundatin_v8 with args such as linux-system-foundation.axf,vexpress64-openembedded_lam-armv8_20130320-274.img.
But RTSM terminal_0 cannot display. I tried my best to search for methods to solve it. But i cannot find a correct method to handle with it. I need some help.
I tried to slove it as following:
I have tried 3.7 kernel and used 3.9-rc even. But i cannot built kenel correctly. Because some files such as arm64/boot/dts/vexpress-v2p-aarch64.dts,
vexpress-foundation-v8.dts,vexpress-v2m-rs1.dtsi,skeleton.dtsi and arm64/configs/vexpress_defconfig don’t exist in 3.7 kernel and 3.9-rc even.
So i cannot complete building kernel. Also i cannot use boot wrapper to generate a linux-system-foundation.axf suitable for a Foundation model.
Then I copied the above files from linaro-aarch64-linaro-aarch64-3.6-fdf0f30 to 3.7 kernel and 3.9-rc even.
Though I got linux-system-foundation.axf, i used foundation_v8 with the new linux-system-foundation.axf and rootfs.img and RTSM terminal_0 cannot display. I don’t know which step I made mistake.
So i need to ask for help to know how to build arm64 kernel of 3.7 kernel and 3.9-rc even and generate a linux-system-foundation.axf which can run on Foundation model.
For example, i should how to write configuration files such as vexpress_defconfig,vexpress-foundation-v8.dts,vexpress-v2p-aarch64.dts and so on.
These files such as vexpress-foundation-v8.dts,vexpress-v2p-aarch64.dts are used to do what? Why RTSM terminal_0 cannot display?
Thanks
Xiaoke Wu
Whats the advantage of working down stream instead, why not just work with
the main line upstream and they commit their changes directly to upstream
instead of having a linaro tree so to speak.
--
Jonathan Aquilina
I am attaching a patch by Thomas Gleixner which adds a kernel
command line parameter to set the defauilt IRQ affinity mask. Could
you please integrate this in your tree for the next Linaro release?
I've been using this patch for sometime now and it doesn't introduce
any regressions. There is a possibility that this patch will make it
upstream via the RT patches in the near future but in the meanwhile,
we'd like to carry this patch as well.
Cheers,
Punit
>From 52a7d44f58a262e166575abc57aa0bd3bfc8cfbb Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx(a)linutronix.de>
Date: Fri, 25 May 2012 16:59:47 +0200
Subject: [PATCH] genirq: Add default affinity mask command line option
If we isolate CPUs, then we don't want random device interrupts on
them. Even w/o the user space irq balancer enabled we can end up with
irqs on non boot cpus.
Allow to restrict the default irq affinity mask.
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
---
Documentation/kernel-parameters.txt | 9 +++++++++
kernel/irq/irqdesc.c | 21 +++++++++++++++++++--
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 7d82468..00fedab 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1164,6 +1164,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
See comment before ip2_setup() in
drivers/char/ip2/ip2base.c.
+ irqaffinity= [SMP] Set the default irq affinity mask
+ Format:
+ <cpu number>,...,<cpu number>
+ or
+ <cpu number>-<cpu number>
+ (must be a positive range in ascending order)
+ or a mixture
+ <cpu number>,...,<cpu number>-<cpu number>
+
irqfixup [HW]
When an interrupt is not handled search all handlers
for it. Intended to get systems with badly broken
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 192a302..473b2b6 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -23,10 +23,27 @@
static struct lock_class_key irq_desc_lock_class;
#if defined(CONFIG_SMP)
+static int __init irq_affinity_setup(char *str)
+{
+ zalloc_cpumask_var(&irq_default_affinity, GFP_NOWAIT);
+ cpulist_parse(str, irq_default_affinity);
+ /*
+ * Set at least the boot cpu. We don't want to end up with
+ * bugreports caused by random comandline masks
+ */
+ cpumask_set_cpu(smp_processor_id(), irq_default_affinity);
+ return 1;
+}
+__setup("irqaffinity=", irq_affinity_setup);
+
static void __init init_irq_default_affinity(void)
{
- alloc_cpumask_var(&irq_default_affinity, GFP_NOWAIT);
- cpumask_setall(irq_default_affinity);
+#ifdef CONFIG_CPUMASK_OFFSTACK
+ if (!irq_default_affinity)
+ zalloc_cpumask_var(&irq_default_affinity, GFP_NOWAIT);
+#endif
+ if (cpumask_empty(irq_default_affinity))
+ cpumask_setall(irq_default_affinity);
}
#else
static void __init init_irq_default_affinity(void)
--
1.7.9.5
I'm delighted to announce that the Linaro Technical Steering Committee
has approved the release of the big.LITTLE in-kernel switcher (IKS) code
to the public.
So here it is:
Branch big.LITTLE-IKS-snapshot of
git://git.linaro.org/landing-teams/working/arm/kernel.git
Although this is a snapshot of our latest IKS code, it still needs some
minor tidying before it is submitted upstream. So please consider the
above as a temporary branch for people to look and play with, and not a
branch that we'll keep stable and maintain.
This code was also developed for and tested on the VExpress TC2
development platform. An MCPM backend and possibly a special cpufreq
clock driver are required for this code to be usable on other platforms.
The switcher concept is discussed here:
http://lwn.net/Articles/481055/
Porting documentation is available here:
https://wiki.linaro.org/projects/big.LITTLE.MP/Big.Little.Switcher/Docs/por…
The switcher code description is available here (slightly out of date):
https://wiki.linaro.org/projects/big.LITTLE.MP/Big.Little.Switcher/Docs/in-…
And a review of the MCPM layer upon which IKS and HMP rely:
http://lwn.net/Articles/539082/
The core MCPM patches are queued for inclusion into the v3.10 mainline
kernel. The MCPM backend for TC2 and the IKS patches will tentatively
be submitted for v3.11.
Nicolas