Problems with kernel start

I have ARM920T CPU (Atmel’s AT91RM9200) based board with QNX6.2.1B.
After IPL & Satrtup done I can’t see kernel message (display_msg).

All my system registers (interrupt controller, debug uart, etc.) placed in
address space 0xFFFFF000 - 0xFFFFFFFF. Is there possibility that
kernel just can’t work with this addresses (they used in interrupt &
debug callouts)? I’ve seen posts on QNX.ORG.RU & OPENQNX.COM about some
bug in memory manager on QNX6.2 for ARM:

http://qnx.org.ru/index.php?option=com_minibb&action=vthread&forum=5&topic=3245
http://www.openqnx.com/PNphpBB2-viewtopic-t3191-.html

To people in QSSL - can you confirm or disprove this?

Below are Startup log & buildfile. Of course, maybe there’s mistake in
debug_callout code (AFAIK display_msg use callouts)… If I make special
mistake in interrupt_callout - “Stop[0,0]” message appears. If I make
mistake
in timer_callout - “Timer isn’t running message”. But mistakes in
debug_callout
don’t lead to any messages.

I can post my callouts if you need.

Log:

add_mem(1,20000000,02000000)
alloc_ram(20009108,00002620,00000001) => 20009108
add_mem(1,2000b728,01ff48d8)
alloc_ram(ffffffff,00008000,00001000) => 2000c000
add_mem(1,20014000,01fec000)
add_mem(1,2000c000,00008000)
alloc_ram(20000000,0000b728,00000001) => 20000000
alloc_ram(ffffffff,00004000,00004000) => 20014000
add_mem(1,20018000,01fe8000)
alloc_ram(ffffffff,00001000,00001000) => 20018000
alloc_ram(ffffffff,00001000,00001000) => 20019000
Dcache: 512x32 WB
Icache: 512x32
arm920 rev 0 182MHz
alloc_ram(ffffffff,00001000,00001000) => 2001a000
alloc_ram(ffffffff,00001000,00001000) => 2001b000
alloc_ram(ffffffff,00001000,00001000) => 2001c000
alloc_ram(ffffffff,00003000,00001000) => 2001d000
add_mem(2,20009108,000ab248)
add_mem(3,20009108,00002620)
alloc_ram(ffffffff,00000848,00001000) => 20020000
add_mem(1,20020848,00093b08)
Header size=0x0000009c, Total Size=0x000004d8, #Cpu=1, Type=4
Section:system_private offset:0x000001d8 size:0x00000068
syspage ptr user:fc404000 kernel:fc404000
cpupage ptr user:fc404828 kernel:fc404828 spacing:32
kdebug info:00000000 callback:00000000
boot pgms: idx=0
0) base paddr:2000a000 start addr:fe01c60c
ramsize:02000000 pagesize:00001000
Section:qtime offset:0x00000148 size:0x00000048
boot:00000000 CPS:0000000001c9c380 rate/scale:3333333333/-17 intr:17
Section:callout offset:0x000000a0 size:0x00000048
reboot:fc404618 power:fc404638
timer_load:fc40464c reload:fc404684 value:fc40469c
0) display:fc4046b4 poll:fc4046d8 break:fc4046fc

  1. display:fc404714 poll:fc404738 break:fc40475c
    Section:cpuinfo offset:0x00000190 size:0x00000020
  2. cpu:41129200 flags:40000000 speed:000000b6 cache i/d:1/0 name:48
    Section:cacheattr offset:0x00000498 size:0x00000040
  3. flags:32 size:0020 #lines:0200 control:fc404514 next:255
  4. flags:11 size:0020 #lines:0200 control:fc40455c next:255
    Section:meminfo offset:0x00000240 size:0x00000060
    t:2 a:20009108 s:00016ef8 t:3 a:20009108 s:00002620 t:1 a:2000b728
    s:000088d8
    t:1 a:20020848 s:01fdf7b8
    Section:asinfo offset:0x00000338 size:0x00000120
  5. 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000
    n:21
  6. 0000000010000000-0000000012000000 o:0000 a:0005 p:100 c:00000000
    n:28
  7. 0000000030000000-0000000040000000 o:0000 a:0013 p:100 c:00000000
    n:34
  8. 0000000030000000-0000000040000000 o:0040 a:0003 p:100 c:00000000
    n:41
  9. 0000000020000000-0000000021ffffff o:0000 a:0017 p:100 c:00000000
    n:44
    00a0) 0000000020009108-00000000200b434f o:0000 a:0005 p:100 c:00000000
    n:55
    00c0) 0000000020009108-000000002000b727 o:0000 a:0007 p:100 c:00000000
    n:63
    00e0) 000000002000b728-0000000020013fff o:0080 a:0007 p:100 c:00000000
    n:71
  10. 0000000020020848-0000000021ffffff o:0080 a:0007 p:100 c:00000000
    n:71
    Section:hwinfo offset:0x00000310 size:0x00000028
  11. size:3 tag:3 isize:3, iname:0, owner:65535, kids:1
  12. size:3 tag:17 isize:3, iname:9, owner:0, kids:0
    Section:typed_strings offset:0x000002a0 size:0x00000020
    off:0 type:5 string:‘router’
    off:12 type:2 string:‘localhost’
    Section:strings offset:0x000002c0 size:0x00000050
    [0]‘hw’ [3]‘Group’ [9]‘unknown’ [17]‘Bus’ [21]‘memory’ [28]‘flash’
    [34]‘altera’ [41]‘io’ [44]‘ram’ [48]‘arm920’ [55]‘imagefs’ [63]‘bootram’
    [71]‘sysram’
    Section:intrinfo offset:0x00000458 size:0x00000040
  13. vector_base:00000000, #vectors:32, cascade_vector:7fffffff
    cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000
    id => flags:0000, size:002c, rtn:fc404580
    eoi => flags:1000, size:0024, rtn:fc4045ac
    mask:fc4045d0, unmask:fc4045f4, config:00000000
    Section:smp offset:0x000004d8 size:0x00000000
    Section:pminfo offset:0x000004d8 size:0x00000000
    Section:boxinfo offset:0x000001b0 size:0x00000028
    hw_flags:00000000
    Section:cpu offset:0x00000128 size:0x00000020
    page_flush:fc4044d8 page_flush_deferred:fc404510
    upte_ro:00000aae upte_rw:00000ffe
    kpte_ro:0000000e kpte_rw:0000055e
    mask_nc:0000000c

