구형 시스템에서 리사이저블 바를 지원하는 UEFI 펌웨어 개조가 나왔습니다.
UEFI의 PciHostBridgeResourceAllocationProtocol 기능에서 PreprocessController가 리사이저블 바를 지원하는지 확인하고, 만약 지원한다면 이를 활성화합니다. UEFI 펌웨어의 DXE 드라이버에 특정 모듈을 추가해서 설정할 수 있습니다.
이렇게 개조하면 2011년에 나온 샌디브릿지에서도 이 기능을 쓸 수 있습니다. 사실 리사이저블바는 PCIe 2.0 버전부터 지원했으나, 본격적으로 사용한 건 비교적 최근 일입니다.
적용 되는 BAR 크기가 1GB까지뿐이 안돼지만 아예 없는거보다는 성능향상이 꽤 있더군요
물론 효과 볼수 있는 게임에 한정해서....
+덧붙여서 바이오스에 DXE 모듈 삽입과 플래시로 끝나진 않고,같이 배포하는 실행파일로
BAR 크기를 입력하고 재부팅 해야 실제 적용이 끝납니다.
BAR 크기 입력시 above 4g decoding의 옵션 유무가 영향을 끼치는데...
있고 활성화가 되면 그냥 최대값인 32 넣으면 되고 없으면 직접 최대 BAR 크기를
일일이 입력해서 찾아봐야합니다. 그 과정에서 벽돌이 되면 CMOS 클리어 하면 해결됩니다.
4g decoding이 존재하거나 존재하지만 숨겨진 보드는 대부분 장치 메모리 처리 정보가
개판 5분전으로 설정되어 있고 4G decoding 옵션 활성화시 보드의 여러기능이
먹통이 되는 현상(USB 3.0등)이 있어서 DSDT 패칭까지 해야할겁니다..
DSDT 패칭은 손이 가는 작업이라 DXE 모듈 삽입하고 플래싱 후 적당히
BAR 사이즈 찾아 쓰는게 난이도는 제일 쉽습니다.
저 같이 구형시스템 ㅠㅠ 쓰면서 이런 변태짓(...) 하실분들을 위해
혹시나 싶어서 댓글란에 참고사항 적어둡니다..