[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: PCI Configuration BAR all '1' write




Hi Tom, Jos,
The command serial of following has serious problems:
** Read:     0x1234,0000
> Write:	0xffff,ffff		-- try to read back memory size
> Read:		0xffff,0000		-- determine size
** Write:    0x1234,0000

If between the first write and second write, another PCI transaction
with this BARx as Target will get unanswered! Because memory starting
address is now TEMPERARORYLY 0xffff,0000 and it will do Master Abort
that would send some wrong information to user or something like that.

See my method 1, even writing all '1' to BARx, it doesn't change the
BARx starting address, only setting a flag indicating next BARx reading
should return memory size. After second writing, the starting address
still is unchanged.