Jump to content

OpenHaltRestart.kext と現時点の状況


TennisGeek
 Share

2 posts in this topic

Recommended Posts

OpenHaltRestart は、 Control-Alt-Delete をまねすることでリスタートしています。

 

新しい OSXRestart.kext は ACPI でリスタートしています。

 

その結果は、Chameleon の中に反映されているので、 自分で Chameleon をコンパイルするか、新しいバージョンをまてばリスタートが動くようになるかもしれません。 "RestartFix"

 

http://www.insanelymac.com/forum/index.php?showtopic=199048

 

また、チップセットによるのですが、シャットダウンはサウスブリッジのレジスタに値を書き込むことで可能になります。

DSDT をパッチするのですが、

 

OperationRegion (PMRS, SystemIO, 0x1030, One)
Field (PMRS, ByteAcc, NoLock, Preserve)
{
, 4,
SLPE, 1
}

 

でレジスターを定義しておいて

 

Method (_PTS, 1, NotSerialized)
{
If (LEqual (Arg0, 0x05))
{
Store (Zero, SLPE)
Sleep (0x10)
}
}

 

_PTS メソッド中で書き込みます。

 

http://www.insanelymac.com/forum/index.php...90780&st=80

 

私の友人の dlach がラップトップにポートしたもので、最初は Gigabyte のボードで ICH7 などで使われたテクニックですが、 dlach によると、違うサウスブリッジでも同じようなものなので、アドレスの違いはあるものの動くはずだということです。

アドレスの違いについては、サウスブリッジがわかっていれば、スペックシートから割り出せるということです。

つまり、機種によっては 0x1030 の部分さえかえれば、 Intel サウスブリッジのマシンでは、シャットダウンが可能になるはずです。

 

というわけで、両方をクリアすると OpenHaltRestart.kext も不要になります。

 

ちなみにわたしは OSXRestart.kext を使っています。

 

-- TG

Link to comment
Share on other sites

有用な情報ありがとうございます。

RestartFix_v2.1.zipからソースを持ってきてChameleon2.0RC4-r684のパッチを作成して適用してみました。

 

結果、INTELのサウスブリッジ(P55)ではreboot, shutdownともにOKでしたが、NVIDAのMCP79(GeForce 9300M, ION)ではshutdownはできるものの、rebootは効きませんでした。

 

 

<key>Kernel Flags</key>
<string>RestartFix=YES</string>

 

OSXRestart.kextの説明でNVIDIA Chipesetは動かないかもと制限事項があったので、Chameleonで同様にDSDTを修正している場合も同じ制限があるようです。

Chameleon_2.0_RC4_r684_RestartFix.diff.zip

Chameleon_2.0_RC4_r684_boot_RestartFix.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...