summaryrefslogtreecommitdiff
path: root/util/romcc/tests/simple_test61.c
blob: 2b235ccd5eac4b38cc8cc60a0aeebc116a11b1f0 (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 too */
		__builtin_outb(device, 0x1004);

		/* poll for transaction completion */
		byte = __builtin_inb(0x10);
		while(byte == 0) {
			byte = __builtin_inb(0x10);
		}
	}
}