Den onsdag 23 november 2016 kl. 08:11:13 UTC+1 skrev Jan Kiszka:
> On 2016-11-22 21:43, Intelsat wrote:
> > Hi,
> > 
> > I tried to get the output of the initialization via the vga console and did 
> > so as described in the documentation. I added the parameters to the boot 
> > cmdline, restarted ubuntu, opened a console and typed:
> > 
> > #vbetool vbemode set 3 && jailhouse enable configs/sysconfig.cell
> > 
> > What I got is this:
> > 
> > ....
> > Adding PCI device ff:06.3 to cell "RootCell"
> > FATAL: Unsupported MSI/MSI-X state, device 00:1b.0, cap 5
> > Stopping CPU 0 (Cell: "RootCell")
> > 
> > I restarted my linux to see what kind of device this is and what the 
> > system.cell configuration says:
> > 
> > sysconfig.cell:
> > 
> > ....
> > /* PCIDevice: 00:1b.0 */
> > {
> >     .type = JAILHOUSE_PCI_TYPE_DEVICE,
> >     .iommu = 1,
> >     .domain = 0xd8,
> >     .bar_mask = {
> >            0xffffc000, 0xffffffff, 0x00000000,
> >            0x00000000, 0x00000000, 0x00000000,
> >     },
> >     .caps_start = 26,
> >     .num_caps = 5,
> >     .num_msi_vectors = 1,
> >     .msi_64bits = 1,
> >     .num_msix_vectors = 0,
> >     .msix_region_size = 0x0,
> >     .msix_address = 0x0,
> > },
> > ....
> > 
> > lspci:
> > 
> > 00:1b.0 Audio device: Intel Corporation 82801J1 (ICH10 Family) HD Audio 
> > Controller
> > 
> > I couldn't disable the PCI device, tried it in BIOS, but there is no option 
> > for it. So does that mean my hardware is incompatible with Jailhouse or is 
> > there any chance to get rid of that error?
> 
> Interesting. Haven't seen such kind of issues for a long time. Let's
> look into more details:
> 
> diff --git a/hypervisor/arch/x86/pci.c b/hypervisor/arch/x86/pci.c
> index c2b54ff..97f2af1 100644
> --- a/hypervisor/arch/x86/pci.c
> +++ b/hypervisor/arch/x86/pci.c
> @@ -338,6 +338,7 @@ int arch_pci_update_msi(struct pci_device *device,
>  
>       for (n = 0; n < vectors; n++) {
>               irq_msg = pci_translate_msi_vector(device, n, vectors, msi);
> +             printk("%s:%d: irq_msq %llx %ld, ir: %d\n", __FUNCTION__, 
> __LINE__, *(u64 *)&irq_msg, sizeof(irq_msg), 
> iommu_cell_emulates_ir(device->cell));
>               result = iommu_map_interrupt(device->cell, bdf, n, irq_msg);
>               // HACK for QEMU
>               if (result == -ENOSYS) {
> diff --git a/hypervisor/arch/x86/vtd.c b/hypervisor/arch/x86/vtd.c
> index 55435f0..ef522ad 100644
> --- a/hypervisor/arch/x86/vtd.c
> +++ b/hypervisor/arch/x86/vtd.c
> @@ -956,6 +956,7 @@ int iommu_map_interrupt(struct cell *cell, u16 device_id, 
> unsigned int vector,
>       int base_index;
>  
>       base_index = vtd_find_int_remap_region(device_id);
> +     printk("%s:%d: base_index %d, vector: %d, limit: %d\n", __FUNCTION__, 
> __LINE__, base_index, vector, system_config->interrupt_limit);
>       if (base_index < 0)
>               return base_index;
>  
> @@ -964,6 +965,7 @@ int iommu_map_interrupt(struct cell *cell, u16 device_id, 
> unsigned int vector,
>               return -ERANGE;
>  
>       irte = int_remap_table[base_index + vector];
> +     printk("%s:%d: irte %llx-%llx\n", __FUNCTION__, __LINE__, irte.raw[0], 
> irte.raw[1]);
>       if (!irte.field.assigned || irte.field.sid != device_id)
>               return -ERANGE;
>  
> 
> Meanwhile, you may get away with unbinding the driver of that device
> prior to enabling Jailhouse + removing its entry from the sysconfig PCI
> table. But that may also just get you to the next device with similar
> issues.
> 
> Jan

Hi Jan, 
we have met in Dublin, working with hybrid Linux/RTOS solutions. I try to do 
the same reference example bringup of Jailhouse using Ubuntu 16.04 in qemu, but 
it freezes after activating the Hypervisor. It seems I get the same problem 
with the audio driver as this thread. Did you come to any conclusion on the 
cause, or should I try another version? 
Do you recommend any particular Linux distro to run the demo?

regards, Patrik Strömblad

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to