X-OS 0.3.2

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
DennisCGc

Re:X-OS 0.3.2

Post by DennisCGc »

Simply, the fault is up to both ;)
(seriously, you SHOULD push and pop eax)
aladdin

Re:X-OS 0.3.2

Post by aladdin »

i tried to push/pop eax, and there is no change
i also tried to push/pop all regs and it doesn't work :-\
DennisCGc

Re:X-OS 0.3.2

Post by DennisCGc »

Code: Select all

k_int0:
    cli
    call idt_int0
    mov al,0x20
    out 0x20,al
    sti
    iret
This should be:

Code: Select all

k_int0:
    push eax
    cli
    call idt_int0
    mov al,0x20
    out 0x20,al
    pop  eax
    sti
    iret
Does this work, or did you already give it a try ? ::)
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:X-OS 0.3.2

Post by Pype.Clicker »

cli and sti are bug-prone and useless in this situation. Drop them. The cpu does save/restore IF for you.

this is the correct stub for "IRQ0"

Code: Select all

k_int0:
    pushad
    push ds
    push es
   mov ax,DEFAULT_DATA_SELECTOR
    mov ds, ax
    mov es,ax    
    call idt_int0
    mov al,0x20
    out 0x20,al
    pop es
    pop ds
    popad
    iret
this is the correct stub for "division by zero exception"

Code: Select all

k_int0:
    pushad
    push ds
    push es
   mov ax,DEFAULT_DATA_SELECTOR
    mov ds, ax
    mov es,ax    
    call idt_int0
    pop es
    pop ds
    popad
    iret
aladdin

Re:X-OS 0.3.2

Post by aladdin »

I think the problem comes from IRQ0 (timer), coze, when I push/pop eax there, the console scrolls correctly, but floppy driver can't fire IRQ6..
so i'll try youre code, hoping it fix my problem...

thank you for help
;)
DennisCGc

Re:X-OS 0.3.2

Post by DennisCGc »

Pype.Clicker wrote: cli and sti are bug-prone and useless in this situation. Drop them. The cpu does save/restore IF for you.
Also, the PICs are blocking any IRQ signal too, but using cli/sti doesn't matter.
And it isn't causing a bug.
aladdin

Re:X-OS 0.3.2

Post by aladdin »

it seems that your code works well, but i have the same problem as when i used a simple push/pop eax, my floppy driver can't get IRQ6, the only way to get it is to change eax value returned by IRQ0, is this normal ??

when i use this code

Code: Select all

k_int0:
    pushad
    push ds
    push es
  mov ax,DEFAULT_DATA_SELECTOR
    mov ds, ax
    mov es,ax    
    call idt_int0
    mov al,0x20
    out 0x20,al
    pop es
    pop ds
    popad
    iret
I can't get IRQ6

but when I use this one

Code: Select all

k_int0:
    pushad
    push ds
    push es
  mov ax,DEFAULT_DATA_SELECTOR
    mov ds, ax
    mov es,ax    
    call idt_int0
    mov al,0x20
    out 0x20,al
    pop es
    pop ds
    popad
    or eax, 0x8000  
    iret
it works well ???
mpp.eox3

Re:X-OS 0.3.2

Post by mpp.eox3 »

hmm the first time I tested it, I got a triple fault in vmware - right after the x-os splash/boot screen.

the second time it hangs, still showing the splash/boot screen. pressing the any key doesn't help, I just get some beeps.

the third try gives an triple fault again..

btw the splash screen "scroll up effect" takes a bit long, doesn't it?..
aladdin

Re:X-OS 0.3.2

Post by aladdin »

have u tested it on bochs qemu or, a real machine?
how mutch memory have you give it on vmware ?
btw the splash screen "scroll up effect" takes a bit long, doesn't it?.
it's not a scroll up effect, it's because of emulated bios calls under vmware (or any other virtual machine).
it works faster on a real PC.
u can disable splash screen by editing boot/setup.asm and comment the call to splash screen function .

thank u 4 testing :)
mpp.eox3

Re:X-OS 0.3.2

Post by mpp.eox3 »

I ran it under vmware with 32megs of ram.
/* was too lazy to fire up bochs and press the buttons through the textmode config menu ;) */

I'll get virtualpc soon, as it's in the msdnaa for free =)
/* I could have installed it long time ago, but I also was too lazy ;) */
aladdin

Re:X-OS 0.3.2

Post by aladdin »

/* was too lazy to fire up bochs and press the buttons through the textmode config menu */
u can use bochs -q instead ;)
Post Reply