2014년 3월 16일 일요일

ACPI 임시 질문/답변 2


오늘은 질문자가 한 질문 중에서 아직 답변이 마무리 되지 않은 나머지 궁금하신 부분들에 대하여 답변드리겠습니다.

 

 

[질문 내용]

Method (_ALI, 0, NotSerialized){
SX10 () SX30 (0x1E) SX30 (0x01) SX11() Store (SX40 (), Local0) SX12 () Return (Local0)
}를 우선 확인해봤습니다. SX의 경우 워드를 처리하기 위한 문구 같다 정도로 해석을 했고, Local0, Arg0 라는 변수들은 어디에서 얻어오는 것인지 모르겠네요. 특히나, 

If (And (Local0, 0x4000))
{
Notify (\_SB.ALS, 0x80)
} _SB의 경우 system bus라고 정의되어 있는데, _SB.ALS란 무엇을 의미하는 것일까요? 만약 GPIO와 연동한다면....And (Local0, 0x4000) 이것이 그걸의미하는 것일까요? 

 

위의 질문 내용중에서 앞 부분에 있는 Local0, Arg0에 대한 답변은 지난번 답변글에 했습니다.

 

오늘은 아래의 두 가지 질문에 답변을 드리도록 하겠습니다. 

참고로, 두 번째 질문은 저도 확실하게 답변을 드릴 수 없을 수 있기 때문에, 사실 질문이라기 보다 의논이라고 하는 편이 정확할 것 같습니다.

 

 

  1. "\_SB.ALS란 무엇을 의미하는것 일까요?",
  2. "GPIO와 연동한다면... And(Local0, 0x4000) 이것이 그걸 의미 하는것 일까요?"

 

 

오늘은, 집에서 개인 컴퓨터로 답변을 드리기 때문에 ACPI Spec 3.0b를 다시 받아야 겠군요.. ^^

자.. Spec을 모두 받았고 1번 질문부터 파해쳐 보겠습니다.

 

우선 Name space라는 것에 대하여 봐야 겠군요. 사실, 질문자가 말씀하신 System bus라고 하신 부분이 맞습니다. 

하지만, 앞에서 언급한 ACPI Name space라는 것에 대하여 살짝 Tip(?) 같은 설명을 드리겠습니다. ACPI Spec 문서의 5.3장에 ACPI Name space에 대한 정의와 설명이 있습니다.  (참고로, 이 글을 읽는 분들이 일반적인 Name space에 대한 지식이 있다는 것을 가정합니다만.. 혹시라도 잘 모르시는 분은 댓글을 남겨 주시면 추가로 설명을 하도록 하겠습니다. 저도, 처음에는 잘 모르던 개념들 입니다. 부담갖지 마시고 댓글, 쪽지, 메일등으로 질문 하시기 바랍니다. 제가 자주 접속 하지는 않지만...^^ 보는데로 답변 하겠습니다.)

첫 줄에 보면, "모든 정의 블럭들을 위해서, 시스템은 객체들을 참조하기 위하여 단일 계층구조(트리-tree-구조 같은것)의 namespace를 관리한다."라고 되어 있네요. 그리고, 조금 아래를 보면 폴더구조와 같은 예제 그림이 하나 있습니다. 앞에서 말흔 한개의 계층구조라는 것을 잘 보여 주고 있습니다. 다시 그림이 있는 부분의 앞에 있는 Namespace의 이름 규칙에 대해서 알아 보겠습니다.

 

 

[현재 작성 중 인 문서 입니다.. 회사에서 급한 용무로 전화가 와서.. 다음 시간에 계속 하겠습니다. ^^;;]