도와주세요!!
글 수 15,339
2002.11.25 19:10:10 (*.248.235.10)
6668
안녕하세요.. 이런 질문하기는 좀 죄송하지만.. 학실히 알고 시퍼서
질문 올립니다..
ezboot source를 보면 main.c에서 flash, Lan chip 초기화, 환경설정
후 kernel을 호출하는데요
GokernelSingle에 보면
void (*theKernel)(int zero, int arch);
....................
printf( "Starting kernel ...
");
theKernel = (void (*)(int, int))DEFAULT_RAM_KERNEL_START;
theKernel( ( long ) 0 , (long) 200 );
이렇게 된 부분이 있습니다.. 함수 포인터를 사용해서 커널을 호출한 것
같은데 솔직히 다이렉트로 램주소 넣어 주는 것은 첨 보거든요..
암튼 theKernel에 디폴트 램상 커널 시작 주소 넣어주고 인수로 "0"과
"200"을 주는데 이게 어떤 식으로 전달되고 동작을 하는지 설명해주실수
있나요? 200이란 숫자는 소스에서 커널 아키텍쳐 넘버로 쓰이는 것 같은데
이게 실제 어떻게 전달되서 무슨 역할을 하는 것인지...
궁금합니다... 정말 궁금하네...
질문 올립니다..
ezboot source를 보면 main.c에서 flash, Lan chip 초기화, 환경설정
후 kernel을 호출하는데요
GokernelSingle에 보면
void (*theKernel)(int zero, int arch);
....................
printf( "Starting kernel ...
");
theKernel = (void (*)(int, int))DEFAULT_RAM_KERNEL_START;
theKernel( ( long ) 0 , (long) 200 );
이렇게 된 부분이 있습니다.. 함수 포인터를 사용해서 커널을 호출한 것
같은데 솔직히 다이렉트로 램주소 넣어 주는 것은 첨 보거든요..
암튼 theKernel에 디폴트 램상 커널 시작 주소 넣어주고 인수로 "0"과
"200"을 주는데 이게 어떤 식으로 전달되고 동작을 하는지 설명해주실수
있나요? 200이란 숫자는 소스에서 커널 아키텍쳐 넘버로 쓰이는 것 같은데
이게 실제 어떻게 전달되서 무슨 역할을 하는 것인지...
궁금합니다... 정말 궁금하네...