Neo Jia wrote:
> Avi,
>
> May I have your comments on the output I got from KVM CS:RIP instructions?
>
>   

The xor instruction can't cause a task switch.  Suggest adding printk()s 
to the kernel to see what is happening.

> Thanks,
> Neo
>
> On Nov 25, 2007 7:05 PM, SourceForge.net <[EMAIL PROTECTED]> wrote:
>   
>> Bugs item #1666308, was opened at 2007-02-22 08:09
>> Message generated for change (Comment added) made by chenghuan_jia
>> You can respond by visiting:
>> https://sourceforge.net/tracker/?func=detail&atid=893831&aid=1666308&group_id=180599
>>
>> Please note that this message will contain a full copy of the comment thread,
>> including the initial issue submission, for this request,
>> not just the latest update.
>> Category: None
>> Group: None
>> Status: Open
>> Resolution: Later
>> Priority: 5
>> Private: No
>> Submitted By: David A. Madore (davidamadore)
>> Assigned to: Izik Eidus (izike)
>> Summary: Freedos HIMEM.EXE hangs kvm-14 qemu on Intel CPU
>>
>> Initial Comment:
>> Host system summary: Intel CPU (Pentium D 3.40GHz) running Linux 2.6.20.1 in 
>> 64-bit (x86_64) mode, using KVM module and QEMU from kvm-14 release.  
>> Otherwise generally using the Debian Etch distribution.
>>
>> Try to launch Freedos installation using "-hda harddrive.img -cdrom 
>> fdbasecd.iso -boot d -m 64 -localtime", where fdbasecd.iso is Freedos 1.0's 
>> base install CD from <URL: http://www.freedos.org/freedos/files/ > (and 
>> harddrive.img is an 80MB file full of zeros, but this is unimportant).  
>> Using bochsbios-2.3-2 and vgabios-0.6a-1 (both packaged by Debian).
>>
>> Symptom: virtual machine boots, but qemu stops soon after entering Freedos 
>> installer (as soon as "install to hard drive" is chosen, or something).
>>
>> "Stopped" means that the window title bar is updated to add "[stopped]" 
>> after QEMU title, and the virtual machine no longer runs (on host system, 
>> the QEMU process is in T state, using 0% CPU).  The QEMU monitor is still 
>> accessible, but "cont" has no effect.  "info registers" does not seem to 
>> show anything strange.
>>
>> The same QEMU running with -no-kvm works fine, so it's more likely a KVM or 
>> KVM-QEMU interface issue, not with QEMU.  The same QEMU+KVM boots a Knoppix 
>> 5.0 CD without problem, so it's not like a complete failure to run anything. 
>>  Using kvm-12 instead of kvm-14 gives a QEMU segfault at the same point 
>> (rather than just going in "stopped" mode).
>>
>> Reported on freenode's #irc channel on 2007-02-22 15:40+0100.  Someone 
>> confirmed having the same problem on a 32-bit kernel+userland with FC6 (so 
>> it's not x86_64-specific, nor Debian-specific), but also with an Intel CPU.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Neo Jia (chenghuan_jia)
>> Date: 2007-11-25 19:05
>>
>> Message:
>> Logged In: YES
>> user_id=446034
>> Originator: NO
>>
>> Avi,
>>
>> I think for No.3 case is the one I need to implement first. But how to
>> check the value of CS:RIP?
>>
>> CS:RIP = 0x0684:03fd = 0x6c3d
>>
>> I run the same command as previous comments in this bug report:
>>
>> (qemu) xp/10ih 0x6c3d
>> 0x0000000000006c3d:  xor    (%bx,%si),%ax
>> 0x0000000000006c3f:  jl     0x6c5d
>> 0x0000000000006c41:  pushw  816
>> 0x0000000000006c45:  pushw  %gs:51(%si)
>> 0x0000000000006c49:  pushl  %gs:21(%si)
>> 0x0000000000006c4e:  push   $0x0
>> 0x0000000000006c50:  push   %di
>> 0x0000000000006c51:  push   $0x1
>> 0x0000000000006c53:  call   0x2b72
>> 0x0000000000006c56:  test   %ax,%ax
>>
>> Is that correct?
>>
>> Thanks,
>> Neo
>>
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Neo Jia (chenghuan_jia)
>> Date: 2007-11-25 16:36
>>
>> Message:
>> Logged In: YES
>> user_id=446034
>> Originator: NO
>>
>> Avi,
>>
>> Thanks. I have tried to reproduce this problem on my Intel E6600 (x86_64
>> 2.6.23.1-49.fc8) with the latest kvm module and userspace.
>>
>> I found several crashes/hungs in the installation. Not sure if we need to
>> file different bug to track them.
>>
>> I used a 128M qcow image and with the following line to install freeDOS:
>> "sudo qemu-system-x86_64 -cdrom /home/cjia/download/fdbasecd.iso -hda
>> freedos.img -boot d -m 1024"
>>
>> 1. Crashes when I happened to boot the empty image at the very beginning
>> of the installation by selecting "h".
>>
>> exception 12 (0)
>> rax 0000000000000037 rbx 00000000c5390000 rcx 0000000000000000 rdx
>> 0000000000000080
>> rsi 000000007fff37b8 rdi 000000009c35b404 rsp 000000000000ffff rbp
>> 0000000000000280
>> r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
>> 0000000000000000
>> r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>> rip 000000000000840f rflags 00033046
>> cs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ds 2000 (00020000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> es 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ss 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> fs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> gs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> tr 0000 (fffbd000/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 fa9d0/30
>> idt 0/3ff
>> cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
>> Segmentation fault
>>
>> dmesg: qemu-system-x86[3365]: segfault at 00002aaaaadfe3fb rip
>> 00000000004f4045 rsp 00007fff1c020f40 error 4
>>
>> 2. Keyboard error, this happens in the running of extended fdisk. When it
>> is formatting the hard disk, I clicked my mouse in the FreeDOS screen. It
>> stucked.
>>
>> dmesg: kvm_handle_exit: unexpected, valid vectoring info and exit reason
>> is 0x1e
>>
>> 3. unhandled vm exit: 0x9 vcpu_id 0, this happens when I am trying to boot
>> the installed freeDOS with Load FreeDOS with EMM386+EMS and SHARE.
>>
>> unhandled vm exit: 0x9 vcpu_id 0
>> rax 0000000000000340 rbx 00000000000008ec rcx 0000000000000000 rdx
>> 00000000000007ac
>> rsi 0000000000126340 rdi 0000000000273000 rsp 00000000000011f0 rbp
>> 0000000000003be0
>> r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
>> 0000000000000000
>> r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>> rip 00000000000003fd rflags 00000002
>> cs 0684 (00006850/0000ffff p 1 dpl 0 db 0 s 1 type b l 0 g 0 avl 0)
>> ds 0030 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 3 l 0 g 1 avl 0)
>> es 0030 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 3 l 0 g 1 avl 0)
>> ss 0000 (0000b680/0000ffff p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> fs 0014 (00003be0/00002c66 p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> gs 032f (000032f0/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> tr 0018 (00004704/00000068 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
>> ldt 0008 (00003ee4/00000020 p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0)
>> gdt 3e64/7f
>> idt 124784/7ff
>> cr0 60000011 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
>> Aborted
>>
>> Any comments?
>>
>> Thanks,
>> Neo
>>
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Avi Kivity (avik)
>> Date: 2007-11-25 01:59
>>
>> Message:
>> Logged In: YES
>> user_id=539971
>> Originator: NO
>>
>> Start by verifying that it occurs, and checking which instruction does not
>> work.  You can do that by printing the code in cs:rip when handle_exit()
>> encounters exit reason 9.
>>
>> Once the instruction is known we need to emulate it according to the
>> manual.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Neo Jia (chenghuan_jia)
>> Date: 2007-11-24 19:11
>>
>> Message:
>> Logged In: YES
>> user_id=446034
>> Originator: NO
>>
>> Avi,
>>
>> Could you provide some hints or estimation about this work? And, where
>> should I start or look first?
>>
>> (I think we need to have it since it is on the TODO list.)
>>
>> Thanks,
>> Neo
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Avi Kivity (avik)
>> Date: 2007-09-05 13:08
>>
>> Message:
>> Logged In: YES
>> user_id=539971
>> Originator: NO
>>
>> This is hardware task switch support which isn't used by modern operating
>> systems.  It is possible to emulate in software, but a lot of work to do.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: David A. Madore (davidamadore)
>> Date: 2007-08-25 15:06
>>
>> Message:
>> Logged In: YES
>> user_id=2506
>> Originator: YES
>>
>> By the way, perhaps this is a stupid question[#] or perhaps I don't
>> understand what this is all about, but if kvm doesn't have task switch
>> support, isn't it possible to do that part in software like the no-kvm qemu
>> does?  Isn't it possible to copy that bit of code from the no-kvm qemu and
>> do this "task switch" thingy in software?
>>
>> [#] I guess I don't understand what "task switch support" means, because
>> in my understanding of the term, Linux does task switching and Linux ran
>> fine under qemu+kvm last time I tried.  So I guess you are referring to
>> some very specific kind of task switching.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Avi Kivity (avik)
>> Date: 2007-07-31 09:54
>>
>> Message:
>> Logged In: YES
>> user_id=539971
>> Originator: NO
>>
>> Oh no!  doesn't work == open bug.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: David A. Madore (davidamadore)
>> Date: 2007-07-31 09:49
>>
>> Message:
>> Logged In: YES
>> user_id=2506
>> Originator: YES
>>
>> Thanks for the explanation!  I guess that closes this bug then.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Izik Eidus (izike)
>> Date: 2007-07-31 09:42
>>
>> Message:
>> Logged In: YES
>> user_id=1851802
>> Originator: NO
>>
>> the problem that you are experience come from the fact that kvm currently
>> dont have implemented task switch support. (freedos use task switch )
>> there is an hope to bring task switch support into kvm, but i will take
>> some time.
>>
>> thanks.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: David A. Madore (davidamadore)
>> Date: 2007-07-28 11:59
>>
>> Message:
>> Logged In: YES
>> user_id=2506
>> Originator: YES
>>
>> The problem has evolved, but it is not fixed: now FreeDOS installation
>> works, but if you try to boot a freshly installed system using the menu
>> entry that says "Load FreeDOS with EMM386+EMS and SHARE", kvm aborts with
>> the following error dump:
>>
>> vega david /opt/kvm-33/bin $ qemu-system-x86_64 -hda /tmp/harddrive.img
>> -cdrom /data/FTP/freedos-1.0-basecd.iso -m 64 -localtime -boot c
>> unhandled vm exit:  0x9
>> rax 0000000000000340 rbx 0000000000000504 rcx 0000000000000000 rdx
>> 00000000000007ac
>> rsi 0000000000126340 rdi 0000000000161000 rsp 00000000000011f0 rbp
>> 0000000000003a60
>> r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
>> 0000000000000000
>> r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>> rip 00000000000003fd rflags 00000002
>> cs 066c (000066d0/0000ffff p 1 dpl 0 db 0 s 1 type b l 0 g 0 avl 0)
>> ds 0030 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 3 l 0 g 1 avl 0)
>> es 0030 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 3 l 0 g 1 avl 0)
>> ss 0000 (0000b500/0000ffff p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> fs 0014 (00003a60/00002c66 p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> gs 0317 (00003170/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> tr 0018 (00004584/00000068 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
>> ldt 0008 (00003d64/00000020 p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0)
>> gdt 3ce4/7f
>> idt 124784/7ff
>> cr0 60000011 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
>> zsh: abort      qemu-system-x86_64 -hda /tmp/harddrive.img -cdrom  -m 64
>> -localtime -boot c
>>
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Izik Eidus (izike)
>> Date: 2007-07-25 00:43
>>
>> Message:
>> Logged In: YES
>> user_id=1851802
>> Originator: NO
>>
>> this bug is fixed in newer kvm versions.
>> i tested it with kvm-32 and it didnt hang.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Avi Kivity (avik)
>> Date: 2007-03-05 01:03
>>
>> Message:
>> Logged In: YES
>> user_id=539971
>> Originator: NO
>>
>> Okay.  Can you update the guest status page
>> (http://kvm.qumranet.com/kvmwiki/Guest_Support_Status) with your results
>> and workaround?
>>
>> I'll try to take a detailed look at it when I get some time, unfortunately
>> this won't be very soon.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: chris (melander1)
>> Date: 2007-02-28 18:04
>>
>> Message:
>> Logged In: YES
>> user_id=1158530
>> Originator: NO
>>
>> This appears to result from FreeDOS's HIMEM.EXE extended memory (XMS)
>> driver. I was able to install FreeDOS by disabling KVM and using QEMU. I
>> then stepped through the initialization scripts. KVM went "Stopped" at the
>> HIMEM.EXE step.
>>
>> Regards,
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: David A. Madore (davidamadore)
>> Date: 2007-02-28 16:02
>>
>> Message:
>> Logged In: YES
>> user_id=2506
>> Originator: YES
>>
>> Sorry, ignore previous comment (I was using "-boot cdrom" rather than
>> "-boot d", and apparently it was trying to boot from the (non-bootable, and
>> empty) hard drive, which caused an abort... probably not a good thing, but
>> not the problem we're worried about).
>>
>> I added the kvm_show_regs() as you suggested, and here are the last two
>> register dumps before emulation stops:
>>
>> rax 0000000060000011 rbx 0000000000000784 rcx 0000000000000100 rdx
>> 0000000000000000
>> rsi 0000000003fc0360 rdi 000000000008e898 rsp 0000000000000780 rbp
>> 0000000000000796
>> r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
>> 0000000000000000
>> r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>> rip 0000000000003d0a rflags 00010006
>> cs f000 (000f0000/0000ffff p 1 dpl 0 db 0 s 1 type b l 0 g 0 avl 0)
>> ds 0000 (00000000/0000ffff p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> es 0028 (0009f400/0000ffff p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ss 0000 (0009f400/0000ffff p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> fs 8cd8 (0008cd80/0000ffff p 1 dpl 0 db 0 s 1 type 3 l 0 g 0 avl 0)
>> gs 00d1 (00000d10/0000ffff p 1 dpl 1 db 0 s 1 type 3 l 0 g 0 avl 0)
>> tr 0000 (00000000/0000ffff 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 9f760/2f
>> idt f0000/0
>> cr0 60000011 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
>> rax 0000000000020702 rbx 000000000000fd24 rcx 0000000000000000 rdx
>> 0000000000000c09
>> rsi 0000000000030000 rdi 000000000000214e rsp 0000000000002112 rbp
>> 0000000000002142
>> r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
>> 0000000000000000
>> r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>> rip 0000000000000911 rflags 00023702
>> cs 0262 (00002620/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ds 0262 (00002620/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> es 9d22 (0009d220/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ss 9d22 (0009d220/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> fs 00d1 (00000d10/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> gs 0262 (00002620/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> tr 0000 (04850000/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 9f760/2f
>> idt 0/3ff
>> cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
>>
>> Oddly enough, the qemu monitor doesn't have the same opinion on what the
>> registers are: after emulation stops,
>>
>> (qemu) info registers
>> EAX=00000623 EBX=00000800 ECX=00000001 EDX=078bfbfd
>> ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
>> EIP=0000fff0 EFL=00000202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
>> ES =0000 00000000 0000ffff 00000000
>> CS =f000 ffff0000 0000ffff 00000000
>> SS =0000 00000000 0000ffff 00000000
>> DS =0000 00000000 0000ffff 00000000
>> FS =0000 00000000 0000ffff 00000000
>> GS =0000 00000000 0000ffff 00000000
>> LDT=0000 00000000 0000ffff 00008000
>> TR =0000 00000000 0000ffff 00008000
>> GDT=     00000000 0000ffff
>> IDT=     00000000 0000ffff
>> CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
>> FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
>> FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
>> FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
>> FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
>> FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
>> XMM00=00000000000000000000000000000000
>> XMM01=00000000000000000000000000000000
>> XMM02=00000000000000000000000000000000
>> XMM03=00000000000000000000000000000000
>> XMM04=00000000000000000000000000000000
>> XMM05=00000000000000000000000000000000
>> XMM06=00000000000000000000000000000000
>> XMM07=00000000000000000000000000000000
>>
>> Ah, come to think of it, that CS:EIP means the processor shut down,
>> doesn't it?  Is there some way to tell what caused the shutdown?
>>
>> Here's a dump of instructions around CS:IP=0262:0911=00002F31 (pretty
>> unremarkable, I'd think),
>>
>> (qemu) xp/30ih 0x2f20
>> 0x0000000000002f20:  push   %ax
>> 0x0000000000002f21:  popf
>> 0x0000000000002f22:  pushf
>> 0x0000000000002f23:  pop    %ax
>> 0x0000000000002f24:  and    $0xf,%ah
>> 0x0000000000002f27:  cmp    $0xf,%ah
>> 0x0000000000002f2a:  je     0x2f3a
>> 0x0000000000002f2c:  mov    $0x7,%ah
>> 0x0000000000002f2e:  push   %ax
>> 0x0000000000002f2f:  popf
>> 0x0000000000002f30:  pushf
>> 0x0000000000002f31:  pop    %ax
>> 0x0000000000002f32:  and    $0x7,%ah
>> 0x0000000000002f35:  je     0x2f3a
>> 0x0000000000002f37:  popf
>> 0x0000000000002f38:  clc
>> 0x0000000000002f39:  ret
>> 0x0000000000002f3a:  popf
>> 0x0000000000002f3b:  stc
>> 0x0000000000002f3c:  ret
>> 0x0000000000002f3d:  inc    %bx
>> 0x0000000000002f3e:  popa
>> 0x0000000000002f3f:  outsb  %ds:(%si),(%dx)
>> 0x0000000000002f40:  daa
>> 0x0000000000002f41:  je     0x2f63
>> 0x0000000000002f43:  imul   $0x6c62,%fs:97(%bp,%di),%si
>> 0x0000000000002f49:  and    %al,%gs:50(%bx,%di)
>> 0x0000000000002f4d:  xor    %ah,(%bx,%si)
>> 0x0000000000002f4f:  sub    $0x6920,%ax
>> 0x0000000000002f52:  addr32 outsb %ds:(%esi),(%dx)
>>
>> and here's a stack dump at the same point (SS:SP=9D22:2122=0009F332):
>>
>> (qemu) xp/80xw 0x9f330
>> 000000000009f330: 0x37029d22 0x0d963a83 0x0000214e 0x00030000
>> 000000000009f340: 0x00000262 0x0000106f 0x0000214e 0x0002005e
>> 000000000009f350: 0x10533246 0x00089d22 0x13620061 0x9d228fad
>> 000000000009f360: 0x21780000 0x005ea8ea 0x214e0262 0x001e9d22
>> 000000000009f370: 0x04000000 0x3006000d 0x040000fd 0x7cbdfff0
>> 000000000009f380: 0x9d22105c 0x02034b02 0x00d10000 0x454d4948
>> 000000000009f390: 0x0000004d 0x0262105c 0x000021a0 0x00000f66
>> 000000000009f3a0: 0x0000b7cb 0x0262219c 0x02360262 0x32068fad
>> 000000000009f3b0: 0x02033f5f 0x00d10000 0x00050001 0x7cbdfff0
>> 000000000009f3c0: 0x000021b8 0x0f660247 0xb73c0247 0x00010000
>> 000000000009f3d0: 0x0002b041 0x00050000 0xfffe21ca 0x0000fffe
>> 000000000009f3e0: 0xa5550000 0xa3510000 0x20640000 0xf306e6d9
>> 000000000009f3f0: 0x551616c2 0x01a9b052 0x00000000 0x00000000
>> 000000000009f400: 0x027c0008 0x03dc0394 0x2689662e 0xa32e03d4
>> 000000000009f410: 0xd08c03da 0x03d8a32e 0xd08ec88c 0xc0268b2e
>> 000000000009f420: 0x2e525203 0x03bc1632 0x740b785a 0x163a2e4d
>> 000000000009f430: 0x027203bc 0xa12ecafe 0x2e9c03da 0x03a01eff
>> 000000000009f440: 0xe589559c 0xdb3e802e 0x11740803 0xdb3e802e
>> 000000000009f450: 0x06751503 0x800446f6 0x568a0375 0x53665004
>> 000000000009f460: 0x02468b1e 0x1ec5662e 0x478803d4 0x5b661f04
>>
>> ...Anyway, I don't know what to make of all that.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: David A. Madore (davidamadore)
>> Date: 2007-02-28 15:28
>>
>> Message:
>> Logged In: YES
>> user_id=2506
>> Originator: YES
>>
>> I tried doing adding the kvm_show_regs() as you suggested, but now qemu
>> aborts long before it even gets to the point where it stopped previously.
>> Here are the last two register dumps before it aborts:
>>
>> rax 0000000000000100 rbx 0000000000000190 rcx 000000008000001a rdx
>> 0000000000000177
>> rsi 00000000ffff009d rdi 000000000004f7f4 rsp 000000000008fdcd rbp
>> 000000000000fdcf
>> r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
>> 0000000000000000
>> r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>> rip 00000000000004e6 rflags 00023206
>> cs f000 (000f0000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ds 9fc0 (0009fc00/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> es 0080 (00000800/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ss 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> fs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> gs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> tr 0000 (04850000/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 fa4d1/37
>> idt 0/3ff
>> cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
>> exception 13 (0)
>> rax 000000000000f001 rbx 000000000000d6b7 rcx 0000000080000001 rdx
>> 0000000000000000
>> rsi 00000000ffff009d rdi 000000000004f7f4 rsp 000000000008ffb8 rbp
>> 000000000000ffcc
>> r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
>> 0000000000000000
>> r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
>> 0000000000000000
>> rip 0000000000000a45 rflags 00033002
>> cs f000 (000f0000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ds 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> es 07c0 (00007c00/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> ss 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> fs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> gs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
>> tr 0000 (04850000/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 fa4d1/37
>> idt 0/3ff
>> cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
>> zsh: abort      /opt/kvm-14-debug/bin/qemu-system-x86_64 -hda
>> /tmp/empty.img -cdrom  -m 64
>>
>> But if you're interested in a register dump, I can probably provide one
>> from the qemu monitor...  I'll see what I can do.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Avi Kivity (avik)
>> Date: 2007-02-28 01:06
>>
>> Message:
>> Logged In: YES
>> user_id=539971
>> Originator: NO
>>
>> one way to debug is to add a kvm_show_regs() (user/kvmctl.h) after every
>> kvm_run() (qemu/qemu-kvm.c).  it will slow down the guest tremendously, and
>> produce copious output, but it can help show what the guest is doing by
>> correlating rip to freedos symbold.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: David A. Madore (davidamadore)
>> Date: 2007-02-22 10:43
>>
>> Message:
>> Logged In: YES
>> user_id=2506
>> Originator: YES
>>
>> Just in case that's of any use, here's a strace of qemu encountering the
>> problem: <URL: http://www.madore.org/~david/.tmp/qemu-kvm-14-strace.out.bz2
>>     
>>> (beware, it's 540kB compressed but it expands to 57MB).  I'm also willing
>>>       
>> to run under gdb if given some explanations on how to do that.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: David A. Madore (davidamadore)
>> Date: 2007-02-22 10:30
>>
>> Message:
>> Logged In: YES
>> user_id=2506
>> Originator: YES
>>
>> Sorry, my bad: I *am* using the BIOS images provided with kvm-14:
>>
>> 6202  open("/opt/kvm-14/share/qemu/bios.bin", O_RDONLY) = 9
>> 6202  open("/opt/kvm-14/share/qemu/bios.bin", O_RDONLY) = 9
>> 6202  open("/opt/kvm-14/share/qemu/vgabios-cirrus.bin", O_RDONLY) = 9
>>
>> Another bit of info I might add: when QEMU starts, the message
>>
>> kvm: msrs: 6
>>
>> appears in dmesg (this is *before* QEMU hangs, so it's probably
>> irrelevant, but just in case...).
>>
>> If there's any more info I can provide, please let me know.
>>
>> ----------------------------------------------------------------------
>>
>> Comment By: Avi Kivity (avik)
>> Date: 2007-02-22 08:25
>>
>> Message:
>> Logged In: YES
>> user_id=539971
>> Originator: NO
>>
>> Please try using the bios images provided with kvm-14.  Supporting the
>> bios on Intel hardware is tricky.
>>
>> ----------------------------------------------------------------------
>>
>> You can respond by visiting:
>> https://sourceforge.net/tracker/?func=detail&atid=893831&aid=1666308&group_id=180599
>>
>>     
>
>
>
>   


-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to