[lkml]   [2001]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectAthlon/VIA Kernel Experimentation (mmx.c)

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
> {
> 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!

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:52    [W:0.052 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site