Menu

two_linux_panda can't work rightly on pandaboard EX‏

Zachary
2015-01-10
2015-01-27
  • Zachary

    Zachary - 2015-01-10

    Hi everyone,

    I got a two_linux_panda.img.gz from " https://github.com/downloads/nfeske/genode/two_linux_panda.img.gz ", but it can’t work on my pandaboard EX omap4460.

    Is this image unsuitable for pandaboard EX omap4460?

    This is the log of the image:


    [init -> vmlinux.2] Booting L4Linux ...
    [init -> vmlinux.2] ======> L4Linux 2.6 starting... <========
    [init -> vmlinux.2] Linux version 3.0.0-l4-svn23 (no@furnace) (gcc version 4.6.2
    [init -> vmlinux.2] Binary name: vmlinux
    [init -> vmlinux.2] This is an AEABI build.
    [init -> vmlinux.2] Linux kernel command line (2 args): mem=54M l4x_rd=initrd.gz
    [init -> vmlinux.2] CPU mapping (l:p)[1]: 0:0
    [init -> vmlinux.2] Image: 00100000 - 00500000 [4096 KiB].
    [init -> vmlinux.1] Booting L4Linux ...
    [init -> vmlinux.2] Areas: Text: 00100000 - 003d0000 [2880kB] (a bit longer)
    [init -> vmlinux.2] Data: 003d0000 - 003ee9e0 [122kB]
    [init -> vmlinux.2] Initdata: 00100000 - 0011c000 [112kB]
    [init -> blocktest_term] int main(int, char): --- terminal service started ---
    [init -> vmlinux.2] BSS: 003ef000 - 0042d094 [248kB]
    [init -> vmlinux.2] l4io_get_root_device: Not implemented yet!
    [init -> http_term] int main(int, char
    ): --- terminal service started ---
    [init -> vmlinux.2] Device scan:
    [init -> vmlinux.2] l4io_iterate_devices: Not implemented yet!
    [init -> sd_card_drv] --- OMAP4 SD card driver ---
    [init -> vmlinux.2] int l4re_rm_attach(void, long unsigned int, long unsignedc
    [init -> vmlinux.2] int l4re_rm_attach(void
    , long unsigned int, long unsigned0
    [init -> vmlinux.2] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.2] attach failed start=ff100000
    [init -> vmlinux.2] L4lx::Region
    L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.2] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.2] l4lx_thread_name_set: Not implemented yet!
    [init -> vmlinux.1] ======> L4Linux 2.6 starting... <========
    [init -> vmlinux.1] Linux version 3.0.0-l4-svn23 (no@furnace) (gcc version 4.6.2
    [init -> vmlinux.1] Binary name: vmlinux
    [init -> vmlinux.2] L4lx::Region
    L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.1] This is an AEABI build.
    [init -> vmlinux.1] Linux kernel command line (2 args): mem=54M l4x_rd=initrd.gz
    [init -> vmlinux.1] CPU mapping (l:p)[1]: 0:0
    [init -> vmlinux.1] Image: 00100000 - 00500000 [4096 KiB].
    [init -> vmlinux.1] Areas: Text: 00100000 - 003d0000 [2880kB] (a bit longer)
    [init -> vmlinux.1] Data: 003d0000 - 003ee9e0 [122kB]
    [init -> vmlinux.1] Initdata: 00100000 - 0011c000 [112kB]
    [init -> vmlinux.1] BSS: 003ef000 - 0042d094 [248kB]
    [init -> vmlinux.1] l4io_get_root_device: Not implemented yet!
    [init -> vmlinux.1] Device scan:
    [init -> vmlinux.1] l4io_iterate_devices: Not implemented yet!
    [init -> vmlinux.1] int l4re_rm_attach(void, long unsigned int, long unsignedc
    [init -> vmlinux.1] int l4re_rm_attach(void
    , long unsigned int, long unsigned0
    [init -> vmlinux.1] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.2] l4x_linux_startup: thread c.
    [init -> vmlinux.2] main thread will be c
    [init -> vmlinux.2] l4x_register_pointer_section: addr = 00100000 size = 4194304
    [init -> vmlinux.2] section-with-init: virt: 100000 to 4fffff [4096 KiB]
    [init -> vmlinux.2] Cannot determine physical address for dataspace Binary!
    [init -> vmlinux.1] attach failed start=ff100000
    [init -> vmlinux.2] error: failed to get physical address for 100000.
    [init -> vmlinux.2] main thread: received startup message.
    [init -> vmlinux.2] Main thread running, waiting...
    [init -> vmlinux.2] thread=c000 cpu=0
    [init -> vmlinux.2] l4x_setup_memory: Forcing superpages for main memory
    [init -> vmlinux.1] L4lx::Region
    L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.2] l4re_global_env: 0
    [init -> vmlinux.1] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.1] l4lx_thread_name_set: Not implemented yet!
    [init -> vmlinux.2] Main memory size: 54MB
    [init -> vmlinux.2] int l4re_rm_reserve_area(Fiasco::l4_addr_t
    , long unsigned 0
    [init -> vmlinux.1] L4lx::Region L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.2] L4lx::Region
    L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.2] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.2] int l4re_rm_attach(void, long unsigned int, long unsigned7
    unmapping of managed dataspaces not yet supported
    [init -> vmlinux.2] int l4re_rm_attach(void
    , long unsigned int, long unsigned0
    [init -> vmlinux.2] int l4re_rm_free_area(Fiasco::l4_addr_t): 2000000
    [init -> vmlinux.2] Main memory: virt: 2000000 to 55fffff [55296 KiB]
    [init -> vmlinux.2] Main memory: Phys: 0x82000000 to 0x85600000, Size: 56623104
    [init -> vmlinux.2] int l4re_rm_reserve_area(Fiasco::l4_addr_t
    , long unsigned 0
    [init -> vmlinux.1] main thread will be c
    [init -> vmlinux.1] l4x_register_pointer_section: addr = 00100000 size = 4194304
    [init -> vmlinux.1] l4x_linux_startup: thread c.
    [init -> usb_drv] int main(int, char): No <storage> config node found - not se
    [init -> vmlinux.2] L4lx::Region L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.1] section-with-init: virt: 100000 to 4fffff [4096 KiB]
    [init -> vmlinux.2] int l4re_rm_reserve_area(Fiasco::l4_addr_t
    , long unsigned 0
    [init -> vmlinux.1] Cannot determine physical address for dataspace Binary!
    [init -> vmlinux.2] Filling lower ptabs...
    [init -> sd_card_drv] CID: 0x1200e9e5 0x30da97eb 0x44313647 0x27504853
    [init -> vmlinux.1] error: failed to get physical address for 100000.
    [init -> vmlinux.2] Done (0 entries).
    [init -> sd_card_drv] RCA: 0x0007
    [init -> vmlinux.1] main thread: received startup message.
    [init -> vmlinux.2] l4x_register_pointer_section: addr = 00100000 size = 4194304
    [init -> sd_card_drv] SD card detected
    [init -> vmlinux.1] Main thread running, waiting...
    [init -> vmlinux.2] end: virt: 100000 to 4fffff [4096 KiB]
    [init -> sd_card_drv] capacity: 14840 MiB
    [init -> vmlinux.1] thread=c000 cpu=0
    [init -> vmlinux.2] Cannot determine physical address for dataspace Binary!
    [init -> vmlinux.1] l4x_setup_memory: Forcing superpages for main memory
    [init -> vmlinux.2] error: failed to get physical address for 100000.
    [init -> vmlinux.1] l4re_global_env: 0
    [init -> vmlinux.2] l4x_virt_to_phys: Could not translate virt. address 11d000
    [init -> vmlinux.2] l4x_virt_to_phys: Could not translate virt. address 3ce26f
    [init -> vmlinux.1] Main memory size: 54MB
    [init -> vmlinux.2] l4x_virt_to_phys: Could not translate virt. address 3d0000
    [init -> vmlinux.1] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.2] l4x_virt_to_phys: Could not translate virt. address 4fffff
    [init -> vmlinux.2] l4x_rd_path: initrd.gz
    [init -> vmlinux.2] Loading: initrd.gz
    [init -> vmlinux.2] const l4re_env_cap_entry_t
    l4re_get_env_cap_l(const char,9
    [init -> vmlinux.1] L4lx::Region
    L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.1] int l4re_rm_reserve_area(Fiasco::l4_addr_t*, long unsigned 0
    [init -> vmlinux.1] int l4re_rm_attach(void
    , long unsigned int, long unsigned7
    unmapping of managed dataspaces not yet supported
    [init -> vmlinux.1] int l4re_rm_attach(void, long unsigned int, long unsigned0
    [init -> vmlinux.1] int l4re_rm_free_area(Fiasco::l4_addr_t): 2000000
    [init -> vmlinux.1] Main memory: virt: 2000000 to 55fffff [55296 KiB]
    [init -> vmlinux.1] Main memory: Phys: 0x86000000 to 0x89600000, Size: 56623104
    [init -> vmlinux.1] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.1] L4lx::Region
    L4lx::Region_manager::reserve_range(Genode::s!
    [init -> vmlinux.1] int l4re_rm_reserve_area(Fiasco::l4_addr_t, long unsigned 0
    [init -> vmlinux.1] Filling lower ptabs...
    [init -> vmlinux.1] Done (0 entries).
    [init -> vmlinux.1] l4x_register_pointer_section: addr = 00100000 size = 4194304
    [init -> vmlinux.1] end: virt: 100000 to 4fffff [4096 KiB]
    [init -> vmlinux.1] Cannot determine physical address for dataspace Binary!
    [init -> vmlinux.1] error: failed to get physical address for 100000.
    [init -> usb_drv] Using configured mac: 2e:60:90:0c:4e:01
    [init -> vmlinux.1] l4x_virt_to_phys: Could not translate virt. address 11d000
    [init -> vmlinux.1] l4x_virt_to_phys: Could not translate virt. address 3ce26f
    [init -> vmlinux.1] l4x_virt_to_phys: Could not translate virt. address 3d0000
    [init -> vmlinux.1] l4x_virt_to_phys: Could not translate virt. address 4fffff
    [init -> vmlinux.1] l4x_rd_path: initrd.gz
    [init -> vmlinux.1] Loading: initrd.gz
    [init -> vmlinux.1] const l4re_env_cap_entry_t
    l4re_get_env_cap_l(const char*,9
    [init -> part_blk] Partition 1: LBA 62 (78058 blocks) type: c
    [init -> part_blk] Partition 2: LBA 78120 (46872 blocks) type: c
    [init -> usb_drv] dev_info: OMAP-EHCI Host Controller
    [init -> part_blk] Partition 3: LBA 124992 (46872 blocks) type: c
    [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 1
    [init -> vmlinux.2] int l4re_rm_attach(void
    , long unsigned int, long unsignedc
    [init -> vmlinux.1] int l4re_rm_attach(void, long unsigned int, long unsignedc
    [init -> vmlinux.2] int l4re_rm_attach(void
    , long unsigned int, long unsigned0
    [init -> vmlinux.1] int l4re_rm_attach(void, long unsigned int, long unsigned0
    [init -> vmlinux.2] INITRD: Size of RAMdisk is 6412KiB
    [init -> vmlinux.1] INITRD: Size of RAMdisk is 6412KiB
    [init -> vmlinux.2] RAMdisk from 0d800000 to 0de43000 [6412KiB]
    [init -> usb_drv] dev_info: irq 109, io mem 0x4a064c00
    [init -> vmlinux.1] RAMdisk from 0d800000 to 0de43000 [6412KiB]
    [init -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00
    Quota exceeded! amount=4096, size=4096, consumed=4096
    [init -> usb_drv] upgrade quota donation for SIGNAL session
    [init] vmlinux.2: no route to service "Terminal"
    no RM attachment (READ pf_addr=0 pf_ip=1015494 from 2e1000)
    [init] vmlinux.1: no route to service "Terminal"
    invalid signal-context capability
    virtual void Genode::Pager_activation_base::entry(): Could not resolve pf=0 ip=4
    [init -> vmlinux.1] l4io_get_root_device: Not implemented yet!
    [init -> vmlinux.1] l4io_iterate_devices: Not implemented yet!
    [init -> vmlinux.2] l4io_get_root_device: Not implemented yet!
    [init -> vmlinux.1] int l4re_rm_detach(void
    ): addr=d800000
    [init -> vmlinux.2] l4io_iterate_devices: Not implemented yet!
    [init -> vmlinux.2] int l4re_rm_detach(void
    ): addr=d800000
    [init -> fb_drv] Powering on HDMI timed out
    [init -> fb_drv] Could not initialize display
    [init -> fb_drv] C++ runtime: Framebuffer::Session_component::Session_componenty
    [init -> fb_drv] void* abort(): abort called

    Best,
    Zachary

     
  • Norman Feske

    Norman Feske - 2015-01-10

    We haven't used the board revision EX (I actually haven't heard of this revision before). The scenario was originally built for the Pandaboard ES.
    Have you tried to build a simple scenario (e.g., the default demo.run scenario) with current version of Genode? I know that the Pandaboard support was improved in the meantime.

    Btw, let me recommend you to post questions like your's on the mailing list (http://genode.org/community/mailing-lists). The forum is pretty much deserted.

     
    • Zachary

      Zachary - 2015-01-12

      hi,
      Thanks for your reply.
      I am sorry for my spell mistake, it is ES.

      I have tried the demo, but failed on the init stage:

      ...
      Genode 14.11
      int main(): --- create local services ---
      int main(): --- start init ---
      int main(): transferred 999 MB to init
      int main(): --- init created, waiting for exit condition ---
      [init] Could not open file "ld.lib.so"
      [init -> fb_drv] Could not open file "config"
      [init -> fb_drv] Could not obtain config file
      [init -> fb_drv] int main(int, char): using default configuration: HDMI@1024x8
      [init -> gpio_drv] --- omap4 gpio driver ---
      [init -> gpio_drv] No GPIO config
      [init -> usb_drv] Services::Services(): No <storage> config node found - not ste
      [init -> usb_drv] Services::Services(): No <nic> config node found - not startie
      [init -> usb_drv] Enabled UHCI (USB 1.0/1.1) support
      [init -> usb_drv] Enabled EHCI (USB 2.0) support
      [init -> launchpad] Could not open file "ld.lib.so"
      [init -> usb_drv] void platform_hcd_init(Services
      ): register platform device
      [init -> usb_drv] void
      dev_get_platdata(const device*): called
      [init -> usb_drv] dev_info: EHCI Host Controller
      [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 1
      [init -> usb_drv] dev_info: irq 109, io mem 0x4a064c00
      [init -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00
      [init -> usb_drv] dev_info: USB hub found
      [init -> usb_drv] dev_info: 3 ports detected
      [init -> usb_drv] dev_info: new high-speed USB device number 2 using ehci-omap
      [init -> usb_drv] dev_info: USB hub found
      [init -> usb_drv] dev_info: 5 ports detected
      [init -> usb_drv] dev_info: new high-speed USB device number 3 using ehci-omap

      and nothing else

       
  • Martin Stein

    Martin Stein - 2015-01-12

    Hi Zachary,

    I was not able to reproduce your problem with the Demo run script. It works
    just fine on my PandaBoard ES Revision B when I set the target platform to
    'foc_panda'. Comparing my output with yours I noticed that the 'nitpicker'
    server doesn't give any feedback in your scenario. Nitpicker is the GUI server
    that provides the framebuffer output of 'fb_drv' and the user input of
    'usb_drv' to multiple clients enabling them to manage their windows while
    staying isolated against each other. As a logical consequence, also the window
    application 'launchpad' doesn't show up in your log. Normally, the scenario
    should print out the following lines somewhere after 'init' is up:

    [init -> nitpicker] create session with args: label="status_bar", ram_quota=28672
    [init -> nitpicker] create session with args: label="launchpad", ram_quota=28672
    [init -> nitpicker] create session with args: label="pointer", ram_quota=28672
    [init -> launchpad] --- entering main loop ---

    However, from what I see, the framebuffer driver 'fb_drv' and the USB driver 'usb_drv' seem to have no prolems in your scenario. Here are the questions that came into my mind while trying to reproduce your issue:

    • Which Revision of the PandaBoard ES do you have
    • Does your PandaBoard provide the 1 GB of RAM at the location we describe in
      base/include/platform/panda/drivers/board_base.h (RAM_0_BASE)
    • Do you have connected your Monitor to the correct port (HDMI-
      Out and DVI-Out look the same but you must use the HDMI-Out port
      next to the LAN/USB ports)
    • Which U-Boot Version do you use (Mine is
      U-Boot 2013.01.-rc1-00005-gc60e50d (May 20 2014 - 14:28:19))?
    • Has the Fiasco-OC kernel encountered any problems? (It might be useful if
      you post also the kernel output that comes before "Genode 14.11" so I can
      compare it with my working scenario)

    Cheers,
    Martin

     
  • Zachary

    Zachary - 2015-01-15

    Which Revision of the PandaBoard ES do you have
    It is OMAP4460 ES1.1 B3.

    Does your PandaBoard provide the 1 GB of RAM at the location we describe in
    base/include/platform/panda/drivers/board_base.h (RAM_0_BASE)
    There is a 1GB DRAM, but I am not sure the address of it.

    Do you have connected your Monitor to the correct port (HDMI-
    Out and DVI-Out look the same but you must use the HDMI-Out port
    next to the LAN/USB ports)
    Yes, but I used a VGA to HDMI adapter, which worked well running Android on the board.

    Which U-Boot Version do you use (Mine is
    U-Boot 2013.01.-rc1-00005-gc60e50d (May 20 2014 - 14:28:19))?
    It is U-boot 2014.10 (Jan 07 2015 - 16:58:18).

    Has the Fiasco-OC kernel encountered any problems? (It might be useful if
    you post also the kernel output that comes before "Genode 14.11" so I can
    compare it with my working scenario)

    ...
    L4 Bootstrapper
    Build: #6 Mon Jan 12 09:36:26 CST 2015, 4.7.4
    Scanning up to 1024 MB RAM
    Memory size is 1024MB (80000000 - bfffffff)
    RAM: 0000000080000000 - 00000000bfffffff: 1048576kB
    Total RAM: 1024MB
    mod18: 8176e000-817b6b7c: genode/gpio_drv
    mod17: 816c5000-8176d784: genode/usb_drv
    mod16: 8167a000-816c45e0: genode/fb_drv
    mod15: 81679000-816791ec: genode/launchpad.config
    mod14: 8162d000-81678c9c: genode/nitlog
    mod13: 815ea000-8162cdcc: genode/testnit
    mod12: 81422000-815e9600: genode/scout
    mod11: 81348000-81421880: genode/launchpad
    mod10: 812d9000-813473d8: genode/liquid_fb
    mod09: 81290000-812d89bc: genode/report_rom
    mod08: 81247000-8128ffd4: genode/status_bar
    mod07: 81204000-81246ae0: genode/pointer
    mod06: 81199000-81203fc0: genode/nitpicker
    mod05: 81152000-811983f8: genode/timer
    mod04: 81103000-81151928: genode/init
    mod03: 81102000-8110296a: genode/config
    mod02: 81089000-811011d4: genode/core
    mod01: 8107f000-81088374: sigma0
    mod00: 81016000-8107efac: /home/czzcz/genode-master/build/foc_panda/kernel/fio
    Moving up to 19 modules behind 81100000
    moving module 00 { 81016000-8107efab } -> { 818a1000-81909fab } [429996]
    moving module 01 { 8107f000-81088373 } -> { 8190a000-81913373 } [37748]
    moving module 02 { 81089000-811011d3 } -> { 81914000-8198c1d3 } [491988]
    moving module 03 { 81102000-81102969 } -> { 81100000-81100969 } [2410]
    moving module 04 { 81103000-81151927 } -> { 81101000-8114f927 } [321832]
    moving module 05 { 81152000-811983f7 } -> { 81150000-811963f7 } [287736]
    moving module 06 { 81199000-81203fbf } -> { 81197000-81201fbf } [438208]
    moving module 07 { 81204000-81246adf } -> { 81202000-81244adf } [273120]
    moving module 08 { 81247000-8128ffd3 } -> { 81245000-8128dfd3 } [298964]
    moving module 09 { 81290000-812d89bb } -> { 8128e000-812d69bb } [297404]
    moving module 10 { 812d9000-813473d7 } -> { 812d7000-813453d7 } [451544]
    moving module 11 { 81348000-8142187f } -> { 81346000-8141f87f } [891008]
    moving module 12 { 81422000-815e95ff } -> { 81420000-815e75ff } [1865216]
    moving module 13 { 815ea000-8162cdcb } -> { 815e8000-8162adcb } [273868]
    moving module 14 { 8162d000-81678c9b } -> { 8162b000-81676c9b } [310428]
    moving module 15 { 81679000-816791eb } -> { 81677000-816771eb } [492]
    moving module 16 { 8167a000-816c45df } -> { 81678000-816c25df } [304608]
    moving module 17 { 816c5000-8176d783 } -> { 816c3000-8176b783 } [690052]
    moving module 18 { 8176e000-817b6b7b } -> { 8176c000-817b4b7b } [297852]
    Scanning /home/czzcz/genode-master/build/foc_panda/kernel/fiasco.oc/fiasco -s
    Scanning sigma0
    Scanning genode/core
    Relocated mbi to [0x8100f000-0x8100f2e6]
    Loading cz/genode-master/build/foc_panda/kernel/fiasco.oc/fiasco
    Loading sigma0
    Loading genode/core
    find kernel info page...
    found kernel info page at 0x80002000
    Regions of list 'regions'
    [ 80001000, 80001bff] { c00} Kern cz/genode-master/build/foc_panda/o
    [ 80002000, 80076fff] { 75000} Kern cz/genode-master/build/foc_panda/o
    [ 80090000, 8009673b] { 673c} Sigma0 sigma0
    [ 80098000, 8009e17b] { 617c} Sigma0 sigma0
    [ 80140000, 8029172f] { 151730} Root genode/core
    [ 81000000, 810153f3] { 153f4} Boot bootstrap
    [ 8100f000, 8100f3e3] { 3e4} Root Multiboot info
    [ 81100000, 817b4b7b] { 6b4b7c} Root Module
    API Version: (87) experimental
    Sigma0 config ip:80090100 sp:81014de4
    Roottask config ip:80140000 sp:00000000
    Starting kernel cz/genode-master/build/foc_panda/kernel/fiasco.oc/fiasco at 80
    Hello from Startup::stage2
    Per_cpu_data_alloc: (orig: 0xf0065e18-0xf00667a8)
    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=410000c7 Type=1e340340 Aux=7e470000 WMask=ffff S=0
    L2: Type L2C-310 Size = 1024kB
    SERIAL ESC: allocated IRQ 106 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.7.4 for Pandaboard []
    Build: #5 Mon Jan 12 09:36:18 CST 2015

    Per_cpu_data_alloc: (orig: 0xf0065e18-0xf00667a8)
    Allocate 2448 bytes (2KB) for CPU[4] local storage (offset=11801e8, 0xf11e6000-)
    Number of CPUs: 2
    Calibrating timer loop... Per_cpu_data_alloc: (orig: 0xf0065e18-0xf00667a8)
    done.
    Allocate 2448 bytes (2KB) for CPU[1] local storage (offset=11811e8, 0xf11e7000-)
    SCache config: ON
    IID_PFR[01]: 00001231 00000011G ID_[DA]FR0: 00010444 00000000
    MID_MMFR[04]: 00100103 20000000 01230000 00102111
    AFPU1: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard, p: dbl/sngl
    0CPU[1]: goes to idle loop
    : Hello!
    KIP @ 80002000
    allocated 4KB for maintenance structures
    SIGMA0: Dump of all resource maps
    RAM:------------------------
    [0:80000000;80000fff]
    [0:80077000;8008ffff]
    [0:80097000;80097fff]
    [0:8009f000;8013ffff]
    [4:80140000;80291fff]
    [0:80292000;8100efff]
    [4:8100f000;8100ffff]
    [0:81010000;810fffff]
    [4:81100000;817b4fff]
    [0:817b5000;beffffff]
    IOMEM:----------------------
    [0:0;7fffffff]
    [0:c0000000;ffffffff]

    KIP @ 80002000
    magic: 4be6344c
    version: 87024444
    sigma0 esp: 81014de4 eip: 80090100
    sigma1 esp: 00000000 eip: 00000000
    root esp: 00000000 eip: 80140000
    MBI @ 8100f000
    mod[3] [81100000,8110096a) config
    mod[4]
    [81101000,8114f928) init
    mod[5]
    [81150000,811963f8) timer
    mod[6]
    [81197000,81201fc0) nitpicker
    mod[7]
    [81202000,81244ae0) pointer
    mod[8]
    [81245000,8128dfd4) status_bar
    mod[9]
    [8128e000,812d69bc) report_rom
    mod[10]
    [812d7000,813453d8) liquid_fb
    mod[11]
    [81346000,8141f880) launchpad
    mod[12]
    [81420000,815e7600) scout
    mod[13]
    [815e8000,8162adcc) testnit
    mod[14]
    [8162b000,81676c9c) nitlog
    mod[15]
    [81677000,816771ec) launchpad.config
    mod[16]
    [81678000,816c25e0) fb_drv
    mod[17]
    [816c3000,8176b784) usb_drv
    mod[18]
    [8176c000,817b4b7c) gpio_drv
    :ram_alloc: Allocator 802826a8 dump:
    Block: [80000000,8000001c) size=0000001c avail=00000000 max_avail=00000000
    Block: [8000001c,80000038) size=0000001c avail=00000000 max_avail=00000000
    Block: [80000038,80000438) size=00000400 avail=00000000 max_avail=00018fe4
    Block: [80000438,80000454) size=0000001c avail=00000000 max_avail=00000000
    Block: [80000454,80001000) size=00000bac avail=00000bac max_avail=00000bac
    Block: [80077000,8007701c) size=0000001c avail=00000000 max_avail=00018fe4
    Block: [8007701c,80090000) size=00018fe4 avail=00018fe4 max_avail=00018fe4
    Block: [80097000,8009701c) size=0000001c avail=00000000 max_avail=00018fe4
    Block: [8009701c,80097038) size=0000001c avail=00000000 max_avail=00000000
    Block: [80097038,80097054) size=0000001c avail=00000000 max_avail=00000000
    Block: [80097054,80097070) size=0000001c avail=00000000 max_avail=00000000
    Block: [80097070,8009708c) size=0000001c avail=00000000 max_avail=00000000
    Block: [8009708c,800970a8) size=0000001c avail=00000000 max_avail=00000000
    Block: [800970a8,800970c4) size=0000001c avail=00000000 max_avail=00000000
    Block: [800970c4,800970e0) size=0000001c avail=00000000 max_avail=00000000
    Block: [800970e0,800970fc) size=0000001c avail=00000000 max_avail=3d84b000
    Block: [800970fc,80097118) size=0000001c avail=00000000 max_avail=00000000
    Block: [80097118,80097134) size=0000001c avail=00000000 max_avail=00000eb0
    Block: [80097134,80097150) size=0000001c avail=00000000 max_avail=00000000
    Block: [80097150,80098000) size=00000eb0 avail=00000eb0 max_avail=00000eb0
    Block: [8009f000,8009f01c) size=0000001c avail=00000000 max_avail=3d84b000
    Block: [8009f01c,80140000) size=000a0fe4 avail=000a0fe4 max_avail=000a0fe4
    Block: [80292000,8100f000) size=00d7d000 avail=00d7d000 max_avail=3d84b000
    Block: [81010000,81100000) size=000f0000 avail=000f0000 max_avail=3d84b000
    Block: [817b5000,bf000000) size=3d84b000 avail=3d84b000 max_avail=3d84b000
    => mem_size=1048002560 (999 MB) / mem_avail=1048001060 (999 MB)
    :region_alloc: Allocator 80283818 dump:
    Block: [00001000,20000000) size=1ffff000 avail=1ffff000 max_avail=1ffff000
    Block: [30000000,80000000) size=50000000 avail=50000000 max_avail=50000000
    Block: [80001000,80002000) size=00001000 avail=00001000 max_avail=00001000
    Block: [80003000,80077000) size=00074000 avail=00074000 max_avail=50000000
    Block: [80090000,80097000) size=00007000 avail=00007000 max_avail=00007000
    Block: [80098000,8009f000) size=00007000 avail=00007000 max_avail=50000000
    Block: [bf000000,bfff0000) size=00ff0000 avail=00ff0000 max_avail=00ff0000
    => mem_size=1896292352 (1808 MB) / mem_avail=1896292352 (1808 MB)
    :io_mem: Allocator 80282b04 dump:
    Block: [00000000,80000000) size=80000000 avail=80000000 max_avail=80000000
    Block: [80001000,80002000) size=00001000 avail=00001000 max_avail=80000000
    Block: [80003000,80077000) size=00074000 avail=00074000 max_avail=00074000
    Block: [80090000,80097000) size=00007000 avail=00007000 max_avail=00074000
    Block: [80098000,8009f000) size=00007000 avail=00007000 max_avail=80000000
    Block: [bf000000,ffffffff) size=40ffffff avail=40ffffff max_avail=40ffffff
    => mem_size=3238539263 (3088 MB) / mem_avail=3238539263 (3088 MB)
    :io_port: Allocator 80282f60 dump:
    :irq: Allocator 802833bc dump:
    Block: [00000000,00000100) size=00000100 avail=00000100 max_avail=00000100
    => mem_size=256 (0 MB) / mem_avail=256 (0 MB)
    :rom_fs: Rom_fs 802840cc dump:
    Rom: [81197000,81201fc0) nitpicker
    Rom: [81346000,8141f880) launchpad
    Rom: [81101000,8114f928) init
    Rom: [81678000,816c25e0) fb_drv
    Rom: [81100000,8110096a) config
    Rom: [8176c000,817b4b7c) gpio_drv
    Rom: [80002000,80003000) l4v2_kip
    Rom: [80002000,80003000) kip
    Rom: [812d7000,813453d8) liquid_fb
    Rom: [81677000,816771ec) launchpad.config
    Rom: [8162b000,81676c9c) nitlog
    Rom: [81245000,8128dfd4) status_bar
    Rom: [8128e000,812d69bc) report_rom
    Rom: [81202000,81244ae0) pointer
    Rom: [81420000,815e7600) scout
    Rom: [81150000,811963f8) timer
    Rom: [815e8000,8162adcc) testnit
    Rom: [816c3000,8176b784) usb_drv
    :core ranges: Allocator 802860e0 dump:
    Block: [80000000,80001000) size=00001000 avail=00001000 max_avail=00001000
    Block: [80077000,80090000) size=00019000 avail=00019000 max_avail=00019000
    Block: [80097000,80098000) size=00001000 avail=00001000 max_avail=3dff0000
    Block: [8009f000,8100f000) size=00f70000 avail=00f70000 max_avail=3dff0000
    Block: [81010000,bf000000) size=3dff0000 avail=3dff0000 max_avail=3dff0000
    => mem_size=1056419840 (1007 MB) / mem_avail=1056419840 (1007 MB)
    Genode 14.11
    ...

    I brought the board last month, is it too new to be supported?

    Best,
    Zachary

     
  • Martin Stein

    Martin Stein - 2015-01-15

    Kernel
    Your FOC-output is pretty much the same as mine except the fact that we have a different FOC-version (Mine is 4.7.2) and we seem to use different Genode versions as the size of core differs (I used "510efce version: 14.11" at our master branch).

    RAM
    According to http://omappedia.org/wiki/PandaBoard_Revisions#PandaBoard_ES_Revision_History: the RAM configuration has changed between B1 and B3. http://lists.denx.de/pipermail/u-boot/2013-November/167181.html indicates that B3 uses emif_regs_elpida_400_mhz_1cs in uboot/arch/arm/cpu/armv7/omap4/sdram_elpida.c in contrast to B1 that uses emif_regs_elpida_400_mhz_2cs. This might be a starting point for the RAM question even though I haven't found any hints that the memory map differs.

    U-Boot
    Do you know from which sources your U-Boot is build? I use git://git.denx.de/u-boot.git but it doesn't seem to be aware of B3. However, There are repositories that are dedicated to B3 (e.g. https://github.com/svtronics/u-boot-pandaboard-ES-RevB3).

    Further suggestions
    You should give the framebuffer test (os/run/framebuffer.run) a try to see if fb_drv really works.

    If so, it might be a good idea to determine via printf how far the nitpicker server comes. Be aware that nitpickers real main function isn't in os/src/server/nitpicker/main.cc but in os/src/lib/server/server.cc as it uses our server-skeleton library.

     
  • Zachary

    Zachary - 2015-01-19

    Could you please give me your prebuild image of the demo?
    If so, I can check whether there is something wrong with my build process.

    Best

     
  • Martin Stein

    Martin Stein - 2015-01-21

    I've created a github repo for that: https://github.com/m-stein/genode_binaries . You can right-click on 'hw_panda/14_11-demo.elf' and download it directly to avoid cloning the repo.

     
  • Zachary

    Zachary - 2015-01-26

    Thanks for your image!

    I rebuilt the uboot using your source, and it works.

    So, the problem is uboot.

    Thanks again for your works.

    Best,
    Zachary

     

    Last edit: Zachary 2015-01-26
  • Martin Stein

    Martin Stein - 2015-01-27

    Cool, glad that I could help you :)

     

Log in to post a comment.