System page at phys:20020000 user:fc404000 kern:fc404000
Starting next program at vfe01c60c


Buildfile:

[image=0x20000000]
[ram=0x20000000]
[virtual=armle,binary] .bootstrap = {
…/scratch/armle/boot/sys/startup-router -K0xFFFFF200^0.115200.60000000
PATH=/proc/boot procnto -vvvvvvvvvvvvvvvv
}
[+script] .script = {

Initialise the console

display_msg “Neutrino starting…”

Start the main shell

[+session] ksh
}

Programs require the runtime linker (ldqnx.so) to be at a fixed location

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so

Shared libaries

libc.so

Use the “fat” embedded shell as the default shell

sh=fesh

Thanks for any help

BTW - if I add internal 16k RAM sarting with 0x00000000 Kernel shutdown
mesage occcures.
It seems to me that startup places interrupt trap vectors in this area.

Shutdown[0,0] S/C/F=11/1/11 C/D=fe005de0/fe048500 state(c0)= now lock
[0]PID-TID=1-2? P/T FL=00019001/05000000
armle context[ff7fdb68]:
0000: 00000001 ff7f4230 ff7f4248 fe048170 00000000 00000000 00000000
00000000
0020: 00000000 00000000 00000000 ff7f2fac ff7f2fb0 ff7f2fa0 fe005df0
fe00f3d0
0040: 0000001f
instruction[fe00f3d0]:
2d 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 00 50 41 54 48 3d 2f 70
72
stack[ff7f2fa0]:
0000: ff7f2fbc ff7f2fb0 fe0364e4 fe005df0 00000000 ff7f2fc0 00000000
fe0364cc
0020: 00000000 00000000 ff7f2fcc 00000000 00000000 00000001 00000002
00010002
0040: ff7d3000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
0060: fbffffff fffffffb fffffbff fffeef7e 7fffffdf efeeffef fff7bfff
fffffdff

Hi Artyom,

If you’re seeing messages from the kernel such as “timer isn’t running”,
or “Stop[0,0]”, then this tells me that your debug callouts are working,
since the kernel uses the same debug callouts for these messages as it
does for calls to ‘display_msg’. I see that in your build file, you’ve
got lots of -vvvv’s after procnto, but none after startup; display_msg
requires at least one -v after startup in order to work.


Artyom Migaev <migaev@telecard.com.ua> wrote:

I have ARM920T CPU (Atmel’s AT91RM9200) based board with QNX6.2.1B.
After IPL & Satrtup done I can’t see kernel message (display_msg).

All my system registers (interrupt controller, debug uart, etc.) placed in
address space 0xFFFFF000 - 0xFFFFFFFF. Is there possibility that
kernel just can’t work with this addresses (they used in interrupt &
debug callouts)? I’ve seen posts on QNX.ORG.RU & OPENQNX.COM about some
bug in memory manager on QNX6.2 for ARM:

http://qnx.org.ru/index.php?option=com_minibb&action=vthread&forum=5&topic=3245
http://www.openqnx.com/PNphpBB2-viewtopic-t3191-.html

To people in QSSL - can you confirm or disprove this?

Below are Startup log & buildfile. Of course, maybe there’s mistake in
debug_callout code (AFAIK display_msg use callouts)… If I make special
mistake in interrupt_callout - “Stop[0,0]” message appears. If I make
mistake
in timer_callout - “Timer isn’t running message”. But mistakes in
debug_callout
don’t lead to any messages.

I can post my callouts if you need.

Log:

