From: Ian Jackson Date: Tue, 31 Mar 2009 10:45:38 +0000 (+0100) Subject: passthrough: Fix duplicated MAC addr when multi-port NIC assigned to HVM domain X-Git-Tag: xen-3.4.0-rc2~22 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=cc1a204423475ff7a918b11d78b9ae637f320e23;p=qemu-xen-4.5-testing.git passthrough: Fix duplicated MAC addr when multi-port NIC assigned to HVM domain This patch fixes duplicated MAC address when multi-port NIC is assigned to HVM domain. Currently multi-function device is shown as two single function devices. e1000e driver and igb driver for linux add 1 to MAC address of second port of multi-port NIC. But they don't add 1 to MAC address of second port if NIC is single-function device. Because of this, the MAC addresses of the first port and the second port are duplicated. The patch make Header Type register passthrough-type. This means a multi-function device is shown as two multi-function devices which implement only one function. So e1000e driver and igb driver add 1 to MAC address of second port. When we use windows guest, the same issue occurs, the patch fix it. Signed-off-by: Yuji Shimada --- diff --git a/hw/pass-through.c b/hw/pass-through.c index 4baf84b2f..720c9e69d 100644 --- a/hw/pass-through.c +++ b/hw/pass-through.c @@ -265,18 +265,6 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = { .u.b.write = pt_byte_reg_write, .u.b.restore = pt_byte_reg_restore, }, - /* Header Type reg */ - { - .offset = PCI_HEADER_TYPE, - .size = 1, - .init_val = 0x00, - .ro_mask = 0xFF, - .emu_mask = 0x80, - .init = pt_common_reg_init, - .u.b.read = pt_byte_reg_read, - .u.b.write = pt_byte_reg_write, - .u.b.restore = NULL, - }, /* Interrupt Line reg */ { .offset = PCI_INTERRUPT_LINE,