mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 23:22:37 +02:00
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 <mathias.krause@secunet.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
parent
1a6162ed8d
commit
9fbdc03d9f
@ -691,20 +691,20 @@ static int enable_flash_sb600(struct pci_dev *dev, const char *name)
|
|||||||
/* No protection flags for this region?*/
|
/* No protection flags for this region?*/
|
||||||
if ((prot & 0x3) == 0)
|
if ((prot & 0x3) == 0)
|
||||||
continue;
|
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 & 0x1) ? "write " : "",
|
||||||
(prot & 0x2) ? "read " : "",
|
(prot & 0x2) ? "read " : "",
|
||||||
(prot & 0xfffffc00),
|
(prot & 0xfffff800),
|
||||||
(prot & 0xfffffc00) + ((prot & 0x3ff) << 8));
|
(prot & 0xfffff800) + (((prot & 0x7fc) << 8) | 0x3ff));
|
||||||
prot &= 0xfffffffc;
|
prot &= 0xfffffffc;
|
||||||
rpci_write_byte(dev, reg, prot);
|
rpci_write_byte(dev, reg, prot);
|
||||||
prot = pci_read_long(dev, reg);
|
prot = pci_read_long(dev, reg);
|
||||||
if (prot & 0x3)
|
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 & 0x1) ? "write " : "",
|
||||||
(prot & 0x2) ? "read " : "",
|
(prot & 0x2) ? "read " : "",
|
||||||
(prot & 0xfffffc00),
|
(prot & 0xfffff800),
|
||||||
(prot & 0xfffffc00) + ((prot & 0x3ff) << 8));
|
(prot & 0xfffff800) + (((prot & 0x7fc) << 8) | 0x3ff));
|
||||||
}
|
}
|
||||||
|
|
||||||
buses_supported = CHIP_BUSTYPE_LPC | CHIP_BUSTYPE_FWH;
|
buses_supported = CHIP_BUSTYPE_LPC | CHIP_BUSTYPE_FWH;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user