add_mem(1,20000000,02000000)
alloc_ram(20009108,00002620,00000001) => 20009108
add_mem(1,2000b728,01ff48d8)
alloc_ram(ffffffff,00008000,00001000) => 2000c000
add_mem(1,20014000,01fec000)
add_mem(1,2000c000,00008000)
alloc_ram(20000000,0000b728,00000001) => 20000000
alloc_ram(ffffffff,00004000,00004000) => 20014000
add_mem(1,20018000,01fe8000)
alloc_ram(ffffffff,00001000,00001000) => 20018000
alloc_ram(ffffffff,00001000,00001000) => 20019000
Dcache: 512x32 WB
Icache: 512x32
arm920 rev 0 182MHz
alloc_ram(ffffffff,00001000,00001000) => 2001a000
alloc_ram(ffffffff,00001000,00001000) => 2001b000
alloc_ram(ffffffff,00001000,00001000) => 2001c000
alloc_ram(ffffffff,00003000,00001000) => 2001d000
add_mem(2,20009108,000ab248)
add_mem(3,20009108,00002620)
alloc_ram(ffffffff,00000848,00001000) => 20020000
add_mem(1,20020848,00093b08)
Header size=0x0000009c, Total Size=0x000004d8, #Cpu=1, Type=4
Section:system_private offset:0x000001d8 size:0x00000068
syspage ptr user:fc404000 kernel:fc404000
cpupage ptr user:fc404828 kernel:fc404828 spacing:32
kdebug info:00000000 callback:00000000
boot pgms: idx=0
0) base paddr:2000a000 start addr:fe01c60c
ramsize:02000000 pagesize:00001000
Section:qtime offset:0x00000148 size:0x00000048
boot:00000000 CPS:0000000001c9c380 rate/scale:3333333333/-17 intr:17
Section:callout offset:0x000000a0 size:0x00000048
reboot:fc404618 power:fc404638
timer_load:fc40464c reload:fc404684 value:fc40469c
0) display:fc4046b4 poll:fc4046d8 break:fc4046fc

  1. display:fc404714 poll:fc404738 break:fc40475c
    Section:cpuinfo offset:0x00000190 size:0x00000020
  2. cpu:41129200 flags:40000000 speed:000000b6 cache i/d:1/0 name:48
    Section:cacheattr offset:0x00000498 size:0x00000040
  3. flags:32 size:0020 #lines:0200 control:fc404514 next:255
  4. flags:11 size:0020 #lines:0200 control:fc40455c next:255
    Section:meminfo offset:0x00000240 size:0x00000060
    t:2 a:20009108 s:00016ef8 t:3 a:20009108 s:00002620 t:1 a:2000b728
    s:000088d8
    t:1 a:20020848 s:01fdf7b8
    Section:asinfo offset:0x00000338 size:0x00000120
  5. 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000
    n:21
  6. 0000000010000000-0000000012000000 o:0000 a:0005 p:100 c:00000000
    n:28
  7. 0000000030000000-0000000040000000 o:0000 a:0013 p:100 c:00000000
    n:34
  8. 0000000030000000-0000000040000000 o:0040 a:0003 p:100 c:00000000
    n:41
  9. 0000000020000000-0000000021ffffff o:0000 a:0017 p:100 c:00000000
    n:44
    00a0) 0000000020009108-00000000200b434f o:0000 a:0005 p:100 c:00000000
    n:55
    00c0) 0000000020009108-000000002000b727 o:0000 a:0007 p:100 c:00000000
    n:63
    00e0) 000000002000b728-0000000020013fff o:0080 a:0007 p:100 c:00000000
    n:71
  10. 0000000020020848-0000000021ffffff o:0080 a:0007 p:100 c:00000000
    n:71
    Section:hwinfo offset:0x00000310 size:0x00000028
  11. size:3 tag:3 isize:3, iname:0, owner:65535, kids:1
  12. size:3 tag:17 isize:3, iname:9, owner:0, kids:0
    Section:typed_strings offset:0x000002a0 size:0x00000020
    off:0 type:5 string:‘router’
    off:12 type:2 string:‘localhost’
    Section:strings offset:0x000002c0 size:0x00000050
    [0]‘hw’ [3]‘Group’ [9]‘unknown’ [17]‘Bus’ [21]‘memory’ [28]‘flash’
    [34]‘altera’ [41]‘io’ [44]‘ram’ [48]‘arm920’ [55]‘imagefs’ [63]‘bootram’
    [71]‘sysram’
    Section:intrinfo offset:0x00000458 size:0x00000040
  13. vector_base:00000000, #vectors:32, cascade_vector:7fffffff
    cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000
    id => flags:0000, size:002c, rtn:fc404580
    eoi => flags:1000, size:0024, rtn:fc4045ac
    mask:fc4045d0, unmask:fc4045f4, config:00000000
    Section:smp offset:0x000004d8 size:0x00000000
    Section:pminfo offset:0x000004d8 size:0x00000000
    Section:boxinfo offset:0x000001b0 size:0x00000028
    hw_flags:00000000
    Section:cpu offset:0x00000128 size:0x00000020
    page_flush:fc4044d8 page_flush_deferred:fc404510
    upte_ro:00000aae upte_rw:00000ffe
    kpte_ro:0000000e kpte_rw:0000055e
    mask_nc:0000000c

System page at phys:20020000 user:fc404000 kern:fc404000
Starting next program at vfe01c60c


Buildfile:

