genodelabs / genode

Genode OS Framework
https://genode.org/
Other
1.08k stars 255 forks source link

platform_drv: interrupt remapping support #5066

Open jschlatow opened 1 year ago

jschlatow commented 1 year ago

As mentioned in #5002, to achieve complete kernel-agnostic IOMMU support, the platform driver must also deal with interrupt remapping. Setting up the (global) interrupt remapping table is pretty straight forward and I have a work-in-progress implementation on my _iommuirq branch, yet since we do not have access to the IOAPIC from within the platform driver to set the redirection table entries, we must pass-through compatibility format interrupts. This, however, nullifies the benefits of interrupt remapping. We therefore need to find a way to move control over the IOAPIC from the kernel to the platform driver.

Another (minor) obstacle is that we need to use the queued invalidation interface as the interrupt related caching structures cannot be flushed using the register-based interface.

Note: I am not actively working on this issue at the moment and merely intend to share and document the current state.

jschlatow commented 8 months ago

I updated my _iommuirq branch in an effort to implement IRQ remapping for the platform driver. Unfortunately, I got stuck trying to enable remapping for legacy IRQs. My idea was that we could still let the kernel control the IOAPIC configuration but overwrite the remapping-specific parts after the platform driver created the Irq_session. Yet, I overlooked that a call to Irq_session::sigh() again triggers an IOAPIC reconfiguration by the kernel. Since the sigh() cannot be intercepted by the platform driver, I am uncertain how to proceed with this matter.

Maybe it's best to just let NOVA handle IRQ remapping and only adapt base-hw to allow platform-driver-managed IRQ remapping?!

jschlatow commented 8 months ago

@chelmuth While working on this issue, I noticed that the fault reporting has become ineffective. The fault event IRQ requires getting a non-remapped MSI from the kernel, which we don't get when NOVA enabled IRQ remapping. I fixed this in 7a2847a. You may cherry-pick this commit for staging already.

chelmuth commented 8 months ago

Merged 5d4675b18550e3ff962dd0ab6afc80a9e911ec6f to staging.

alex-ab commented 8 months ago

Maybe it's best to just let NOVA handle IRQ remapping and only adapt base-hw to allow platform-driver-managed IRQ remapping?!

I agree with this. IMO it is better not to cheat with the kernel. At the end, this feature is really for base-hw and all the other supported kernels have their own opinion about that.

jschlatow commented 8 months ago

I just rebased a working state on staging and force-pushed to it my _iommuirq branch.

The changes for sculpt@nova are marginal (switched register-based invalidation interface with queued-invalidation interface). As mentioned earlier, the IRQ remapping is handled by the platform driver only for sculpt@hw. I uploaded a corresponding hw-based image (sculpt-pc-2024-04-04.img) for those of you who are interested in giving it a spin. I am particularly curious whether there are any issues on Gen13 or Gen1 devices.

nfeske commented 7 months ago

Test on my x250:

nfeske commented 7 months ago

The image does not boot up on the Gen13 Framework. I can only see the boot logo.

nfeske commented 7 months ago

The Gen12 Framework behaves like the Gen13 version.

jschlatow commented 7 months ago

@nfeske Thanks for testing. I just uploaded another Sculpt image with disabled IOMMU. I'd be interested in whether the issues you observe are related to base-hw or to IOMMU support.

nfeske commented 7 months ago

The 04-04 image works almost completely fine on the x201, including USB.

Almost, because the wifi driver shows a hick-up (most probably unrelated to your work @jschlatow):

[runtime -> wifi] Warning: ignoring accesspoint with invalid ssid
[runtime -> wifi] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[runtime -> wifi] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[runtime -> wifi] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[runtime -> wifi] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[runtime -> wifi] time-clocksource: Switched to clocksource dde_counter
[runtime -> wifi] Intel(R) Wireless WiFi driver for Linux
[runtime -> wifi] iwlwifi 02:00.0: pci_enable_msi failed - -38
[runtime -> wifi] task_work_add: task: 000000005f926de4 work: 00000000e8a154f8 notify: 0
[runtime -> wifi] NET: Registered PF_PACKET protocol family
[runtime -> wifi] sched_clock: Marking stable (216944000, 51294000)->(339597000, -71359000)
[runtime -> wifi] wireless-reg: Loading compiled-in X.509 certificates for regulatory database
[runtime -> wifi] Warning: /dev/rtc not readable, returning 0
[runtime -> wifi] wireless-reg: loaded regulatory.db is malformed or signature is missing/invalid
[runtime -> wifi] iwlwifi 02:00.0: loaded firmware version 9.221.4.1 build 25532 6000-4.ucode op_mode iwldvm
[runtime -> wifi] iwlwifi 02:00.0: CONFIG_IWLWIFI_DEBUG disabled
[runtime -> wifi] iwlwifi 02:00.0: CONFIG_IWLWIFI_DEBUGFS disabled
[runtime -> wifi] iwlwifi 02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING disabled
[runtime -> wifi] iwlwifi 02:00.0: Detected Intel(R) Centrino(R) Ultimate-N 6300 AGN, REV=0x74
[runtime -> wifi] Error: Function iwl_leds_init not implemented yet!
[runtime -> wifi] backtrace "ep"
[runtime -> wifi] Will sleep forever...

@cnuke could you have a look at the wifi issue?

nfeske commented 7 months ago

@jschlatow your image 04-08 behaves like the image 04-04 on the Gen13 Framework.

chelmuth commented 7 months ago
* The system boots up just fine. Graphics at snail pace, presumably because of the missing write-combining of for the framebuffer.

Should be addressed by e096202b1fa47165a726e73f53278080af6a06bc already. Any ideas?

jschlatow commented 7 months ago

Should be addressed by e096202 already. Any ideas?

The attribute has not been propagated to the page flags. 26ed24a fixes the issue on my x260, i.e. graphics feel as responsive as with NOVA. Moreover, mesa_gears achieves about twice as many fps.

nfeske commented 7 months ago

When booting Sculpt (staging branch) with base-hw via AMT on my x250, the platform driver complains as follows:

[init -> drivers -> platform_drv] Error: Fault recording overflow
[init -> drivers -> platform_drv] Error: Faults records for drhd1
[init -> drivers -> platform_drv] Error: Fault: hi=0x80000005000000a0, reason=0x5, type=0x0, AT=0x0, EXE=0x0, PRIV=0x0, PP=0x0, Source=0xa0, info=0xcb002
nfeske commented 7 months ago

i.e. graphics feel as responsive as with NOVA.

Splendid!

jschlatow commented 7 months ago

When booting Sculpt (staging branch) with base-hw via AMT on my x250, the platform driver complains as follows:

Does this message appear right after the "enabled IOMMU drhd1..." message? Occasionally, an IOMMU fault from the graphics controller occurs when the IOMMU is enabled or control over the IOMMU transfers from NOVA to the platform driver. I haven't investigated this (yet) because it has not caused any trouble so far and I believed it already fixed. However, the fault was merely masked due to ineffective fault reporting.

jschlatow commented 7 months ago

i.e. graphics feel as responsive as with NOVA.

Splendid!

One observation I made is that, although mesa_gears achieves the same peak fps on NOVA and base-hw, on base-hw the fps is significantly influenced by interactions with the Leitzentrale. Merely switching back and forth to the Leitzentrale reduces the fps on base-hw to something below 100fps whereas NOVA is able to keep the fps stable at 1.6k.

nfeske commented 7 months ago

Regarding the timing on base-hw, can you give @skalk's commit https://github.com/nfeske/genode/commit/6ce9cd5e376dc16835c8a9f5599843ff938db9a3 a try?

jschlatow commented 7 months ago

When booting Sculpt (staging branch) with base-hw via AMT on my x250, the platform driver complains as follows:

Does this message appear right after the "enabled IOMMU drhd1..." message? Occasionally, an IOMMU fault from the graphics controller occurs when the IOMMU is enabled or control over the IOMMU transfers from NOVA to the platform driver. I haven't investigated this (yet) because it has not caused any trouble so far and I believed it already fixed. However, the fault was merely masked due to ineffective fault reporting.

Sorry, I must correct myself: Your fault comes from the USB controller.

jschlatow commented 7 months ago

Regarding the timing on base-hw, can you give @skalk's commit nfeske@6ce9cd5 a try?

I've cherry picked 08fa933a8364cd6875e3d7a0d5fdff778242fb3b. The fps still drops but not as much (to ~600fps).

jschlatow commented 7 months ago

When booting Sculpt (staging branch) with base-hw via AMT on my x250, the platform driver complains as follows:

[init -> drivers -> platform_drv] Error: Fault recording overflow
[init -> drivers -> platform_drv] Error: Faults records for drhd1
[init -> drivers -> platform_drv] Error: Fault: hi=0x80000005000000a0, reason=0x5, type=0x0, AT=0x0, EXE=0x0, PRIV=0x0, PP=0x0, Source=0xa0, info=0xcb002

@nfeske Is this fault reproducible? I've tried to reproduce this on my x260. I sometimes get a similar fault from the SATA controller, yet, this also occurs (rarely) when I boot with NOVA-managed IOMMU (ignore_drhd="yes" for acpi_drv).

mewmew commented 7 months ago

The 04-04 image works almost completely fine on the x201, including USB.

Almost, because the wifi driver shows a hick-up (most probably unrelated to your work @jschlatow):

[runtime -> wifi] Warning: ignoring accesspoint with invalid ssid
[runtime -> wifi] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[runtime -> wifi] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[runtime -> wifi] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[runtime -> wifi] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[runtime -> wifi] time-clocksource: Switched to clocksource dde_counter
[runtime -> wifi] Intel(R) Wireless WiFi driver for Linux
[runtime -> wifi] iwlwifi 02:00.0: pci_enable_msi failed - -38
[runtime -> wifi] task_work_add: task: 000000005f926de4 work: 00000000e8a154f8 notify: 0
[runtime -> wifi] NET: Registered PF_PACKET protocol family
[runtime -> wifi] sched_clock: Marking stable (216944000, 51294000)->(339597000, -71359000)
[runtime -> wifi] wireless-reg: Loading compiled-in X.509 certificates for regulatory database
[runtime -> wifi] Warning: /dev/rtc not readable, returning 0
[runtime -> wifi] wireless-reg: loaded regulatory.db is malformed or signature is missing/invalid
[runtime -> wifi] iwlwifi 02:00.0: loaded firmware version 9.221.4.1 build 25532 6000-4.ucode op_mode iwldvm
[runtime -> wifi] iwlwifi 02:00.0: CONFIG_IWLWIFI_DEBUG disabled
[runtime -> wifi] iwlwifi 02:00.0: CONFIG_IWLWIFI_DEBUGFS disabled
[runtime -> wifi] iwlwifi 02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING disabled
[runtime -> wifi] iwlwifi 02:00.0: Detected Intel(R) Centrino(R) Ultimate-N 6300 AGN, REV=0x74
[runtime -> wifi] Error: Function iwl_leds_init not implemented yet!
[runtime -> wifi] backtrace "ep"
[runtime -> wifi] Will sleep forever...

