The IRQ that my AHCI controller is using for SATA port 0 is 37 (I know, it's pretty high and is probably contributing to the issue).  From what I understand, however, the drivers ported for Genode are derived from the original Linux version drivers which obviously work in Linux.  Do you think it would help if I did some code comparison between the AHCI driver port for Genode and the original Linux AHCI driver that works?  Perhaps if I delve in deep enough I can find some structuring that has a special handling for AMD SATA controllers and help to contribute to the project.

On Wed, Nov 1, 2017 at 9:05 AM, Sebastian Sumpf <Sebastian.Sumpf@...1...> wrote:
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@...172...net
https://lists.sourceforge.net/lists/listinfo/genode-main



--


Thank You,

Chris Rothrock
Senior System Administrator
(315) 308-1637