2012-02-07 2 views
1

내 자신의 커널을 만들려고 노력 중 ... 내 커널은 grub를 통해로드됩니다. ... 나는 gdt가 필요하다고 생각합니다 ... 그래서 gdt를 직접 만들지 않았습니다. 나는 나의 ASM 파일에 lidt 한idt gdt를 사용하지 않고 grub을 사용하여

내 잘못이 처리 메서드가 호출되지 제로 예외 ....으로 나누기를 시도 할 때 IDT를 만들어 계속 ...

지금, 내 IDT에 항목을 설정 그리고 모든 레지스터를 밀고 난 후에는 절대로 호출되지 않는 오류 처리기를 호출합니다! grub의 기본 gdt를 사용하여 자신의 idt를 만들 수 있습니까? 또는 GDT를 생성해야합니까? 소스 코드 - https://github.com/pawangogna/pkern

P.S. 나는이 튜토리얼을 따라 가고있다. http://www.osdever.net/bkerndev/Docs/idt.htm

+1

0으로 나눈 값은 어디에 있으며 실제로 어떻게됩니까? 트리플 - 폴트? –

+0

이제는 gdt 코드를 작성 했는데도 여전히 작동하지 않습니다. (... idt 코드는 gdt.c의 idt.c, gdt 코드에 있으며 start.asm에는 idt 및 gdp 포인터의로드가 포함되어 있습니다. ..isr.c 어디 idt 항목 (32 예외)에로드 – Pawan

+0

오, 쓰레기 ... 내가 쓴 5 = 그리고 나서 5로 나눈 대신 5로 나누어 ... 나는 바보 같은 느낌 .. 감사합니다. @Alex – Pawan

답변

2

코드에는 0으로 나눈 값이 없다.

관련 문제