From 9fbdc03d9f01b3dcd75d65ad3dec4ea03a06b93f Mon Sep 17 00:00:00 2001 From: Mathias Krause Date: Sat, 1 Jan 2011 10:54:09 +0000 Subject: Fix decoding of SB600 LPC ROM protection registers The address part was using a bit of the size, the size was missing the upper bit, was off by 1023 bytes and included the protection bits. Corresponding to flashrom svn r1250. Signed-off-by: Mathias Krause Acked-by: Carl-Daniel Hailfinger --- chipset_enable.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'chipset_enable.c') diff --git a/chipset_enable.c b/chipset_enable.c index ec15996..6d6008e 100644 --- a/chipset_enable.c +++ b/chipset_enable.c @@ -691,20 +691,20 @@ static int enable_flash_sb600(struct pci_dev *dev, const char *name) /* No protection flags for this region?*/ if ((prot & 0x3) == 0) continue; - msg_pinfo("SB600 %s%sprotected from %u to %u\n", + msg_pinfo("SB600 %s%sprotected from 0x%08x to 0x%08x\n", (prot & 0x1) ? "write " : "", (prot & 0x2) ? "read " : "", - (prot & 0xfffffc00), - (prot & 0xfffffc00) + ((prot & 0x3ff) << 8)); + (prot & 0xfffff800), + (prot & 0xfffff800) + (((prot & 0x7fc) << 8) | 0x3ff)); prot &= 0xfffffffc; rpci_write_byte(dev, reg, prot); prot = pci_read_long(dev, reg); if (prot & 0x3) - msg_perr("SB600 %s%sunprotect failed from %u to %u\n", + msg_perr("SB600 %s%sunprotect failed from 0x%08x to 0x%08x\n", (prot & 0x1) ? "write " : "", (prot & 0x2) ? "read " : "", - (prot & 0xfffffc00), - (prot & 0xfffffc00) + ((prot & 0x3ff) << 8)); + (prot & 0xfffff800), + (prot & 0xfffff800) + (((prot & 0x7fc) << 8) | 0x3ff)); } buses_supported = CHIP_BUSTYPE_LPC | CHIP_BUSTYPE_FWH; -- cgit v1.1