Port Genode(13.05) to exynos4412 with Fiasco.oc(R67)

Reinier Millo Sánchez rmillo at ...210...
Fri Jun 5 04:16:10 CEST 2015


Hi Sunyu

Thanks for your answer. We have tested your patch and it works. We have 
reduced a bit your patch. This is our patch:

    diff --git a/src/kernel/fiasco/src/drivers/arm/processor-arm.cpp
    b/src/kernel/fiasco/src/drivers/arm/processor-arm.cpp
    index d9102c4..8ee9101 100644
    --- a/src/kernel/fiasco/src/drivers/arm/processor-arm.cpp
    +++ b/src/kernel/fiasco/src/drivers/arm/processor-arm.cpp
    @@ -32,7 +32,7 @@ public:
        static Cpu_phys_id cpu_id();
      };

    -INTERFACE[arm && !arm_em_tz]:
    +INTERFACE[arm && !arm_em_tz && !arm_em_ns]:

      EXTENSION class Proc
      {
    @@ -62,6 +62,22 @@ public:
          };
      };

    +INTERFACE[arm && arm_em_ns]:
    +
    +EXTENSION class Proc
    +{
    +public:
    +  enum : unsigned
    +    {
    +      Cli_mask                = Status_IRQ_disabled,
    +      Sti_mask                = Status_IRQ_disabled,
    +      Status_preempt_disabled = Status_IRQ_disabled,
    +      Status_interrupts_mask  = Status_IRQ_disabled,
    +      Status_always_mask      = 0x10 | Status_FIQ_disabled,
    +    };
    +};
    +
    +
      INTERFACE[arm && !hyp]:

      EXTENSION class Proc

