bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU Mach: disabling all network device drivers


From: Zheng Da
Subject: Re: GNU Mach: disabling all network device drivers
Date: Wed, 9 Jun 2010 01:22:48 -0400

Hello,

On Tue, Jun 8, 2010 at 8:08 AM, Samuel Thibault <samuel.thibault@gnu.org> wrote:
>> (null):~# addr2line -e /boot/gnumach-nodrv 0x13f163
>> /root/gnumach-build1/../gnumach/i386/i386at/interrupt.S:40
>> It's exactly where CPU should jump to. So it seems the stack is correct.
>
> Ok. So probably the protection is not for some reason. Could you try to
> put a nop right after sti, to check whether it's when reading the stack
> or when reading the instruction?
After I insert nop right behind sti, the CPU stops at

Kernel General protection trap, eip 0x1076e5
kernel: General protection (13), code=25a
Stopped at  0x1076e5:   movl    %edx,%eax

See spl().
spl:
    movl    EXT(pic_mask)(,%edx,4),%eax
                    /* get PIC mask */
    cli             /* disable interrupts */
    xchgl   EXT(curr_ipl),%edx  /* set ipl */
    SETMASK()           /* program PICs with new mask */
    sti             /* enable interrupts */
    nop
    movl    %edx,%eax       /* return previous ipl */
    ret

So which instruction triggers the trap? nop or movl?

Zheng Da



reply via email to

[Prev in Thread] Current Thread [Next in Thread]