I've traced the problem down to arch/ppc/mm/hashtable.S. When
there is a page fault, the function hash_page gets called. This does
some hashing and writes the hash values into a table located at
0xc0180000. That is the default value, before patching. These writes are
what is corrupting the linux kernel, because they are on top of linux
itself.
In arch/ppc/mm/ppc_mmu.c the function MMU_init_hw is called, but
since the 8260 doesn't have the CPU_FTR_HPTE_TABLE feature, the
hash table is never allocated and the hash_page_patch_* never get updated.
Turning on the CPU_FTR_HPTE_TABLE for the 8260 doesn't fix the problem.
I'm out of my depth here. This is a bug in linux, I know that much. But I
don't know what is supposed to happen during a page fault. So I need help
in resolving this.
Thanks--
Dave
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
David Ashley wrote:
I've traced the problem down to arch/ppc/mm/hashtable.S. When
there is a page fault, the function hash_page gets called.
In the case of a 603 core, hash_page is called for DSI (Data Access)
faults. However, if the feature indicates there is no HPTE, the
hash_page function is patched to simply return. You can't look at
the code in hashtable.S and know how it is going to work for a particular
implementation because it is patched at initialization to change
it's behavior.
.....This does
some hashing and writes the hash values into a table located at
0xc0180000.
When your kernel boots, does it print a message to indicate it has allocated
a hash table?
In arch/ppc/mm/ppc_mmu.c the function MMU_init_hw is called, but
since the 8260 doesn't have the CPU_FTR_HPTE_TABLE feature, the
hash table is never allocated and the hash_page_patch_* never get updated.
Oh, I just looked at a variety of different versions back to 2.4.11, and it
is patched just as I described above.
-- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Hi all,
could anyone tell me where can I find a gdbserver that
works with mpc8xx processor? Where can I find sources
that compiles for 8xx?
I have already tried with mvista HHL2.0 Journeyman
edition but I got something like:
#gdbserver :7777 /bin/test
Process /bin/test created; pid = 48
getprotobyname:Sucess.
Exiting
#
What could be wrong? Any tip will be very appreciate.
Thanks in advance,
Owen.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
On Wed, 27 Feb 2002, Owen Green wrote:
Hi all,
could anyone tell me where can I find a gdbserver that
works with mpc8xx processor? Where can I find sources
that compiles for 8xx?
I have already tried with mvista HHL2.0 Journeyman
edition but I got something like:
#gdbserver :7777 /bin/test
Process /bin/test created; pid = 48
getprotobyname:Sucess.
Exiting
#
What could be wrong? Any tip will be very appreciate.
just copy /etc/protocols from whatever distro you like. Bye!
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
--- Christian Pellegrin <chri@infis.univ.trieste.it>
wrote:
On Wed, 27 Feb 2002, Owen Green wrote:
quoted
edition but I got something like:
#gdbserver :7777 /bin/test
Process /bin/test created; pid = 48
getprotobyname:Sucess.
Exiting
#
just copy /etc/protocols from whatever distro you
like. Bye!
This did not work, I got the getprotobyname: Sucess,
what means my /etc/protocols have the entry for tcp.
Thanks anyway.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/