2.6.22-rc1-mm1: boot failure under qemu

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

 



2.6.22-rc1-mm1 doesn't boot for me under qemu or kvm.  Under qemu it
just hangs sullenly, but kvm gives a more useful dump:

(qemu) exception 13 (0)
rax 000000004050ffff rbx 0000000000009000 rcx 0000000000000000 rdx 0000000000007b00
rsi 000000000001fc05 rdi 0000000000040000 rsp 0000000000008f9a rbp 0000000000008100
r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11 0000000000000000
r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15 0000000000000000
rip 0000000000001062 rflags 00033046
cs 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ds 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
es 8100 (00081000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ss 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
fs 9900 (00099000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
gs 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
tr 0000 (30850000/00002088 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
ldt 0000 (00000000/0000ffff p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0)
gdt fa4e4/30
idt 0/3ff
cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0

rip/eip 0x1062 seems to correspond to:

        else
                while (num != 0)
                        tmp[i++] = digits[do_div(num, base)];
    1050:       66 89 f0                mov    %esi,%eax
    1053:       66 31 d2                xor    %edx,%edx
    1056:       66 f7 f5                div    %ebp
    1059:       66 89 c6                mov    %eax,%esi
    105c:       67 66 8b 44 24 28       addr32 mov 0x28(%esp),%eax
    1062:       67 8a 14 10             addr32 mov (%eax,%edx,1),%dl
    1066:       67 66 8b 44 24 2c       addr32 mov 0x2c(%esp),%eax
    106c:       67 88 54 04 3e          addr32 mov %dl,0x3e(%esp,%eax,1)


0x1062 is in number (/home/jeremy/hg/xen/paravirt/linux/arch/i386/boot/printf.c:109).
104             i = 0;
105             if (num == 0)
106                     tmp[i++] = '0';
107             else
108                     while (num != 0)
109                             tmp[i++] = digits[do_div(num, base)];
110             if (i > precision)
111                     precision = i;
112             size -= precision;
113             if (!(type & (ZEROPAD + LEFT)))


I haven't tried booting on real hardware, but this is a definite
regression from the old setup code.

    J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux