討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 CSSLP認證,將資安落實在軟體開發中
[ 回上頁 ] [ 討論區發言規則 ]
ACPI Scope, Method 觀念問題 (_TTS, _PTS)
更改我的閱讀文章字型大小
作者 : xyz1205(小高)
[ 貼文 1 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/28 下午 05:30:50
各位前輩你們好,我最近剛接觸ASL code,對裡面的Scope, Method 有問題卻找不到答案,SPEC裡也沒有寫得很清楚,在這請有經驗的前輩們不吝賜教。我的問題是當關機時,我需要去聽這個關機event,然後透過I2C送訊號把某個裝置關掉。問題出在如何去收這個event?

從ACPI spec50.pdf上有提到 (7.4 OSPM usage of _GTS, _PTS, _TTS) ,當系統要進入到某個State時(S1, S2,..,S5),OSPM會依訊呼叫 _TTS => _PTS => _GTS 這些 control method ,並可藉由它的參數 Arg0 ,得知它要進入的state。以我的狀況,我有收到 _PTS 且可以得到 Arg0 = 0x05,所以可以知道此時系統要進入到 shutdown state。然而我卻收不到_TTS 這一個 event (從uart log 得知,_PTS 的log 有出來,_TTS卻沒反應)。

1. 若能收到_PTS,是否 _TTS 一定也會發出來?

2. _TTS 指的是Transition To State︳意思是要切換到某Sx state。所以 Method (\_TTS, 1, NotSerialized ) 的用法,是否表示當系統要切換state時,就會去掃有宣告_TTS的code,然後執行它裡面的 function? 例如:
=======================
Device (A)
{
    Method (\_TTS, 1, NotSerialized )
    {
     If(LEqual(Arg0, 0x01))
     A_function;
    }

}

Device (B)
{
    Method (\_TTS, 1, NotSerialized )
    {
     If(LEqual(Arg0, 0x01))
     B_function;
    }

}
=======================
當系統從 S0 -> S1時,它就會發現 Device A & B有宣告 _TTS,所以會去執行 A_function & B_function,這觀念對嗎? 若不對請糾正我。


3. 我有試過在device 或 \SB 下收_TTS,但都沒有反應,是否因為我宣告的scope不正確 ?

謝謝!
 板主 : 徵求中
 > 組合語言 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 組合語言 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
組合語言
1 H 2220 
2 liaoo 990 
3 青衫 970 
4 牧童哥 940 
5 史努比 920 
6 qq 480 
7 GHOST-JACKY 330 
8 ]CALL-151 310 
9 harrison 300 
10 掌握文武半邊天 280 
組合語言
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
3.222656E-02