1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-07-01 22:21:16 +02:00

Introduce a type "chipaddr" to abstract the offsets within flash regions

Use chipaddr instead of volatile uint8_t * because when we access chips
in external flashers, they are not accessed via pointers at all.

Benefits: This allows us to differentiate between volatile machine
memory accesses and flash chip accesses. It also enforces usage
of chip_{read,write}[bwl] to access flash chips, so nobody will
unintentionally use pointers to access chips anymore. Some unneeded
casts are removed as well. Grepping for chip operations and machine
memory operations doesn't yield any false positives anymore.

Compile tested on 32 bit and 64 bit Linux.

Corresponding to flashrom svn r519.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
This commit is contained in:
Carl-Daniel Hailfinger
2009-05-16 21:22:56 +00:00
parent 4059598a06
commit 5820f42ef2
23 changed files with 203 additions and 203 deletions

View File

@ -54,36 +54,36 @@ void dummy_unmap(void *virt_addr, size_t len)
__func__, (unsigned long)len, virt_addr);
}
void dummy_chip_writeb(uint8_t val, volatile void *addr)
void dummy_chip_writeb(uint8_t val, chipaddr addr)
{
printf_debug("%s: addr=%p, val=0x%02x\n", __func__, addr, val);
printf_debug("%s: addr=0x%lx, val=0x%02x\n", __func__, addr, val);
}
void dummy_chip_writew(uint16_t val, volatile void *addr)
void dummy_chip_writew(uint16_t val, chipaddr addr)
{
printf_debug("%s: addr=%p, val=0x%04x\n", __func__, addr, val);
printf_debug("%s: addr=0x%lx, val=0x%04x\n", __func__, addr, val);
}
void dummy_chip_writel(uint32_t val, volatile void *addr)
void dummy_chip_writel(uint32_t val, chipaddr addr)
{
printf_debug("%s: addr=%p, val=0x%08x\n", __func__, addr, val);
printf_debug("%s: addr=0x%lx, val=0x%08x\n", __func__, addr, val);
}
uint8_t dummy_chip_readb(const volatile void *addr)
uint8_t dummy_chip_readb(const chipaddr addr)
{
printf_debug("%s: addr=%p, returning 0xff\n", __func__, addr);
printf_debug("%s: addr=0x%lx, returning 0xff\n", __func__, addr);
return 0xff;
}
uint16_t dummy_chip_readw(const volatile void *addr)
uint16_t dummy_chip_readw(const chipaddr addr)
{
printf_debug("%s: addr=%p, returning 0xffff\n", __func__, addr);
printf_debug("%s: addr=0x%lx, returning 0xffff\n", __func__, addr);
return 0xffff;
}
uint32_t dummy_chip_readl(const volatile void *addr)
uint32_t dummy_chip_readl(const chipaddr addr)
{
printf_debug("%s: addr=%p, returning 0xffffffff\n", __func__, addr);
printf_debug("%s: addr=0x%lx, returning 0xffffffff\n", __func__, addr);
return 0xffffffff;
}