Your patch runs without TrustZone and TrustZone Normal Side. Our patch 
only works on TrustZone Normal Side.
When TrustZone is enabled the IRQ are used in Normal Side and the FIQ 
are used in Secure Side. That is the reason because we adapt your patch 
to be used only on TrustZone Normal Side. We are interested to use IRQ 
and FIQ when not using TrustZone.
We are trying to use Fiasco.OC without TrustZone, but using both 
interrupts, the IRQ and FIQ. We are thinking that the problem may be in 
the GIC or the TrustZone configuration.
We have tested both patchs using Fiasco.OC(r67) with GenodeOS, and 
run/printf works fine. There is the serial output:

    Exynos4412 # bootm 0x41000000
    Boot with zImage
    Starting kernel ...

    L4 Bootstrapper
       Build: #2 Thu Jun  4 10:16:41 EDT 2015, 4.9.2
       Scanning up to 2048 MB RAM, starting at offset 32MB
       Memory size is 2048MB (40000000 - bfffffff)
       Limiting 'RAM' region   [ 40000000,  bfffffff] { 80000000} to [
    40000000,  bcffffff] { 7d000000} due to 3024 MB address limit
       RAM: 0000000040000000 - 00000000bcffffff: 2048000kB
       Total RAM: 2000MB
       Scanning
    /home/alexy/workOS/genode/genodeos/geno-issue-48u/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
       Scanning sigma0
       Scanning genode/core
       Moving up to 6 modules behind 41100000
       moving module 02 { 4111e000-41191e0b } -> { 4120e000-41281e0b }
    [474636]
       moving module 01 { 4110c000-4111d367 } -> { 411fc000-4120d367 }
    [70504]
       moving module 00 { 4109f000-4110b0ab } -> { 4118f000-411fb0ab }
    [442540]
       moving module 05 { 41062000-4109e513 } -> { 41152000-4118e513 }
    [247060]
       moving module 04 { 41011000-41061c2f } -> { 41101000-41151c2f }
    [330800]
       moving module 03 { 41010000-4101010f } -> { 41100000-4110010f } [272]
       Loading no-issue-48u/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
       Loading sigma0
       Loading genode/core
       find kernel info page...
       found kernel info page at 0x40002000
    Regions of list 'regions'
         [ 40000000,  40000167] {      168} Root   mbi_rt
         [ 40001000,  40001a7f] {      a80} Kern
    no-issue-48u/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
         [ 40002000,  4007afff] {    79000} Kern
    no-issue-48u/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
         [ 40090000,  4009629f] {     62a0} Sigma0 sigma0
         [ 400a0000,  400a6177] {     6178} Sigma0 sigma0
         [ 41000000,  4100f51f] {     f520} Boot   bootstrap
         [ 41100000,  4118efff] {    8f000} Root   Module
         [ 80100000,  80245c73] {   145c74} Root   genode/core
       API Version: (87) experimental
       Sigma0 config    ip:40090100 sp:00000000
       Roottask config  ip:80100000 sp:00000000
       Starting kernel
    no-issue-48u/build/foc_odroid-x2/kernel/fiasco.oc/fiasco at 40001258
    Hello from Startup::stage2
    Per_cpu_data_alloc: (orig: 0xf0068d50-0xf00697d0)
    Number of IRQs available at this GIC: 160
    FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard,
    p: dbl/sngl
    L2: ID=4100c4c8 Type=1a340340 Aux=7e470001 WMask=ffff S=0
    L2: Type L2C-310 Size = 1024kB  Ways=16 Waysize=64
    Watchdog initialized
    SERIAL ESC: allocated IRQ 85 for serial uart
    Not using serial hack in slow timer handler.
    \0x1b[1;32mWelcome to Fiasco.OC (arm)!
    \0x1b[0;32mL4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden
    Rev: 7aa62e3-dirty compiled with gcc 4.9.2 for Samsung Exynos []
    Build: #3 Thu Jun  4 10:16:23 EDT 2015
    \0x1b[0m
    Per_cpu_data_alloc: (orig: 0xf0068d50-0xf00697d0)
    Allocate 2688 bytes (3KB) for CPU[4] local storage (offset=11872b0,
    0xf11f0000-0xf11f0a80)
    Timer for CPU0 is at IRQ 28
    Number of CPUs: 4
    Calibrating timer loop... Per_cpu_data_alloc: (orig:
    0xf0068d50-0xf00697d0)
    done.
    Allocate 2688 bytes (3KB) for CPU[1] local storage (offset=11892b0,
    0xf11f2000-0xf11f2a80)
    MDB: use page size: 20
    FPU1: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard,
    p: dbl/sngl
    MDB: use page size: 12
    Timer for CPU1 is at IRQ 28
    Per_cpu_data_alloc: (orig: 0xf0068d50-0xf00697d0)
    SAllocate 2688 bytes (3KB) for CPU[2] local storage (offset=11682b0,
    0xf11d1000-0xf11d1a80)
    ICache config: ON
    GID_PFR[01]:  00001231 00000011M ID_[DA]FR0: 00010444 00000000
    AID_MMFR[04]: 00100103 20000000 01230000 00102111
    0FPU2: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard,
    p: dbl/sngl
    :CPU[1]: goes to idle loop
      Timer for CPU2 is at IRQ 28
    HCache config: ON
    eID_PFR[01]:  00001231 00000011l ID_[DA]FR0: 00010444 00000000
    lID_MMFR[04]: 00100103 20000000 01230000 00102111
    Per_cpu_data_alloc: (orig: 0xf0068d50-0xf00697d0)
    CPU[2]: goes to idle loop
    oAllocate 2688 bytes (3KB) for CPU[3] local storage (offset=116b2b0,
    0xf11d4000-0xf11d4a80)
    !FPU3: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard,
    p: dbl/sngl

    Timer for CPU3 is at IRQ 28
      Cache config: ON
      ID_PFR[01]:  00001231 00000011K ID_[DA]FR0: 00010444 00000000
    IID_MMFR[04]: 00100103 20000000 01230000 00102111
    PCPU[3]: goes to idle loop
      @ 40002000
       allocated 4KB for maintenance structures
    SIGMA0: Dump of all resource maps
    RAM:------------------------
    [4:40000000;40000fff]
    [0:4007b000;4008ffff]
    [0:40097000;4009ffff]
    [0:400a7000;410fffff]
    [4:41100000;4118efff]
    [0:4118f000;800fffff]
    [4:80100000;80245fff]
    [0:80246000;bbffffff]
    IOMEM:----------------------
    [0:0;3fffffff]
    [0:bd000000;ffffffff]

    KIP @ 40002000
         magic: 4be6344c
       version: 87024444
              sigma0  esp: 00000000  eip: 40090100
              sigma1  esp: 00000000  eip: 00000000
                root  esp: 00000000  eip: 80100000
    MBI @ 40000000
      mod[3] [41100000,41100110) config
      mod[4] [41101000,41151c30) init
      mod[5] [41152000,4118e514) test-printf
    :ram_alloc: Allocator 80235ed8 dump:
      Block: [4007b000,40090000) size=00015000 avail=00015000
    max_avail=00015000
      Block: [40097000,4009701c) size=0000001c avail=00000000
    max_avail=00015000
      Block: [4009701c,40097038) size=0000001c avail=00000000
    max_avail=00000000
      Block: [40097038,400a0000) size=00008fc8 avail=00008fc8
    max_avail=00008fc8
      Block: [400a7000,400a701c) size=0000001c avail=00000000
    max_avail=3ef71000
      Block: [400a701c,400a7038) size=0000001c avail=00000000
    max_avail=00000000
      Block: [400a7038,41100000) size=01058fc8 avail=01058fc8
    max_avail=01058fc8
      Block: [4118f000,80100000) size=3ef71000 avail=3ef71000
    max_avail=3ef71000
      Block: [80246000,bc000000) size=3bdba000 avail=3bdba000
    max_avail=3bdba000
      => mem_size=2077892608 (1981 MB) / mem_avail=2077892496 (1981 MB)
    :region_alloc: Allocator 80237048 dump:
      Block: [00001000,20000000) size=1ffff000 avail=1ffff000
    max_avail=1ffff000
      Block: [30000000,40000000) size=10000000 avail=10000000
    max_avail=1ffff000
      Block: [40001000,40002000) size=00001000 avail=00001000
    max_avail=1ffff000
      Block: [40003000,4007b000) size=00078000 avail=00078000
    max_avail=00078000
      Block: [40090000,40097000) size=00007000 avail=00007000
    max_avail=1ffff000
      Block: [400a0000,400a7000) size=00007000 avail=00007000
    max_avail=03ff0000
      Block: [bc000000,bfff0000) size=03ff0000 avail=03ff0000
    max_avail=03ff0000
      => mem_size=872898560 (832 MB) / mem_avail=872898560 (832 MB)
    :io_mem: Allocator 80236334 dump:
      Block: [00000000,40000000) size=40000000 avail=40000000
    max_avail=40000000
      Block: [40001000,40002000) size=00001000 avail=00001000
    max_avail=40000000
      Block: [40003000,4007b000) size=00078000 avail=00078000
    max_avail=00078000
      Block: [40090000,40097000) size=00007000 avail=00007000
    max_avail=00078000
      Block: [400a0000,400a7000) size=00007000 avail=00007000
    max_avail=43ffffff
      Block: [bc000000,ffffffff) size=43ffffff avail=43ffffff
    max_avail=43ffffff
      => mem_size=2215145471 (2112 MB) / mem_avail=2215145471 (2112 MB)
    :io_port: Allocator 80236790 dump:
    :irq: Allocator 80236bec dump:
      Block: [00000000,00000260) size=00000260 avail=00000260
    max_avail=00000260
      => mem_size=608 (0 MB) / mem_avail=608 (0 MB)
    :rom_fs: Rom_fs 802378fc dump:
      Rom: [41101000,41151c30) init
      Rom: [41100000,41100110) config
      Rom: [40002000,40003000) l4v2_kip
      Rom: [40002000,40003000) kip
      Rom: [41152000,4118e514) test-printf
    :core ranges: Allocator 8023987c dump:
      Block: [4007b000,40090000) size=00015000 avail=00015000
    max_avail=00015000
      Block: [40097000,400a0000) size=00009000 avail=00009000
    max_avail=7bf59000
      Block: [400a7000,bc000000) size=7bf59000 avail=7bf59000
    max_avail=7bf59000
      => mem_size=2079813632 (1983 MB) / mem_avail=2079813632 (1983 MB)
    \0x1b[32mGenode 15.05-40-gae2eab6\0x1b[0m
    int main(): \0x1b[33m--- create local services ---\0x1b[0m
    int main(): \0x1b[33m--- start init ---\0x1b[0m
    int main(): \0x1b[33mtransferred 1981 MB to init\0x1b[0m
    int main(): \0x1b[33m--- init created, waiting for exit condition
    ---\0x1b[0m
    init] \0x1b[31mCould not open ROM session for module "ld.lib.so"\0x1b[0m
    init -> test-printf] -1 = -1 = -1
    [init] virtual void Genode::Child_policy::exit(int): \0x1b[33mchild
    "test-printf" exited with exit value 0\0x1b[0m

To support Fiasco.OC on Genode we use a patch from Stefan Kalkowski:

    diff --git a/repos/base-foc/lib/mk/l4re_support.mk
    b/repos/base-foc/lib/mk/l4re_support.mk
    index 8058093..108ec4a 100644
    --- a/repos/base-foc/lib/mk/l4re_support.mk
    +++ b/repos/base-foc/lib/mk/l4re_support.mk
    @@ -6,7 +6,7 @@
      ifeq ($(called_from_lib_mk),yes)

      # packages in 'l4/pkg/'
    -PKGS = uclibc-headers uclibc-minimal l4util cxx
    +PKGS = crtn uclibc-headers l4util cxx uclibc-minimal libstdc++-headers

      include $(REP_DIR)/mk/l4_pkg.mk
      all: $(PKG_TAGS)

And this is our patch to support the compilation of Fiasco.OC+Genode for 
Odroid-X2. The patch is not completed, but allows to run the printf 
example. We are based on the Arndale Exynos5 to support the Odroid-X2. 
There are some source code that is specific for the Exynos5 that we must 
change.

Best regards

On 06/04/2015 12:44 AM, sunyu wrote:
> Hi,
> I have  run 
> Fiasco.oc(http://svn.tudos.org/repos/oc/tudos/trunk/l4/,http://os.inf.tu-dresden.de/download/snapshots-oc/)on 
> Exynos4412 sucessfully,but i'm not sure what difference between it and 
> the fork of Fiasco.OC by Genode.There is the serial output:
>
> ------------------------------------------------------------------------------ 
>
> downloading of 935936 bytes finished
> Kernel size: 000e4000
> Ramdisk size: 00000000
> Booting raw image..
> Boot with zImage
> Wrong Ramdisk Image Format
> [err] boot_get_ramdisk
>
> Starting kernel ...
>
>
> L4 Bootstrapper
>   Build: #2 2015��年 06��月 04��日 ��星��期�11:08:19 CST, 4.7.3
>   Scanning up to 1024 MB RAM, starting at offset 32MB
>   Memory size is 1024MB (40000000 - 7fffffff)
>   RAM: 0000000040000000 - 000000007fffffff: 1048576kB
>   Total RAM: 1024MB
>   Scanning fiasco
>   Scanning sigma0
>   Scanning moe
>   Moving up to 5 modules behind 41100000
>   moving module 02 { 410b2000-410e3623 } -> { 411a2000-411d3623 } [202276]
>   moving module 01 { 410a8000-410b133b } -> { 41198000-411a133b } [37692]
>   moving module 00 { 41044000-410a706b } -> { 41134000-4119706b } [405612]
>   moving module 04 { 4102a000-4104357b } -> { 4111a000-4113357b } [103804]
>   moving module 03 { 41010000-41029457 } -> { 41100000-41119457 } [103512]
>   Loading fiasco
>   Loading sigma0
>   Loading moe
>   find kernel info page...
>   found kernel info page at 0x40002000
> Regions of list 'regions'
>     [ 40000000,  400000e3] {       e4} Root   mbi_rt
>     [ 40001000,  40001b7f] {      b80} Kern   fiasco
>     [ 40002000,  40072fff] {    71000} Kern   fiasco
>     [ 40090000,  400968fb] {     68fc} Sigma0 sigma0
>     [ 40098000,  4009e177] {     6178} Sigma0 sigma0
>     [ 40140000,  4016e6b3] {    2e6b4} Root   moe
>     [ 40170000,  40186f13] {    16f14} Root   moe
>     [ 41000000,  4100f4ff] {     f500} Boot   bootstrap
>     [ 41100000,  41133fff] {    34000} Root   Module
>   API Version: (87) experimental
>   Sigma0 config    ip:40090100 sp:00000000
>   Roottask config  ip:40140260 sp:00000000
>   Starting kernel fiasco at 40001360
> Hello from Startup::stage2
> Per_cpu_data_alloc: (orig: 0xf005fd10-0xf0060790)
> Number of IRQs available at this GIC: 160
> FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard, p: 
> dbl/sngl
> Watchdog initialized
> SERIAL ESC: allocated IRQ 85 for serial uart
> Not using serial hack in slow timer handler.
> Welcome to Fiasco.OC (arm)!
> L4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden
> Rev: unknown compiled with gcc 4.7.3 for Samsung Exynos    []
> Build: #1 Thu Jun  4 10:54:54 CST 2015
>
> Per_cpu_data_alloc: (orig: 0xf005fd10-0xf0060790)
>
> KERNEL: Warning: Buddy::alloc: Size mismatch: a80 v 1000
> Allocate 2688 bytes (3KB) for CPU[4] local storage (offset=118a2f0, 
> 0xf11ea000-0xf)
> Timer for CPU0 is at IRQ 28
> Number of CPUs: 4
> 11===========interupts=1
> Calibrating timer loop... 22===========interupts=1
> done.
> MDB: use page size: 20
> MDB: use page size: 12
> SIGMA0: Hello!
>   KIP @ 40002000
>   allocated 4KB for maintenance structures
> SIGMA0: Dump of all resource maps
> RAM:------------------------
> [4:40000000;40000fff]
> [0:40073000;4008ffff]
> [0:40097000;40097fff]
> [0:4009f000;4013ffff]
> [4:40140000;4016efff]
> [0:4016f000;4016ffff]
> [4:40170000;40186fff]
> [0:40187000;410fffff]
> [4:41100000;41133fff]
> [0:41134000;7effffff]
> IOMEM:----------------------
> [0:0;3fffffff]
> [0:80000000;ffffffff]
> MOE: Hello world
> MOE: found 1031188 KByte free memory
> MOE: found RAM from 40000000 to 7f000000
> MOE: allocated 1008 KByte for the page array @0x40187000
> MOE: virtual user address space [0-bfffffff]
> MOE: rom name space cap -> [C:501000]
>   BOOTFS: [41100000-41119458] [C:503000] l4re
>   BOOTFS: [4111a000-4113357c] [C:504000] hello
> MOE: cmdline: moe --init=rom/hello
> MOE: Starting: rom/hello
> MOE: loading 'rom/hello'
> Hello World!
> Hello World!
> Hello World!
> ------------------------------------------------------------------------------------------
>
> I have modified the Fiasco.oc&L4re,all the modifications are as two 
> 'diff' files shown,and two configuration files are attached.
>
> P.S
>     I have tested the modified Fiasco.oc in Genode(15.05) by replacing 
> files(Genode/contrib/.../kernel/fiasco,configuration),but there is a 
> problem during execution(different from yours),is it caused by wrong 
> configuration?
> There is the output:
> ------------------------------------------------------------------------------------------
> Starting kernel ...
>
> Hello from Startup::stage2
> Per_cpu_data_alloc: (orig: 0xf006b628-0xf006bfe8)
> Number of IRQs available at this GIC: 160
> Cache config: ON
> ID_PFR[01]:  00001231 00000011 ID_[DA]FR0: 00010444 00000000
> ID_MMFR[04]: 00100103 20000000 01230000 00102111
> FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard, p: 
> dbl/sngl
> Watchdog initialized
> SERIAL ESC: allocated IRQ 305 for serial uart
> Not using serial hack in slow timer handler.
> Welcome to Fiasco.OC (arm)!
> L4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden
> Rev: rUnversioned director compiled with gcc 4.9.2 for Samsung 
> Exynos    []
> Build: #1 2015��年 06��月 02��日 ��星��期��二 13:19:19 CST
>
> Per_cpu_data_alloc: (orig: 0xf006b628-0xf006bfe8)
>
> KERNEL: Warning: Buddy::alloc: Size mismatch: 9c0 v 1000
> Allocate 2496 bytes (2KB) for CPU[4] local storage (offset=117b9d8, 
> 0xf11e7000-0xf)
> Timer for CPU0 is at IRQ 28
> Number of CPUs: 4
>
> KERNEL: Warning: No page-fault handler for 0xee620004, error 0x400808, 
> pc f0040700
>
> Best regards
> Sunyu
>
>
>
>
>
>
> On 2015年06月04日 04:28, Reinier Millo Sánchez wrote:
>> Hi Sunyu
>>
>> We are using GenodeOS(15.05) with Fiasco.OC r67 
>> (http://github.com/skalk/foc.git). We have made all configuration and 
>> passed the compilation (printf.run) too. To get the raw image we have 
>> used genode-arm-obj-copy.
>> In our case the Fiasco.OC don't starts successfully, the execution 
>> stops at 'Calibrating loop time...'. We have also tested it on the 
>> Fiasco.OC snapshot and got the same problem. There is the serial 
>> output using Genode:
>>
>>     Boot with zImage
>>     Starting kernel ...
>>     L4 Bootstrapper
>>       Build: #2 Mon Jun  1 13:06:39 EDT 2015, 4.7.4
>>       Scanning up to 2047 MB RAM
>>       Memory size is 2047MB (40000000 - bfefffff)
>>       RAM: 0000000040000000 - 00000000bfefffff: 2096128kB
>>       Total RAM: 2047MB
>>       mod05: 41153000-4118b960: genode/test-printf
>>       mod04: 41104000-41152908: genode/init
>>       mod03: 41103000-41103110: genode/config
>>       mod02: 41089000-411021c8: genode/core
>>       mod01: 4107f000-41088374: sigma0
>>       mod00: 41015000-4107e8ac:
>>     /home/alexy/workOS/genodeos/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
>>       Moving up to 6 modules behind 41100000
>>       moving module 00 { 41015000-4107e8ab } -> { 41277000-412e08ab }
>>     [432300]
>>       moving module 01 { 4107f000-41088373 } -> { 412e1000-412ea373 }
>>     [37748]
>>       moving module 02 { 41089000-411021c7 } -> { 412eb000-413641c7 }
>>     [496072]
>>       moving module 03 { 41103000-4110310f } -> { 41100000-4110010f }
>>     [272]
>>       moving module 04 { 41104000-41152907 } -> { 41101000-4114f907 }
>>     [321800]
>>       moving module 05 { 41153000-4118b95f } -> { 41150000-4118895f }
>>     [231776]
>>       Scanning
>>     /home/alexy/workOS/genodeos/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
>>     -serial_esc
>>       Scanning sigma0
>>       Scanning genode/core
>>       Relocated mbi to [0x4100e000-0x4100e14d]
>>       Loading kOS/genodeos/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
>>       Loading sigma0
>>       Loading genode/core
>>       find kernel info page...
>>       found kernel info page at 0x40002000
>>     Regions of list 'regions'
>>         [ 40001000,  40001bff] {      c00} Kern
>>     kOS/genodeos/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
>>         [ 40002000,  40076fff] {    75000} Kern
>>     kOS/genodeos/build/foc_odroid-x2/kernel/fiasco.oc/fiasco
>>         [ 400a0000,  400a673b] {     673c} Sigma0 sigma0
>>         [ 400a8000,  400ae17b] {     617c} Sigma0 sigma0
>>         [ 41000000,  410143f7] {    143f8} Boot   bootstrap
>>         [ 4100e000,  4100e24a] {      24b} Root   Multiboot info
>>         [ 41100000,  4118895f] {    88960} Root   Module
>>         [ 80100000,  8025271f] {   152720} Root   genode/core
>>       API Version: (87) experimental
>>       Sigma0 config    ip:400a0100 sp:41013de4
>>       Roottask config  ip:80100000 sp:00000000
>>       Starting kernel
>>     kOS/genodeos/build/foc_odroid-x2/kernel/fiasco.oc/fiasco at 400013c0
>>     Hello from Startup::stage2
>>     Per_cpu_data_alloc: (orig: 0xf0066658-0xf00670a8)
>>     Number of IRQs available at this GIC: 160
>>     Cache config: ON
>>     ID_PFR[01]:  00001231 00000011 ID_[DA]FR0: 00010444 00000000
>>     ID_MMFR[04]: 00100103 20000000 01230000 00102111
>>     FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t:
>>     hard, p: dbl/sngl
>>     L2: ID=4100c4c8 Type=1a340340 Aux=7e470001 WMask=ffff S=0
>>     L2: Type L2C-310 Size = 1024kB
>>     Watchdog initialized
>>     SERIAL ESC: allocated IRQ 85 for serial uart
>>     Not using serial hack in slow timer handler.
>>     Welcome to Fiasco.OC (arm)!
>>     L4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden
>>     Rev: 95b378f compiled with gcc 4.7.4 for Samsung Exynos    []
>>     Build: #1 Mon Jun  1 13:06:23 EDT 2015
>>     
>>     Per_cpu_data_alloc: (orig: 0xf0066658-0xf00670a8)
>>     Allocate 2640 bytes (3KB) for CPU[4] local storage
>>     (offset=117f9a8, 0xf11e6000-0xf11e6a50)
>>     Timer for CPU0 is at IRQ 28
>>     Number of CPUs: 4
>>     Calibrating timer loop... Per_cpu_data_alloc: (orig:
>>     0xf0066658-0xf00670a8)
>>     Allocate 2640 bytes (3KB) for CPU[1] local storage
>>     (offset=11809a8, 0xf11e7000-0xf11e7a50)
>>     Cache config: ON
>>     ID_PFR[01]:  00001231 00000011 ID_[DA]FR0: 00010444 00000000
>>     ID_MMFR[04]: 00100103 20000000 01230000 00102111
>>     FPU1: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t:
>>     hard, p: dbl/sngl
>>     Per_cpu_data_alloc: (orig: 0xf0066658-0xf00670a8)
>>     Timer for CPU1 is at IRQ 28
>>     Allocate 2640 bytes (3KB) for CPU[2] local storage
>>     (offset=118c9a8, 0xf11f3000-0xf11f3a50)
>>     CPU[1]: goes to idle loop
>>     Cache config: ON
>>     ID_PFR[01]:  00001231 00000011 ID_[DA]FR0: 00010444 00000000
>>     ID_MMFR[04]: 00100103 20000000 01230000 00102111
>>     FPU2: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t:
>>     hard, p: dbl/sngl
>>     Per_cpu_data_alloc: (orig: 0xf0066658-0xf00670a8)
>>     Timer for CPU2 is at IRQ 28
>>     Allocate 2640 bytes (3KB) for CPU[3] local storage
>>     (offset=118f9a8, 0xf11f6000-0xf11f6a50)
>>     CPU[2]: goes to idle loop
>>     Cache config: ON
>>     ID_PFR[01]:  00001231 00000011 ID_[DA]FR0: 00010444 00000000
>>     ID_MMFR[04]: 00100103 20000000 01230000 00102111
>>     FPU3: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t:
>>     hard, p: dbl/sngl
>>     Timer for CPU3 is at IRQ 28
>>     CPU[3]: goes to idle loop
>>     \00\FF\00OK
>>
>> I have attached the configuration that we are using to compile the 
>> Fiasco.OC + L4re with Genode. Can you share the configuration that 
>> have used to compile Fiasco.OC? and what repository are you using?
>>
>> Best regards
>>
>> On 05/30/2015 02:57 AM, 四枚羽根 wrote:
>>> Hi,
>>> We have alreadly got fiasco.oc(R67) running on the Exynos4412 
>>> successfully,
>>> and tested Genode(13.05) on pandaboard.So i am trying to test 
>>> Genode(13.05)
>>> with fiasco.oc(R67) on Exynos4412.
>>> Have made all the configuration and passed the 
>>> compilation(printf.run),i get a 'image.elf' and then change it to 
>>> 'image.raw'.
>>> The Fiasco.oc starts successfully during the execution of image.raw 
>>> on Exynos4412,but end with the error,i know it is about protection 
>>> domain.
>>> Do you have any idea about the error? Then can you show me the log 
>>> of your Fiasco.oc's boot(on Odroid-X2).
>>>
>>> Thanks and regards
>>> Sunyu
>>>
>>> 发自 Windows 邮件
>>>
>>
>> -- 
>> Lic. Reinier Millo Sánchez
>> Centro de Estudios de Informática
>> Universidad Central "Marta Abreu" de Las Villas
>> Carretera a Camajuaní Km 5 1/2
>> Santa Clara, Villa Clara, Cuba
>> CP 54830
>>
>> "antes de discutir ... respira;
>>    antes de hablar ... escucha;
>>   antes de escribir ... piensa;
>>    antes de herir ... siente;
>>   antes de rendirte ... intenta;
>>    antes de morir ... vive"
>

-- 
Lic. Reinier Millo Sánchez
Centro de Estudios de Informática
Universidad Central "Marta Abreu" de Las Villas
Carretera a Camajuaní Km 5 1/2
Santa Clara, Villa Clara, Cuba
CP 54830

"antes de discutir ... respira;
   antes de hablar ... escucha;
  antes de escribir ... piensa;
   antes de herir ... siente;
  antes de rendirte ... intenta;
   antes de morir ... vive"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20150604/67e00c8a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: genode.patch
Type: text/x-patch
Size: 35361 bytes
Desc: not available
URL: <http://lists.genode.org/pipermail/users/attachments/20150604/67e00c8a/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rmillo.vcf
Type: text/x-vcard
Size: 517 bytes
Desc: not available
URL: <http://lists.genode.org/pipermail/users/attachments/20150604/67e00c8a/attachment.vcf>


More information about the users mailing list