Hallo,
ich hab ein Problem.
Wenn ich mein OS starte, funktioniert es bei QEMU und bei VM sehr gut.
Jedoch, und das verwirrt mich, klappt es nicht in Bochs und an einem echten PC.
Ich weiß, dass die Emulatoren nicht immer die Realität nach simulieren. Aber so große Unterschiede habe ich auch nicht erwartet.
Ich zeig euch mal die Bochs ausgaben:
Wieso geht es nicht...
Ich glaub es bestehen irgendwelche Probleme mit dem Stack (Beim Taskwechsel).
Ich hoffe ihr könnt mir helfen
Ah ja, was sind den diese "math_aborts"?
Fehler, klar. Das sind aber keine normalen Exceptions, wie ich sie kenne.
Mit freundlichen Grüßen
osDeveloper93
ich hab ein Problem.
Wenn ich mein OS starte, funktioniert es bei QEMU und bei VM sehr gut.
Jedoch, und das verwirrt mich, klappt es nicht in Bochs und an einem echten PC.
Ich weiß, dass die Emulatoren nicht immer die Realität nach simulieren. Aber so große Unterschiede habe ich auch nicht erwartet.
Ich zeig euch mal die Bochs ausgaben:
Code: [Auswählen]
...
00000000000i[XGUI ] [x] Mouse off
00000003305i[BIOS ] $Revision: 1.235 $ $Date: 2009/09/28 16:36:02 $
00000320074i[KBD ] reset-disable command received
00000449796i[VBIOS] VGABios $Id: vgabios.c,v 1.69 2009/04/07 18:18:20 vruppert Exp $
00000449867i[VGA ] VBE known Display Interface b0c0
00000449899i[VGA ] VBE known Display Interface b0c5
00000452824i[VBIOS] VBE Bios $Id: vbe.c,v 1.62 2009/01/25 15:46:25 vruppert Exp $
00000759385i[BIOS ] Starting rombios32
00000759882i[BIOS ] Shutdown flag 0
00000760563i[BIOS ] ram_size=0x08000000
00000761068i[BIOS ] ram_end=128MB
00000773694i[BIOS ] Found 1 cpu(s)
00000792819i[BIOS ] bios_table_addr: 0x000fba98 end=0x000fcc00
00000792927i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
00001120624i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
00001448552i[P2I ] PCI IRQ routing: PIRQA# set to 0x0b
00001448573i[P2I ] PCI IRQ routing: PIRQB# set to 0x09
00001448594i[P2I ] PCI IRQ routing: PIRQC# set to 0x0b
00001448615i[P2I ] PCI IRQ routing: PIRQD# set to 0x09
00001448625i[P2I ] write: ELCR2 = 0x0a
00001449510i[BIOS ] PIIX3/PIIX4 init: elcr=00 0a
00001457468i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 class=0x0600
00001460030i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 class=0x0601
00001462431i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 class=0x0101
00001462661i[PIDE ] new BM-DMA address: 0xc000
00001463365i[BIOS ] region 4: 0x0000c000
00001465675i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 class=0x0680
00001465913i[ACPI ] new irq line = 11
00001465927i[ACPI ] new irq line = 9
00001465957i[ACPI ] new PM base address: 0xb000
00001465971i[ACPI ] new SM base address: 0xb100
00001465999i[PCI ] setting SMRAM control register to 0x4a
00001630093i[CPU0 ] Enter to System Management Mode
00001630104i[CPU0 ] RSM: Resuming from System Management Mode
00001794124i[PCI ] setting SMRAM control register to 0x0a
00001803293i[BIOS ] MP table addr=0x000fbb70 MPC table addr=0x000fbaa0 size=0xd0
00001805235i[BIOS ] SMBIOS table addr=0x000fbb80
00001807619i[BIOS ] ACPI tables: RSDP addr=0x000fbc90 ACPI DATA addr=0x07ff0000 size=0x988
00001810858i[BIOS ] Firmware waking vector 0x7ff00cc
00001821971i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
00001822815i[BIOS ] bios_table_cur_addr: 0x000fbcb4
00003000000i[XGUI ] charmap update. Font Height is 16
00121382794i[BIOS ] Booting from 0000:7c00
00146261107i[BIOS ] int13_harddisk: function 41, unmapped device for ELDL=80
00146265884i[BIOS ] int13_harddisk: function 08, unmapped device for ELDL=80
00146270536i[BIOS ] *** int 15h function AX=00c0, BX=0000 not yet supported!
00185873207i[CPU0 ] math_abort: MSDOS compatibility FPU exception
00185873216i[CPU0 ] math_abort: MSDOS compatibility FPU exception
...
00185886113i[CPU0 ] math_abort: MSDOS compatibility FPU exception
00185886114i[CPU0 ] math_abort: MSDOS compatibility FPU exception
00233730000i[FDD ] fd0:/*PFAD ZUM FLOPPY IMAGE*/ ro=0, h=2,t=80,spt=18
00528000000p[XGUI ] >>PANIC<< POWER button turned off.
00528000000i[CPU0 ] CPU is in protected mode (active)
00528000000i[CPU0 ] CS.d_b = 32 bit
00528000000i[CPU0 ] SS.d_b = 32 bit
00528000000i[CPU0 ] | EAX=00105360 EBX=00000000 ECX=0010535f EDX=00000700
00528000000i[CPU0 ] | ESP=001fff24 EBP=001fff4c ESI=00000000 EDI=00000000
00528000000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf ZF af PF cf
00528000000i[CPU0 ] | SEG selector base limit G D
00528000000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
00528000000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1
00528000000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00528000000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00528000000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00528000000i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00528000000i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00528000000i[CPU0 ] | EIP=00101b84 (00101b84)
00528000000i[CPU0 ] | CR0=0x60000011 CR2=0x00000000
00528000000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000
00528000000i[CPU0 ] 0x00101b84>> jmp .+0xfffffffe (0x00101b84) : EBFE
00528000000i[CMOS ] Last time is 1266062994 (Sat Feb 13 13:09:54 2010)
00528000000i[XGUI ] Exit
00528000000i[ ] restoring default signal behavior
00528000000i[CTRL ] quit_sim called with exit code 1
Wieso geht es nicht...

Ich glaub es bestehen irgendwelche Probleme mit dem Stack (Beim Taskwechsel).
Ich hoffe ihr könnt mir helfen

Ah ja, was sind den diese "math_aborts"?

Fehler, klar. Das sind aber keine normalen Exceptions, wie ich sie kenne.
Mit freundlichen Grüßen
osDeveloper93

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert
).