First of all, Thanks ab___73.
source : http://www.insanelymac.com/forum/index.php?showtopic=145792&pid=1163564&mode=threaded&start=#entry1163564
This posting will be translate to Korean, that's why ab_73's posting is in here for understanding who duuno english.
Update:
Upload of Release version 1 with source code.
boot1h 와 관련된 파일크기의 제약상 SMBIOS나 /Extras폴더와는 아직 호한이 안된다는 점을 유의해 주세요.
변경사항:
+ load upto 30 SSDT tables.
+ load extra additional SSDT tables.
+ ACPI v1 and v2 and v3 support.
+ source code refined.
SSDT 테이블을 올려주시면 많은 사람들에게 도움이 될것입니다.
가능하면 www.mediafire.com 에 올려주시면 되겠습니다.
다음 부트로더를 다운로드 받으세요.
ssdtboot_chameleon2.zip ( 314.39K ) Number of downloads: 500
Update:
30 SSDT tables을 로딩할 수 있게 소스코드를 수정하였다. 테스트 중에 있으며, 성공하면 이 bootloader 와 소스코드를 공개할 것입니다.tonight.
SMBIOS source code diff를 추가하는 부분에 있어 몇가지 이슈가 있는데, 부트파일의 파일크기 제한과 관련된 것 같군요.
만약 파일크기가 62000bytes 이하에서 bootloader를 운용하게끔 한다면 SMBIOS + DSDT + SSDT 패치를 62700bytes 까지 증가시킬 수 있을 것 같습니다. 부팅시에 /boot0 hang이라는 부팅에러를 겪었다면 이 부분이 해결될 수 있겠군요.
파일 크기 제한과 관련하여 어떤분이라도 좋으니 알고 있으신 분은...^ ^
왜 boot1h 가 단지 <64k boot 파일 이하로 로딩해야 하는 건지...알고 싶습니다!!
-------------------
아주 일반적인 chameleon DSDT override bootloader 를 수정하였는데, 이는 수정된 DSDT 와 SSDT 테이블을 로딩하기 위한 것입니다.
다음과 같은 이점이 있습니다:
+ 컴파일 에러를 이해하고 또, SSDT 테이블 내에서 가끔은 DSDT가 external methods를 레퍼런스 하기도 합니다..
+ Fix Powermanagement.
+ Fix PStates (CPU performance management)
+ Fix CStates (Power Saving managenent)
+ Fix TStates (CPU throttling)
+ View SATA controllers ACPI functions.
이 버전은 디버그 버전입니다. 곧 새로운 버전을 소스코드와 같이 발표할 것입니다.
Chameleon bootloader 와 DSDT 패칭 프로젝트에 관심 가져줘서 고맙군요.
이 bootloader를 이용할려면,
특정 폴더에 압축을 풀고.
Terminal 에서 해당 폴더로 이동합니다.
기존의 bootloader를 다음과 같이 백업합니다.
#sudo cp /boot /boot.bak
사용할 bootloader 를 다음과 같이 복사하여 줍니다.
#sudo cp ssdtboot /boot
SSDT 테이블을 추출하기 위해서는
터미널에서 압축을 풀어놓은 폴더로 이동하여 다음과 같이 실행합니다.
#./getSSDT5.sh
이 명령어는 다음과 같은 디컴파일된 SSDT 테이블을 생성합니다.
SSDT-0.dsl
SSDT-1.dsl
..
SSDT-4.dsl
SSDT Tables의 숫자는 하드웨어 숫자에 기인하므로 숫자에 연연할 필요는 없습니다
텍스트 에디터나 Text Mate를 이용하여 이 화일들을 열어서 수정합니다.
SSDT tables수정하였으면, 터미널에서 다음과 같은 커맨드를 입력하여 컴파일 하여 줍니다.
./iasl -sa SSDT-0.dsl
./iasl -sa SSDT-1.dsl
./iasl -sa SSDT-2.dsl
..
./iasl -sa SSDT-x.dsl
(where x is the table you wish to compile)
컴파일된 파일을 다음과 같은 명령어를 이용하여 최상위 디렉토리에 복사하여 줍니다.
#cp SSDT-x.aml /
(where x is the table you wish to copy)
이 bootloader 를 이용하여 재부팅하고 나면 이미 SSDT 테이블을 로딩하였을 것입니다.
DSDT와 관련하여 다음 글들을 참고합니다.
DSDT Patcher
DSDT BIOS Patcher
다음과 같이 Boot 옵션을 사용할 수 있는데 수정된 것을 사용하는 것 대신에 기본적인 oem SSDT 테이블을 로딩하기 위해 사용할 수 있습니다.
(Use this at darwin boot)
oemSSDT=y
voodoo kernel 에서는 boot 옵션을 다음과 같이 주어 동작되는지 확인하여 봅니다.
kprintf=1 -v
OSX로 부팅하였다면
터미널에서 다음과 같은 명령어를 입력합니다.
#sudo dmesg | grep ACPI
OEM SSDT 테이블 예:
수정 적용된 SSDT 예:
5라인의 변화를 유의하여 보면 (SSDT-4) e.g. 0x7f7f52a2/0x4D7 -> 0x1956000/0x051E
이 주소가 변화된 의미는 수정된 SSDT 성공적으로 로딩된 것입니다.
이제 SSDT 테이블을 공유하여 서로간의 정보를 공유하여 봅시다. www.mediafire.com 에 업로드하여 공유하면 될 것 같군요.
다음 화일이 도움이 될 것 같군요.
[attachment=42483:ssdtboot_chameleon.zip]
Cheers,
AB
Voodoo kernel :
voodoo kernel
ssdtboot_chameleon2.zip ( 314.39K ) Number of downloads: 500
Update:
30 SSDT tables을 로딩할 수 있게 소스코드를 수정하였다. 테스트 중에 있으며, 성공하면 이 bootloader 와 소스코드를 공개할 것입니다.tonight.
SMBIOS source code diff를 추가하는 부분에 있어 몇가지 이슈가 있는데, 부트파일의 파일크기 제한과 관련된 것 같군요.
만약 파일크기가 62000bytes 이하에서 bootloader를 운용하게끔 한다면 SMBIOS + DSDT + SSDT 패치를 62700bytes 까지 증가시킬 수 있을 것 같습니다. 부팅시에 /boot0 hang이라는 부팅에러를 겪었다면 이 부분이 해결될 수 있겠군요.
파일 크기 제한과 관련하여 어떤분이라도 좋으니 알고 있으신 분은...^ ^
왜 boot1h 가 단지 <64k boot 파일 이하로 로딩해야 하는 건지...알고 싶습니다!!
-------------------
아주 일반적인 chameleon DSDT override bootloader 를 수정하였는데, 이는 수정된 DSDT 와 SSDT 테이블을 로딩하기 위한 것입니다.
다음과 같은 이점이 있습니다:
+ 컴파일 에러를 이해하고 또, SSDT 테이블 내에서 가끔은 DSDT가 external methods를 레퍼런스 하기도 합니다..
+ Fix Powermanagement.
+ Fix PStates (CPU performance management)
+ Fix CStates (Power Saving managenent)
+ Fix TStates (CPU throttling)
+ View SATA controllers ACPI functions.
이 버전은 디버그 버전입니다. 곧 새로운 버전을 소스코드와 같이 발표할 것입니다.
Chameleon bootloader 와 DSDT 패칭 프로젝트에 관심 가져줘서 고맙군요.
이 bootloader를 이용할려면,
특정 폴더에 압축을 풀고.
Terminal 에서 해당 폴더로 이동합니다.
기존의 bootloader를 다음과 같이 백업합니다.
#sudo cp /boot /boot.bak
사용할 bootloader 를 다음과 같이 복사하여 줍니다.
#sudo cp ssdtboot /boot
SSDT 테이블을 추출하기 위해서는
터미널에서 압축을 풀어놓은 폴더로 이동하여 다음과 같이 실행합니다.
#./getSSDT5.sh
이 명령어는 다음과 같은 디컴파일된 SSDT 테이블을 생성합니다.
SSDT-0.dsl
SSDT-1.dsl
..
SSDT-4.dsl
SSDT Tables의 숫자는 하드웨어 숫자에 기인하므로 숫자에 연연할 필요는 없습니다
텍스트 에디터나 Text Mate를 이용하여 이 화일들을 열어서 수정합니다.
SSDT tables수정하였으면, 터미널에서 다음과 같은 커맨드를 입력하여 컴파일 하여 줍니다.
./iasl -sa SSDT-0.dsl
./iasl -sa SSDT-1.dsl
./iasl -sa SSDT-2.dsl
..
./iasl -sa SSDT-x.dsl
(where x is the table you wish to compile)
컴파일된 파일을 다음과 같은 명령어를 이용하여 최상위 디렉토리에 복사하여 줍니다.
#cp SSDT-x.aml /
(where x is the table you wish to copy)
이 bootloader 를 이용하여 재부팅하고 나면 이미 SSDT 테이블을 로딩하였을 것입니다.
DSDT와 관련하여 다음 글들을 참고합니다.
DSDT Patcher
DSDT BIOS Patcher
다음과 같이 Boot 옵션을 사용할 수 있는데 수정된 것을 사용하는 것 대신에 기본적인 oem SSDT 테이블을 로딩하기 위해 사용할 수 있습니다.
(Use this at darwin boot)
oemSSDT=y
voodoo kernel 에서는 boot 옵션을 다음과 같이 주어 동작되는지 확인하여 봅니다.
kprintf=1 -v
OSX로 부팅하였다면
터미널에서 다음과 같은 명령어를 입력합니다.
#sudo dmesg | grep ACPI
OEM SSDT 테이블 예:
CODE
ACPI: SSDT @ 0x7f7f4440/0x0024 (v001 HP HPQNLP 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f52a2/0x04D7 (v001 HP CpuPm 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f52a2/0x04D7 (v001 HP CpuPm 0x00003000 INTL 0x20060317)
수정 적용된 SSDT 예:
CODE
ACPI: SSDT @ 0x7f7f4440/0x0024 (v001 HP HPQNLP 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x1956000/0x051E (v001 HP CpuPm 0x00003000 INTL 0x20080926)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x1956000/0x051E (v001 HP CpuPm 0x00003000 INTL 0x20080926)
5라인의 변화를 유의하여 보면 (SSDT-4) e.g. 0x7f7f52a2/0x4D7 -> 0x1956000/0x051E
이 주소가 변화된 의미는 수정된 SSDT 성공적으로 로딩된 것입니다.
이제 SSDT 테이블을 공유하여 서로간의 정보를 공유하여 봅시다. www.mediafire.com 에 업로드하여 공유하면 될 것 같군요.
다음 화일이 도움이 될 것 같군요.
[attachment=42483:ssdtboot_chameleon.zip]
Cheers,
AB
Voodoo kernel :
voodoo kernel
우리도 이제는 dsdt, ssdt 테이블 쯤은 떡고물 주루르듯이 주무러 봅시다.
답글삭제아 혹시 댓글로 파일을 올리실 분들은 다음과 같은 형식을 지켜주셨으면 합니다.
1. 마더보드
2. ROM BIOS 버전.
3. 링크된 DSDT와 SDDT관련 파일
4. 성공여부
현재의 Chameleon RC2/XPC/PC_EFI버전은 DSDT.aml 파일 하나로 지원이 됩니다.
답글삭제흠 이제와서 Ritz님의 dsdt글을 보니 감회가 새롭군요. T T
답글삭제