그냥 protected mode 로 진입한 후에 바로
VMX 비트를 켜니까 general protection 폴트가 발생했습니다.
그래서 Xen 소스를 보니까 VMX 비트를 켜기 전에 MSR을 설정하는 코드가 있네요
MSR을 설정하는 법을 찾아봤는데 MSR 자체가 뭔지도 모르겠고
설정할 값이 한두개도 아니라서 막막합니다.
나중에 Xen소스 분석하다가 VMX 설정하는 코드를 분석하면
그 다음에야 테스트를 할 수 있을것 같습니다.
... 장황하게 설명했지만 어려워서 못했다는 이야기입니다.. --;
VMX 비트를 켜니까 general protection 폴트가 발생했습니다.
그래서 Xen 소스를 보니까 VMX 비트를 켜기 전에 MSR을 설정하는 코드가 있네요
MSR을 설정하는 법을 찾아봤는데 MSR 자체가 뭔지도 모르겠고
설정할 값이 한두개도 아니라서 막막합니다.
나중에 Xen소스 분석하다가 VMX 설정하는 코드를 분석하면
그 다음에야 테스트를 할 수 있을것 같습니다.
... 장황하게 설명했지만 어려워서 못했다는 이야기입니다.. --;
댓글 4
-
백창우
2008.02.21 18:50
-
김광태
2008.02.23 23:54
제가 올린 샘플코드가 하나 있습니다.
"[정보] 인텔 VT-x 샘플 " 라는 이름으로 올렸습니다.
VMM.c 파일에 __declspec( naked ) VOID StartVMX( ) 함수를 찾아보시면 조금 도움이 되실듯 합니다.
소스는 윈도우에서 드라이버로 올려서 현재 OS를 Guest로 올리는 샘플입니다. -
김광태
2008.02.23 23:55
그부분에 MSR을 설정하는것에 나와있습니다.
위 샘플은 인텔 메뉴얼에 나온 그대로 순서대로 짜여있는것이라.. 보기 편하실겁니다. -
김광태
2008.02.23 23:57
코드는 제가 짠건 아니고 어디선가 주운것입니다. ^__^;;
.
VT-x 기술을 찾던중 초기화 관련 내용을 본듯합니다.