[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other.
fix bug that service os&vmx guest can't communicate with each other. Signed-off-by: Edwin Zhai <edwin.zhai@xxxxxxxxx> Signed-off-by: Xiaofeng Ling <xiaofeng.ling@xxxxxxxxx> 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)) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |