Regarding full build of Ubuntu ARM with linaro toolchain
Hi, I don’t know I am in right channel to ask this question, if not then please guide me. Currently, I am following https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingXdeb for cross compiling using xdeb. I am using “raring” as a Ubuntu distribution. So using above link, up to the section “Kick a build of grep and build-deps”, everything goes perfectly. But, this shows how to build any single package like grep, libpng, etc.. If I want to build (cross-compile) all the “raring” Ubuntu Distribution package as one shot, how can I do?? Is there any tools available for cross compiling all packages ?? How can I setup auto builder machine?? Please guide me as I am stuck in doing single package one by one. Regards, Gaurang Shastri ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Re: [PATCH V2 Resend 4/4] timer: Migrate running timer
On 24 July 2013 14:47, Viresh Kumar wrote: > On 18 June 2013 10:21, Viresh Kumar wrote: > Hi Thomas, > > Do you still see some light of hope in this patch :) ? Ping!! ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
[PATCH 2/2] arm: time: add globaltimer-based arch_early_time
This uses the generic arch_early_time support added in the pervious patch to define an ARM globaltimer-based implementation that can be configured through CONFIG_. It uses the early time to provide detailed and consistent time information in your logs. For example, what used to look like this [0.00] Booting Linux on physical CPU 0x0 [0.00] Linux version 3.11.0-linaro_fjslt-tracking-bsp2.0.0-rc1+ (agr...@build.warmcat.com) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.02-01-20130221 - Linaro GCC 2013.02) ) #193 SMP PREEMPT Thu Aug 8 09:13:53 CST 2013 [0.00] CPU: ARMv7 Processor [412fc092] revision 2 (ARMv7), cr=50c5387d [0.00] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [0.00] Machine: Fujitsu Semiconductor MB8AC0300-EVB, model: Fujitsu MB8AC0300 Evaluation Board [0.00] early_init_dt_add_memory_arch: 4000 1000 [0.00] cma: CMA: reserved 64 MiB at 4c00 [0.00] Memory policy: ECC disabled, Data cache writealloc [0.00] On node 0 totalpages: 65536 [0.00] Normal zone: 512 pages used for memmap [0.00] Normal zone: 0 pages reserved [0.00] Normal zone: 65536 pages, LIFO batch:15 [0.00] PERCPU: Embedded 7 pages/cpu @804f4000 s7296 r8192 d13184 u32768 [0.00] pcpu-alloc: s7296 r8192 d13184 u32768 alloc=8*4096 [0.00] pcpu-alloc: [0] 0 [0] 1 [0.00] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 [0.00] Kernel command line: loglevel=4 mb8ac0300_ts.adjust_y=-40 console=tty0 console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait [0.00] PID hash table entries: 1024 (order: 0, 4096 bytes) [0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [0.00] Memory: 191100K/262144K available (1734K kernel code, 115K rwdata, 716K rodata, 107K init, 236K bss, 71044K reserved, 0K highmem) [0.00] Virtual kernel memory layout: [0.00] vector : 0x - 0x1000 ( 4 kB) [0.00] fixmap : 0xfff0 - 0xfffe ( 896 kB) [0.00] vmalloc : 0x9080 - 0xff00 (1768 MB) [0.00] lowmem : 0x8000 - 0x9000 ( 256 MB) [0.00] pkmap : 0x7fe0 - 0x8000 ( 2 MB) [0.00] modules : 0x7f80 - 0x7fe0 ( 6 MB) [0.00] .text : 0x80008000 - 0x8026cb28 (2451 kB) [0.00] .init : 0x8026d000 - 0x80287c80 ( 108 kB) [0.00] .data : 0x80288000 - 0x802a4ca0 ( 116 kB) [0.00].bss : 0x802a4ca0 - 0x802dff74 ( 237 kB) [0.00] Preemptible hierarchical RCU implementation. [0.00] Dump stacks of tasks blocking RCU-preempt GP. [0.00] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. [0.00] NR_IRQS:16 nr_irqs:16 16 [0.00] sched_clock: 32 bits at 41MHz, resolution 24ns, wraps every 103727ms [0.00] Console: colour dummy device 80x30 [0.00] console [tty0] enabled [0.000734] Calibrating delay loop... 1318.91 BogoMIPS (lpj=6594560) ... will look like this [0.000418] Booting Linux on physical CPU 0x0 [0.000439] Linux version 3.11.0-linaro_fjslt-tracking-bsp2.0.0-rc1+ (agr...@build.warmcat.com) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.02-01-20130221 - Linaro GCC 2013.02) ) #194 SMP PREEMPT Thu Aug 8 09:16:22 CST 2013 [0.000468] CPU: ARMv7 Processor [412fc092] revision 2 (ARMv7), cr=50c5387d [0.000481] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [0.000504] Machine: Fujitsu Semiconductor MB8AC0300-EVB, model: Fujitsu MB8AC0300 Evaluation Board [0.000664] early_init_dt_add_memory_arch: 4000 1000 [0.000824] cma: CMA: reserved 64 MiB at 4c00 [0.000838] Memory policy: ECC disabled, Data cache writealloc [0.010319] On node 0 totalpages: 65536 [0.010339] Normal zone: 512 pages used for memmap [0.010349] Normal zone: 0 pages reserved [0.010361] Normal zone: 65536 pages, LIFO batch:15 [0.032012] PERCPU: Embedded 7 pages/cpu @804f4000 s7296 r8192 d13184 u32768 [0.032042] pcpu-alloc: s7296 r8192 d13184 u32768 alloc=8*4096 [0.032053] pcpu-alloc: [0] 0 [0] 1 [0.032091] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 [0.032106] Kernel command line: loglevel=4 mb8ac0300_ts.adjust_y=-40 console=tty0 console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait [0.032292] PID hash table entries: 1024 (order: 0, 4096 bytes) [0.032444] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [0.032708] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [0.040695] Memory: 191100K/262144K available (1734K kernel code, 115K rwdata, 716K rodata, 107K init
[PATCH 1/2] scheduler: time: allow arch-specific time offset function
This introduces an optional arch_early_time() which by default doesn't exist and doesn't cause any extra code to be generated. If it is configured and declared though, it can be used in an architecture or platform-specific way to provide time during early boot. After early boot when normal time is available, it can stop counting and just add its offset, so time in the boot is monotonic. Signed-off-by: Andy Green --- include/linux/time.h |6 ++ kernel/sched/clock.c | 12 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/include/linux/time.h b/include/linux/time.h index d5d229b..57dc58e 100644 --- a/include/linux/time.h +++ b/include/linux/time.h @@ -181,6 +181,12 @@ extern s32 timekeeping_get_tai_offset(void); extern void timekeeping_set_tai_offset(s32 tai_offset); extern void timekeeping_clocktai(struct timespec *ts); +#ifdef CONFIG_HAS_ARCH_EARLY_TIME +extern u64 arch_early_time(u64 normal); +#else +#define arch_early_time(_x) ((u64)_x) +#endif + struct tms; extern void do_sys_times(struct tms *); diff --git a/kernel/sched/clock.c b/kernel/sched/clock.c index c3ae144..04b0490 100644 --- a/kernel/sched/clock.c +++ b/kernel/sched/clock.c @@ -245,10 +245,10 @@ u64 sched_clock_cpu(int cpu) WARN_ON_ONCE(!irqs_disabled()); if (sched_clock_stable) - return sched_clock(); + return arch_early_time(sched_clock()); if (unlikely(!sched_clock_running)) - return 0ull; + return arch_early_time(0); scd = cpu_sdc(cpu); @@ -257,7 +257,7 @@ u64 sched_clock_cpu(int cpu) else clock = sched_clock_local(scd); - return clock; + return arch_early_time(clock); } void sched_clock_tick(void) @@ -339,7 +339,7 @@ u64 local_clock(void) unsigned long flags; local_irq_save(flags); - clock = sched_clock_cpu(smp_processor_id()); + clock = arch_early_time(sched_clock_cpu(smp_processor_id())); local_irq_restore(flags); return clock; @@ -355,9 +355,9 @@ void sched_clock_init(void) u64 sched_clock_cpu(int cpu) { if (unlikely(!sched_clock_running)) - return 0; + return arch_early_time(0); - return sched_clock(); + return arch_early_time(sched_clock()); } u64 cpu_clock(int cpu) ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
[PATCH 0/2] RFC: introduce arch_early_time for early boot timestamps
The following patches introduce a debug feature, accurate timestamps on all kernel logs during boot. At the moment until time is set up in the kernel, all logs are timestamped [0.00] giving the impression these early boot activities have no duration. That's far from the case. These patches give accurate, monotonic timestamps from the very first log entry allowing insight into where the time is going during the whole of the boot process. It's a debug feature like DEBUG_LL, it does not cooperate with ARCH_MULTIPLATFORM (it works with such a kernel though) but can only be enabled for a single platform at compile-time. To use it, you need an ARM SoC with a globaltimer, which is very common now. Even if the globaltimer is used by the kernel, we can use it in early boot and stop using it as soon as a normal time source is set up, so there's no conflict. There are more details on how to use it and examples of the results in the second patch. --- Andy Green (2): scheduler: time: allow arch-specific time offset function arm: time: add globaltimer-based arch_early_time arch/arm/Kconfig |4 +++ arch/arm/Kconfig.debug | 35 ++ arch/arm/kernel/head.S | 65 arch/arm/kernel/time.c | 41 ++ include/linux/time.h |6 kernel/sched/clock.c | 12 - 6 files changed, 157 insertions(+), 6 deletions(-) -- ___ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev