https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235944
--- Comment #7 from Ravi Pokala <rpok...@panasas.com> --- The fact that the Windows util (and, for that matter, the firmware) can read the second (256-byte) page of the SPD, means that the SPD's page-change mechanism does in fact work. That suggests a driver issue. Conveniently, enabling bootverbose to get the SPD dump from jedec_dimm(4), *also* enabled error reporting for intsmb(4). That driver is implemented in the misleadingly-named sys/dev/intpm/intpm.c file; this is an SMBus controller on an AMD system, not an INTel Power Management controller. <sigh> > intsmb0: error = 1, status = 0x6 That message can only come from intsmb_error(): ================================================================ static int intsmb_error(device_t dev, int status) { int error = 0; if (status & PIIX4_SMBHSTSTAT_ERR) error |= SMB_EBUSERR; if (status & PIIX4_SMBHSTSTAT_BUSC) error |= SMB_ECOLLI; if (status & PIIX4_SMBHSTSTAT_FAIL) error |= SMB_ENOACK; if (error != 0 && bootverbose) device_printf(dev, "error = %d, status = %#x\n", error, status); return (error); } ================================================================ The PIIX4_SMBHSTSTAT* values are defined in sys/dev/intpm/intpmreg.h: ================================================================ #define PIIX4_SMBHSTSTAT_BUSY (1<<0) #define PIIX4_SMBHSTSTAT_INTR (1<<1) #define PIIX4_SMBHSTSTAT_ERR (1<<2) #define PIIX4_SMBHSTSTAT_BUSC (1<<3) #define PIIX4_SMBHSTSTAT_FAIL (1<<4) ================================================================ A "status" value of 0x6 is 00110b : (PIIX4_SMBHSTSTAT_ERR | PIIX4_SMBHSTSTAT_INTR). The SMB_E* values are defined in sys/dev/smbus/smbconf.h: ================================================================ #define SMB_ENOERR 0x0 #define SMB_EBUSERR 0x1 #define SMB_ENOTSUPP 0x2 #define SMB_ENOACK 0x4 #define SMB_ECOLLI 0x8 #define SMB_EABORT 0x10 #define SMB_ETIMEOUT 0x20 #define SMB_EBUSY 0x40 #define SMB_EINVAL 0x100 ================================================================ An "error" value of 1 is SMB_EBUSERR, which matches the PIIX4_SMBHSTSTAT => SMB_E mapping that intsmb_error() does. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"