Hi,
I add one config 'IDE_TO_AHCI' in 'src\Kconfig' and modify 'src\ata.c'. Please help me to review and check-in.
This 'IDE_TO_AHCI' function can let SeaBIOS handle AHCI controller as IDE controller when 'ATA' enable, and also let Windows OS to load AHCI inbox driver or chipset vender's AHCI driver. In other words, it means that SATA Hard Disk ran as IDE mode in SeaBIOS but AHCI mode in Windows OS.
Attached file: A.patch B.patch.
Signed-off-by: Alex Chuang Alex.Chuang@amd.com
Best regards,
Alex
On Mon, May 30, 2011 at 02:44:21PM +0800, Chuang, Alex wrote:
Hi,
I add one config 'IDE_TO_AHCI' in 'src\Kconfig' and modify 'src\ata.c'. Please help me to review and check-in.
This 'IDE_TO_AHCI' function can let SeaBIOS handle AHCI controller as IDE controller when 'ATA' enable, and also let Windows OS to load AHCI inbox driver or chipset vender's AHCI driver. In other words, it means that SATA Hard Disk ran as IDE mode in SeaBIOS but AHCI mode in Windows OS.
Can all SATA controllers be run in IDE mode? If not, how can one know which SATA controller supports the mode?
-Kevin
On Mon, May 30, 2011 at 02:44:21PM +0800, Chuang, Alex wrote:
Hi,
I add one config 'IDE_TO_AHCI' in 'src\Kconfig' and modify
'src\ata.c'.
Please help me to review and check-in.
This 'IDE_TO_AHCI' function can let SeaBIOS handle AHCI controller
as
IDE controller when 'ATA' enable, and also let Windows OS to load
AHCI
inbox driver or chipset vender's AHCI driver. In other words, it
means
that SATA Hard Disk ran as IDE mode in SeaBIOS but AHCI mode in
Windows
OS.
Can all SATA controllers be run in IDE mode? If not, how can one know which SATA controller supports the mode?
Not all SATA controllers can be run in this mode. That's why I set 'IDE_TO_AHCI' default to disable. I only confirm it's working with AMD's SATA controller.
Best regards, Alex
On Tue, May 31, 2011 at 01:18:28AM +0800, Chuang, Alex wrote:
Can all SATA controllers be run in IDE mode? If not, how can one know which SATA controller supports the mode?
Not all SATA controllers can be run in this mode. That's why I set 'IDE_TO_AHCI' default to disable. I only confirm it's working with AMD's SATA controller.
Okay. In that case, I think it would be better to detect the vendor/device ids that can be supported instead of adding a new config option.
-Kevin
On Wed, June 01, 2011 at 06:57AM +0800, Kevin O'Connor wrote:
Not all SATA controllers can be run in this mode. That's why I set 'IDE_TO_AHCI' default to disable. I only confirm it's working with AMD's SATA controller.
Okay. In that case, I think it would be better to detect the vendor/device ids that can be supported instead of adding a new config option.
It's fine to add vendor ids detect code, but I think config 'IDE_TO_AHCI' should be reserved. Because there are three ways to control AHCI controller.
1. AHCI option rom. 2. ATA emulation mode in ATA.c. 3. non-ATA emulation mode in AHCI.c.
Config 'AHCI' can control non-ATA emulation mode enable/disable in AHCI.c and we also need config 'IDE_TO_AHCI' to control ATA emulation mode enable/disable in ATA.c.
Best regards, Alex
On Wed, Jun 01, 2011 at 03:14:46PM +0800, Chuang, Alex wrote:
On Wed, June 01, 2011 at 06:57AM +0800, Kevin O'Connor wrote:
Not all SATA controllers can be run in this mode. That's why I set 'IDE_TO_AHCI' default to disable. I only confirm it's working with AMD's SATA controller.
Okay. In that case, I think it would be better to detect the vendor/device ids that can be supported instead of adding a new config option.
It's fine to add vendor ids detect code, but I think config 'IDE_TO_AHCI' should be reserved. Because there are three ways to control AHCI controller.
- AHCI option rom.
- ATA emulation mode in ATA.c.
- non-ATA emulation mode in AHCI.c.
Config 'AHCI' can control non-ATA emulation mode enable/disable in AHCI.c and we also need config 'IDE_TO_AHCI' to control ATA emulation mode enable/disable in ATA.c.
Best regards, Alex
Hi Alex,
Sorry for not getting back to you sooner.
I recently purchased an Asrock E350M1/USB3 motherboard and some flash chips. So, I'll give your patch a spin this weekend.
Basically, I'd like to see if there is some way this can be auto-detected at runtime instead of using a compile time setting.
-Kevin
On Fri, Jun 10, 2011 at 6:04 AM, Kevin O'Connor kevin@koconnor.net wrote:
On Wed, Jun 01, 2011 at 03:14:46PM +0800, Chuang, Alex wrote:
On Wed, June 01, 2011 at 06:57AM +0800, Kevin O'Connor wrote:
Not all SATA controllers can be run in this mode. That's why I set 'IDE_TO_AHCI' default to disable. I only confirm it's working with AMD's SATA controller.
Okay. In that case, I think it would be better to detect the vendor/device ids that can be supported instead of adding a new config option.
It's fine to add vendor ids detect code, but I think config 'IDE_TO_AHCI' should be reserved. Because there are three ways to control AHCI controller.
- AHCI option rom.
- ATA emulation mode in ATA.c.
- non-ATA emulation mode in AHCI.c.
Config 'AHCI' can control non-ATA emulation mode enable/disable in AHCI.c and we also need config 'IDE_TO_AHCI' to control ATA emulation mode enable/disable in ATA.c.
Best regards, Alex
Hi Alex,
Sorry for not getting back to you sooner.
I recently purchased an Asrock E350M1/USB3 motherboard and some flash chips. So, I'll give your patch a spin this weekend.
Basically, I'd like to see if there is some way this can be auto-detected at runtime instead of using a compile time setting.
-Kevin
Kevin,
Auto detect would be great. It would also be good if we could incorporate fixes ScottD made for AHCI. The patch may require some tweaking.
Marc
On Fri, Jun 10, 2011 at 09:58:21AM -0600, Marc Jones wrote:
On Fri, Jun 10, 2011 at 6:04 AM, Kevin O'Connor kevin@koconnor.net wrote:
I recently purchased an Asrock E350M1/USB3 motherboard and some flash chips. So, I'll give your patch a spin this weekend.
Basically, I'd like to see if there is some way this can be auto-detected at runtime instead of using a compile time setting.
Auto detect would be great. It would also be good if we could incorporate fixes ScottD made for AHCI. The patch may require some tweaking.
Yes - that will be first priority. It's been tough getting time to work on it though.
-Kevin
On Mon, Jun 13, 2011 at 5:55 AM, Kevin O'Connor kevin@koconnor.net wrote:
On Fri, Jun 10, 2011 at 09:58:21AM -0600, Marc Jones wrote:
On Fri, Jun 10, 2011 at 6:04 AM, Kevin O'Connor kevin@koconnor.net wrote:
I recently purchased an Asrock E350M1/USB3 motherboard and some flash chips. So, I'll give your patch a spin this weekend.
Basically, I'd like to see if there is some way this can be auto-detected at runtime instead of using a compile time setting.
Auto detect would be great. It would also be good if we could incorporate fixes ScottD made for AHCI. The patch may require some tweaking.
Yes - that will be first priority. It's been tough getting time to work on it though.
-Kevin
I understand completely! :)
Marc