[coreboot] [PATCH] more fake SPD debugging

ron minnich rminnich at gmail.com
Thu Mar 6 04:07:48 CET 2008


Tested and working on both dbe62 and alix1c. I can't commit as I have
other changes pending.

Acked-by: Ronald G. Minnich <rminnich at gmail.com>


On Wed, Mar 5, 2008 at 5:38 AM, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2006 at gmx.net> wrote:
> On 05.03.2008 07:23, ron minnich wrote:
>  > attached. It dies and I'm sure it is bad ram settings, but it's a start.
>  >
>
>  Yes. Try the following patch.
>
>  Add debugging to fake SPD read functions. We want to know when we try to
>  read from a nonexisting member of the fake SPD.
>
>  Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
>
>  Index: LinuxBIOSv3-spd_debug/mainboard/artecgroup/dbe61/initram.c
>  ===================================================================
>  --- LinuxBIOSv3-spd_debug/mainboard/artecgroup/dbe61/initram.c  (Revision 631)
>  +++ LinuxBIOSv3-spd_debug/mainboard/artecgroup/dbe61/initram.c  (Arbeitskopie)
>  @@ -97,7 +97,7 @@
>         /* returns 0xFF on any failures */
>         u8 ret = 0xff;
>
>  -       printk(BIOS_DEBUG, "spd_read_byte dev %04x\n", device);
>  +       printk(BIOS_DEBUG, "spd_read_byte dev %04x", device);
>         if (device == DIMM0) {
>                 for (i = 0; i < ARRAY_SIZE(spd_table); i++) {
>                         if (spd_table[i].address == address) {
>  @@ -105,6 +105,9 @@
>                         }
>                 }
>         }
>  +       if (i == ARRAY_SIZE(spd_table))
>  +               printk(BIOS_DEBUG, " addr %02x does not exist in SPD table",
>  +                       address);
>
>         printk(BIOS_DEBUG, " addr %02x returns %02x\n", address, ret);
>         return ret;
>  Index: LinuxBIOSv3-spd_debug/mainboard/artecgroup/dbe62/initram.c
>  ===================================================================
>  --- LinuxBIOSv3-spd_debug/mainboard/artecgroup/dbe62/initram.c  (Revision 631)
>  +++ LinuxBIOSv3-spd_debug/mainboard/artecgroup/dbe62/initram.c  (Arbeitskopie)
>  @@ -87,7 +87,7 @@
>         /* returns 0xFF on any failures */
>         u8 ret = 0xff;
>
>  -       printk(BIOS_DEBUG, "spd_read_byte dev %04x\n", device);
>  +       printk(BIOS_DEBUG, "spd_read_byte dev %04x", device);
>         if (device == DIMM0) {
>                 for (i = 0; i < ARRAY_SIZE(spd_table); i++) {
>                         if (spd_table[i].address == address) {
>  @@ -95,6 +95,9 @@
>                         }
>                 }
>         }
>  +       if (i == ARRAY_SIZE(spd_table))
>  +               printk(BIOS_DEBUG, " addr %02x does not exist in SPD table",
>  +                       address);
>
>         printk(BIOS_DEBUG, " addr %02x returns %02x\n", address, ret);
>         return ret;
>  Index: LinuxBIOSv3-spd_debug/mainboard/pcengines/alix1c/initram.c
>  ===================================================================
>  --- LinuxBIOSv3-spd_debug/mainboard/pcengines/alix1c/initram.c  (Revision 631)
>  +++ LinuxBIOSv3-spd_debug/mainboard/pcengines/alix1c/initram.c  (Arbeitskopie)
>  @@ -97,7 +97,7 @@
>         /* returns 0xFF on any failures */
>         u8 ret = 0xff;
>
>  -       printk(BIOS_DEBUG, "spd_read_byte dev %04x\n", device);
>  +       printk(BIOS_DEBUG, "spd_read_byte dev %04x", device);
>         if (device == DIMM0) {
>                 for (i = 0; i < ARRAY_SIZE(spd_table); i++) {
>                         if (spd_table[i].address == address) {
>  @@ -105,6 +105,9 @@
>                         }
>                 }
>         }
>  +       if (i == ARRAY_SIZE(spd_table))
>  +               printk(BIOS_DEBUG, " addr %02x does not exist in SPD table",
>  +                       address);
>
>         printk(BIOS_DEBUG, " addr %02x returns %02x\n", address, ret);
>         return ret;
>
>
>  --
>  http://www.hailfinger.org/
>
>




More information about the coreboot mailing list