Regarding full build of Ubuntu ARM with linaro toolchain

2013-08-07 Thread Gaurang Shastri
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

2013-08-07 Thread Viresh Kumar
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

2013-08-07 Thread Andy Green
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

2013-08-07 Thread Andy Green
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

2013-08-07 Thread Andy Green
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