blob: c0446e22aa5648b7798dd858d048101558dbfda6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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 to */
__builtin_outb(device, 0x1004);
/* poll for transaction completion */
byte = __builtin_inb(0x10);
while(byte == 0) {
byte = __builtin_inb(0x10);
}
}
}
|