@cnuke could you have a look at the wifi issue?

Just as a data point, I also compiled Sculpt today (rev 25f559701a18096c7eae26d4ccb7bdbaf7ff1073), and the wifi has the same issue on x220 as reported by @nfeske. The wired network option works perfectly however.

Really lovely to get a sneak peak of the new features of Sculpt! Great job everyone : )

cnuke commented 7 months ago

The commit 78945f0 addresses the recent problems of the pc_wifi driver on older hardware (6xxx series).

nfeske commented 7 months ago

Thanks @cnuke for responding so quickly. I merged your fix to staging just now.

nfeske commented 7 months ago

Is this fault reproducible?

Yes, on the x250 using base-hw (staging, w/o the IRQ remapping commits of this issue). But currently, I don't have the x250 at hand.

mewmew commented 7 months ago

The commit 78945f0 addresses the recent problems of the pc_wifi driver on older hardware (6xxx series).

Just to confirm. The wifi is now working on x220. Great job!

jschlatow commented 7 months ago

Is this fault reproducible?

Yes, on the x250 using base-hw (staging, w/o the IRQ remapping commits of this issue). But currently, I don't have the x250 at hand.

@nfeske I'm suspecting the accessed address (0xcb002000) is from the reserved memory. Could you cherry pick 7a35a7e and have a look at _/report/drivers/pcidevices?

If this is the case, can you also cherry pick a7a9004 and send me the log? The commit adds a dump of the USB controller's translation table a) when it is acquired and b) when the fault occurs. I'm wondering whether the reserved memory is mapped too late into the translation table.

nfeske commented 7 months ago
[init -> drivers -> platform_drv] Error: Faults records for drhd1
[init -> drivers -> platform_drv] Error: Fault: hi=0xc0000006000000a0, reason=0x6, type=0x1, AT=0x0, EXE=0x0, PRIV=0x0, PP=0x0, Source=0xa0, info=0xcaffe

I guess the info value is the interesting one? It is strange that the value differs from the one I observed and reported earier. However, the access seems indeed fall into the reserved memory area of the xHCI controller at 0:14.0, as you suspected.

<reserved_memory address="0xcaf94000" size="0x17000"/>

BTW, further down the log, I see the following message in the log:

[init -> runtime -> ps2] Using keyboard with scan code set 1 (xlate)
[init -> runtime -> intel_gpu] Maximum aperture size 256M
[init -> runtime -> intel_gpu]  - available framebuffer memory for display driver: 64M
[init -> runtime -> ahci] version: major=0x1 minor=0x300
[init -> runtime -> ahci] command slots: 32
[init -> runtime -> ahci] native command queuing: yes
[init -> runtime -> ahci] 64-bit support: yes
[init -> runtime -> ahci] port scan:
[init -> runtime -> ahci] Warning: CMD.ST bit set during device reset --> unknown behavior
[init -> runtime] child "intel_gpu" announces service "Platform"
[init -> drivers -> platform_drv] Error: Faults records for drhd1
[init -> drivers -> platform_drv] Error: Fault: hi=0x80000005000000fa, reason=0x5, type=0x0, AT=0x0, EXE=0x0, PRIV=0x0, PP=0x0, Source=0xfa, info=0xca6ce

I'm unable to correlate this info value to any value in /report/drivers/pci_devices.

If this is the case, can you also cherry pick a7a9004 and send me the log?

Here is the log:

[init -> drivers -> platform_drv] enabling 00:14.0
[init -> drivers -> platform_drv]    0x40000+0x1000 -> 0xfc80000
[init -> drivers -> platform_drv]    0x41000+0x1000 -> 0xfc81000
[init -> drivers -> platform_drv]    0x42000+0x1000 -> 0xfc82000
[init -> drivers -> platform_drv]    0x43000+0x1000 -> 0xfc83000
[init -> drivers -> platform_drv]    0x44000+0x1000 -> 0xfc84000
[init -> drivers -> platform_drv]    0x45000+0x1000 -> 0xfc85000
[init -> drivers -> platform_drv]    0x46000+0x1000 -> 0xfc86000
[init -> drivers -> platform_drv]    0x47000+0x1000 -> 0xfc87000
[init -> drivers -> platform_drv]    0x48000+0x1000 -> 0xfc88000
[init -> drivers -> platform_drv]    0x49000+0x1000 -> 0xfc89000
[init -> drivers -> platform_drv]    0x4a000+0x1000 -> 0xfc8a000
[init -> drivers -> platform_drv]    0x4b000+0x1000 -> 0xfc8b000
[init -> drivers -> platform_drv]    0x4c000+0x1000 -> 0xfc8c000
[init -> drivers -> platform_drv]    0x4d000+0x1000 -> 0xfc8d000
[init -> drivers -> platform_drv]    0x4e000+0x1000 -> 0xfc8e000
[init -> drivers -> platform_drv]    0x4f000+0x1000 -> 0xfc8f000
[init -> drivers -> platform_drv]    0x50000+0x1000 -> 0xfc90000
[init -> drivers -> platform_drv]    0x51000+0x1000 -> 0xfc91000
[init -> drivers -> platform_drv]    0x52000+0x1000 -> 0xfc92000
[init -> drivers -> platform_drv]    0x53000+0x1000 -> 0xfc93000
[init -> drivers -> platform_drv]    0x54000+0x1000 -> 0xfc94000
[init -> drivers -> platform_drv]    0x55000+0x1000 -> 0xfc95000
[init -> drivers -> platform_drv]    0x56000+0x1000 -> 0xfc96000
[init -> drivers -> platform_drv]    0x57000+0x1000 -> 0xfc97000
[init -> drivers -> platform_drv]    0x58000+0x1000 -> 0xfc98000
[init -> drivers -> platform_drv]    0x59000+0x1000 -> 0xfc99000
[init -> drivers -> platform_drv]    0x5a000+0x1000 -> 0xfc9a000
[init -> drivers -> platform_drv]    0x5b000+0x1000 -> 0xfc9b000
[init -> drivers -> platform_drv]    0x5c000+0x1000 -> 0xfc9c000
[init -> drivers -> platform_drv]    0x5d000+0x1000 -> 0xfc9d000
[init -> drivers -> platform_drv]    0x5e000+0x1000 -> 0xfc9e000
[init -> drivers -> platform_drv]    0x5f000+0x1000 -> 0xfc9f000
[init -> drivers -> platform_drv]    0x60000+0x1000 -> 0xfca0000
[init -> drivers -> platform_drv]    0x61000+0x1000 -> 0xfca1000
[init -> drivers -> platform_drv]    0x62000+0x1000 -> 0xfca2000
[init -> drivers -> platform_drv]    0x63000+0x1000 -> 0xfca3000
[init -> drivers -> platform_drv]    0x64000+0x1000 -> 0xfca4000
[init -> drivers -> platform_drv]    0x65000+0x1000 -> 0xfca5000
[init -> drivers -> platform_drv]    0x66000+0x1000 -> 0xfca6000
[init -> drivers -> platform_drv]    0x67000+0x1000 -> 0xfca7000
[init -> drivers -> platform_drv]    0x68000+0x1000 -> 0xfca8000
[init -> drivers -> platform_drv]    0x69000+0x1000 -> 0xfca9000
[init -> drivers -> platform_drv]    0x6a000+0x1000 -> 0xfcaa000
[init -> drivers -> platform_drv]    0x6b000+0x1000 -> 0xfcab000
[init -> drivers -> platform_drv]    0x6c000+0x1000 -> 0xfcac000
[init -> drivers -> platform_drv]    0x6d000+0x1000 -> 0xfcad000
[init -> drivers -> platform_drv]    0x6e000+0x1000 -> 0xfcae000
[init -> drivers -> platform_drv]    0x6f000+0x1000 -> 0xfcaf000
[init -> drivers -> platform_drv]    0x70000+0x1000 -> 0xfcb0000
[init -> drivers -> platform_drv]    0x71000+0x1000 -> 0xfcb1000
[init -> drivers -> platform_drv]    0x72000+0x1000 -> 0xfcb2000
[init -> drivers -> platform_drv]    0x73000+0x1000 -> 0xfcb3000
[init -> drivers -> platform_drv]    0x74000+0x1000 -> 0xfcb4000
[init -> drivers -> platform_drv]    0x75000+0x1000 -> 0xfcb5000
[init -> drivers -> platform_drv]    0x76000+0x1000 -> 0xfcb6000
[init -> drivers -> platform_drv]    0x77000+0x1000 -> 0xfcb7000
[init -> drivers -> platform_drv]    0x78000+0x1000 -> 0xfcb8000
[init -> drivers -> platform_drv]    0x79000+0x1000 -> 0xfcb9000
[init -> drivers -> platform_drv]    0x7a000+0x1000 -> 0xfcba000
[init -> drivers -> platform_drv]    0x7b000+0x1000 -> 0xfcbb000
[init -> drivers -> platform_drv]    0x7c000+0x1000 -> 0xfcbc000
[init -> drivers -> platform_drv]    0x7d000+0x1000 -> 0xfcbd000
[init -> drivers -> platform_drv]    0x7e000+0x1000 -> 0xfcbe000
[init -> drivers -> platform_drv]    0x7f000+0x1000 -> 0xfcbf000
[init -> drivers -> platform_drv]    0xcaf94000+0x1000 -> 0xcaf94000
[init -> drivers -> platform_drv]    0xcaf95000+0x1000 -> 0xcaf95000
[init -> drivers -> platform_drv]    0xcaf96000+0x1000 -> 0xcaf96000
[init -> drivers -> platform_drv]    0xcaf97000+0x1000 -> 0xcaf97000
[init -> drivers -> platform_drv]    0xcaf98000+0x1000 -> 0xcaf98000
[init -> drivers -> platform_drv]    0xcaf99000+0x1000 -> 0xcaf99000
[init -> drivers -> platform_drv]    0xcaf9a000+0x1000 -> 0xcaf9a000
[init -> drivers -> platform_drv]    0xcaf9b000+0x1000 -> 0xcaf9b000
[init -> drivers -> platform_drv]    0xcaf9c000+0x1000 -> 0xcaf9c000
[init -> drivers -> platform_drv]    0xcaf9d000+0x1000 -> 0xcaf9d000
[init -> drivers -> platform_drv]    0xcaf9e000+0x1000 -> 0xcaf9e000
[init -> drivers -> platform_drv]    0xcaf9f000+0x1000 -> 0xcaf9f000
[init -> drivers -> platform_drv]    0xcafa0000+0x1000 -> 0xcafa0000
[init -> drivers -> platform_drv]    0xcafa1000+0x1000 -> 0xcafa1000
[init -> drivers -> platform_drv]    0xcafa2000+0x1000 -> 0xcafa2000
[init -> drivers -> platform_drv]    0xcafa3000+0x1000 -> 0xcafa3000
[init -> drivers -> platform_drv]    0xcafa4000+0x1000 -> 0xcafa4000
[init -> drivers -> platform_drv]    0xcafa5000+0x1000 -> 0xcafa5000
[init -> drivers -> platform_drv]    0xcafa6000+0x1000 -> 0xcafa6000
[init -> drivers -> platform_drv]    0xcafa7000+0x1000 -> 0xcafa7000
[init -> drivers -> platform_drv]    0xcafa8000+0x1000 -> 0xcafa8000
[init -> drivers -> platform_drv]    0xcafa9000+0x1000 -> 0xcafa9000
[init -> drivers -> platform_drv]    0xcafaa000+0x1000 -> 0xcafaa000
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 1
[init -> runtime -> usb] xhci_hcd 00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x000000000004b810
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 2
[init -> runtime -> usb] xhci_hcd 00:14.0: Host supports USB 3.0 SuperSpeed
[init -> runtime -> intel_fb] disabling PPGTT to avoid GPU code paths
[init -> runtime -> usb] hub 1-0:1.0: USB hub found
[init -> runtime -> usb] hub 1-0:1.0: 11 ports detected
[init -> runtime -> usb] hub 2-0:1.0: USB hub found
[init -> runtime -> usb] hub 2-0:1.0: 4 ports detected
[init -> runtime -> usb] sched_clock: Marking stable (311240000, 92518000)->(499746000, -95988000)
[init -> runtime -> intel_fb] i915 00:02.0: [drm] VT-d active for gfx access
[init -> runtime] child "ahci-0.fs"
[init -> runtime]   RAM quota:  73480K
[init -> runtime]   cap quota:  366
[init -> runtime]   ELF binary: vfs
[init -> runtime]   priority:   2
[init -> runtime]   provides service File_system
[init -> runtime] child "prepare"
[init -> runtime]   RAM quota:  102152K
[init -> runtime]   cap quota:  766
[init -> runtime]   ELF binary: init
[init -> runtime]   priority:   2
[init -> runtime] child "depot"
[init -> runtime]   RAM quota:  1800K
[init -> runtime]   cap quota:  66
[init -> runtime]   ELF binary: chroot
[init -> runtime]   priority:   2
[init -> runtime]   provides service File_system
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3cc
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c2
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c4
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3c5
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c5
[init -> runtime] child "runtime_view" requests resources: cap_quota=9
[init -> runtime -> ahci-0.fs] rump: /genode: file system not clean; please fsck(8)
[init -> runtime] child "runtime_view" requests resources: ram_quota=453916
[init -> runtime -> intel_fb] [drm] Initialized i915 1.6.0 20201103 for 00:02.0 on minor 0
[init -> runtime -> intel_fb] sched_clock: Marking stable (556647000, 53453000)->(728147000, -118047000)
[init -> runtime] child "ahci-0.fs" announces service "File_system"
[init -> runtime] child "depot" announces service "File_system"
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(3)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(4)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(5)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(6)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(7)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(8)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(9)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(10)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(11)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(12)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(13)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(14)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(15)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(16)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(17)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(18)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(19)
[init -> runtime -> ahci-0.fs] Warning: attempt to handle the same signal context twice (nested)
[init -> runtime] child "prepare" exited with exit value 0
[init -> runtime] child "launcher_query"
[init -> runtime]   RAM quota:  1800K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: fs_query
[init -> runtime]   priority:   2
[init -> runtime] child "depot_rom"
[init -> runtime]   RAM quota:  24328K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: cached_fs_rom
[init -> runtime]   priority:   2
[init -> runtime]   provides service ROM
[init -> runtime] child "dynamic_depot_rom"
[init -> runtime]   RAM quota:  7944K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: fs_rom
[init -> runtime]   priority:   2
[init -> runtime]   provides service ROM
[init -> runtime] child "depot_query"
[init -> runtime]   RAM quota:  1800K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: depot_query
[init -> runtime]   priority:   2
[init -> runtime] child "depot_rom" announces service "ROM"
[init -> runtime] child "dynamic_depot_rom" announces service "ROM"
[init -> runtime -> intel_fb]      eDP-1:  enable name='1920x1080' id=1  mode=1920x1080@60  fb=1920x1080
[init -> runtime -> intel_fb] framebuffer reconstructed - virtual=1920x1080 physical=1920x1080
[init -> leitzentrale -> decorator] Warning: attempt to handle the same signal context twice (nested)
[init -> leitzentrale -> backdrop] Warning: attempt to handle the same signal context twice (nested)
[init -> runtime] child "runtime_view" requests resources: ram_quota=276544
[init -> runtime -> usb] xhci_hcd 00:14.0: Error while assigning device slot ID: Command Aborted
[init -> runtime -> usb] xhci_hcd 00:14.0: Max number of devices this xHCI host supports is 32.
[init -> runtime -> usb] usb usb1-port1: couldn't allocate usb_device
jschlatow commented 7 months ago

