
In message 20040706102730.B25870@cucy.com you wrote:
I have a question about relocating the exception vectors for the ARM platform. I am working with cpu/arm720t/start.S and want to use
...
Now the exception vectors are sitting in SRAM @ 0x007d0000 and in flash @ 0x0100000 -- if I want to use interrupts, however, the exception vectors need to be in SRAM at address 0x0.
This is one of the areas where the old ARMBoot code hits us hard. They never implemented the relocation correctly.
Currently I have added an additional relocation step to start.S that explicitly copies the vectors from flash to 0x0 (in SRAM) if TEXT_BASE is not equal 0x0 (if TEXT_BASE is equal to 0x0 there is no problem).
Please submit a patch.
Question: Is start.S the correct place to put this, perhaps bracketed
Yes, it is. See function trap_init() [in cpu/*/start.S] as used in PowerPC systems. trap_init() should be called from board_init_r().
with "#ifdef CONFIG_USE_IRQ/#endif"? It seems like a global problem
No.
that all arm720t boards that use interrupts would have. Or is memsetup.S a better place for this?
No.
Best regards,
Wolfgang Denk