[image=0x20000000]
[ram=0x20000000]
[virtual=armle,binary] .bootstrap = {
…/scratch/armle/boot/sys/startup-router -K0xFFFFF200^0.115200.60000000
PATH=/proc/boot procnto -vvvvvvvvvvvvvvvv
}
[+script] .script = {

Initialise the console

display_msg “Neutrino starting…”

Start the main shell

[+session] ksh
}

Programs require the runtime linker (ldqnx.so) to be at a fixed location

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so

Shared libaries

libc.so

Use the “fat” embedded shell as the default shell

sh=fesh

Thanks for any help

David Green (dgreen@qnx.com)
QNX Software Systems Ltd.
http://www.qnx.com

Dave Green <dgreen@qnx.com> wrote:

Hi Artyom,

If you’re seeing messages from the kernel such as “timer isn’t running”,
or “Stop[0,0]”, then this tells me that your debug callouts are working,
since the kernel uses the same debug callouts for these messages as it
does for calls to ‘display_msg’. I see that in your build file, you’ve
got lots of -vvvv’s after procnto, but none after startup; display_msg
requires at least one -v after startup in order to work.

Whoops, I stand corrected; display_msg should display its output regardless
of how many -v’s are present after startup-*. I was thinking of startup debug
output, not kernel output.

Do you still see these messages if you remove the -K option to startup-router?

Also, have you tried offsetting your [image=… ] from the start of
DRAM? For example, if your DRAM starts at 0x20000000, try:
[image=0x20100000]

Artyom Migaev <> migaev@telecard.com.ua> > wrote:
I have ARM920T CPU (Atmel’s AT91RM9200) based board with QNX6.2.1B.
After IPL & Satrtup done I can’t see kernel message (display_msg).

All my system registers (interrupt controller, debug uart, etc.) placed in
address space 0xFFFFF000 - 0xFFFFFFFF. Is there possibility that
kernel just can’t work with this addresses (they used in interrupt &
debug callouts)? I’ve seen posts on QNX.ORG.RU & OPENQNX.COM about some
bug in memory manager on QNX6.2 for ARM:

http://qnx.org.ru/index.php?option=com_minibb&action=vthread&forum=5&topic=3245
http://www.openqnx.com/PNphpBB2-viewtopic-t3191-.html

To people in QSSL - can you confirm or disprove this?

Below are Startup log & buildfile. Of course, maybe there’s mistake in
debug_callout code (AFAIK display_msg use callouts)… If I make special
mistake in interrupt_callout - “Stop[0,0]” message appears. If I make
mistake
in timer_callout - “Timer isn’t running message”. But mistakes in
debug_callout
don’t lead to any messages.

I can post my callouts if you need.

Log:

add_mem(1,20000000,02000000)
alloc_ram(20009108,00002620,00000001) => 20009108
add_mem(1,2000b728,01ff48d8)
alloc_ram(ffffffff,00008000,00001000) => 2000c000
add_mem(1,20014000,01fec000)
add_mem(1,2000c000,00008000)
alloc_ram(20000000,0000b728,00000001) => 20000000
alloc_ram(ffffffff,00004000,00004000) => 20014000
add_mem(1,20018000,01fe8000)
alloc_ram(ffffffff,00001000,00001000) => 20018000
alloc_ram(ffffffff,00001000,00001000) => 20019000
Dcache: 512x32 WB
Icache: 512x32
arm920 rev 0 182MHz
alloc_ram(ffffffff,00001000,00001000) => 2001a000
alloc_ram(ffffffff,00001000,00001000) => 2001b000
alloc_ram(ffffffff,00001000,00001000) => 2001c000
alloc_ram(ffffffff,00003000,00001000) => 2001d000
add_mem(2,20009108,000ab248)
add_mem(3,20009108,00002620)
alloc_ram(ffffffff,00000848,00001000) => 20020000
add_mem(1,20020848,00093b08)
Header size=0x0000009c, Total Size=0x000004d8, #Cpu=1, Type=4
Section:system_private offset:0x000001d8 size:0x00000068
syspage ptr user:fc404000 kernel:fc404000
cpupage ptr user:fc404828 kernel:fc404828 spacing:32
kdebug info:00000000 callback:00000000
boot pgms: idx=0
0) base paddr:2000a000 start addr:fe01c60c
ramsize:02000000 pagesize:00001000
Section:qtime offset:0x00000148 size:0x00000048
boot:00000000 CPS:0000000001c9c380 rate/scale:3333333333/-17 intr:17
Section:callout offset:0x000000a0 size:0x00000048
reboot:fc404618 power:fc404638
timer_load:fc40464c reload:fc404684 value:fc40469c
0) display:fc4046b4 poll:fc4046d8 break:fc4046fc

  1. display:fc404714 poll:fc404738 break:fc40475c
    Section:cpuinfo offset:0x00000190 size:0x00000020
  2. cpu:41129200 flags:40000000 speed:000000b6 cache i/d:1/0 name:48
    Section:cacheattr offset:0x00000498 size:0x00000040
  3. flags:32 size:0020 #lines:0200 control:fc404514 next:255
  4. flags:11 size:0020 #lines:0200 control:fc40455c next:255
    Section:meminfo offset:0x00000240 size:0x00000060
    t:2 a:20009108 s:00016ef8 t:3 a:20009108 s:00002620 t:1 a:2000b728
    s:000088d8
    t:1 a:20020848 s:01fdf7b8
    Section:asinfo offset:0x00000338 size:0x00000120
  5. 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000
    n:21
  6. 0000000010000000-0000000012000000 o:0000 a:0005 p:100 c:00000000
    n:28
  7. 0000000030000000-0000000040000000 o:0000 a:0013 p:100 c:00000000
    n:34
  8. 0000000030000000-0000000040000000 o:0040 a:0003 p:100 c:00000000
    n:41
  9. 0000000020000000-0000000021ffffff o:0000 a:0017 p:100 c:00000000
    n:44
    00a0) 0000000020009108-00000000200b434f o:0000 a:0005 p:100 c:00000000
    n:55
    00c0) 0000000020009108-000000002000b727 o:0000 a:0007 p:100 c:00000000
    n:63
    00e0) 000000002000b728-0000000020013fff o:0080 a:0007 p:100 c:00000000
    n:71
  10. 0000000020020848-0000000021ffffff o:0080 a:0007 p:100 c:00000000
    n:71
    Section:hwinfo offset:0x00000310 size:0x00000028
  11. size:3 tag:3 isize:3, iname:0, owner:65535, kids:1
  12. size:3 tag:17 isize:3, iname:9, owner:0, kids:0
    Section:typed_strings offset:0x000002a0 size:0x00000020
    off:0 type:5 string:‘router’
    off:12 type:2 string:‘localhost’
    Section:strings offset:0x000002c0 size:0x00000050
    [0]‘hw’ [3]‘Group’ [9]‘unknown’ [17]‘Bus’ [21]‘memory’ [28]‘flash’
    [34]‘altera’ [41]‘io’ [44]‘ram’ [48]‘arm920’ [55]‘imagefs’ [63]‘bootram’
    [71]‘sysram’
    Section:intrinfo offset:0x00000458 size:0x00000040
  13. vector_base:00000000, #vectors:32, cascade_vector:7fffffff
    cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000
    id => flags:0000, size:002c, rtn:fc404580
    eoi => flags:1000, size:0024, rtn:fc4045ac
    mask:fc4045d0, unmask:fc4045f4, config:00000000
    Section:smp offset:0x000004d8 size:0x00000000
    Section:pminfo offset:0x000004d8 size:0x00000000
    Section:boxinfo offset:0x000001b0 size:0x00000028
    hw_flags:00000000
    Section:cpu offset:0x00000128 size:0x00000020
    page_flush:fc4044d8 page_flush_deferred:fc404510
    upte_ro:00000aae upte_rw:00000ffe
    kpte_ro:0000000e kpte_rw:0000055e
    mask_nc:0000000c

