Hi, Is it necessary that scanmsr.c always starts scanning from 0x00000000, since we only care MSRs after 0xc0000000. If it makes no difference, here is a msr patch for K7 system with 1x64 memory. Thanks.
-Andrew -- Andrew Ip Email: [EMAIL PROTECTED] Tel: (852) 2542 2046 Fax: (852) 2542 2046 Mobile: (852) 9201 9866 Cwlinux Limited 18B Tower 1 Tern Centre, 237 Queen's Road Central, Hong Kong.
diff -Nur freebios/src/cpu/k7/cpufixup.c freebios-msr-1x64/src/cpu/k7/cpufixup.c --- freebios/src/cpu/k7/cpufixup.c Sat Nov 3 04:15:29 2001 +++ freebios-msr-1x64/src/cpu/k7/cpufixup.c Tue Feb 5 00:57:01 2002 @@ -23,10 +23,51 @@ }; // the pattern is: -// 1x128 2x128, 0x1x256, 0x2x256, 128+256, 0x256+128 -char *fixit[] = {"1x128", "2x128", "1x256", "2x256", +// 1x64, 1x128, 2x128, 0x1x256, 0x2x256, 128+256, 0x256+128 +char *fixit[] = {"1x64", "1x128", "2x128", "1x256", "2x256", "128+256", "256+128"}; -struct msrval fixmsr[6][40] = { +struct msrval fixmsr[7][40] = { + { + {0xc0000080, 0x00000000, 0x00000000}, + {0xc0000081, 0x00000000, 0x00000000}, + {0xc0010000, 0xf89c7fef, 0x00000000}, + {0xc0010001, 0x5f97ccbf, 0x00000000}, + {0xc0010002, 0xff9fc3ff, 0x00000000}, + {0xc0010003, 0xf999be7f, 0x00000000}, + {0xc0010004, 0xdde3fcf9, 0x00006f27}, + {0xc0010005, 0x7ffe9fcf, 0x0000fd5f}, + {0xc0010006, 0xc61f8ff9, 0x00000000}, + {0xc0010007, 0xff770f3f, 0x00005b3f}, + {0xc0010010, 0x00160601, 0x00000000}, + {0xc0010015, 0x0b001008, 0x00000000}, + {0xc0010016, 0x00000000, 0x00000000}, + {0xc0010017, 0x00000000, 0x00000000}, + {0xc0010018, 0xd8000018, 0x00000000}, + {0xc0010019, 0xfc000800, 0x0000000f}, + {0xc001001a, 0x03800000, 0x00000000}, + {0xc001001b, 0xfff49223, 0x00000000}, + {0xc001001d, 0x16000000, 0x00000000}, + {0xc0010030, 0x20444d41, 0x6c687441}, + {0xc0010031, 0x74286e6f, 0x5020296d}, + {0xc0010032, 0x65636f72, 0x726f7373}, + {0xc0010033, 0x00000000, 0x00000000}, + {0xc0010034, 0x00000000, 0x00000000}, + {0xc0010035, 0x00000000, 0x00000000}, + {0xc0010100, 0xfc000000, 0x00000000}, + {0xc0010101, 0x00000000, 0x00000000}, + {0xc0010102, 0xf8000000, 0x00000000}, + {0xc0010103, 0xf8000000, 0x00000000}, + {0xc0010104, 0x00000011, 0x00000000}, + {0xc0010105, 0x00050002, 0x00000000}, + {0xc0010106, 0x00050002, 0x00000000}, + {0xc0010111, 0x000b0000, 0x00000000}, + {0xc0010112, 0x00000000, 0x00000000}, + {0xc0010113, 0x00000001, 0x00000000}, + {0xc0010114, 0xffffffff, 0xc010f9c0}, + {0xc0010115, 0xffffffff, 0xffffffff}, + {0xc0010116, 0x00000027, 0xc010f9c0}, + {0xc0010117, 0x00000027, 0x00000027}, + {0,0,0}}, { {0xc0000080, 0x00000000, 0x00000000}, {0xc0000081, 0x00000000, 0x00000000}, @@ -301,9 +342,10 @@ int offset; // the pattern is: -// 1x128 2x128, 1x256, 0x2x256, 128+256, 0x256+128 +// 1x64, 1x128, 2x128, 1x256, 0x2x256, 128+256, 0x256+128 struct dimmindex {int dimm1sizeM, dimm2sizeM;}; struct dimmindex dimms[] = { + {64, 0}, {128, 0}, {128, 128}, {256, 0}, diff -Nur freebios/util/k7msr/fixmsr.c freebios-msr-1x64/util/k7msr/fixmsr.c --- freebios/util/k7msr/fixmsr.c Sat Nov 3 02:14:09 2001 +++ freebios-msr-1x64/util/k7msr/fixmsr.c Tue Feb 5 00:58:39 2002 @@ -10,10 +10,51 @@ }; // the pattern is: -// 1x128 2x128, 0x1x256, 0x2x256, 128+256, 0x256+128 -char *fixit[] = {"1x128", "2x128", "1x256", "2x256", +// 1x64, 1x128 2x128, 0x1x256, 0x2x256, 128+256, 0x256+128 +char *fixit[] = {"1x64", "1x128", "2x128", "1x256", "2x256", "128+256", "256+128"}; -struct msrval fixmsr[6][40] = { +struct msrval fixmsr[7][40] = { + { +0xc0000080, 0x00000000, 0x00000000, +0xc0000081, 0x00000000, 0x00000000, +0xc0010000, 0xf89c7fef, 0x00000000, +0xc0010001, 0x5f97ccbf, 0x00000000, +0xc0010002, 0xff9fc3ff, 0x00000000, +0xc0010003, 0xf999be7f, 0x00000000, +0xc0010004, 0xdde3fcf9, 0x00006f27, +0xc0010005, 0x7ffe9fcf, 0x0000fd5f, +0xc0010006, 0xc61f8ff9, 0x00000000, +0xc0010007, 0xff770f3f, 0x00005b3f, +0xc0010010, 0x00160601, 0x00000000, +0xc0010015, 0x0b001008, 0x00000000, +0xc0010016, 0x00000000, 0x00000000, +0xc0010017, 0x00000000, 0x00000000, +0xc0010018, 0xd8000018, 0x00000000, +0xc0010019, 0xfc000800, 0x0000000f, +0xc001001a, 0x03800000, 0x00000000, +0xc001001b, 0xfff49223, 0x00000000, +0xc001001d, 0x16000000, 0x00000000, +0xc0010030, 0x20444d41, 0x6c687441, +0xc0010031, 0x74286e6f, 0x5020296d, +0xc0010032, 0x65636f72, 0x726f7373, +0xc0010033, 0x00000000, 0x00000000, +0xc0010034, 0x00000000, 0x00000000, +0xc0010035, 0x00000000, 0x00000000, +0xc0010100, 0xfc000000, 0x00000000, +0xc0010101, 0x00000000, 0x00000000, +0xc0010102, 0xf8000000, 0x00000000, +0xc0010103, 0xf8000000, 0x00000000, +0xc0010104, 0x00000011, 0x00000000, +0xc0010105, 0x00050002, 0x00000000, +0xc0010106, 0x00050002, 0x00000000, +0xc0010111, 0x000b0000, 0x00000000, +0xc0010112, 0x00000000, 0x00000000, +0xc0010113, 0x00000001, 0x00000000, +0xc0010114, 0xffffffff, 0xc010f9c0, +0xc0010115, 0xffffffff, 0xffffffff, +0xc0010116, 0x00000027, 0xc010f9c0, +0xc0010117, 0x00000027, 0x00000027, + 0,0,0}, { 0xc0000080, 0x00000000, 0x00000000, 0xc0000081, 0x00000000, 0x00000000,
msg03913/pgp00000.pgp
Description: PGP signature