On Sun, Jul 26, 2009 at 05:46:22PM +0300, Tom Rotenberg wrote:
> Hi,
>
> Just to notify you all, i have tested the same scenario, on the latest
> xen-unstable, and i got the same result - the machine hangs. It looks
> like a major bug.
> Can someone please help me with this?
Hi Tom,
this is a bit of a stab in the dark, but could you try each
of the following patches _separately_ to see if they make any difference?
1)
Allow virtual functions to use the legacy interrupt pin of the
corresponding physical device. This was already half-implemented, and I
wonder if this missing piece is causing problems.
Index: ioemu-remote/hw/pass-through.c
===================================================================
--- ioemu-remote.orig/hw/pass-through.c 2009-07-27 21:42:12.000000000 +1000
+++ ioemu-remote/hw/pass-through.c 2009-07-27 21:47:34.000000000 +1000
@@ -2617,13 +2617,7 @@ static uint32_t pt_status_reg_init(struc
static uint32_t pt_irqpin_reg_init(struct pt_dev *ptdev,
struct pt_reg_info_tbl *reg, uint32_t real_offset)
{
- int reg_field = 0;
-
- /* set Interrupt Pin register to use INTA# if it has */
- if (ptdev->dev.config[real_offset])
- reg_field = 0x01;
-
- return reg_field;
+ return ptdev->dev.config[real_offset];
}
/* initialize BAR */
2) Always use INTA everywhere. This should revert things to
they way they were before the multi-function changes.
diff --git a/hw/pass-through.c b/hw/pass-through.c
index f3d033b..cddfe5c 100644
--- a/hw/pass-through.c
+++ b/hw/pass-through.c
@@ -4329,21 +4329,7 @@ int pt_init(PCIBus *e_bus)
*/
static uint8_t pci_read_intx(struct pt_dev *ptdev)
{
- uint8_t r_val = pci_read_byte(ptdev->pci_dev, PCI_INTERRUPT_PIN);
-
- PT_LOG("intx=%i\n", r_val);
- if (r_val < 1 || r_val > 4)
- {
- PT_LOG("Interrupt pin read from hardware is out of range: "
- "value=%i, acceptable range is 1 - 4\n", r_val);
- r_val = 0;
- }
- else
- {
- r_val -= 1;
- }
-
- return r_val;
+ return 0;
}
/*
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|