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?*/
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user