AHCI Command List should be in Physical address or MMIO?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
shore
Posts: 15
Joined: Wed Sep 04, 2019 9:00 pm

AHCI Command List should be in Physical address or MMIO?

Post by shore »

Hi I'm trying to write an AHCI driver following https://wiki.osdev.org/AHCI.

In the sample program, start from "port->clb", which is the pointer to "Command List" and all following pointers, are defined by OS programmer.

Since ABAR and Ports are memory mapped address, I would like to ask if the following structure should be located in physical memory (RAM) or the memory mapped address??

Thanks a lot!
Octocontrabass
Member
Member
Posts: 5575
Joined: Mon Mar 25, 2013 7:01 pm

Re: AHCI Command List should be in Physical address or MMIO

Post by Octocontrabass »

I thought this diagram made it pretty clear.

Image
shore
Posts: 15
Joined: Wed Sep 04, 2019 9:00 pm

Re: AHCI Command List should be in Physical address or MMIO

Post by shore »

Octocontrabass wrote:I thought this diagram made it pretty clear.

Image
So it would be the RAM/physical memory right? and the AHCI controller would read from DMA method.

Thanks a lot
Octocontrabass
Member
Member
Posts: 5575
Joined: Mon Mar 25, 2013 7:01 pm

Re: AHCI Command List should be in Physical address or MMIO

Post by Octocontrabass »

Yes, that's correct.
Post Reply