Message ID | 758f5905e72f4572f4e334dcb879a3042487d971.1385967754.git.peter.crosthwaite@xilinx.com |
---|---|
State | New |
Headers | show |
On 2 December 2013 07:10, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote: > This has no real hardware analog. Leave the error message in is as > it is almost certainly a guest error, but fallthrough to the expected > behaviour. Maybe we should qemu_log_mask(LOG_GUEST_ERROR, ...) then? > Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > > hw/net/cadence_gem.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > index b84ee60..3f30caf 100644 > --- a/hw/net/cadence_gem.c > +++ b/hw/net/cadence_gem.c > @@ -694,7 +694,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) > if (rx_desc_get_buffer(desc) == 0) { > DB_PRINT("Invalid RX buffer (NULL) for descriptor 0x%x\n", > (unsigned)packet_desc_addr); > - break; > } > > /* Copy packet data to emulated DMA buffer */ > -- > 1.8.4.4 > -- PMM
On Mon, Dec 2, 2013 at 10:04 PM, Peter Maydell <peter.maydell@linaro.org> wrote: > On 2 December 2013 07:10, Peter Crosthwaite > <peter.crosthwaite@xilinx.com> wrote: >> This has no real hardware analog. Leave the error message in is as >> it is almost certainly a guest error, but fallthrough to the expected >> behaviour. > > Maybe we should qemu_log_mask(LOG_GUEST_ERROR, ...) then? > I'm starting to think this is not a peripherals assumption to make. Theres nothing in the GEM design that suggests a 0 RX buffer address is functionally incorrect. Its not good for Zynq, as theres an ARM vector table there but thats Zynq's problem not GEMs. Peripherals DMAing to non-sensical addresses is a SoC/Board level problem and I think it should be solved there. I'm just going to delete this whole check. Regards, Peter
diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index b84ee60..3f30caf 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -694,7 +694,6 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) if (rx_desc_get_buffer(desc) == 0) { DB_PRINT("Invalid RX buffer (NULL) for descriptor 0x%x\n", (unsigned)packet_desc_addr); - break; } /* Copy packet data to emulated DMA buffer */
This has no real hardware analog. Leave the error message in is as it is almost certainly a guest error, but fallthrough to the expected behaviour. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> --- hw/net/cadence_gem.c | 1 - 1 file changed, 1 deletion(-)