Page 1 of 1

Fix para SATA AHCI lento

Posted: 24 Dec 2010, 12:47
by oldnapalm
Fix para placas que apresentam baixa performance dos HDs SATA quando no modo AHCI (outros HDs que não o do sistema). Consiste em passar os IRQs dos devices RTC0 e TMR para o device HPET (opcional mas recomendado) e liberar o IRQ do device PIC para ser usado pela controladora SATA (esta é a "chave" do fix).

Fix por THe KiNG do Project OS X
[External Link Removed for Guests]

HPET original:

Code: [Local Link Removed for Guests]

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y0F)
                    })
                    OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04)
                    Field (LPCR, AnyAcc, NoLock, Preserve)
                    {
                        HPTS,   2, 
                            ,   5, 
                        HPTE,   1, 
                                Offset (0x04)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (LEqual (OSFL (), Zero))
                        {
                            If (HPTE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPTE)
                            {
                                Return (0x0B)
                            }
                        }

                        Return (Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT)
                        Multiply (HPTS, 0x1000, Local0)
                        Add (Local0, 0xFED00000, HPT)
                        Return (CRS)
                    }
                }
HPET modificado:

Code: [Local Link Removed for Guests]

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (CRS, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {0}
                        IRQNoFlags ()
                            {8}
                        Memory32Fixed (ReadOnly,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y0F)
                    })
                    OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04)
                    Field (LPCR, AnyAcc, NoLock, Preserve)
                    {
                        HPTS,   2, 
                            ,   5, 
                        HPTE,   1, 
                                Offset (0x04)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (LEqual (OSFL (), Zero))
                        {
                            If (HPTE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPTE)
                            {
                                Return (0x0B)
                            }
                        }

                        Return (Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT)
                        Multiply (HPTS, 0x1000, Local0)
                        Add (Local0, 0xFED00000, HPT)
                        Return (CRS)
                    }
                }
RTC0 original:

Code: [Local Link Removed for Guests]

                Device (RTC0)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {8}
                    })
                }
RTC0 modificado:

Code: [Local Link Removed for Guests]

                Device (RTC0)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                    })
                }
TMR original:

Code: [Local Link Removed for Guests]

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x00,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                }
TMR modificado:

Code: [Local Link Removed for Guests]

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x01,               // Alignment
                            0x04,               // Length
                            )
                    })
                }
PIC original:

Code: [Local Link Removed for Guests]

                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }
PIC modificado:

Code: [Local Link Removed for Guests]

                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                    })
                }

Re: Fix para SATA AHCI lento

Posted: 13 Jul 2011, 07:37
by deantonibrito
Obrigado pelo post. É oq eu procurava. Porem Está me gerando muitas dúvidas.

Uso a placa ASUS p6td Deluxe.. instal todo no insanelymac.. DSDT by Ifabio

SInto lentidão qdo o hd estáem atividade.. (como criar abas no Safari, etc)

Editei a dsdt extamente como acima e continua igual!! A não a temperatura q aumentou em 10º!!??

Como consigo o IOregister?

Imploro por uma ajuda..!!

obrigado

Re: Fix para SATA AHCI lento

Posted: 13 Jul 2011, 16:11
by oldnapalm
Use o Auto-Patcher, essa placa é suportada
[Local Link Removed for Guests]

Instalação conforme este tópico
[Local Link Removed for Guests]

Re: Fix para SATA AHCI lento

Posted: 13 Jul 2011, 19:24
by deantonibrito
Já usei e não mudou nada..
Esse problema ja está ficando insuportável mesmo!!

tks man!!!

Re: Fix para SATA AHCI lento

Posted: 13 Jul 2011, 19:29
by oldnapalm
Antes de rodar o Auto-Patcher, remova esse DSDT pronto que você baixou e reinicie.

Re: Fix para SATA AHCI lento

Posted: 13 Jul 2011, 19:56
by deantonibrito
Não vai dar pau reiniciar sem o DSDT?

Re: Fix para SATA AHCI lento

Posted: 13 Jul 2011, 20:33
by oldnapalm
Não deveria, mas se você tem receio, rode o Auto-Patcher no Windows, ou renomeie o dsdt.aml e caso não funcionar sem, basta especificar o nome do arquivo no boot: DSDT=/Extra/velho.aml -v

Re: Fix para SATA AHCI lento

Posted: 13 Jul 2011, 20:56
by deantonibrito
removi, restartei e dei o auto patcher..

problema persistiu.

Editei o HPET igual do The King tbm.. e nada

Fix para SATA AHCI lento

Posted: 19 Jul 2018, 09:05
by kimmysawi
[Local Link Removed for Guests] wrote: [Local Link Removed for Guests] Uso a placa ASUS p6td Deluxe.. instal todo no insanelymac.. [External Link Removed for Guests] DSDT by Ifabio

SInto lentidão qdo o hd estáem atividade.. (como criar abas no Safari, etc)
All of these can measure with do and die situation because of that Graphic and Nvidea card :(