diff options
author | Eric Biederman <ebiederm@xmission.com> | 2003-04-25 02:02:25 +0000 |
---|---|---|
committer | Eric Biederman <ebiederm@xmission.com> | 2003-04-25 02:02:25 +0000 |
commit | eb00fa5c11085a323bd3acd1e657cf3ef2b16481 (patch) | |
tree | 6eb067219b64b68be634501fdd4735c7d5d413cc /src | |
parent | 825dd3361bd30de3bae3f33d467441e82dacc757 (diff) | |
download | coreboot-eb00fa5c11085a323bd3acd1e657cf3ef2b16481.tar.xz |
- Commit a working pirq table for the AMD solo
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@799 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/i386/boot/pirq_routing.c | 3 | ||||
-rw-r--r-- | src/mainboard/amd/solo/irq_tables.c | 28 | ||||
-rw-r--r-- | src/northbridge/amd/amdk8/northbridge.c | 2 |
3 files changed, 17 insertions, 16 deletions
diff --git a/src/arch/i386/boot/pirq_routing.c b/src/arch/i386/boot/pirq_routing.c index a6d2c26557..56d05c5d7f 100644 --- a/src/arch/i386/boot/pirq_routing.c +++ b/src/arch/i386/boot/pirq_routing.c @@ -28,7 +28,8 @@ void check_pirq_routing_table(void) printk_debug("%s:%6d:%s() - irq_routing_table located at: 0x%p\n", __FILE__, __LINE__, __FUNCTION__, addr); - sum = (unsigned char)(rt->checksum-sum); + + sum = rt->checksum - sum; if (sum != rt->checksum) { printk_warning("%s:%6d:%s() - " diff --git a/src/mainboard/amd/solo/irq_tables.c b/src/mainboard/amd/solo/irq_tables.c index 613cc1e111..286905c26f 100644 --- a/src/mainboard/amd/solo/irq_tables.c +++ b/src/mainboard/amd/solo/irq_tables.c @@ -11,21 +11,21 @@ const struct irq_routing_table intel_irq_routing_table = { PIRQ_SIGNATURE, /* u32 signature */ PIRQ_VERSION, /* u16 version */ 32+16*7, /* there can be total 7 devices on the bus */ - 0, /* Where the interrupt router lies (bus) */ - 0x38, /* Where the interrupt router lies (dev) */ - 0xc20, /* IRQs devoted exclusively to PCI usage */ + 0, /* Where the interrupt router lies (bus) */ + (5<<3)|3, /* Where the interrupt router lies (dev) */ + 0xc20, /* IRQs devoted exclusively to PCI usage */ 0x1022, /* Vendor */ - 0x7468, /* Device */ - 0, /* Crap (miniport) */ + 0x746b, /* Device */ + 0, /* Crap (miniport) */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */ - 0x39, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ - { - {0x2,0x28, {{0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}}, 0x2, 0}, - {0x2,0x30, {{0x3, 0xdeb8}, {0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}}, 0x3, 0}, - {0x2,0x38, {{0x4, 0xdeb8}, {0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}}, 0x4, 0}, - {0x2,0x8, {{0x1, 0xdeb8}, {0x1, 0xdeb8}, {0x1, 0xdeb8}, {0x1, 0xdeb8}}, 0, 0}, - {0,0x39, {{0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}}, 0, 0}, - {0,0x8, {{0x1, 0xdeb8}, {0x2, 0xdeb8}, {0x3, 0xdeb8}, {0x4, 0xdeb8}}, 0, 0}, - {0xff,0xff, {{0xff, 0xffff}, {0xff, 0xffff}, {0xff, 0xffff}, {0xff, 0xffff}}, 0xff, 0xff}, + 0xdf, /* u8 checksum , mod 256 checksum must give zero */ + { /* bus, devfn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu */ + {0x02, (5<<3)|0, {{0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0xdeb8}, {0x01, 0xdeb8}}, 0x02, 0x00}, + {0x02, (6<<3)|0, {{0x03, 0xdeb8}, {0x04, 0xdeb8}, {0x01, 0xdeb8}, {0x02, 0xdeb8}}, 0x03, 0x00}, + {0x02, (7<<3)|0, {{0x04, 0xdeb8}, {0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}}, 0x04, 0x00}, + {0x02, (1<<3)|1, {{0x01, 0xdeb8}, {0x01, 0xdeb8}, {0x01, 0xdeb8}, {0x01, 0xdeb8}}, 0x00, 0x00}, + {0x00, (5<<3)|1, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0xdeb8}}, 0x00, 0x00}, + {0x00, (2<<3)|0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0xdeb8}}, 0x00, 0x00}, + {0xff, 0xff, {{0xff, 0xffff}, {0xff, 0xffff}, {0xff, 0xffff}, {0xff, 0xffff}}, 0xff, 0xff}, } }; diff --git a/src/northbridge/amd/amdk8/northbridge.c b/src/northbridge/amd/amdk8/northbridge.c index 1ba87bd083..a259b798c9 100644 --- a/src/northbridge/amd/amdk8/northbridge.c +++ b/src/northbridge/amd/amdk8/northbridge.c @@ -13,7 +13,7 @@ struct mem_range *sizeram(void) mem[0].basek = 0; mem[0].sizek = 640; - mem[1].basek = 1024; + mem[1].basek = 960; mem[1].sizek = size - mem[1].basek; mem[2].basek = 0; mem[2].sizek = 0; |