Athlon/VIA Kernel Experimentation (mmx.c)

From: Seth Goldberg (bergsoft@home.com)
Date: Fri May 04 2001 - 04:54:01 EST


Hi,

  I implemented a small check loop at the end of the fast_page_copy
routine in mmx.c for the Athlon. Booting the resulting kernel
yields an interesting result. Every single time, the kernel
panics RIGHT AFTER it frees unused kernel memory from bootup.
I encourage those of you with the same problem to try this and report
when it panics.

Here is my patch to mmx.c: (sorry about the long lines)
-----------------------------------------------------cut here
diff -r linux-ref/arch/i386/lib/mmx.c linux/arch/i386/lib/mmx.c
204a205,216
>
> {
> register int x = 0;
> /* do mem compares to ensure written == read */
> for ( /* initted above */; x < (4096/sizeof(int)); x++ )
> {
> if ( ((int *)to)[x] != ((int *)from)[x] ) {
> panic("fast_page_copy: dest value @ 0x%lx (%x) does not equal source value @ %lx (%x)!\n",
> (long) to, ((int *)to)[x], (long) from, ((int *) from)[x] );
> }
> }
> }
-----------------------------------------------------cut here

  Wouldn't it be correct to say that because it is panicking, the
page copy was not completed properly? If that is so, the next step
is to find out why this copy is not working properly...

For me the output is:

...
Freeing unused kernel memory: 188k freed
Kernel panic: fast_page_copy: dest value @ 0xcfed1000 (39312036) does
not equal source value @ cfed4000(79005b)!

--------

It is interesting to note that these addresses are page aligned, meaning
that the copy of even
the first byte failed!

 --Seth
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:19 EST