1
Lowlevel-Coding / Re: IDT - Bei Exception Reset [BOCHS]
« am: 19. August 2009, 12:35 »
Super!
Danke
Danke
22. November 2024, 17:30
Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.
Welcome to the iUse BuildCreatr v0.1 RC1
» Initializing the enviroment
» Compiling the ASM-Code
» Compiling the C-Code
In file included from main.c:5:
inc/gdt.c: In function 'gdt_install':
inc/gdt.c:59: warning: assignment makes integer from pointer without a cast
In file included from main.c:6:
inc/idt.c: In function 'idt_install':
inc/idt.c:55: warning: assignment makes integer from pointer without a cast
» Linking the Files into one
» Creating ISO with GRUB and mkisofs
Size of boot image is 4 sectors -> No emulation
Total translation table size: 2048
Total rockridge attributes bytes: 922
Total directory bytes: 4704
Path table size(bytes): 34
Max brk space used 4000
128 extents written (0 Mb)
FINISH!
[...]
00056321310e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x00)
00056321310e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x08)
00056321310i[CPU0 ] CPU is in protected mode (active)
00056321310i[CPU0 ] CS.d_b = 32 bit
00056321310i[CPU0 ] SS.d_b = 32 bit
00056321310i[CPU0 ] EFER = 0x00000000
00056321310i[CPU0 ] | RAX=0000000000000000 RBX=00000000000329c0
00056321310i[CPU0 ] | RCX=00000000001fffc0 RDX=0000000000000000
00056321310i[CPU0 ] | RSP=00000000001fffd0 RBP=00000000001fffe8
00056321310i[CPU0 ] | RSI=0000000000026ac0 RDI=0000000000101560
00056321310i[CPU0 ] | R8=0000000000000000 R9=0000000000000000
00056321310i[CPU0 ] | R10=0000000000000000 R11=0000000000000000
00056321310i[CPU0 ] | R12=0000000000000000 R13=0000000000000000
00056321310i[CPU0 ] | R14=0000000000000000 R15=0000000000000000
00056321310i[CPU0 ] | IOPL=0 id vip vif ac vm RF nt of df if tf sf ZF af PF cf
00056321310i[CPU0 ] | SEG selector base limit G D
00056321310i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
00056321310i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1
00056321310i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00056321310i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00056321310i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00056321310i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00056321310i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00056321310i[CPU0 ] | MSR_FS_BASE:0000000000000000
00056321310i[CPU0 ] | MSR_GS_BASE:0000000000000000
00056321310i[CPU0 ] | RIP=00000000001009e8 (00000000001009e8)
00056321310i[CPU0 ] | CR0=0x60000011 CR2=0x0000000000000000
00056321310i[CPU0 ] | CR3=0x00000000 CR4=0x00000000
00056321310i[CPU0 ] 0x00000000001009e8>> idiv eax, dword ptr ss:[ebp+0xfffffff4] : F77DF4
00056321310e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting
00056321310i[SYS ] bx_pc_system_c::Reset(HARDWARE) called
00056321310i[CPU0 ] cpu hardware reset
[...]
global loader
extern main
FLAGS equ 0
MAGIC equ 0x1BADB002
CHECKSUM equ -(MAGIC + FLAGS)
section .text
align 4
MultiBootHeader:
dd MAGIC
dd FLAGS
dd CHECKSUM
loader:
mov esp,0x200000
push eax
push ebx
call main
cli
hlt
asm("cli\n\t"
"mov eax,cr0\n\t"
"and al,not 1\n\t"
"mov cr0,eax\n\t"
"sti\n\t");