QNX621 kernel for PPC405GPR?

Hello,
is it possible to get a QNX 621 kernel for PPC405GPR ? Using the kernel from
walnut BSP did not support this processor. I have alread modified startup
lib which is working now, and now the kernel comes up with that error
message:

Starting application at 0x00031a04 …

Processor type 0x5091 (405) not supported by kernel.
Crash[0,0] at init_cpu line 178.

For cross checking problems with devb-eide on a PPC405/PPC405GPR board and
QNX621/630 I need this to clear if the problem is hardware or QNX version.
Thanks for support,
Regards, Werner

Werner Benz <werner.benz@ndt-ag.de> wrote:

Hello,
is it possible to get a QNX 621 kernel for PPC405GPR ? Using the kernel from
walnut BSP did not support this processor. I have alread modified startup
lib which is working now, and now the kernel comes up with that error
message:

Starting application at 0x00031a04 …

Processor type 0x5091 (405) not supported by kernel.
Crash[0,0] at init_cpu line 178.

For cross checking problems with devb-eide on a PPC405/PPC405GPR board and
QNX621/630 I need this to clear if the problem is hardware or QNX version.
Thanks for support,
Regards, Werner

How exactly have you modified the startup lib? Have you put in a ker->pretend_cpu
entry in init_cpuinfo.c?

If not, that’s likely what needs to be done. Copy init_cpuinfo.c from the ppc
startup library to your local board directory, and put in an entry similar to
the following (after the PPC405 entry):

case PPC_405:
name = “405”;

cpu->data_cache = add_cache(system_dcache_idx,
CACHE_FLAG_DATA | CACHE_FLAG_WRITEBACK,
32,
256,
&cache_dppc);
cpu->ins_cache = add_cache(system_icache_idx,
CACHE_FLAG_INSTR,
32,
512,
&cache_ippc);

if(!ppc400_virtual_supported()) virt = 0;
break;

case 0x5091:
name = “405GPr”;

cpu->data_cache = add_cache(system_dcache_idx,
CACHE_FLAG_DATA | CACHE_FLAG_WRITEBACK,
32,
512,
&cache_dppc);
cpu->ins_cache = add_cache(system_icache_idx,
CACHE_FLAG_INSTR,
32,
512,
&cache_ippc);

if(!ppc400_virtual_supported()) virt = 0;
ker->pretend_cpu = 0x401100c4; // pretend we’re a regular 405
break;

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

Hi Dave,
thanks for such quick help! Now it’s working fine.
Regards,
Werner

“Dave Green” <dgreen@qnx.com> schrieb im Newsbeitrag
news:chmve0$pk0$1@inn.qnx.com

Werner Benz <> werner.benz@ndt-ag.de> > wrote:
Hello,
is it possible to get a QNX 621 kernel for PPC405GPR ? Using the kernel
from
walnut BSP did not support this processor. I have alread modified
startup
lib which is working now, and now the kernel comes up with that error
message:

Starting application at 0x00031a04 …

Processor type 0x5091 (405) not supported by kernel.
Crash[0,0] at init_cpu line 178.

For cross checking problems with devb-eide on a PPC405/PPC405GPR board
and
QNX621/630 I need this to clear if the problem is hardware or QNX
version.
Thanks for support,
Regards, Werner

How exactly have you modified the startup lib? Have you put in a
ker->pretend_cpu
entry in init_cpuinfo.c?

If not, that’s likely what needs to be done. Copy init_cpuinfo.c from the
ppc
startup library to your local board directory, and put in an entry similar
to
the following (after the PPC405 entry):

case PPC_405:
name = “405”;

cpu->data_cache = add_cache(system_dcache_idx,
CACHE_FLAG_DATA | CACHE_FLAG_WRITEBACK,
32,
256,
&cache_dppc);
cpu->ins_cache = add_cache(system_icache_idx,
CACHE_FLAG_INSTR,
32,
512,
&cache_ippc);

if(!ppc400_virtual_supported()) virt = 0;
break;

case 0x5091:
name = “405GPr”;

cpu->data_cache = add_cache(system_dcache_idx,
CACHE_FLAG_DATA | CACHE_FLAG_WRITEBACK,
32,
512,
&cache_dppc);
cpu->ins_cache = add_cache(system_icache_idx,
CACHE_FLAG_INSTR,
32,
512,
&cache_ippc);

if(!ppc400_virtual_supported()) virt = 0;
ker->pretend_cpu = 0x401100c4; // pretend we’re a regular 405
break;

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