[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] The one cycle access to LMB
Hi Alejandro,
alucero@xxxxxxxxx wrote:
> Is there anyone working with code placed at LMB?
Not that I am aware of.
> However there is not any action to put code at LMB.
> I'm trying to put the irq code from entry.S to LMB. For avoiding a big binary
> file I have created a new section including all the irq code with export
> symbols for irqcode_start and irqcode_end. At machine.c in mach_early_init I
> haved added code to copy the irq routines to LMB address using the
> irqcode_end mark and the CONFIG_XILINX_LMB_START address.
>
> This works, but there's "someone" modifying specific addressed at LMB after I
> have copied the code. I check it just after my copy routine and the code has
> been copied perfectly. I have looked for kernel code doing some kind of
> access to this memory, but I did not find it.
Apart from the existing code in mach_early_init, which copies the
interrupt vectors, there should be no other accesses into LMB.
What are these "specific addresses"? Do they correspond to the .org
directives in arch/microblaze/kernel/intv.S?
You might need to add another symbol in the link script that sits above
the IRQ/exception table, say at 0x80, then have the irq routines copied
to that address.
If you are using XMD/MDM, try setting a HW write breakpoint at one of
the corrupted addresses, and set the kernel running. You might be able
to trap the offending instruction this way.
Regards,
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/