Message ID | 475b23a3c56ec5ee1a8652f33e0a12d0bb4ac7f6.1364962908.git.peter.crosthwaite@xilinx.com |
---|---|
State | New |
Headers | show |
On 3 April 2013 05:32, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote: > You really need this is you want to track a guest banging on LQSPI. > > Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > > hw/xilinx_spips.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/hw/xilinx_spips.c b/hw/xilinx_spips.c > index a8691d5..29636ce 100644 > --- a/hw/xilinx_spips.c > +++ b/hw/xilinx_spips.c > @@ -456,10 +456,13 @@ lqspi_read(void *opaque, hwaddr addr, unsigned int size) > int i; > XilinxQSPIPS *q = opaque; > XilinxSPIPS *s = opaque; > + uint32_t ret; > > if (addr >= q->lqspi_cached_addr && > addr <= q->lqspi_cached_addr + LQSPI_CACHE_SIZE - 4) { > - return q->lqspi_buf[(addr - q->lqspi_cached_addr) >> 2]; > + ret = q->lqspi_buf[(addr - q->lqspi_cached_addr) >> 2]; > + DB_PRINT("addr: %08x, data: %08x\n", (unsigned)addr, (unsigned)ret); > + return ret; > } else { > int flash_addr = (addr / num_effective_busses(s)); > int slave = flash_addr >> LQSPI_ADDRESS_BITS; I'd recommend keeping the scope of the variable inside the if {} personally, but if you prefer this way round that's fine. -- PMM
On Sat, Apr 6, 2013 at 4:42 AM, Peter Maydell <peter.maydell@linaro.org> wrote: > On 3 April 2013 05:32, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote: >> You really need this is you want to track a guest banging on LQSPI. >> >> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >> --- >> >> hw/xilinx_spips.c | 5 ++++- >> 1 files changed, 4 insertions(+), 1 deletions(-) >> >> diff --git a/hw/xilinx_spips.c b/hw/xilinx_spips.c >> index a8691d5..29636ce 100644 >> --- a/hw/xilinx_spips.c >> +++ b/hw/xilinx_spips.c >> @@ -456,10 +456,13 @@ lqspi_read(void *opaque, hwaddr addr, unsigned int size) >> int i; >> XilinxQSPIPS *q = opaque; >> XilinxSPIPS *s = opaque; >> + uint32_t ret; >> >> if (addr >= q->lqspi_cached_addr && >> addr <= q->lqspi_cached_addr + LQSPI_CACHE_SIZE - 4) { >> - return q->lqspi_buf[(addr - q->lqspi_cached_addr) >> 2]; >> + ret = q->lqspi_buf[(addr - q->lqspi_cached_addr) >> 2]; >> + DB_PRINT("addr: %08x, data: %08x\n", (unsigned)addr, (unsigned)ret); >> + return ret; >> } else { >> int flash_addr = (addr / num_effective_busses(s)); >> int slave = flash_addr >> LQSPI_ADDRESS_BITS; > > I'd recommend keeping the scope of the variable inside the if {} personally, > but if you prefer this way round that's fine. > I'm usually the same, but for return temporaries I usually define on top level as they have a habit of getting reused and its verbose if multiple ifs all define their own ret tempory. All personal pref I guess. Regards, Peter > -- PMM >
diff --git a/hw/xilinx_spips.c b/hw/xilinx_spips.c index a8691d5..29636ce 100644 --- a/hw/xilinx_spips.c +++ b/hw/xilinx_spips.c @@ -456,10 +456,13 @@ lqspi_read(void *opaque, hwaddr addr, unsigned int size) int i; XilinxQSPIPS *q = opaque; XilinxSPIPS *s = opaque; + uint32_t ret; if (addr >= q->lqspi_cached_addr && addr <= q->lqspi_cached_addr + LQSPI_CACHE_SIZE - 4) { - return q->lqspi_buf[(addr - q->lqspi_cached_addr) >> 2]; + ret = q->lqspi_buf[(addr - q->lqspi_cached_addr) >> 2]; + DB_PRINT("addr: %08x, data: %08x\n", (unsigned)addr, (unsigned)ret); + return ret; } else { int flash_addr = (addr / num_effective_busses(s)); int slave = flash_addr >> LQSPI_ADDRESS_BITS;
You really need this is you want to track a guest banging on LQSPI. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> --- hw/xilinx_spips.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)