OSDN Git Service

aspeed/smc: snoop SPI transfers to fake dummy cycles
authorCédric Le Goater <clg@kaod.org>
Tue, 29 Jan 2019 11:46:05 +0000 (11:46 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 29 Jan 2019 11:46:05 +0000 (11:46 +0000)
commitf95c4bffdc4c53b29f89762cab4adc5a43f95daf
tree9adeee6804f0e7b836a8d22908893d46024e04ad
parent9149af2a2d3609507959bb17b74a35c3cebc5f66
aspeed/smc: snoop SPI transfers to fake dummy cycles

The m25p80 models dummy cycles using byte transfers. This works well
when the transfers are initiated by the QEMU model of a SPI controller
but when these are initiated by the OS, it breaks emulation.

Snoop the SPI transfer to catch commands requiring dummy cycles and
replace them with byte transfers compatible with the m25p80 model.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Message-id: 20190124140519.13838-5-clg@kaod.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/ssi/aspeed_smc.c
include/hw/ssi/aspeed_smc.h