#include #include #include #include "raminit.h" #include #include #if CONFIG_DEBUG_RAM_SETUP void dump_spd_registers(void) { int i; printk(BIOS_DEBUG, "\n"); for(i = 0; i < DIMM_SOCKETS; i++) { unsigned device; device = DIMM0 + i; if (device) { int j; printk(BIOS_DEBUG, "DIMM %d: %02x", i, device); for(j = 0; j < 256; j++) { int status; unsigned char byte; if ((j & 0xf) == 0) { printk(BIOS_DEBUG, "\n%02x: ", j); } status = spd_read_byte(device, j); if (status < 0) { printk(BIOS_DEBUG, "bad device\n"); break; } byte = status & 0xff; printk(BIOS_DEBUG, "%02x ", byte); } printk(BIOS_DEBUG, "\n"); } } } static void print_debug_pci_dev(unsigned dev) { print_debug("PCI: "); print_debug_hex8((dev >> 16) & 0xff); print_debug_char(':'); print_debug_hex8((dev >> 11) & 0x1f); print_debug_char('.'); print_debug_hex8((dev >> 8) & 7); } void dump_pci_device(unsigned dev) { int i; print_debug_pci_dev(dev); print_debug("\n"); for (i = 0; i <= 255; i++) { unsigned char val; if ((i & 0x0f) == 0) { print_debug_hex8(i); print_debug_char(':'); } val = pci_read_config8(dev, i); print_debug_char(' '); print_debug_hex8(val); if ((i & 0x0f) == 0x0f) { print_debug("\n"); } } } #endif