That is strange. Do you see similar faults with KERNEL=nova?

Regarding the xHCI-controller fault: The address 0xcaffe000 is not in the reserved memory as specified by the pci_devices ROM since 0xcaf94000+0x17000 = 0xcafab000. Maybe the size is not correct?

The second fault you observed is from 00:1f.2. Has the device any reserved memory?

nfeske commented 7 months ago

Do you see similar faults with KERNEL=nova?

There are no errors on NOVA. For reference, the log on NOVA look like this:

[init -> drivers -> platform_drv] enabling 00:14.0
[init -> drivers -> platform_drv]    0x40000+0x1000 -> 0x680000
[init -> drivers -> platform_drv]    0x41000+0x1000 -> 0x681000
[init -> drivers -> platform_drv]    0x42000+0x1000 -> 0x682000
[init -> drivers -> platform_drv]    0x43000+0x1000 -> 0x683000
[init -> drivers -> platform_drv]    0x44000+0x1000 -> 0x684000
[init -> drivers -> platform_drv]    0x45000+0x1000 -> 0x685000
[init -> drivers -> platform_drv]    0x46000+0x1000 -> 0x686000
[init -> drivers -> platform_drv]    0x47000+0x1000 -> 0x687000
[init -> drivers -> platform_drv]    0x48000+0x1000 -> 0x688000
[init -> drivers -> platform_drv]    0x49000+0x1000 -> 0x689000
[init -> drivers -> platform_drv]    0x4a000+0x1000 -> 0x68a000
[init -> drivers -> platform_drv]    0x4b000+0x1000 -> 0x68b000
[init -> drivers -> platform_drv]    0x4c000+0x1000 -> 0x68c000
[init -> drivers -> platform_drv]    0x4d000+0x1000 -> 0x68d000
[init -> drivers -> platform_drv]    0x4e000+0x1000 -> 0x68e000
[init -> drivers -> platform_drv]    0x4f000+0x1000 -> 0x68f000
[init -> drivers -> platform_drv]    0x50000+0x1000 -> 0x690000
[init -> drivers -> platform_drv]    0x51000+0x1000 -> 0x691000
[init -> drivers -> platform_drv]    0x52000+0x1000 -> 0x692000
[init -> drivers -> platform_drv]    0x53000+0x1000 -> 0x693000
[init -> drivers -> platform_drv]    0x54000+0x1000 -> 0x694000
[init -> drivers -> platform_drv]    0x55000+0x1000 -> 0x695000
[init -> drivers -> platform_drv]    0x56000+0x1000 -> 0x696000
[init -> drivers -> platform_drv]    0x57000+0x1000 -> 0x697000
[init -> drivers -> platform_drv]    0x58000+0x1000 -> 0x698000
[init -> drivers -> platform_drv]    0x59000+0x1000 -> 0x699000
[init -> drivers -> platform_drv]    0x5a000+0x1000 -> 0x69a000
[init -> drivers -> platform_drv]    0x5b000+0x1000 -> 0x69b000
[init -> drivers -> platform_drv]    0x5c000+0x1000 -> 0x69c000
[init -> drivers -> platform_drv]    0x5d000+0x1000 -> 0x69d000
[init -> drivers -> platform_drv]    0x5e000+0x1000 -> 0x69e000
[init -> drivers -> platform_drv]    0x5f000+0x1000 -> 0x69f000
[init -> drivers -> platform_drv]    0x60000+0x1000 -> 0x6a0000
[init -> drivers -> platform_drv]    0x61000+0x1000 -> 0x6a1000
[init -> drivers -> platform_drv]    0x62000+0x1000 -> 0x6a2000
[init -> drivers -> platform_drv]    0x63000+0x1000 -> 0x6a3000
[init -> drivers -> platform_drv]    0x64000+0x1000 -> 0x6a4000
[init -> drivers -> platform_drv]    0x65000+0x1000 -> 0x6a5000
[init -> drivers -> platform_drv]    0x66000+0x1000 -> 0x6a6000
[init -> drivers -> platform_drv]    0x67000+0x1000 -> 0x6a7000
[init -> drivers -> platform_drv]    0x68000+0x1000 -> 0x6a8000
[init -> drivers -> platform_drv]    0x69000+0x1000 -> 0x6a9000
[init -> drivers -> platform_drv]    0x6a000+0x1000 -> 0x6aa000
[init -> drivers -> platform_drv]    0x6b000+0x1000 -> 0x6ab000
[init -> drivers -> platform_drv]    0x6c000+0x1000 -> 0x6ac000
[init -> drivers -> platform_drv]    0x6d000+0x1000 -> 0x6ad000
[init -> drivers -> platform_drv]    0x6e000+0x1000 -> 0x6ae000
[init -> drivers -> platform_drv]    0x6f000+0x1000 -> 0x6af000
[init -> drivers -> platform_drv]    0x70000+0x1000 -> 0x6b0000
[init -> drivers -> platform_drv]    0x71000+0x1000 -> 0x6b1000
[init -> drivers -> platform_drv]    0x72000+0x1000 -> 0x6b2000
[init -> drivers -> platform_drv]    0x73000+0x1000 -> 0x6b3000
[init -> drivers -> platform_drv]    0x74000+0x1000 -> 0x6b4000
[init -> drivers -> platform_drv]    0x75000+0x1000 -> 0x6b5000
[init -> drivers -> platform_drv]    0x76000+0x1000 -> 0x6b6000
[init -> drivers -> platform_drv]    0x77000+0x1000 -> 0x6b7000
[init -> drivers -> platform_drv]    0x78000+0x1000 -> 0x6b8000
[init -> drivers -> platform_drv]    0x79000+0x1000 -> 0x6b9000
[init -> drivers -> platform_drv]    0x7a000+0x1000 -> 0x6ba000
[init -> drivers -> platform_drv]    0x7b000+0x1000 -> 0x6bb000
[init -> drivers -> platform_drv]    0x7c000+0x1000 -> 0x6bc000
[init -> drivers -> platform_drv]    0x7d000+0x1000 -> 0x6bd000
[init -> drivers -> platform_drv]    0x7e000+0x1000 -> 0x6be000
[init -> drivers -> platform_drv]    0x7f000+0x1000 -> 0x6bf000
[init -> drivers -> platform_drv]    0xcaf94000+0x1000 -> 0xcaf94000
[init -> drivers -> platform_drv]    0xcaf95000+0x1000 -> 0xcaf95000
[init -> drivers -> platform_drv]    0xcaf96000+0x1000 -> 0xcaf96000
[init -> drivers -> platform_drv]    0xcaf97000+0x1000 -> 0xcaf97000
[init -> drivers -> platform_drv]    0xcaf98000+0x1000 -> 0xcaf98000
[init -> drivers -> platform_drv]    0xcaf99000+0x1000 -> 0xcaf99000
[init -> drivers -> platform_drv]    0xcaf9a000+0x1000 -> 0xcaf9a000
[init -> drivers -> platform_drv]    0xcaf9b000+0x1000 -> 0xcaf9b000
[init -> drivers -> platform_drv]    0xcaf9c000+0x1000 -> 0xcaf9c000
[init -> drivers -> platform_drv]    0xcaf9d000+0x1000 -> 0xcaf9d000
[init -> drivers -> platform_drv]    0xcaf9e000+0x1000 -> 0xcaf9e000
[init -> drivers -> platform_drv]    0xcaf9f000+0x1000 -> 0xcaf9f000
[init -> drivers -> platform_drv]    0xcafa0000+0x1000 -> 0xcafa0000
[init -> drivers -> platform_drv]    0xcafa1000+0x1000 -> 0xcafa1000
[init -> drivers -> platform_drv]    0xcafa2000+0x1000 -> 0xcafa2000
[init -> drivers -> platform_drv]    0xcafa3000+0x1000 -> 0xcafa3000
[init -> drivers -> platform_drv]    0xcafa4000+0x1000 -> 0xcafa4000
[init -> runtime -> intel_gpu] GGTT
[init -> drivers -> platform_drv]    0xcafa5000+0x1000 -> 0xcafa5000
[init -> drivers -> platform_drv]    0xcafa6000+0x1000 -> 0xcafa6000
[init -> drivers -> platform_drv]    0xcafa7000+0x1000 -> 0xcafa7000
[init -> drivers -> platform_drv]    0xcafa8000+0x1000 -> 0xcafa8000
[init -> drivers -> platform_drv]    0xcafa9000+0x1000 -> 0xcafa9000
[init -> drivers -> platform_drv]    0xcafaa000+0x1000 -> 0xcafaa000
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 1
[init -> runtime -> intel_gpu]   vaddr:0x11800000 size:0x800000 entries:1048575 used:16384 aperture_size:0x10000000
[init -> runtime -> intel_gpu]   scratch_page:0xd0000000 (PA)
[init -> runtime -> usb] xhci_hcd 00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x000000000004b810
[init -> runtime -> intel_gpu] Warning: no clock gating
[init -> runtime] child "intel_gpu" announces service "Gpu"
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 2
[init -> runtime -> usb] xhci_hcd 00:14.0: Host supports USB 3.0 SuperSpeed
[init -> runtime -> intel_fb] --- Intel framebuffer driver started ---
[init -> runtime -> intel_fb] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[init -> runtime -> intel_fb] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[init -> runtime -> usb] hub 1-0:1.0: USB hub found
[init -> runtime -> usb] hub 1-0:1.0: 11 ports detected
[init -> runtime -> usb] hub 2-0:1.0: USB hub found
[init -> runtime -> intel_fb] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[init -> runtime -> usb] hub 2-0:1.0: 4 ports detected
[init -> runtime -> usb] sched_clock: Marking stable (606807000, 69519000)->(809532000, -133206000)
[init -> runtime -> intel_fb] time-clocksource: Switched to clocksource dde_counter
[init -> runtime -> intel_fb] disabling PPGTT to avoid GPU code paths
[init -> runtime -> intel_fb] i915 00:02.0: [drm] VT-d active for gfx access
[init -> runtime] child "runtime_view" requests resources: cap_quota=9
[init -> runtime -> ahci] --- Starting AHCI driver ---
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3cc
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c2
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c4
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3c5
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c5
[init -> runtime] child "runtime_view" requests resources: ram_quota=280120
[init -> runtime -> ahci] version: major=0x1 minor=0x300
[init -> runtime -> ahci] command slots: 32
[init -> runtime -> ahci] native command queuing: yes
[init -> runtime -> ahci] 64-bit support: yes
[init -> runtime -> ahci] port scan:
[init -> runtime -> ahci] Warning: CMD.ST bit set during device reset --> unknown behavior
[init -> runtime -> intel_fb] [drm] Initialized i915 1.6.0 20201103 for 00:02.0 on minor 0
[init -> runtime -> intel_fb] sched_clock: Marking stable (196653000, 49535000)->(314462000, -68274000)
[init -> runtime -> usb] usb 1-1: new low-speed USB device number 2 using xhci_hcd
[init -> runtime -> ahci]       #0: ATA
[init -> runtime -> ahci] controller port count differs from detected ports (CAP.NP=0x2,PI=0x1)
[init -> runtime] child "ahci-0.part"
[init -> runtime]   RAM quota:  7944K
[init -> runtime]   cap quota:  66
[init -> runtime]   ELF binary: part_block
[init -> runtime]   priority:   2
[init -> runtime]   provides service Block
[init -> runtime] child "ahci" announces service "Block"
[init -> runtime -> ahci-0.part] DISK Partition 0: LBA 0 (500118192 blocks)
[init -> runtime] child "ahci-0.part" announces service "Block"
[init -> runtime] child "ahci-0.fs"
[init -> runtime]   RAM quota:  73480K
[init -> runtime]   cap quota:  366
[init -> runtime]   ELF binary: vfs
[init -> runtime]   priority:   2
[init -> runtime]   provides service File_system
[init -> runtime] child "prepare"
[init -> runtime]   RAM quota:  102152K
[init -> runtime]   cap quota:  766
[init -> runtime]   ELF binary: init
[init -> runtime]   priority:   2
[init -> runtime] child "depot"
[init -> runtime]   RAM quota:  1800K
[init -> runtime]   cap quota:  66
[init -> runtime]   ELF binary: chroot
[init -> runtime]   priority:   2
[init -> runtime]   provides service File_system
[init -> runtime] child "usb_hid"
[init -> runtime]   RAM quota:  11016K
[init -> runtime]   cap quota:  146
[init -> runtime]   ELF binary: usb_hid_drv
[init -> runtime]   priority:   1
[init -> runtime -> usb_hid] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[init -> runtime -> usb_hid] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[init -> runtime -> usb_hid] usbcore: registered new interface driver usbfs
[init -> runtime -> usb_hid] usbcore: registered new interface driver hub
[init -> runtime -> usb_hid] usbcore: registered new device driver usb
[init -> runtime -> usb] usb 1-4: new high-speed USB device number 3 using xhci_hcd
[init -> runtime -> usb_hid] time-clocksource: Switched to clocksource dde_counter
[init -> runtime -> usb_hid] usbcore: registered new interface driver usbhid
[init -> runtime -> usb_hid] usbhid-hid-core: USB HID core driver

