problem when read internal memory
Alan Wang
wung_y at sina.com
Thu Apr 12 11:39:14 EST 2001
Daris,
thank you for ur suggestion. yes, i have the loader set the IMMR as 0xff000000 too.
and i don't think the machine check exception is caused by TLB problem. If the tlb
entry mapping internal memory doesn't exist, it's a data tlb missing exception. If the
operation violates the storage protection, i think a tlb error exception should be
generated.
i found that when access a physical addr that doesn't exist will cause a MC exception.
some other reasons to cause MC are in term of bus error. and more? Thx.
A.W.
-----Original Message-----
From: Daris A Nevil [mailto:dnevil at snmc.com]
Sent: Thursday, April 12, 2001 1:07 AM
To: Alan Wang
Cc: Linuxppc-EmbeddedMaillist
Subject: Re: problem when read internal memory
Alan,
It sounds as though you have already changed the value of IMAP_ADDR in
the header file for your specific board (found in linux/include/asm).
You must also make sure that your processor's boot code sets the IMMR
register to this same value before booting the Linux kernel. Your boot
code should also setup an MMU entry for the IMMR's address by writing to
the MD_EPN register (MMU Data Effective Page Number Reg) of the PPC.
For an example of how this is done you can refer to the boot code for
the QS850 (MPC850-based board). The source is located at
ftp://qslinux.org. Once you uncompress the tarball you can go to
snmc/qslinux/qs850boot and view the file init_qs850.s. Hope this helps.
Regards,
Daris Nevil
SNMC
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list