flat assembler
Message board for the users of flat assembler.

Index > OS Construction > sysexitq, exception

Author
Thread Post new topic Reply to topic
a115433



Joined: 05 Mar 2010
Posts: 144
a115433 18 Mar 2010, 16:34
after executing sysexitq i have exception. vector is i belive 30.
this occur only while in long mode. do you have any idea why?
Post 18 Mar 2010, 16:34
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr 18 Mar 2010, 16:54
a115433,

Don't be secretive, provide us with faulting code.
Post 18 Mar 2010, 16:54
View user's profile Send private message Reply with quote
a115433



Joined: 05 Mar 2010
Posts: 144
a115433 18 Mar 2010, 17:48
I was wrong, forgot about extension of IDT.
its vector 15. ive managed to acquire it by guessing IDT limit and checking error type. limit error = more, other error = ok.

vector 15 is reserved Sad

here is bochs dump:
Code:
00000000000i[     ] reading configuration from a
00000000000i[     ] installing win32 module as the Bochs GUI
00000000000i[     ] Bochs x86 Emulator 2.4.2
00000000000i[     ]   Build from CVS snapshot on November 12, 2009
00000000000i[     ] System configuration
00000000000i[     ]   processors: 1 (cores=1, HT threads=1)
00000000000i[     ]   A20 line support: yes
00000000000i[     ] CPU configuration
00000000000i[     ]   level: 6
00000000000i[     ]   SMP support: no
00000000000i[     ]   APIC support: yes
00000000000i[     ]   FPU support: yes
00000000000i[     ]   MMX support: yes
00000000000i[     ]   SSE support: 2
00000000000i[     ]   CLFLUSH support: yes
00000000000i[     ]   3dnow! support: no
00000000000i[     ]   1G paging support: no
00000000000i[     ]   x86-64 support: yes
00000000000i[     ]   SEP support: yes
00000000000i[     ]   MWAIT support: no
00000000000i[     ]   XSAVE support: no
00000000000i[     ]   AES support: no
00000000000i[     ]   VMX support: no
00000000000i[     ] Optimization configuration
00000000000i[     ]   RepeatSpeedups support: yes
00000000000i[     ]   Trace cache support: yes
00000000000i[     ]   Fast function calls: yes
00000000000i[     ] Devices configuration
00000000000i[     ]   ACPI support: yes
00000000000i[     ]   NE2000 support: yes
00000000000i[     ]   PCI support: yes, enabled=no
00000000000i[     ]   SB16 support: yes
00000000000i[     ]   USB support: yes
00000000000i[     ]   VGA extension support: vbe cirrus
00000000000i[MEM0 ] allocated memory at 01DF0020. after alignment, vector=01DF1000
00000000000i[MEM0 ] 32,00MB
00000000000i[MEM0 ] mem block size = 0x00100000, blocks=32
00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('BIOS-bochs-latest')
00000000000i[MEM0 ] rom at 0xc0000/40448 ('VGABIOS-lgpl-latest')
00000000000i[CMOS ] Using local time for initial clock
00000000000i[CMOS ] Setting initial clock to: Thu Mar 18 18:48:39 2010 (time0=1268934519)
00000000000i[DMA  ] channel 4 used by cascade
00000000000i[DMA  ] channel 2 used by Floppy Drive
00000000000i[FDD  ] fd0: 'r.bin' ro=0, h=2,t=80,spt=18
00000000000i[MEM0 ] Register memory access handlers: 0x000a0000 - 0x000bffff
00000000000i[WGUI ] Desktop Window dimensions: 1680 x 1050
00000000000i[WGUI ] Number of Mouse Buttons = 8
00000000000i[WGUI ] IME disabled
00000000000i[MEM0 ] Register memory access handlers: 0xe0000000 - 0xe0ffffff
00000000000i[CLVGA] VBE Bochs Display Extension Enabled
00000000000i[CLVGA] interval=50000
00000000000i[     ] init_dev of 'unmapped' plugin device by virtual method
00000000000i[     ] init_dev of 'biosdev' plugin device by virtual method
00000000000i[     ] init_dev of 'speaker' plugin device by virtual method
00000000000i[     ] init_dev of 'extfpuirq' plugin device by virtual method
00000000000i[     ] init_dev of 'gameport' plugin device by virtual method
00000000000i[     ] init_dev of 'ioapic' plugin device by virtual method
00000000000i[IOAP ] initializing I/O APIC
00000000000i[MEM0 ] Register memory access handlers: 0xfec00000 - 0xfec00fff
00000000000i[     ] init_dev of 'keyboard' plugin device by virtual method
00000000000i[KBD  ] will paste characters every 1000 keyboard ticks
00000000000i[     ] init_dev of 'harddrv' plugin device by virtual method
00000000000i[HD   ] Using boot sequence floppy, none, none
00000000000i[HD   ] Floppy boot signature check is enabled
00000000000i[     ] register state of 'unmapped' plugin device by virtual method
00000000000i[     ] register state of 'biosdev' plugin device by virtual method
00000000000i[     ] register state of 'speaker' plugin device by virtual method
00000000000i[     ] register state of 'extfpuirq' plugin device by virtual method
00000000000i[     ] register state of 'gameport' plugin device by virtual method
00000000000i[     ] register state of 'ioapic' plugin device by virtual method
00000000000i[     ] register state of 'keyboard' plugin device by virtual method
00000000000i[     ] register state of 'harddrv' plugin device by virtual method
00000000000i[SYS  ] bx_pc_system_c::Reset(HARDWARE) called
00000000000i[CPU0 ] cpu hardware reset
00000000000i[APIC0] allocate APIC id=0 (MMIO enabled) to 0xfee00000
00000000000i[     ] reset of 'unmapped' plugin device by virtual method
00000000000i[     ] reset of 'biosdev' plugin device by virtual method
00000000000i[     ] reset of 'speaker' plugin device by virtual method
00000000000i[     ] reset of 'extfpuirq' plugin device by virtual method
00000000000i[     ] reset of 'gameport' plugin device by virtual method
00000000000i[     ] reset of 'ioapic' plugin device by virtual method
00000000000i[     ] reset of 'keyboard' plugin device by virtual method
00000000000i[     ] reset of 'harddrv' plugin device by virtual method
00000003305i[BIOS ] $Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $
00000200000i[WGUI ] dimension update x=720 y=400 fontheight=16 fontwidth=9 bpp=8
00000318075i[KBD  ] reset-disable command received
00000444776i[VBIOS] VGABios $Id: vgabios.c,v 1.69 2009/04/07 18:18:20 vruppert Exp $

