12-16-2015, 04:50 AM
I'm talking from what I remember so some info may not be 100% right.
Don't remember what sata are default values for ICH8,you need to consult datasheet.
Look for sata capabilities register in AHCI memory space.
If default is sata 2 but BIOS set it to sata 1 speed you need to find who set that in BIOS code.
Or you may rewrite this but after BIOS set it to sata 1 otherwise if you do this earlier your rewrite is overwrite by BIOS
Read sata chipset registers it may be device d31:f2 ,find this info from datasheet. Offset 20h-24h are memory mapped AHCI registers.From that offset calculate where is bit that set sata speed.
Find a way to read and write byte or word from that address,modify value to reflect changes to sata 2 and write.
Test if really works at sata 2 speed.
If yes then find a way to do this during BIOS,insert some code in one module to do this,use a dummy option rom to replace PXE rom,set boot to network first so that rewrite is done before booting from hdd.
Don't remember what sata are default values for ICH8,you need to consult datasheet.
Look for sata capabilities register in AHCI memory space.
If default is sata 2 but BIOS set it to sata 1 speed you need to find who set that in BIOS code.
Or you may rewrite this but after BIOS set it to sata 1 otherwise if you do this earlier your rewrite is overwrite by BIOS
Read sata chipset registers it may be device d31:f2 ,find this info from datasheet. Offset 20h-24h are memory mapped AHCI registers.From that offset calculate where is bit that set sata speed.
Find a way to read and write byte or word from that address,modify value to reflect changes to sata 2 and write.
Test if really works at sata 2 speed.
If yes then find a way to do this during BIOS,insert some code in one module to do this,use a dummy option rom to replace PXE rom,set boot to network first so that rewrite is done before booting from hdd.