All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other.
@ 2005-09-08 10:06 Edwin Zhai
  2005-09-08 11:28 ` Keir Fraser
  0 siblings, 1 reply; 5+ messages in thread
From: Edwin Zhai @ 2005-09-08 10:06 UTC (permalink / raw)
  To: Ian Pratt, Keir Fraser; +Cc: xen-devel

fix bug that service os&vmx guest can't communicate with each other.
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>

diff -r 04ca47c298b5 -r a80889c7da99 tools/ioemu/hw/pcnet.c
--- a/tools/ioemu/hw/pcnet.c	Thu Sep  1 21:30:51 2005
+++ b/tools/ioemu/hw/pcnet.c	Mon Sep  5 09:33:29 2005
@@ -380,10 +380,13 @@
     return sizeof(s->buffer)-16;
 }
 
+#define MIN_BUF_SIZE 60
+
 static void pcnet_receive(void *opaque, const uint8_t *buf, int size)
 {
     PCNetState *s = opaque;
     int is_padr = 0, is_bcast = 0, is_ladr = 0;
+    uint8_t buf1[60];
 
     if (CSR_DRX(s) || CSR_STOP(s) || CSR_SPND(s) || !size)
         return;
@@ -391,6 +394,14 @@
 #ifdef PCNET_DEBUG
     printf("pcnet_receive size=%d\n", size);
 #endif
+
+    /* if too small buffer, then expand it */
+    if (size < MIN_BUF_SIZE) {
+        memcpy(buf1, buf, size);
+        memset(buf1 + size, 0, MIN_BUF_SIZE - size);
+        buf = buf1;
+        size = MIN_BUF_SIZE;
+    }
 
     if (CSR_PROM(s) 
         || (is_padr=padr_match(s, buf, size)) 

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

end of thread, other threads:[~2005-09-08 13:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-08 10:06 [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other Edwin Zhai
2005-09-08 11:28 ` Keir Fraser
2005-09-08 12:41   ` Zhai, Edwin
2005-09-08 13:07     ` Keir Fraser
2005-09-08 13:14       ` Zhai, Edwin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.