[Top][All Lists]

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

Odd behavior in x86/pc booting process with minor modifications

From: Vesa Jääskeläinen
Subject: Odd behavior in x86/pc booting process with minor modifications
Date: Sun, 27 Jan 2008 16:52:02 +0200
User-agent: Thunderbird (Windows/20071031)


I was playing around with IDT and needed some code space in startup.S and in realmode.S. GRUB just hanged for some reason during the bootup when I just had query instruction for current IDT descriptor and some storage for it after GDT tables.

I then reverted that code and added as many NOPs as that code would take there and it was still hanging... then I removed some NOPs and hang went away. I don't have good debugging capabilities other than qemu's log, but it would seem like when grub is decompressing itself there is minor code flow difference, though this could only be because binary is a bit different... so I am not sure about that theory... anyway if there are good ideas on how to debug this, or even better solutions to possible problem :). Any ideas are welcome.

So how to reproduce this problem:

1. open kern/i386/pc/startup.S
2. find codestart

// actual location is not so important
3. find first sti instruction
4. go 1 line backwards

5. add about 15 NOP's

6. recompile and make image
7. try it out, it should hang without displaying grub shell or menu.

Vesa Jääskeläinen

reply via email to

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