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,

Attachment: msg03913/pgp00000.pgp
Description: PGP signature

Reply via email to