00000444847i[CLVGA] VBE known Display Interface b0c0
00000444879i[CLVGA] VBE known Display Interface b0c5
00000447804i[VBIOS] VBE Bios $Id: vbe.c,v 1.62 2009/01/25 15:46:25 vruppert Exp $
00000754365i[BIOS ] Starting rombios32
00000754862i[BIOS ] Shutdown flag 0
00000755543i[BIOS ] ram_size=0x02000000
00000756021i[BIOS ] ram_end=32MB
00000796629i[BIOS ] Found 1 cpu(s)
00000815754i[BIOS ] bios_table_addr: 0x000fba98 end=0x000fcc00
00000831122i[BIOS ] MP table addr=0x000fbb70 MPC table addr=0x000fbaa0 size=0xd0
00000832966i[BIOS ] SMBIOS table addr=0x000fbb80
00000833849i[BIOS ] bios_table_cur_addr: 0x000fbc84
00012943015i[BIOS ] Booting from 0000:7c00
00012943119e[CPU0 ] interrupt(long mode): IDT entry extended attributes DWORD4 TYPE != 0
00012943119i[CPU0 ] CPU is in long mode (active)
00012943119i[CPU0 ] CS.d_b = 16 bit
00012943119i[CPU0 ] SS.d_b = 32 bit
00012943119i[CPU0 ] EFER   = 0x00000500
00012943119i[CPU0 ] | RAX=0000000000007d73  RBX=0000000000000000
00012943119i[CPU0 ] | RCX=0000000000007d73  RDX=0000000000007d22
00012943119i[CPU0 ] | RSP=0000000000007d73  RBP=0000000000000000
00012943119i[CPU0 ] | RSI=00000000000e3258  RDI=000000000000ffac
00012943119i[CPU0 ] |  R8=0000000000000000   R9=0000000000000000
00012943119i[CPU0 ] | R10=0000000000000000  R11=0000000000000000
00012943119i[CPU0 ] | R12=0000000000000000  R13=0000000000000000
00012943119i[CPU0 ] | R14=0000000000000000  R15=0000000000000000
00012943119i[CPU0 ] | IOPL=0 id vip vif ac vm RF nt of df if tf SF zf af PF cf
00012943119i[CPU0 ] | SEG selector     base    limit G D
00012943119i[CPU0 ] | SEG sltr(index|ti|rpl)     base    limit G D
00012943119i[CPU0 ] |  CS:002b( 0005| 0|  3) 00000000 ffffffff 1 0
00012943119i[CPU0 ] |  DS:0010( 0002| 0|  0) 00000000 ffffffff 1 1
00012943119i[CPU0 ] |  SS:0033( 0006| 0|  3) 00000000 ffffffff 1 1
00012943119i[CPU0 ] |  ES:0000( 0005| 0|  0) 00000000 0000ffff 0 0
00012943119i[CPU0 ] |  FS:0000( 0005| 0|  0) 00000000 0000ffff 0 0
00012943119i[CPU0 ] |  GS:0000( 0005| 0|  0) 00000000 0000ffff 0 0
00012943119i[CPU0 ] |  MSR_FS_BASE:0000000000000000
00012943119i[CPU0 ] |  MSR_GS_BASE:0000000000000000
00012943119i[CPU0 ] | RIP=0000000000007d22 (0000000000007d22)
00012943119i[CPU0 ] | CR0=0xe0000011 CR2=0x0000000000007d22
00012943119i[CPU0 ] | CR3=0x00070000 CR4=0x00000020
00012943119i[CPU0 ] 0x0000000000007d22>> pop rax : 58
00012943119i[CMOS ] Last time is 1268934522 (Thu Mar 18 18:48:42 2010)
00012943119i[     ] restoring default signal behavior
========================================================================
Bochs is exiting with the following message:
[CPU0 ] interrupt(long mode): IDT entry extended attributes DWORD4 TYPE != 0
========================================================================
00012943119i[CTRL ] quit_sim called with exit code 1

Bochs is exiting. Press ENTER when you're ready to close this window.
    

i dont have idt, i just want to fix this error. interrupts i use later, now long mode.
Post 18 Mar 2010, 17:48
View user's profile Send private message Reply with quote
a115433



Joined: 05 Mar 2010
Posts: 144
a115433 19 Mar 2010, 13:26
i have the answer. u/s bit in PDE was 0.
and in paging all bits no matter what controlling must agree in the way to physical address.
Post 19 Mar 2010, 13:26
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.