The second fault you observed is from 00:1f.2. Has the device any reserved memory?

That does not seem so. Here is the info from pci_devices:

    <device name="00:1f.2" type="pci">
        <pci-config address="0xf80fa000" bus="0x0" device="0x1f" function="0x2" vendor_id="0x8086" device_id="0x9c83" class="0x10601" revision="0x3" bridge="no" sub_vendor_id="0x17aa" sub_device_id="0x2226"/>
        <io_port_range pci_bar="0" address="0x30a8" size="0x8"/>
        <io_port_range pci_bar="1" address="0x30bc" size="0x4"/>
        <io_port_range pci_bar="2" address="0x30a0" size="0x8"/>
        <io_port_range pci_bar="3" address="0x30b8" size="0x4"/>
        <io_port_range pci_bar="4" address="0x3060" size="0x20"/>
        <io_mem pci_bar="5" address="0xf123c000" size="0x800"/>
        <irq type="msi" number="12"/>
        <io_mmu name="drhd1"/>
    </device>
jschlatow commented 7 months ago

@nfeske Am I correct to assume that the fault from 00:14.0 occurs before the enabling 00:14.0 message?

Could you do me another favour and boot a native Linux on that machine and post the content of /proc/iomem?

nfeske commented 7 months ago

Am I correct to assume that the fault from 00:14.0 occurs before the enabling 00:14.0 message?

Yes. I should better have provided the complete log. Here it is:

kernel initialized
Warning: TSC calibration not yet implemented, using fixed value
Genode 24.02-235-g9e31733177d <local changes>
7809 MiB RAM and 64533 caps assigned to init
[init] Warning: runtime: configured RAM exceeds available RAM, proceed with 7761417760
[init -> runtime] parent provides
[init -> runtime]   service "ROM"
[init -> runtime]   service "PD"
[init -> runtime]   service "RM"
[init -> runtime]   service "CPU"
[init -> runtime]   service "LOG"
[init -> runtime]   service "IO_MEM"
[init -> runtime]   service "IO_PORT"
[init -> runtime]   service "IRQ"
[init -> runtime]   service "Gui"
[init -> runtime]   service "Timer"
[init -> runtime]   service "Block"
[init -> runtime]   service "Report"
[init -> runtime]   service "Platform"
[init -> runtime] monitor ready
[init -> drivers -> acpi_drv] Found MADT
[init -> drivers -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> drivers -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13
[init -> drivers -> acpi_drv] Found MCFG
[init -> drivers -> acpi_drv] MCFG BASE 0xf8000000 seg 0x0 bus 0x0-0x3f
[init -> drivers -> acpi_drv] Found DMAR
[init -> drivers -> acpi_drv] 39 bit DMA physical addressable , IRQ remapping supported
[init -> drivers -> acpi_drv] DMA remapping structure type=0
[init -> drivers -> acpi_drv] DMA remapping structure type=0
[init -> drivers -> acpi_drv] DMA remapping structure type=1
[init -> drivers -> acpi_drv] DMA remapping structure type=1
[init -> drivers -> acpi_drv] XSDT OEM 'LENOVO', table id 'TP-N10  ', revision 4432, creator 'PTEC' (2)
[init -> drivers -> acpi_drv] SMBIOS table (entry point: 0x1500e0 structures: 0xccbfd000)
[init -> drivers -> platform_drv] enabled IOMMU drhd1 with default mappings
[init -> drivers -> platform_drv] enabled IOMMU drhd0 with default mappings
[init -> runtime] parent provides
[init -> runtime]   service "VM"
[init -> runtime]   service "Usb"
[init -> runtime]   service "File_system"
[init -> runtime]   service "Rtc"
[init -> runtime]   service "TRACE"
[init -> runtime]   service "Event"
[init -> runtime]   service "Capture"
[init -> runtime]   service "Gpu"
[init -> runtime]   service "Pin_state"
[init -> runtime]   service "Pin_control"
[init -> runtime]   service "Terminal"
[init -> runtime] child "runtime_view"
[init -> runtime]   RAM quota:  3848K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: menu_view
[init -> runtime]   priority:   1
[init -> runtime] child "ram_fs"
[init -> runtime]   RAM quota:  776K
[init -> runtime]   cap quota:  266
[init -> runtime]   ELF binary: vfs
[init -> runtime]   priority:   1
[init -> runtime]   provides service File_system
[init -> runtime] child "ps2"
[init -> runtime]   RAM quota:  776K
[init -> runtime]   cap quota:  66
[init -> runtime]   ELF binary: ps2_drv
[init -> runtime]   priority:   1
[init -> runtime] child "intel_gpu"
[init -> runtime]   RAM quota:  32520K
[init -> runtime]   cap quota:  1366
[init -> runtime]   ELF binary: intel_gpu_drv
[init -> runtime]   priority:   1
[init -> runtime]   provides service Gpu
[init -> runtime]   provides service Platform
[init -> runtime] child "intel_fb"
[init -> runtime]   RAM quota:  16136K
[init -> runtime]   cap quota:  766
[init -> runtime]   ELF binary: pc_intel_fb_drv
[init -> runtime]   priority:   1
[init -> runtime] child "usb"
[init -> runtime]   RAM quota:  16136K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: usb_drv
[init -> runtime]   priority:   1
[init -> runtime]   provides service Usb
[init -> runtime] child "ahci"
[init -> runtime]   RAM quota:  9992K
[init -> runtime]   cap quota:  66
[init -> runtime]   ELF binary: ahci_drv
[init -> runtime]   priority:   2
[init -> runtime]   provides service Block
[init -> runtime -> ahci] --- Starting AHCI driver ---
[init -> runtime -> ps2] Using keyboard with scan code set 1 (xlate)
[init -> drivers -> platform_drv] Error: Faults records for drhd1
[init -> drivers -> platform_drv] Error: Fault: hi=0xc0000006000000a0, reason=0x6, type=0x1, AT=0x0, EXE=0x0, PRIV=0x0, PP=0x0, Source=0xa0, lo=0xcaffe000
[init -> drivers -> platform_drv] IOMMU translation table 0:0x14.0
[init -> drivers -> platform_drv]    0xcaf94000+0x1000 -> 0xcaf94000
[init -> drivers -> platform_drv]    0xcaf95000+0x1000 -> 0xcaf95000
[init -> drivers -> platform_drv]    0xcaf96000+0x1000 -> 0xcaf96000
[init -> drivers -> platform_drv]    0xcaf97000+0x1000 -> 0xcaf97000
[init -> drivers -> platform_drv]    0xcaf98000+0x1000 -> 0xcaf98000
[init -> drivers -> platform_drv]    0xcaf99000+0x1000 -> 0xcaf99000
[init -> drivers -> platform_drv]    0xcaf9a000+0x1000 -> 0xcaf9a000
[init -> drivers -> platform_drv]    0xcaf9b000+0x1000 -> 0xcaf9b000
[init -> drivers -> platform_drv]    0xcaf9c000+0x1000 -> 0xcaf9c000
[init -> drivers -> platform_drv]    0xcaf9d000+0x1000 -> 0xcaf9d000
[init -> drivers -> platform_drv]    0xcaf9e000+0x1000 -> 0xcaf9e000
[init -> drivers -> platform_drv]    0xcaf9f000+0x1000 -> 0xcaf9f000
[init -> drivers -> platform_drv]    0xcafa0000+0x1000 -> 0xcafa0000
[init -> drivers -> platform_drv]    0xcafa1000+0x1000 -> 0xcafa1000
[init -> drivers -> platform_drv]    0xcafa2000+0x1000 -> 0xcafa2000
[init -> drivers -> platform_drv]    0xcafa3000+0x1000 -> 0xcafa3000
[init -> drivers -> platform_drv]    0xcafa4000+0x1000 -> 0xcafa4000
[init -> drivers -> platform_drv]    0xcafa5000+0x1000 -> 0xcafa5000
[init -> drivers -> platform_drv]    0xcafa6000+0x1000 -> 0xcafa6000
[init -> drivers -> platform_drv]    0xcafa7000+0x1000 -> 0xcafa7000
[init -> drivers -> platform_drv]    0xcafa8000+0x1000 -> 0xcafa8000
[init -> drivers -> platform_drv]    0xcafa9000+0x1000 -> 0xcafa9000
[init -> drivers -> platform_drv]    0xcafaa000+0x1000 -> 0xcafaa000
[init -> runtime -> intel_gpu] Maximum aperture size 256M
[init -> runtime -> intel_gpu]  - available framebuffer memory for display driver: 64M
[init -> runtime -> ahci] version: major=0x1 minor=0x300
[init -> runtime -> ahci] command slots: 32
[init -> runtime -> ahci] native command queuing: yes
[init -> runtime -> ahci] 64-bit support: yes
[init -> runtime -> ahci] port scan:
[init -> runtime -> ahci] Warning: CMD.ST bit set during device reset --> unknown behavior
[init -> runtime] child "intel_gpu" announces service "Platform"
[init -> drivers -> platform_drv] Error: Faults records for drhd1
[init -> drivers -> platform_drv] Error: Fault: hi=0x80000005000000fa, reason=0x5, type=0x0, AT=0x0, EXE=0x0, PRIV=0x0, PP=0x0, Source=0xfa, lo=0xca6ce000
[init -> drivers -> platform_drv] IOMMU translation table 0:0x14.0
[init -> drivers -> platform_drv]    0xcaf94000+0x1000 -> 0xcaf94000
[init -> drivers -> platform_drv]    0xcaf95000+0x1000 -> 0xcaf95000
[init -> drivers -> platform_drv]    0xcaf96000+0x1000 -> 0xcaf96000
[init -> drivers -> platform_drv]    0xcaf97000+0x1000 -> 0xcaf97000
[init -> drivers -> platform_drv]    0xcaf98000+0x1000 -> 0xcaf98000
[init -> drivers -> platform_drv]    0xcaf99000+0x1000 -> 0xcaf99000
[init -> drivers -> platform_drv]    0xcaf9a000+0x1000 -> 0xcaf9a000
[init -> drivers -> platform_drv]    0xcaf9b000+0x1000 -> 0xcaf9b000
[init -> drivers -> platform_drv]    0xcaf9c000+0x1000 -> 0xcaf9c000
[init -> drivers -> platform_drv]    0xcaf9d000+0x1000 -> 0xcaf9d000
[init -> drivers -> platform_drv]    0xcaf9e000+0x1000 -> 0xcaf9e000
[init -> drivers -> platform_drv]    0xcaf9f000+0x1000 -> 0xcaf9f000
[init -> drivers -> platform_drv]    0xcafa0000+0x1000 -> 0xcafa0000
[init -> drivers -> platform_drv]    0xcafa1000+0x1000 -> 0xcafa1000
[init -> drivers -> platform_drv]    0xcafa2000+0x1000 -> 0xcafa2000
[init -> drivers -> platform_drv]    0xcafa3000+0x1000 -> 0xcafa3000
[init -> drivers -> platform_drv]    0xcafa4000+0x1000 -> 0xcafa4000
[init -> drivers -> platform_drv]    0xcafa5000+0x1000 -> 0xcafa5000
[init -> drivers -> platform_drv]    0xcafa6000+0x1000 -> 0xcafa6000
[init -> drivers -> platform_drv]    0xcafa7000+0x1000 -> 0xcafa7000
[init -> drivers -> platform_drv]    0xcafa8000+0x1000 -> 0xcafa8000
[init -> drivers -> platform_drv]    0xcafa9000+0x1000 -> 0xcafa9000
[init -> drivers -> platform_drv]    0xcafaa000+0x1000 -> 0xcafaa000
[init -> drivers -> platform_drv] IOMMU translation table 0:0x1f.2
[init -> drivers -> platform_drv]    0xfef00000+0x1000 -> 0xfc4c000
[init -> drivers -> platform_drv]    0xfef02000+0x1000 -> 0xfc54000
[init -> drivers -> platform_drv]    0xfef03000+0x1000 -> 0xfc55000
[init -> drivers -> platform_drv]    0xfef05000+0x1000 -> 0xfc56000
[init -> runtime -> intel_gpu] MGGC_0_2_0_PCI
[init -> runtime -> intel_gpu]   Graphics_mode_select:               0x0
[init -> runtime -> intel_gpu]   Gtt_graphics_memory_size:           0x3
[init -> runtime -> intel_gpu]   Versatile_acceleration_mode_enable: 0x0
[init -> runtime -> intel_gpu]   Igd_vga_disable:                    0x0
[init -> runtime -> intel_gpu]   Ggc_lock:                           0x1
[init -> runtime -> ahci]       #0: ATA
[init -> runtime -> ahci] controller port count differs from detected ports (CAP.NP=0x2,PI=0x1)
[init -> runtime] child "ram_fs" announces service "File_system"
[init -> runtime -> intel_gpu] GGTT
[init -> runtime -> intel_gpu]   vaddr:0x11800000 size:0x800000 entries:1048575 used:16384 aperture_size:0x10000000
[init -> runtime -> intel_gpu]   scratch_page:0xd0000000 (PA)
[init -> runtime -> intel_gpu] Warning: no clock gating
[init -> runtime] child "intel_gpu" announces service "Gpu"
[init -> runtime] child "ahci-0.part"
[init -> runtime]   RAM quota:  7944K
[init -> runtime]   cap quota:  66
[init -> runtime]   ELF binary: part_block
[init -> runtime]   priority:   2
[init -> runtime]   provides service Block
[init -> runtime] child "ahci" announces service "Block"
[init -> runtime] child "usb" announces service "Usb"
[init -> runtime -> intel_fb] --- Intel framebuffer driver started ---
[init -> runtime -> usb] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[init -> runtime -> usb] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[init -> runtime -> intel_fb] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[init -> runtime -> usb] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[init -> runtime -> intel_fb] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[init -> runtime -> usb] usbcore: registered new interface driver usbfs
[init -> runtime -> usb] usbcore: registered new interface driver hub
[init -> runtime -> usb] usbcore: registered new device driver usb
[init -> runtime -> intel_fb] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[init -> runtime -> ahci-0.part] DISK Partition 0: LBA 0 (500118192 blocks)
[init -> runtime -> usb] time-clocksource: Switched to clocksource dde_counter
[init -> runtime -> usb] usbcore: registered new interface driver genode
[init -> runtime -> intel_fb] time-clocksource: Switched to clocksource dde_counter
[init -> drivers -> platform_drv] enabling 00:14.0
[init -> drivers -> platform_drv]    0x40000+0x1000 -> 0xfc80000
[init -> drivers -> platform_drv]    0x41000+0x1000 -> 0xfc81000
[init -> drivers -> platform_drv]    0x42000+0x1000 -> 0xfc82000
[init -> drivers -> platform_drv]    0x43000+0x1000 -> 0xfc83000
[init -> drivers -> platform_drv]    0x44000+0x1000 -> 0xfc84000
[init -> drivers -> platform_drv]    0x45000+0x1000 -> 0xfc85000
[init -> drivers -> platform_drv]    0x46000+0x1000 -> 0xfc86000
[init -> drivers -> platform_drv]    0x47000+0x1000 -> 0xfc87000
[init -> drivers -> platform_drv]    0x48000+0x1000 -> 0xfc88000
[init -> drivers -> platform_drv]    0x49000+0x1000 -> 0xfc89000
[init -> drivers -> platform_drv]    0x4a000+0x1000 -> 0xfc8a000
[init -> drivers -> platform_drv]    0x4b000+0x1000 -> 0xfc8b000
[init -> drivers -> platform_drv]    0x4c000+0x1000 -> 0xfc8c000
[init -> drivers -> platform_drv]    0x4d000+0x1000 -> 0xfc8d000
[init -> drivers -> platform_drv]    0x4e000+0x1000 -> 0xfc8e000
[init -> drivers -> platform_drv]    0x4f000+0x1000 -> 0xfc8f000
[init -> drivers -> platform_drv]    0x50000+0x1000 -> 0xfc90000
[init -> drivers -> platform_drv]    0x51000+0x1000 -> 0xfc91000
[init -> drivers -> platform_drv]    0x52000+0x1000 -> 0xfc92000
[init -> drivers -> platform_drv]    0x53000+0x1000 -> 0xfc93000
[init -> drivers -> platform_drv]    0x54000+0x1000 -> 0xfc94000
[init -> drivers -> platform_drv]    0x55000+0x1000 -> 0xfc95000
[init -> drivers -> platform_drv]    0x56000+0x1000 -> 0xfc96000
[init -> drivers -> platform_drv]    0x57000+0x1000 -> 0xfc97000
[init -> drivers -> platform_drv]    0x58000+0x1000 -> 0xfc98000
[init -> drivers -> platform_drv]    0x59000+0x1000 -> 0xfc99000
[init -> drivers -> platform_drv]    0x5a000+0x1000 -> 0xfc9a000
[init -> drivers -> platform_drv]    0x5b000+0x1000 -> 0xfc9b000
[init -> drivers -> platform_drv]    0x5c000+0x1000 -> 0xfc9c000
[init -> drivers -> platform_drv]    0x5d000+0x1000 -> 0xfc9d000
[init -> drivers -> platform_drv]    0x5e000+0x1000 -> 0xfc9e000
[init -> drivers -> platform_drv]    0x5f000+0x1000 -> 0xfc9f000
[init -> drivers -> platform_drv]    0x60000+0x1000 -> 0xfca0000
[init -> drivers -> platform_drv]    0x61000+0x1000 -> 0xfca1000
[init -> drivers -> platform_drv]    0x62000+0x1000 -> 0xfca2000
[init -> drivers -> platform_drv]    0x63000+0x1000 -> 0xfca3000
[init -> drivers -> platform_drv]    0x64000+0x1000 -> 0xfca4000
[init -> drivers -> platform_drv]    0x65000+0x1000 -> 0xfca5000
[init -> drivers -> platform_drv]    0x66000+0x1000 -> 0xfca6000
[init -> drivers -> platform_drv]    0x67000+0x1000 -> 0xfca7000
[init -> drivers -> platform_drv]    0x68000+0x1000 -> 0xfca8000
[init -> drivers -> platform_drv]    0x69000+0x1000 -> 0xfca9000
[init -> drivers -> platform_drv]    0x6a000+0x1000 -> 0xfcaa000
[init -> drivers -> platform_drv]    0x6b000+0x1000 -> 0xfcab000
[init -> drivers -> platform_drv]    0x6c000+0x1000 -> 0xfcac000
[init -> drivers -> platform_drv]    0x6d000+0x1000 -> 0xfcad000
[init -> drivers -> platform_drv]    0x6e000+0x1000 -> 0xfcae000
[init -> drivers -> platform_drv]    0x6f000+0x1000 -> 0xfcaf000
[init -> drivers -> platform_drv]    0x70000+0x1000 -> 0xfcb0000
[init -> drivers -> platform_drv]    0x71000+0x1000 -> 0xfcb1000
[init -> drivers -> platform_drv]    0x72000+0x1000 -> 0xfcb2000
[init -> drivers -> platform_drv]    0x73000+0x1000 -> 0xfcb3000
[init -> drivers -> platform_drv]    0x74000+0x1000 -> 0xfcb4000
[init -> drivers -> platform_drv]    0x75000+0x1000 -> 0xfcb5000
[init -> drivers -> platform_drv]    0x76000+0x1000 -> 0xfcb6000
[init -> drivers -> platform_drv]    0x77000+0x1000 -> 0xfcb7000
[init -> drivers -> platform_drv]    0x78000+0x1000 -> 0xfcb8000
[init -> drivers -> platform_drv]    0x79000+0x1000 -> 0xfcb9000
[init -> drivers -> platform_drv]    0x7a000+0x1000 -> 0xfcba000
[init -> drivers -> platform_drv]    0x7b000+0x1000 -> 0xfcbb000
[init -> drivers -> platform_drv]    0x7c000+0x1000 -> 0xfcbc000
[init -> drivers -> platform_drv]    0x7d000+0x1000 -> 0xfcbd000
[init -> drivers -> platform_drv]    0x7e000+0x1000 -> 0xfcbe000
[init -> drivers -> platform_drv]    0x7f000+0x1000 -> 0xfcbf000
[init -> drivers -> platform_drv]    0xcaf94000+0x1000 -> 0xcaf94000
[init -> drivers -> platform_drv]    0xcaf95000+0x1000 -> 0xcaf95000
[init -> drivers -> platform_drv]    0xcaf96000+0x1000 -> 0xcaf96000
[init -> drivers -> platform_drv]    0xcaf97000+0x1000 -> 0xcaf97000
[init -> drivers -> platform_drv]    0xcaf98000+0x1000 -> 0xcaf98000
[init -> drivers -> platform_drv]    0xcaf99000+0x1000 -> 0xcaf99000
[init -> drivers -> platform_drv]    0xcaf9a000+0x1000 -> 0xcaf9a000
[init -> drivers -> platform_drv]    0xcaf9b000+0x1000 -> 0xcaf9b000
[init -> drivers -> platform_drv]    0xcaf9c000+0x1000 -> 0xcaf9c000
[init -> drivers -> platform_drv]    0xcaf9d000+0x1000 -> 0xcaf9d000
[init -> drivers -> platform_drv]    0xcaf9e000+0x1000 -> 0xcaf9e000
[init -> drivers -> platform_drv]    0xcaf9f000+0x1000 -> 0xcaf9f000
[init -> drivers -> platform_drv]    0xcafa0000+0x1000 -> 0xcafa0000
[init -> drivers -> platform_drv]    0xcafa1000+0x1000 -> 0xcafa1000
[init -> drivers -> platform_drv]    0xcafa2000+0x1000 -> 0xcafa2000
[init -> drivers -> platform_drv]    0xcafa3000+0x1000 -> 0xcafa3000
[init -> drivers -> platform_drv]    0xcafa4000+0x1000 -> 0xcafa4000
[init -> drivers -> platform_drv]    0xcafa5000+0x1000 -> 0xcafa5000
[init -> drivers -> platform_drv]    0xcafa6000+0x1000 -> 0xcafa6000
[init -> drivers -> platform_drv]    0xcafa7000+0x1000 -> 0xcafa7000
[init -> drivers -> platform_drv]    0xcafa8000+0x1000 -> 0xcafa8000
[init -> drivers -> platform_drv]    0xcafa9000+0x1000 -> 0xcafa9000
[init -> drivers -> platform_drv]    0xcafaa000+0x1000 -> 0xcafaa000
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 1
[init -> runtime -> usb] xhci_hcd 00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x000000000004b810
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 2
[init -> runtime -> usb] xhci_hcd 00:14.0: Host supports USB 3.0 SuperSpeed
[init -> runtime -> intel_fb] disabling PPGTT to avoid GPU code paths
[init -> runtime -> usb] hub 1-0:1.0: USB hub found
[init -> runtime -> usb] hub 1-0:1.0: 11 ports detected
[init -> runtime -> usb] hub 2-0:1.0: USB hub found
[init -> runtime -> usb] hub 2-0:1.0: 4 ports detected
[init -> runtime -> usb] sched_clock: Marking stable (311240000, 92518000)->(499746000, -95988000)
[init -> runtime -> intel_fb] i915 00:02.0: [drm] VT-d active for gfx access
[init -> runtime] child "ahci-0.fs"
[init -> runtime]   RAM quota:  73480K
[init -> runtime]   cap quota:  366
[init -> runtime]   ELF binary: vfs
[init -> runtime]   priority:   2
[init -> runtime]   provides service File_system
[init -> runtime] child "prepare"
[init -> runtime]   RAM quota:  102152K
[init -> runtime]   cap quota:  766
[init -> runtime]   ELF binary: init
[init -> runtime]   priority:   2
[init -> runtime] child "depot"
[init -> runtime]   RAM quota:  1800K
[init -> runtime]   cap quota:  66
[init -> runtime]   ELF binary: chroot
[init -> runtime]   priority:   2
[init -> runtime]   provides service File_system
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3cc
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c2
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c4
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3c5
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c5
[init -> runtime] child "runtime_view" requests resources: cap_quota=9
[init -> runtime -> ahci-0.fs] rump: /genode: file system not clean; please fsck(8)
[init -> runtime] child "runtime_view" requests resources: ram_quota=453916
[init -> runtime -> intel_fb] [drm] Initialized i915 1.6.0 20201103 for 00:02.0 on minor 0
[init -> runtime -> intel_fb] sched_clock: Marking stable (556647000, 53453000)->(728147000, -118047000)
[init -> runtime] child "ahci-0.fs" announces service "File_system"
[init -> runtime] child "depot" announces service "File_system"
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(3)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(4)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(5)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(6)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(7)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(8)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(9)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(10)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(11)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(12)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(13)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(14)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(15)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(16)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(17)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(18)
[init -> runtime -> prepare -> bash] Error: no plugin found for fcntl(19)
[init -> runtime -> ahci-0.fs] Warning: attempt to handle the same signal context twice (nested)
[init -> runtime] child "prepare" exited with exit value 0
[init -> runtime] child "launcher_query"
[init -> runtime]   RAM quota:  1800K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: fs_query
[init -> runtime]   priority:   2
[init -> runtime] child "depot_rom"
[init -> runtime]   RAM quota:  24328K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: cached_fs_rom
[init -> runtime]   priority:   2
[init -> runtime]   provides service ROM
[init -> runtime] child "dynamic_depot_rom"
[init -> runtime]   RAM quota:  7944K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: fs_rom
[init -> runtime]   priority:   2
[init -> runtime]   provides service ROM
[init -> runtime] child "depot_query"
[init -> runtime]   RAM quota:  1800K
[init -> runtime]   cap quota:  166
[init -> runtime]   ELF binary: depot_query
[init -> runtime]   priority:   2
[init -> runtime] child "depot_rom" announces service "ROM"
[init -> runtime] child "dynamic_depot_rom" announces service "ROM"
[init -> runtime -> intel_fb]      eDP-1:  enable name='1920x1080' id=1  mode=1920x1080@60  fb=1920x1080
[init -> runtime -> intel_fb] framebuffer reconstructed - virtual=1920x1080 physical=1920x1080
[init -> leitzentrale -> decorator] Warning: attempt to handle the same signal context twice (nested)
[init -> leitzentrale -> backdrop] Warning: attempt to handle the same signal context twice (nested)
[init -> runtime] child "runtime_view" requests resources: ram_quota=276544
[init -> runtime -> usb] xhci_hcd 00:14.0: Error while assigning device slot ID: Command Aborted
[init -> runtime -> usb] xhci_hcd 00:14.0: Max number of devices this xHCI host supports is 32.
[init -> runtime -> usb] usb usb1-port1: couldn't allocate usb_device
[init -> runtime -> usb] xhci_hcd 00:14.0: Error while assigning device slot ID: Command Aborted
[init -> runtime -> usb] xhci_hcd 00:14.0: Max number of devices this xHCI host supports is 32.
[init -> runtime -> usb] usb usb1-port4: couldn't allocate usb_device
[init -> runtime -> usb] xhci_hcd 00:14.0: Error while assigning device slot ID: Command Aborted
[init -> runtime -> usb] xhci_hcd 00:14.0: Max number of devices this xHCI host supports is 32.
[init -> runtime -> usb] usb usb1-port7: couldn't allocate usb_device
[init -> runtime -> usb] xhci_hcd 00:14.0: Error while assigning device slot ID: Command Aborted
[init -> runtime -> usb] xhci_hcd 00:14.0: Max number of devices this xHCI host supports is 32.
[init -> runtime -> usb] usb usb1-port8: couldn't allocate usb_device
nfeske commented 7 months ago

Could you do me another favour and boot a native Linux on that machine and post the content of /proc/iomem?

No problem, here is output:

00000000-00000fff : Reserved
00001000-0009cfff : System RAM
0009d000-0009ffff : Reserved
000a0000-000bffff : PCI Bus 0000:00
000c0000-000cfdff : Video ROM
000e0000-000fffff : Reserved
  000f0000-000fffff : System ROM
00100000-0fffffff : System RAM
10000000-1000afff : Reserved
1000b000-bf068fff : System RAM
bf069000-ccbfefff : Reserved
ccbff000-ccd7efff : ACPI Non-volatile Storage
ccd7f000-ccdfefff : ACPI Tables
ccdff000-cfffffff : Reserved
  ce000000-cfffffff : Graphics Stolen Memory
d0000000-febfffff : PCI Bus 0000:00
  d0000000-d000ffff : pnp 00:06
  d0010000-d001ffff : pnp 00:06
  e0000000-efffffff : 0000:00:02.0
  f0000000-f0ffffff : 0000:00:02.0
  f1000000-f10fffff : PCI Bus 0000:03
    f1000000-f1001fff : 0000:03:00.0
      f1000000-f1001fff : iwlwifi
  f1100000-f11fffff : PCI Bus 0000:02
    f1100000-f1100fff : 0000:02:00.0
      f1100000-f1100fff : rtsx_pci
  f1200000-f121ffff : 0000:00:19.0
    f1200000-f121ffff : e1000e
  f1220000-f122ffff : 0000:00:14.0
    f1220000-f122ffff : xhci-hcd
  f1230000-f1233fff : 0000:00:03.0
    f1230000-f1233fff : ICH HD audio
  f1234000-f1237fff : 0000:00:1b.0
    f1234000-f1237fff : ICH HD audio
  f1238000-f12380ff : 0000:00:1f.3
  f1239000-f123901f : 0000:00:16.0
    f1239000-f123901f : mei_me
  f123b000-f123bfff : 0000:00:1f.6
    f123b000-f123bfff : Intel PCH thermal driver
  f123c000-f123c7ff : 0000:00:1f.2
    f123c000-f123c7ff : ahci
  f123d000-f123dfff : 0000:00:19.0
    f123d000-f123dfff : e1000e
  f123e000-f123efff : 0000:00:16.3
  f8000000-fbffffff : PCI MMCONFIG 0000 [bus 00-3f]
    f8000000-fbffffff : Reserved
      f8000000-fbffffff : pnp 00:01
fec00000-fec00fff : Reserved
  fec00000-fec003ff : IOAPIC 0
fed00000-fed003ff : HPET 0
  fed00000-fed003ff : PNP0103:00
fed08000-fed08fff : Reserved
fed10000-fed19fff : Reserved
  fed10000-fed17fff : pnp 00:01
  fed18000-fed18fff : pnp 00:01
  fed19000-fed19fff : pnp 00:01
fed1c000-fed1ffff : Reserved
  fed1c000-fed1ffff : pnp 00:01
    fed1f410-fed1f414 : iTCO_wdt.1.auto
    fed1f800-fed1f9ff : intel-spi
      fed1f800-fed1f9ff : intel-spi intel-spi
fed40000-fed4bfff : PCI Bus 0000:00
  fed40000-fed44fff : 00:05 TPM
  fed45000-fed4bfff : pnp 00:01
fed90000-fed90fff : dmar0
fed91000-fed91fff : dmar1
fee00000-fee00fff : Local APIC
  fee00000-fee00fff : Reserved
ffa00000-ffffffff : Reserved
100000000-22dffffff : System RAM
  192200000-1935fffff : Kernel code
  193600000-194265fff : Kernel rodata
  194400000-19480d8ff : Kernel data
  194cc5000-195dfffff : Kernel bss
22e000000-22fffffff : RAM buffer
jschlatow commented 7 months ago

Thanks a lot, that was very helpful. As I suspected, Linux considers a much larger memory region as reserved. I'll have a look into what NOVA does.

jschlatow commented 7 months ago

@nfeske Could you run two other tests please:

  1. Do you see similar faults when booting NOVA? (Note that you need to look for "IOMMU:" since the platform driver does not do the fault reporting when NOVA already enabled it. Thus NOVA reports the faults.)
  2. Can you reproduce the IOMMU fault when booting from USB stick without AMT?

Working on suspend/resume I saw similar faults from the Ethernet controller when I boot the x230 via iPXE/AMT. My guess is that the iPXE that I'm booting from an USB stick leaves the controller in a state where it still performs some DMA transactions. I'm wondering whether the faults you get on the x250 fall into a similar category.

jschlatow commented 7 months ago
  1. Do you see similar faults when booting NOVA? (Note that you need to look for "IOMMU:" since the platform driver does not do the fault reporting when NOVA already enabled it. Thus NOVA reports the faults.)

Sorry, I forgot that you already answered this above.

nfeske commented 7 months ago

Can you cherry pick https://github.com/genodelabs/genode/commit/9f2187e0b853f1c7a652decac101a6e4742861ef and run the test on the x250 again?

I guess that your request referred to this issue, not #5180? Here is the log:

kernel initialized
Warning: TSC calibration not yet implemented, using fixed value
Genode 24.02-205-ge30fb312411 <local changes>
7809 MiB RAM and 64533 caps assigned to init
[init] Warning: runtime: configured RAM exceeds available RAM, proceed with 7684601376
[init -> drivers -> acpi_drv] Found MADT
[init -> drivers -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> drivers -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13
[init -> drivers -> acpi_drv] Found MCFG
[init -> drivers -> acpi_drv] MCFG BASE 0xf8000000 seg 0x0 bus 0x0-0x3f
...
[init -> drivers -> acpi_drv] Found DMAR
[init -> drivers -> acpi_drv] 39 bit DMA physical addressable , IRQ remapping supported
[init -> drivers -> acpi_drv] DMA remapping structure type=0
[init -> drivers -> acpi_drv] DMA remapping structure type=0
[init -> drivers -> acpi_drv] DMA remapping structure type=1
[init -> drivers -> acpi_drv] DMA remapping structure type=1
[init -> drivers -> acpi_drv] XSDT OEM 'LENOVO', table id 'TP-N10  ', revision 4432, creator 'PTEC' (2)
[init -> drivers -> acpi_drv] SMBIOS table (entry point: 0x1700e0 structures: 0xccbfd000)
[init -> drivers -> platform_drv] enabled IOMMU drhd1 with default mappings
[init -> drivers -> platform_drv] enabled IOMMU drhd0 with default mappings
...
[init -> runtime -> ahci] --- Starting AHCI driver ---
[init -> drivers -> platform_drv] enable_pci_device 00:1f.2
[init -> runtime -> ahci] version: major=0x1 minor=0x300
[init -> runtime -> ahci] command slots: 32
[init -> runtime -> ahci] native command queuing: yes
[init -> runtime -> ahci] 64-bit support: yes
[init -> runtime -> ahci] port scan:
[init -> runtime -> ahci] Warning: CMD.ST bit set during device reset --> unknown behavior
[init -> runtime -> ahci]       #0: ATA
[init -> runtime -> ahci] controller port count differs from detected ports (CAP.NP=0x2,PI=0x1)
...
[init -> drivers -> platform_drv] Error: Faults records for drhd1
[init -> drivers -> platform_drv] Error: Fault: hi=0xc0000006000000a0, reason=0x6, type=0x1, AT=0x0, EXE=0x0, PRIV=0x0, PP=0x0, Source=0xa0, info=0xcaffe
[init -> runtime -> ps2] Using keyboard with scan code set 1 (xlate)
[init -> drivers -> platform_drv] remove_range 0xcd800000 (0x2800000)
[init -> drivers -> platform_drv] enable_pci_device 00:02.0
[init -> runtime -> intel_gpu] Maximum aperture size 256M
[init -> runtime -> intel_gpu]  - available framebuffer memory for display driver: 64M
[init -> runtime] child "ahci" announces service "Block"
[init -> runtime] child "usb" announces service "Usb"
[init -> runtime -> ahci-0.part] DISK Partition 0: LBA 0 (500118192 blocks)
[init -> runtime] child "ahci-0.part" announces service "Block"
[init -> drivers -> platform_drv] remove_range 0xff000000 (0x400000)
[init -> runtime -> usb] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[init -> runtime -> usb] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[init -> runtime -> usb] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[init -> runtime -> usb] usbcore: registered new interface driver usbfs
[init -> runtime -> usb] usbcore: registered new interface driver hub
[init -> runtime -> usb] usbcore: registered new device driver usb
[init -> runtime] child "intel_gpu" announces service "Platform"
[init -> runtime -> intel_gpu] MGGC_0_2_0_PCI
[init -> runtime -> intel_gpu]   Graphics_mode_select:               0x0
[init -> runtime -> intel_gpu]   Gtt_graphics_memory_size:           0x3
[init -> runtime -> intel_gpu]   Versatile_acceleration_mode_enable: 0x0
[init -> runtime -> intel_gpu]   Igd_vga_disable:                    0x0
[init -> runtime -> intel_gpu]   Ggc_lock:                           0x1
[init -> runtime -> intel_gpu] GGTT
[init -> runtime -> intel_gpu]   vaddr:0x11800000 size:0x800000 entries:1048575 used:16384 aperture_size:0x10000000
[init -> runtime -> intel_gpu]   scratch_page:0xd0000000 (PA)
[init -> runtime -> intel_gpu] Warning: no clock gating
[init -> runtime] child "intel_gpu" announces service "Gpu"
[init -> runtime -> intel_fb] --- Intel framebuffer driver started ---
[init -> runtime -> intel_fb] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[init -> runtime -> intel_fb] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[init -> runtime -> intel_fb] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[init -> runtime -> usb] time-clocksource: Switched to clocksource dde_counter
[init -> runtime -> usb] usbcore: registered new interface driver genode
[init -> drivers -> platform_drv] enable_pci_device 00:14.0
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 1
[init -> runtime -> usb] xhci_hcd 00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x000000000004b810
[init -> runtime -> usb] xhci_hcd 00:14.0: xHCI Host Controller
[init -> runtime -> usb] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 2
[init -> runtime -> usb] xhci_hcd 00:14.0: Host supports USB 3.0 SuperSpeed
[init -> runtime -> usb] hub 1-0:1.0: USB hub found
[init -> runtime -> usb] hub 1-0:1.0: 11 ports detected
[init -> runtime -> usb] hub 2-0:1.0: USB hub found
[init -> runtime -> usb] hub 2-0:1.0: 4 ports detected
[init -> runtime -> usb] sched_clock: Marking stable (64191000, 144006000)->(707975000, -499778000)
...
[init -> runtime -> intel_fb] time-clocksource: Switched to clocksource dde_counter
[init -> runtime -> intel_fb] disabling PPGTT to avoid GPU code paths
[init -> runtime -> ahci-0.fs] rump: /genode: file system not clean; please fsck(8)
[init -> runtime -> intel_fb] i915 00:02.0: [drm] VT-d active for gfx access
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3cc
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c2
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c4
[init -> runtime -> intel_fb] Error: could not read I/O port resource 0x3c5
[init -> runtime -> intel_fb] Error: could not write I/O port resource 0x3c5
[init -> runtime -> intel_fb] [drm] Initialized i915 1.6.0 20201103 for 00:02.0 on minor 0
[init -> runtime -> intel_fb] sched_clock: Marking stable (276057000, 18394000)->(464301000, -169850000)
...
[init -> runtime -> nic] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256
[init -> runtime -> nic] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[init -> runtime -> nic_router] [uplink] dynamic IP config: none
[init -> runtime -> nic_router] [uplink] NIC sessions: 0
[init -> runtime -> nic_router] [default] static IP config: interface 10.0.1.1/24, gateway 0.0.0.0, P2P 0
[init -> runtime -> nic_router] [default] NIC sessions: 0
[init -> runtime -> nic_router] [http] static IP config: interface 10.0.80.1/24, gateway 0.0.0.0, P2P 0
[init -> runtime -> nic_router] [http] NIC sessions: 0
[init -> runtime -> nic_router] [telnet] static IP config: interface 10.0.23.1/24, gateway 0.0.0.0, P2P 0
[init -> runtime -> nic_router] [telnet] NIC sessions: 0
[init -> runtime] child "nic_router" announces service "Nic"
[init -> runtime] child "nic_router" announces service "Uplink"
[init -> runtime -> nic] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[init -> runtime -> nic] time-clocksource: Switched to clocksource dde_counter
[init -> runtime -> nic] e1000e-netdev: Intel(R) PRO/1000 Network Driver
[init -> runtime -> nic] e1000e-netdev: Copyright(c) 1999 - 2015 Intel Corporation.
[init -> drivers -> platform_drv] enable_pci_device 00:19.0
[init -> runtime -> nic] e1000e 00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[init -> runtime -> nic] e1000e 00:19.0 00:19.0 (uninitialized): Failed to initialize MSI interrupts.  Falling back to legacy interrupts.
[init -> runtime -> ahci-0.fs] Warning: attempt to handle the same signal context twice (nested)
[init -> runtime -> nic] e1000e 00:19.0 00:19.0 (uninitialized): Reset blocked by ME
[init -> runtime] child "prepare" exited with exit value 0
...
[init -> runtime -> nic] e1000e 00:19.0: PHY reset is blocked due to SOL/IDER session.
...
[init -> runtime -> intel_fb]      eDP-1:  enable name='1920x1080' id=1  mode=1920x1080@60  fb=1920x1080
...
[init -> runtime -> usb] xhci_hcd 00:14.0: Error while assigning device slot ID: Command Aborted
[init -> runtime -> usb] xhci_hcd 00:14.0: Max number of devices this xHCI host supports is 32.
[init -> runtime -> usb] usb usb1-port1: couldn't allocate usb_device
jschlatow commented 7 months ago

I guess that your request referred to this issue, not #5180?

I actually did mean #5180. The debug output helps with clarifying whether the faults from 00:02.0 fall into the address ranges where the DMA buffers have been.

nfeske commented 7 months ago

Sorry then, I'm struggling a little with keeping both topics apart.

Can you reproduce the IOMMU fault when booting from USB stick without AMT?

I just booted the x250 using a hw-based Sculpt image w/o AMT.

In contrast to the boot via ARM, the log does not show the fault messages by the platform driver. The sequence of the other platform-driver messages looks identical (I manually compared the logs).

The system doesn't seem to behave any different from the use of AMT. The USB issue yields the same messages and the mouse is not operational.

jschlatow commented 7 months ago

The system doesn't seem to behave any different from the use of AMT. The USB issue yields the same messages and the mouse is not operational.

Can you double-check whether the issue remains when the IOMMU is disabled? I prepared a commit for that: 17d219d.

nfeske commented 7 months ago

Can you double-check whether the issue remains when the IOMMU is disabled? I prepared a commit for that:

With this commit, the USB mouse does not work either. The USB host controller does not seem to respond to any USB device being plugged in. I double-checked that the /report/driver/iommu file is empty in this version.

As good news, this version is the first one that partially survived a suspend-resume cycle on base-hw. At least, I was able to see and move the mouse cursor (that means intel_fb and ps2 came up again). Puzzled, why the rest of the system stays absent though.

jschlatow commented 7 months ago

Can you double-check whether the issue remains when the IOMMU is disabled? I prepared a commit for that:

With this commit, the USB mouse does not work either. The USB host controller does not seem to respond to any USB device being plugged in. I double-checked that the /report/driver/iommu file is empty in this version.

So it's not an IOMMU issue! Strange, though, why the USB host controller works on NOVA but not on base-hw.

nfeske commented 7 months ago

Strange, though, why the USB host controller works on NOVA but not on base-hw.

I remember @chelmuth casually mentioning that the power button of one his test machines behaves differently between NOVA and base-hw. With NOVA, one has to hold it for a few seconds until the machines turns off (expected behavior). On hw, to his surprise, the response is immediate. He suspected that NOVA announces itself to the BIOS as an ACPI kernel wheras hw probably doesn't. Maybe the platform behaves different then?

That line of thinking ultimately brought me to the bios-handoff mystery we encountered in the past on some machines. Just for a test, I set the bios_handoff attribute in gems/sculpt/usb/default to "yes". This made USB working on base-hw!

nfeske commented 7 months ago

It also works with IOMMU enabled.

Now must solve the mystery why bios_handoff is needed with base-hw but not with NOVA.

jschlatow commented 7 months ago

It also works with IOMMU enabled.

Splendid!

chelmuth commented 7 months ago

That line of thinking ultimately brought me to the bios-handoff mystery we encountered on the past on some machines. Just for test, I set the bios_handoff attribute in gems/sculpt/usb/default to "yes". This made USB working on base-hw!

Sheesh! So, there is some kind of interdependency between ACPI_ENABLE and the bios_handoff mechanism. Maybe we could run bios_handoff on problematic platforms before ACPI_ENABLE in the future.

jschlatow commented 7 months ago

I just rebased my _iommuirq branch on staging to resolve conflicts with the recent suspend/resume changes.

I've tested the new state with the x230 and x260 on NOVA and base-hw. On the x260 and with base-hw, I am stuck with a black screen and a mouse pointer after resume. I've had the same effect once during boot on the x230. What also occasionally happens on the x260 with base-hw: The menu buttons (Files/Components/Inspect) are stuck behind Systems/Settings after boot. When I hit "Inspect" on ram_fs, the buttons fly into their positions.

nfeske commented 7 months ago

I suspect that these UI problems are related to the mysterious mode values you reported earlier. I guess that several UI-related components try to adjust themselves to this unbiblical mode dimensions. E.g. the themed decorator may issue an extremely greedy RAM resource request to create super wide decorations. The same might happen for the runtime view. So those parts of the UI block until they get their resource requests answered, which never happens. The mouse pointer, in contrast, does not adjust itself to mode changes. So it stays healthy.

jschlatow commented 7 months ago

I just published Sculpt 24.04 images 2024-04-29 and 2024-04-29-hw on my depot. The images include the commit series from my _iommuirq branch. As mentioned before, the changes to the NOVA-based version are marginal as NOVA is still kept in charge of IRQ remapping. Thanks to #5182, one can easily switch between the NOVA and base-hw images using Sculpt's update mechanism.

jschlatow commented 6 months ago

I've rebased my _iommuirq branch on staging in order to resolve the merge conflicts. I'm also running this with base-hw on my t490s from now on.