System page at phys:20020000 user:fc404000 kern:fc404000
Starting next program at vfe01c60c


Buildfile:

[image=0x20000000]
[ram=0x20000000]
[virtual=armle,binary] .bootstrap = {
…/scratch/armle/boot/sys/startup-router -K0xFFFFF200^0.115200.60000000
PATH=/proc/boot procnto -vvvvvvvvvvvvvvvv
}
[+script] .script = {

Initialise the console

display_msg “Neutrino starting…”

Start the main shell

[+session] ksh
}

Programs require the runtime linker (ldqnx.so) to be at a fixed location

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so

Shared libaries

libc.so

Use the “fat” embedded shell as the default shell

sh=fesh

Thanks for any help


David Green (> dgreen@qnx.com> )
QNX Software Systems Ltd.
http://www.qnx.com

David Green (dgreen@qnx.com)
QNX Software Systems Ltd.
http://www.qnx.com

Dave - it works (OMG, it’s alive)! Could you explain - why it don’t likes
address 0x20000000?
Thanks for help, anyway


Dave Green wrote:

Dave Green <> dgreen@qnx.com> > wrote:

Hi Artyom,

If you’re seeing messages from the kernel such as “timer isn’t running”,
or “Stop[0,0]”, then this tells me that your debug callouts are working,
since the kernel uses the same debug callouts for these messages as it
does for calls to ‘display_msg’. I see that in your build file, you’ve
got lots of -vvvv’s after procnto, but none after startup; display_msg
requires at least one -v after startup in order to work.

Whoops, I stand corrected; display_msg should display its output regardless
of how many -v’s are present after startup-*. I was thinking of startup debug
output, not kernel output.

Do you still see these messages if you remove the -K option to
startup-router?



Also, have you tried offsetting your [image=… ] from the start of
DRAM? For example, if your DRAM starts at 0x20000000, try:
[image=0x20100000]

Artyom Migaev <> migaev@telecard.com.ua> > wrote:
I have ARM920T CPU (Atmel’s AT91RM9200) based board with QNX6.2.1B.
After IPL & Satrtup done I can’t see kernel message (display_msg).

All my system registers (interrupt controller, debug uart, etc.) placed in
address space 0xFFFFF000 - 0xFFFFFFFF. Is there possibility that
kernel just can’t work with this addresses (they used in interrupt &
debug callouts)? I’ve seen posts on QNX.ORG.RU & OPENQNX.COM about some
bug in memory manager on QNX6.2 for ARM:



http://qnx.org.ru/index.php?option=com_minibb&action=vthread&forum=5&topic=3245
http://www.openqnx.com/PNphpBB2-viewtopic-t3191-.html

To people in QSSL - can you confirm or disprove this?

Below are Startup log & buildfile. Of course, maybe there’s mistake in
debug_callout code (AFAIK display_msg use callouts)… If I make special
mistake in interrupt_callout - “Stop[0,0]” message appears. If I make
mistake
in timer_callout - “Timer isn’t running message”. But mistakes in
debug_callout
don’t lead to any messages.

I can post my callouts if you need.

Log:

add_mem(1,20000000,02000000)
alloc_ram(20009108,00002620,00000001) => 20009108
add_mem(1,2000b728,01ff48d8)
alloc_ram(ffffffff,00008000,00001000) => 2000c000
add_mem(1,20014000,01fec000)
add_mem(1,2000c000,00008000)
alloc_ram(20000000,0000b728,00000001) => 20000000
alloc_ram(ffffffff,00004000,00004000) => 20014000
add_mem(1,20018000,01fe8000)
alloc_ram(ffffffff,00001000,00001000) => 20018000
alloc_ram(ffffffff,00001000,00001000) => 20019000
Dcache: 512x32 WB
Icache: 512x32
arm920 rev 0 182MHz
alloc_ram(ffffffff,00001000,00001000) => 2001a000
alloc_ram(ffffffff,00001000,00001000) => 2001b000
alloc_ram(ffffffff,00001000,00001000) => 2001c000
alloc_ram(ffffffff,00003000,00001000) => 2001d000
add_mem(2,20009108,000ab248)
add_mem(3,20009108,00002620)
alloc_ram(ffffffff,00000848,00001000) => 20020000
add_mem(1,20020848,00093b08)
Header size=0x0000009c, Total Size=0x000004d8, #Cpu=1, Type=4
Section:system_private offset:0x000001d8 size:0x00000068
syspage ptr user:fc404000 kernel:fc404000
cpupage ptr user:fc404828 kernel:fc404828 spacing:32
kdebug info:00000000 callback:00000000
boot pgms: idx=0
0) base paddr:2000a000 start addr:fe01c60c
ramsize:02000000 pagesize:00001000
Section:qtime offset:0x00000148 size:0x00000048
boot:00000000 CPS:0000000001c9c380 rate/scale:3333333333/-17 intr:17
Section:callout offset:0x000000a0 size:0x00000048
reboot:fc404618 power:fc404638
timer_load:fc40464c reload:fc404684 value:fc40469c
0) display:fc4046b4 poll:fc4046d8 break:fc4046fc

  1. display:fc404714 poll:fc404738 break:fc40475c
    Section:cpuinfo offset:0x00000190 size:0x00000020
  2. cpu:41129200 flags:40000000 speed:000000b6 cache i/d:1/0 name:48
    Section:cacheattr offset:0x00000498 size:0x00000040
  3. flags:32 size:0020 #lines:0200 control:fc404514 next:255
  4. flags:11 size:0020 #lines:0200 control:fc40455c next:255
    Section:meminfo offset:0x00000240 size:0x00000060
    t:2 a:20009108 s:00016ef8 t:3 a:20009108 s:00002620 t:1 a:2000b728
    s:000088d8
    t:1 a:20020848 s:01fdf7b8
    Section:asinfo offset:0x00000338 size:0x00000120
  5. 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000
    n:21
  6. 0000000010000000-0000000012000000 o:0000 a:0005 p:100 c:00000000
    n:28
  7. 0000000030000000-0000000040000000 o:0000 a:0013 p:100 c:00000000
    n:34
  8. 0000000030000000-0000000040000000 o:0040 a:0003 p:100 c:00000000
    n:41
  9. 0000000020000000-0000000021ffffff o:0000 a:0017 p:100 c:00000000
    n:44
    00a0) 0000000020009108-00000000200b434f o:0000 a:0005 p:100 c:00000000
    n:55
    00c0) 0000000020009108-000000002000b727 o:0000 a:0007 p:100 c:00000000
    n:63
    00e0) 000000002000b728-0000000020013fff o:0080 a:0007 p:100 c:00000000
    n:71
  10. 0000000020020848-0000000021ffffff o:0080 a:0007 p:100 c:00000000
    n:71
    Section:hwinfo offset:0x00000310 size:0x00000028
  11. size:3 tag:3 isize:3, iname:0, owner:65535, kids:1
  12. size:3 tag:17 isize:3, iname:9, owner:0, kids:0
    Section:typed_strings offset:0x000002a0 size:0x00000020
    off:0 type:5 string:‘router’
    off:12 type:2 string:‘localhost’
    Section:strings offset:0x000002c0 size:0x00000050
    [0]‘hw’ [3]‘Group’ [9]‘unknown’ [17]‘Bus’ [21]‘memory’ [28]‘flash’
    [34]‘altera’ [41]‘io’ [44]‘ram’ [48]‘arm920’ [55]‘imagefs’ [63]‘bootram’
    [71]‘sysram’
    Section:intrinfo offset:0x00000458 size:0x00000040
  13. vector_base:00000000, #vectors:32, cascade_vector:7fffffff
    cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000
    id => flags:0000, size:002c, rtn:fc404580
    eoi => flags:1000, size:0024, rtn:fc4045ac
    mask:fc4045d0, unmask:fc4045f4, config:00000000
    Section:smp offset:0x000004d8 size:0x00000000
    Section:pminfo offset:0x000004d8 size:0x00000000
    Section:boxinfo offset:0x000001b0 size:0x00000028
    hw_flags:00000000
    Section:cpu offset:0x00000128 size:0x00000020
    page_flush:fc4044d8 page_flush_deferred:fc404510
    upte_ro:00000aae upte_rw:00000ffe
    kpte_ro:0000000e kpte_rw:0000055e
    mask_nc:0000000c

