Hi Chris, On 31.10.2017 15:56, Chris Rothrock wrote: > Here's the output from the ahci_bench (I left out the ROM header info to > shorten the list). It seems it's giving the same error trying to > enumerate the AHCI controller on the PCI bus even though it sees the > controller and the devices, the service isn't being advertised. This is > an AMD platform and, for reasons too long to go into, I need to be able > to make this work with an AMD processor. Where can I go from here to > push forward on this effort to get the AHCI controller properly enumerated? > > Genode 17.08-112-gee4ee6a <local changes> > 3745 MiB RAM and 63254 caps assigned to init > [init -> ahci_drv] --- Starting AHCI driver --- > [init] child "acpi_report_rom" announces service "Report" > [init] child "timer" announces service "Timer" > [init] child "acpi_report_rom" announces service "ROM" > [init -> acpi_drv] Found MADT > [init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0 > [init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 15 > [init -> acpi_drv] Found MCFG > [init -> acpi_drv] MCFG BASE 0xe0000000 seg 0x0 bus 0x0-0xff > [init] child "platform_drv" announces service "Platform" > [init -> ahci_drv] AHCI found (vendor: 4130 device: 30721 class: 67073) > [ 0] sys_assign_pci: Invalid Hint (0x88) > [init -> platform_drv] Error: ahci_drv -> : assignment of PCI device > 0:11.0 failed phys=0xe0088000 virt=0x1000 > [init -> platform_drv] 0:11.0 adjust IRQ as reported by ACPI: 10 -> 19 > [init -> platform_drv] 0:11.0 uses MSI 64bit, vector 0x9f, address > 0xfee10000, non-maskable > [init -> ahci_drv] version: major=0x1 minor=0x300 > [init -> ahci_drv] command slots: 32 > [init -> ahci_drv] native command queuing: yes > [init -> ahci_drv] 64-bit support: yes > [init -> ahci_drv] number of ports: 6 pi: 0x3f > [init -> ahci_drv] #0: ATA > [init -> ahci_drv] #1: off (unknown device signature) > [init -> ahci_drv] #2: off (unknown device signature) > [init -> ahci_drv] #3: off (unknown device signature) > [init -> ahci_drv] #4: off (unknown device signature) > [init -> ahci_drv] #5: off (unknown device signature) >
it looks like the AHCI port scan returned a connected ATA device on port zero, but is unable to initialize the device properly - most likely because no interrupts are received after command submission. We already had a lengthly remote debugging session with Ben [1] without any success. It seems like AMD's AHCI controllers are either not standard conform or might require additional initialization we are not aware of. As a starting point you could instrument the 'Ahci::handle_irq' function [2] in order to determine if any interrupts are received by the driver at all. Regards, Sebastian [1] https://github.com/genodelabs/genode/issues/1547 [2] <genode-src>/repos/os/src/drivers/ahci/ahci.cc -- Sebastian Sumpf Genode Labs http://www.genode-labs.com · http://genode.org Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main