How to initialize AHCI? (step 2)
Posted: Sat Jan 09, 2016 6:46 am
I know I sound Silly and Stupid (which I am) but I cant do much for it.
I know how to detect AHCI controllers and SATA Drives and get ALL their info by enumerating PCI buses. no prob in that. Its also not a big issue handling the FISs or making them. I know that ahci is a HBA and that it moves data from system mem to SATA. making these handling parts of driver isn't a problem.
But I just don't know HOW TO ISSUE an FIS or simply, HOW O INITIALIZE AHCI so that it can MAP some system mem for use? means there isn't some magic going to happen and I just would have to make fis, rest ahci would handle. That's surely not the case and cant be one. I need to tell AHCI from where to take the info or command etc whatever. The prob is How? I was reading the Intel Specs for it but after reading 50-60 pages, I concluded that I don't have enough time to read it as My exams are near :/ so PLEASE I BEG U TO EXPLAIN THIS TO ME AND CORRECT MY CONCEPTS IF THEY ARE WRONG. Don't get angry on me, Because I am stupid, making mistakes is my habit :3 :p
I know how to detect AHCI controllers and SATA Drives and get ALL their info by enumerating PCI buses. no prob in that. Its also not a big issue handling the FISs or making them. I know that ahci is a HBA and that it moves data from system mem to SATA. making these handling parts of driver isn't a problem.
But I just don't know HOW TO ISSUE an FIS or simply, HOW O INITIALIZE AHCI so that it can MAP some system mem for use? means there isn't some magic going to happen and I just would have to make fis, rest ahci would handle. That's surely not the case and cant be one. I need to tell AHCI from where to take the info or command etc whatever. The prob is How? I was reading the Intel Specs for it but after reading 50-60 pages, I concluded that I don't have enough time to read it as My exams are near :/ so PLEASE I BEG U TO EXPLAIN THIS TO ME AND CORRECT MY CONCEPTS IF THEY ARE WRONG. Don't get angry on me, Because I am stupid, making mistakes is my habit :3 :p