Hi Albert,

We only have kernel support for MSI, but not MSI-X. We are planning to add 
support for MSI-X after merging a vtd patch and fixing a current kernel issue 
with handling multiple IOAPICs. They are our priority and should hopefully be 
resolved soon.

Regards,
Jade.
________________________________
From: Alberto Lange via Devel <[email protected]>
Sent: Monday, September 1, 2025 8:02 AM
To: [email protected] <[email protected]>
Subject: [seL4] About MSI-X interrupts on x86

Hi all, here Albert

I’m working on a SuperMicro E300-9D server and trying to passthrough an Intel 
X557-AT2 NIC to a Linux 6.1 guest. The .camkes configuration seems to be right, 
here are the configs for the device (the device is correctly detected on the 
VM):

vm2.vm_ioports = [];
        vm2.pci_devices = [
        {
            "name":"outer_eth",
            "bus":0xb5,
            "dev":0x0,
            "fun":1,
            "irq":"outer_eth",
            "memory":[
                {"paddr":0xf9000000, "size":0x01000000, "page_bits":12},  // 
BAR0
                {"paddr":0xfb000000, "size":0x00008000, "page_bits":12},  // 
BAR3
            ]
        }
        ];
        vm2.vm_irqs = [
            {"name":"outer_eth", "ioapic":0, "source":0xb, "level_trig":0, 
"active_low":1, "dest":12}
        ];

 I’m seeing the following errors during boot and when bringing the interface up:

[    2.040786] i40e 0000:00:01.0: MAC address: 3c:ec:ef:d2:88:85
[    2.090786] i40e 0000:00:01.0: MSI-X vector reservation failed: -38
[    2.109960] i40e 0000:00:01.0: MSI-X not available, trying MSI
[    2.115660] i40e 0000:00:01.0: MSI init failed - -38
[    2.121656] i40e 0000:00:01.0: MSI-X and MSI not available, falling back to 
Legacy IRQ
[    2.220802] i40e 0000:00:01.0 eth1: NIC Link is Up, 1000 Mbps Full Duplex, 
Flow Control: None
[    2.290774] i40e 0000:00:01.0: Features: PF-id[1] VSIs: 66 QP: 1 VxLAN 
Geneve PTP VEPA
...
# ifconfig eth1 up
[  451.042525] i40e 0000:00:01.0 eth1: NETDEV WATCHDOG: CPU: 0: transmit queue 
0 timed out 5770 ms
[  451.052764] i40e 0000:00:01.0 eth1: tx_timeout: VSI_seid: 391, Q 0, NTC: 
0x0, HWB: 0x1, NTU: 0x1, TAIL: 0x1, INT: 0x0
[  451.065876] i40e 0000:00:01.0 eth1: tx_timeout recovery level 2, txqueue 0
[  456.082601] i40e 0000:00:01.0 eth1: NETDEV WATCHDOG: CPU: 0: transmit queue 
0 timed out 10810 ms

My thought is that this NIC does not work reliably with legacy IRQ mode.
My question is: Is there any implementation of MSI-X interrupts for x86 in the 
seL4 VMM, or plans to support it? If such support exists, I would like to 
contribute, as I plan to share my project once it’s finished.

Thanks in advance for any guidance or suggestions.
Albert
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]


This email and any files transmitted with it may contain confidential 
information. If you believe you have received this email or any of its contents 
in error, please notify me immediately by return email and destroy this email. 
Do not use, disseminate, forward, print or copy any contents of an email 
received in error.

_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to