[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 2.0.0.9 (Windows/20071031) |
Hi,
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.
Thanks,
Vesa Jääskeläinen
- Odd behavior in x86/pc booting process with minor modifications,
Vesa Jääskeläinen <=