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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to