Hello Mr. Kiszka, Thanks for the reply. Removing that memory region from the sysconfig did not solve the problem, however could you please elaborate on what you mean by "update indexes that refer to entries after that one"? It is probably something obvious that I am missing, but I did not understand where the indexes that I am supposed to update are in the config file. I also tried removing the mem regions for the device 03:00.0 completely, and I also removed the entries for 03:00.0 from pci_devices and pci_caps, but then I got an error for the device 03:00.1:
Activating Hypervisor VT-d fault event reported by IOMMU 0: Source Identifier (bus:dev.func): 03:00.1 Fault Reason 0x22 Fault Info: 6b000000000 Type 0 Could you please point me towards how the mapping for mem regions is defined in the config file? Thanks and best regards, Burak Atalay -----Original Message----- From: Jan Kiszka <[email protected]> Sent: Sunday, January 13, 2019 3:39 AM To: Atalay Burak 1CS2 <[email protected]>; [email protected] Cc: Haase Heiko 1CS2 <[email protected]> Subject: *EXT* Re: Jailhouse Enable Error // VT-d fault event reported by IOMMU 0 On 11.01.19 22:05, Burak Atalay wrote: > Hello everyone, > > I am encountering some problems while trying to run Jailhouse. > Attached you can find the sysconfig file that was generated by “jailhouse > config create” command. > While I was cross-checking the memory regions in the sysconfig file > with the output from “cat /proc/iomem” I realized that there was a > missing memory region, so I had to manually enter the following to the > sysconfig file: > > /* MemRegion: 796b9000-79887fff : Reserved APEI ERST > > { > > .phys_start = 0x796b9000, > > .virt_start = 0x796b9000, > > .size = 0x1cf000, > > .flags = JAILHOUSE_MEM_READ | > JAILHOUSE_MEM_WRITE | > > JAILHOUSE_MEM_EXECUTE > | JAILHOUSE_MEM_DMA, > > }, > Yes, the config generator does not always catch all required regions. We could possibly improve on that by digging deeper into what Linux reports as I/O resources. Specifically, we would have to tell generally reserved and therefore unused regions apart from these here which are still used. > Before this configuration, “jailhouse enable” command would crash the > machine, after this modification when I run Jailhouse I get the following > error: > > Activating Hypervisor > > VT-d fault event reported by IOMMU 0: > > Source Identifier (bus:dev.func): 03:00.0 > > Fault Reason 0x26 Fault Info: 49000000000 Type 0 > > I studied the source code for Jailhouse, and also tried to find a > solution in the mailing list, but I was unable to do so. I am > attaching the output of the command “lspci –vvv –s 03:00.0”, > “jailhouse hardware check”, “cat /proc/iomem”, and the system > information that is collected by “tools/jailhouse config collect data.tar”. > > Any suggestions are welcome. On first glance I suspect that - for whatever reason - your system configuration got an entry to map the I/O region of 03:00.0 in BAR 4 (at 0x383fffe04000) directly into the guest. That prevents the required virtualization of MSI-X interrupts by Jailhouse so that the hardware correctly detect an invalid MSI-X request and rejects it. Try to remove that mapping from the mem_regions (but make sure to update indexes that refer to entries after that one). Jan -- 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.
