8260 IMMR

Hi

I am trying to move the IMMR register on a 8266 based board. (Right now
usign a 8260ADS while waiting for hardware)

In the board files for the 8260ads, the IMR register is defined to be at
0x30000000. I want to move this to 0xF0000000 (or something similar)

Reason is that our custom board haas 1GB of ram, and that overlaps the IMMR
register. Problem is that every time I change the IMMR definition, the
kernel causes a bus exception. The only configuration it works on is
0x30000000.

I found defines for it in include/ppc/8260cpu.h, and in several asmoff.def
files. Is is hardcoded any places I have missed?

BTW. I am using u-boot as a boot loader, and have no problems changig the
IMMR there before booting QNX.

Hi Rune,


You’ll need to change the following line in the init_asinfo.c
file (startup-8260ads):

from →

as_add(PPC8260_IMMR_ISB_DEFAULT, PPC8260_IMMR_ISB_DEFAULT+0x07ffffff,
AS_ATTR_DEV,“kernel_device”,mem);

to →

as_add(0xf0000000,0xf7ffffff,AS_ATTR_DEV,“kernel_device”,mem);

Where PPC8260_IMMR_ISB_DEFAULT is 0x30000000.


Rune Torgersen <runet@innovsys.com> wrote:

Hi

I am trying to move the IMMR register on a 8266 based board. (Right now
usign a 8260ADS while waiting for hardware)

In the board files for the 8260ads, the IMR register is defined to be at
0x30000000. I want to move this to 0xF0000000 (or something similar)

Reason is that our custom board haas 1GB of ram, and that overlaps the IMMR
register. Problem is that every time I change the IMMR definition, the
kernel causes a bus exception. The only configuration it works on is
0x30000000.

I found defines for it in include/ppc/8260cpu.h, and in several asmoff.def
files. Is is hardcoded any places I have missed?

BTW. I am using u-boot as a boot loader, and have no problems changig the
IMMR there before booting QNX.

Wouldn’t changing the constant PPC8260_IMMR_ISB_DEFAULT to 0xf0000000 do the
same?
(which is what I’ve tried and that fails)


“John Wall” <jwall@qnx.com> wrote in message
news:baivuk$ps5$1@nntp.qnx.com

You’ll need to change the following line in the init_asinfo.c
file (startup-8260ads):

from –

as_add(PPC8260_IMMR_ISB_DEFAULT, PPC8260_IMMR_ISB_DEFAULT+0x07ffffff,
AS_ATTR_DEV,“kernel_device”,mem);

to –

as_add(0xf0000000,0xf7ffffff,AS_ATTR_DEV,“kernel_device”,mem);

Rune Torgersen <runet@innovsys.com> wrote:

Wouldn’t changing the constant PPC8260_IMMR_ISB_DEFAULT to 0xf0000000 do the
same?
(which is what I’ve tried and that fails)

Yes, I must have missed this from your posting. Changing this and
the IPL should be all that is needed.


John

“John Wall” <> jwall@qnx.com> > wrote in message
news:baivuk$ps5$> 1@nntp.qnx.com> …
You’ll need to change the following line in the init_asinfo.c
file (startup-8260ads):

from –

as_add(PPC8260_IMMR_ISB_DEFAULT, PPC8260_IMMR_ISB_DEFAULT+0x07ffffff,
AS_ATTR_DEV,“kernel_device”,mem);

to –

as_add(0xf0000000,0xf7ffffff,AS_ATTR_DEV,“kernel_device”,mem);