qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates
@ 2012-12-05  6:53 Peter Crosthwaite
  2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 1/3] xilinx_axienet: Implement R_IS behaviour Peter Crosthwaite
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Peter Crosthwaite @ 2012-12-05  6:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, Peter Crosthwaite, peter.maydell

Minor fixes to xilinx microblaze IP.

Peter Crosthwaite (3):
  xilinx_axienet: Implement R_IS behaviour
  xilinx_uartlite: suppress "cannot receive message"
  xilinx_uartlite: Accept input after rx FIFO pop

 hw/xilinx_axienet.c  |    4 ++++
 hw/xilinx_uartlite.c |    7 ++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH v1 1/3] xilinx_axienet: Implement R_IS behaviour
  2012-12-05  6:53 [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Peter Crosthwaite
@ 2012-12-05  6:53 ` Peter Crosthwaite
  2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 2/3] xilinx_uartlite: suppress "cannot receive message" Peter Crosthwaite
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Crosthwaite @ 2012-12-05  6:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, Peter Crosthwaite, peter.maydell

The interrupt status register R_IS is the standard clear-on-write behaviour.
This was unimplemented and defaulting to updating the register to the written
value. Implemented clear-on-write.

Reported-by: Jason Wu <huanyu@xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/xilinx_axienet.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/hw/xilinx_axienet.c b/hw/xilinx_axienet.c
index baae02b..f2e3bf1 100644
--- a/hw/xilinx_axienet.c
+++ b/hw/xilinx_axienet.c
@@ -591,6 +591,10 @@ static void enet_write(void *opaque, hwaddr addr,
             s->maddr[s->fmi & 3][addr & 1] = value;
             break;
 
+        case R_IS:
+            s->regs[addr] &= ~value;
+            break;
+
         case 0x8000 ... 0x83ff:
             s->ext_mtable[addr - 0x8000] = value;
             break;
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH v1 2/3] xilinx_uartlite: suppress "cannot receive message"
  2012-12-05  6:53 [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Peter Crosthwaite
  2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 1/3] xilinx_axienet: Implement R_IS behaviour Peter Crosthwaite
@ 2012-12-05  6:53 ` Peter Crosthwaite
  2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 3/3] xilinx_uartlite: Accept input after rx FIFO pop Peter Crosthwaite
  2012-12-05  8:32 ` [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Edgar E. Iglesias
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Crosthwaite @ 2012-12-05  6:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, Peter Crosthwaite, peter.maydell

This message is not an error condition, its just informing the user that
the device is corking the uart traffic to not drop characters.

Reported-by: Jason Wu <huanyu@xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/xilinx_uartlite.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/hw/xilinx_uartlite.c b/hw/xilinx_uartlite.c
index d20fc41..f890f23 100644
--- a/hw/xilinx_uartlite.c
+++ b/hw/xilinx_uartlite.c
@@ -182,12 +182,8 @@ static void uart_rx(void *opaque, const uint8_t *buf, int size)
 static int uart_can_rx(void *opaque)
 {
     struct xlx_uartlite *s = opaque;
-    int r;
 
-    r = s->rx_fifo_len < sizeof(s->rx_fifo);
-    if (!r)
-        printf("cannot receive!\n");
-    return r;
+    return s->rx_fifo_len < sizeof(s->rx_fifo);
 }
 
 static void uart_event(void *opaque, int event)
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH v1 3/3] xilinx_uartlite: Accept input after rx FIFO pop
  2012-12-05  6:53 [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Peter Crosthwaite
  2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 1/3] xilinx_axienet: Implement R_IS behaviour Peter Crosthwaite
  2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 2/3] xilinx_uartlite: suppress "cannot receive message" Peter Crosthwaite
@ 2012-12-05  6:53 ` Peter Crosthwaite
  2012-12-05  8:32 ` [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Edgar E. Iglesias
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Crosthwaite @ 2012-12-05  6:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, Peter Crosthwaite, peter.maydell

The device return false from the can receive function when the FIFO is
full. This mean the device should check for buffered input whenever a byte is
popped from the FIFO.

Reported-by: Jason Wu <huanyu@xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/xilinx_uartlite.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/hw/xilinx_uartlite.c b/hw/xilinx_uartlite.c
index f890f23..02c5850 100644
--- a/hw/xilinx_uartlite.c
+++ b/hw/xilinx_uartlite.c
@@ -97,6 +97,7 @@ uart_read(void *opaque, hwaddr addr, unsigned int size)
                 s->rx_fifo_len--;
             uart_update_status(s);
             uart_update_irq(s);
+            qemu_chr_accept_input(s->chr);
             break;
 
         default:
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates
  2012-12-05  6:53 [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Peter Crosthwaite
                   ` (2 preceding siblings ...)
  2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 3/3] xilinx_uartlite: Accept input after rx FIFO pop Peter Crosthwaite
@ 2012-12-05  8:32 ` Edgar E. Iglesias
  3 siblings, 0 replies; 5+ messages in thread
From: Edgar E. Iglesias @ 2012-12-05  8:32 UTC (permalink / raw)
  To: Peter Crosthwaite; +Cc: peter.maydell, qemu-devel

On Wed, Dec 05, 2012 at 04:53:41PM +1000, Peter Crosthwaite wrote:
> Minor fixes to xilinx microblaze IP.
> 
> Peter Crosthwaite (3):
>   xilinx_axienet: Implement R_IS behaviour
>   xilinx_uartlite: suppress "cannot receive message"
>   xilinx_uartlite: Accept input after rx FIFO pop
> 
>  hw/xilinx_axienet.c  |    4 ++++
>  hw/xilinx_uartlite.c |    7 ++-----
>  2 files changed, 6 insertions(+), 5 deletions(-)
> 


Applied all, thanks Peter.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-12-05  8:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-05  6:53 [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Peter Crosthwaite
2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 1/3] xilinx_axienet: Implement R_IS behaviour Peter Crosthwaite
2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 2/3] xilinx_uartlite: suppress "cannot receive message" Peter Crosthwaite
2012-12-05  6:53 ` [Qemu-devel] [PATCH v1 3/3] xilinx_uartlite: Accept input after rx FIFO pop Peter Crosthwaite
2012-12-05  8:32 ` [Qemu-devel] [PATCH v1 0/3] Xilinx Microblaze IP updates Edgar E. Iglesias

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).