도와주세요!!
글 수 15,339
2007.04.18 20:34:53 (*.138.143.118)
6696
리눅스 커널에서 제로 페이지라고 불리는 공간은 실제로
0x0000-0000 위치에 존재하면서 약 256 바이트 크기의 공간을 의미합니다.
이 공간의 목적은 프로세서 벡터 페이지로써의 공간을 의미하는데
예약된 공간이지요
그런데 이지부트에서 이야기하는 제로페이지는 이 공간을 포함하고
커널에 전달되는 환경 관련된 영역을 전달하기 위한 공간으로
0x1000 크기를 갖습니다.
정상적인 전달은 R2 레지스터에 넣어서 전달해야 하는 공간인데
이지부트는 조금 특이 하게 접근하고 있습니다.
그냥 초기화 영역으로 보고 커널소스를 수정해서
커널 커맨드를 전달하는 방법으로 사용하고 있습니다.
최근 암 커널은 태그 리스트라는 구조체를 이용하여
커널과 부트로더간의 데이터를 전달하도록 규정되었습니다.
그래서 저희는 이지부트를 이 방식으로 수정하려고 준비중에 있습니다.
현재 새로운 OS 를 만드신다면 해당 부분을 무시하셔도 됩니다.
그냥 저희만의 방식이니까요 ^^
0x0000-0000 위치에 존재하면서 약 256 바이트 크기의 공간을 의미합니다.
이 공간의 목적은 프로세서 벡터 페이지로써의 공간을 의미하는데
예약된 공간이지요
그런데 이지부트에서 이야기하는 제로페이지는 이 공간을 포함하고
커널에 전달되는 환경 관련된 영역을 전달하기 위한 공간으로
0x1000 크기를 갖습니다.
정상적인 전달은 R2 레지스터에 넣어서 전달해야 하는 공간인데
이지부트는 조금 특이 하게 접근하고 있습니다.
그냥 초기화 영역으로 보고 커널소스를 수정해서
커널 커맨드를 전달하는 방법으로 사용하고 있습니다.
최근 암 커널은 태그 리스트라는 구조체를 이용하여
커널과 부트로더간의 데이터를 전달하도록 규정되었습니다.
그래서 저희는 이지부트를 이 방식으로 수정하려고 준비중에 있습니다.
현재 새로운 OS 를 만드신다면 해당 부분을 무시하셔도 됩니다.
그냥 저희만의 방식이니까요 ^^