System page at phys:20020000 user:fc404000 kern:fc404000
Starting next program at vfe01c60c


Buildfile:

[image=0x20000000]
[ram=0x20000000]
[virtual=armle,binary] .bootstrap = {
…/scratch/armle/boot/sys/startup-router
-K0xFFFFF200^0.115200.60000000
PATH=/proc/boot procnto -vvvvvvvvvvvvvvvv
}
[+script] .script = {

Initialise the console

display_msg “Neutrino starting…”

Start the main shell

[+session] ksh
}

Programs require the runtime linker (ldqnx.so) to be at a fixed location

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so

Shared libaries

libc.so

Use the “fat” embedded shell as the default shell

sh=fesh

Thanks for any help


David Green (> dgreen@qnx.com> )
QNX Software Systems Ltd.
http://www.qnx.com

David Green (> dgreen@qnx.com> )
QNX Software Systems Ltd.
http://www.qnx.com

Artyom Migaev <migaev@telecard.com.ua> wrote:

Dave - it works (OMG, it’s alive)! Could you explain - why it don’t likes
address 0x20000000?
Thanks for help, anyway

You mentioned an IPL… the image address shouldn’t overlap DRAM that was
used by the IPL (as specified in the IPLs .lnk file). Also, some platforms
(PowerPC, for example) use an area at the beginning of DRAM for exception vector
code.

Dave Green wrote:

Dave Green <> dgreen@qnx.com> > wrote:

Hi Artyom,

If you’re seeing messages from the kernel such as “timer isn’t running”,
or “Stop[0,0]”, then this tells me that your debug callouts are working,
since the kernel uses the same debug callouts for these messages as it
does for calls to ‘display_msg’. I see that in your build file, you’ve
got lots of -vvvv’s after procnto, but none after startup; display_msg
requires at least one -v after startup in order to work.

Whoops, I stand corrected; display_msg should display its output regardless
of how many -v’s are present after startup-*. I was thinking of startup debug
output, not kernel output.

Do you still see these messages if you remove the -K option to
startup-router?

Also, have you tried offsetting your [image=… ] from the start of
DRAM? For example, if your DRAM starts at 0x20000000, try:
[image=0x20100000]

Artyom Migaev <> migaev@telecard.com.ua> > wrote:
I have ARM920T CPU (Atmel’s AT91RM9200) based board with QNX6.2.1B.
After IPL & Satrtup done I can’t see kernel message (display_msg).

All my system registers (interrupt controller, debug uart, etc.) placed in
address space 0xFFFFF000 - 0xFFFFFFFF. Is there possibility that
kernel just can’t work with this addresses (they used in interrupt &
debug callouts)? I’ve seen posts on QNX.ORG.RU & OPENQNX.COM about some
bug in memory manager on QNX6.2 for ARM:



http://qnx.org.ru/index.php?option=com_minibb&action=vthread&forum=5&topic=3245
http://www.openqnx.com/PNphpBB2-viewtopic-t3191-.html

To people in QSSL - can you confirm or disprove this?

Below are Startup log & buildfile. Of course, maybe there’s mistake in
debug_callout code (AFAIK display_msg use callouts)… If I make special
mistake in interrupt_callout - “Stop[0,0]” message appears. If I make
mistake
in timer_callout - “Timer isn’t running message”. But mistakes in
debug_callout
don’t lead to any messages.

I can post my callouts if you need.

Log:

add_mem(1,20000000,02000000)
alloc_ram(20009108,00002620,00000001) => 20009108
add_mem(1,2000b728,01ff48d8)
alloc_ram(ffffffff,00008000,00001000) => 2000c000
add_mem(1,20014000,01fec000)
add_mem(1,2000c000,00008000)
alloc_ram(20000000,0000b728,00000001) => 20000000
alloc_ram(ffffffff,00004000,00004000) => 20014000
add_mem(1,20018000,01fe8000)
alloc_ram(ffffffff,00001000,00001000) => 20018000
alloc_ram(ffffffff,00001000,00001000) => 20019000
Dcache: 512x32 WB
Icache: 512x32
arm920 rev 0 182MHz
alloc_ram(ffffffff,00001000,00001000) => 2001a000
alloc_ram(ffffffff,00001000,00001000) => 2001b000
alloc_ram(ffffffff,00001000,00001000) => 2001c000
alloc_ram(ffffffff,00003000,00001000) => 2001d000
add_mem(2,20009108,000ab248)
add_mem(3,20009108,00002620)
alloc_ram(ffffffff,00000848,00001000) => 20020000
add_mem(1,20020848,00093b08)
Header size=0x0000009c, Total Size=0x000004d8, #Cpu=1, Type=4
Section:system_private offset:0x000001d8 size:0x00000068
syspage ptr user:fc404000 kernel:fc404000
cpupage ptr user:fc404828 kernel:fc404828 spacing:32
kdebug info:00000000 callback:00000000
boot pgms: idx=0
0) base paddr:2000a000 start addr:fe01c60c
ramsize:02000000 pagesize:00001000
Section:qtime offset:0x00000148 size:0x00000048
boot:00000000 CPS:0000000001c9c380 rate/scale:3333333333/-17 intr:17
Section:callout offset:0x000000a0 size:0x00000048
reboot:fc404618 power:fc404638
timer_load:fc40464c reload:fc404684 value:fc40469c
0) display:fc4046b4 poll:fc4046d8 break:fc4046fc

  1. display:fc404714 poll:fc404738 break:fc40475c
    Section:cpuinfo offset:0x00000190 size:0x00000020
  2. cpu:41129200 flags:40000000 speed:000000b6 cache i/d:1/0 name:48
    Section:cacheattr offset:0x00000498 size:0x00000040
  3. flags:32 size:0020 #lines:0200 control:fc404514 next:255
  4. flags:11 size:0020 #lines:0200 control:fc40455c next:255
    Section:meminfo offset:0x00000240 size:0x00000060
    t:2 a:20009108 s:00016ef8 t:3 a:20009108 s:00002620 t:1 a:2000b728
    s:000088d8
    t:1 a:20020848 s:01fdf7b8
    Section:asinfo offset:0x00000338 size:0x00000120
  5. 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000
    n:21
  6. 0000000010000000-0000000012000000 o:0000 a:0005 p:100 c:00000000
    n:28
  7. 0000000030000000-0000000040000000 o:0000 a:0013 p:100 c:00000000
    n:34
  8. 0000000030000000-0000000040000000 o:0040 a:0003 p:100 c:00000000
    n:41
  9. 0000000020000000-0000000021ffffff o:0000 a:0017 p:100 c:00000000
    n:44
    00a0) 0000000020009108-00000000200b434f o:0000 a:0005 p:100 c:00000000
    n:55
    00c0) 0000000020009108-000000002000b727 o:0000 a:0007 p:100 c:00000000
    n:63
    00e0) 000000002000b728-0000000020013fff o:0080 a:0007 p:100 c:00000000
    n:71
  10. 0000000020020848-0000000021ffffff o:0080 a:0007 p:100 c:00000000
    n:71
    Section:hwinfo offset:0x00000310 size:0x00000028
  11. size:3 tag:3 isize:3, iname:0, owner:65535, kids:1
  12. size:3 tag:17 isize:3, iname:9, owner:0, kids:0
    Section:typed_strings offset:0x000002a0 size:0x00000020
    off:0 type:5 string:‘router’
    off:12 type:2 string:‘localhost’
    Section:strings offset:0x000002c0 size:0x00000050
    [0]‘hw’ [3]‘Group’ [9]‘unknown’ [17]‘Bus’ [21]‘memory’ [28]‘flash’
    [34]‘altera’ [41]‘io’ [44]‘ram’ [48]‘arm920’ [55]‘imagefs’ [63]‘bootram’
    [71]‘sysram’
    Section:intrinfo offset:0x00000458 size:0x00000040
  13. vector_base:00000000, #vectors:32, cascade_vector:7fffffff
    cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000
    id => flags:0000, size:002c, rtn:fc404580
    eoi => flags:1000, size:0024, rtn:fc4045ac
    mask:fc4045d0, unmask:fc4045f4, config:00000000
    Section:smp offset:0x000004d8 size:0x00000000
    Section:pminfo offset:0x000004d8 size:0x00000000
    Section:boxinfo offset:0x000001b0 size:0x00000028
    hw_flags:00000000
    Section:cpu offset:0x00000128 size:0x00000020
    page_flush:fc4044d8 page_flush_deferred:fc404510
    upte_ro:00000aae upte_rw:00000ffe
    kpte_ro:0000000e kpte_rw:0000055e
    mask_nc:0000000c

System page at phys:20020000 user:fc404000 kern:fc404000
Starting next program at vfe01c60c


Buildfile:

[image=0x20000000]
[ram=0x20000000]
[virtual=armle,binary] .bootstrap = {
…/scratch/armle/boot/sys/startup-router
-K0xFFFFF200^0.115200.60000000
PATH=/proc/boot procnto -vvvvvvvvvvvvvvvv
}
[+script] .script = {

Initialise the console

display_msg “Neutrino starting…”

Start the main shell

[+session] ksh
}

Programs require the runtime linker (ldqnx.so) to be at a fixed location

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so

Shared libaries

libc.so

Use the “fat” embedded shell as the default shell

sh=fesh

Thanks for any help


David Green (> dgreen@qnx.com> )
QNX Software Systems Ltd.
http://www.qnx.com

David Green (> dgreen@qnx.com> )
QNX Software Systems Ltd.
http://www.qnx.com



David Green (dgreen@qnx.com)
QNX Software Systems Ltd.
http://www.qnx.com