| static void spd_set_nbxcfg(void) |
| { |
| /* |
| * Effects: Uses serial presence detect to set the |
| * ECC support flags in the NBXCFG register |
| * FIXME: Check for illegal/unsupported ram configurations and abort |
| */ |
| unsigned device; |
| |
| for(device = 0x50; device <= 0x53; device += 1) { |
| int byte; |
| |
| byte = 0; /* Disable ECC */ |
| /* 0 == None, 1 == Parity, 2 == ECC */ |
| if (byte != 2) continue; |
| |
| /* set the device I'm talking too */ |
| __builtin_outb(device, 0x1004); |
| |
| /* poll for transaction completion */ |
| byte = __builtin_inb(0x10); |
| while(byte == 0) { |
| byte = __builtin_inb(0x10); |
| } |
| } |
| } |