Unable to single-step in kvm, always results in a resume
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via:
qemu-system-x86_64 -s -S -hda /home/nickamon/lab1/obj/kernel.img and
also connected to the process using gdb.
Problem is that whenever I try and step instruction, it seems to resume my kernel rather than allowing me to progress instruction by instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?
Thanks,
Nicholas
Quoted 7 lines · Nicholas Amon
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via: qemu-system-x86_64 -s -S -hda
/home/nickamon/lab1/obj/kernel.imgand also connected to the process using gdb.
Quoted 5 lines
Problem is that whenever I try and step instruction, it seems to resume my kernel rather than allowing me to progress instruction by instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?
What's you host kernel or kvm-kmod version?
Jan
Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
Quoted 8 lines · Jan Kiszka
Quoted 7 lines · Nicholas Amon
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via: qemu-system-x86_64 -s -S -hda
/home/nickamon/lab1/obj/kernel.imgand also connected to the process using gdb.
Quoted 8 lines
Quoted 5 lines
Problem is that whenever I try and step instruction, it seems to resume my kernel rather than allowing me to progress instruction by instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?
What's you host kernel or kvm-kmod version?
...and does -no-kvm make any difference (except that it's much slower)?
Jan
Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi Nicholas,
please don't drop CCs on reply.
Quoted 7 lines · Nicholas Amon
Hi Jan,
Thanks for responding. Yes, I am able to step instruction when I disable kvm w/ the no-kvm option. My host kernel is 64bit 2.6.27 and the program that I am debugging is 32 bit but starts in real mode. But the KVM module I am running is from kvm-88. Is there anyway I can check the version definitively?
kvm modules issue a message when being loaded, check your kernel log. qemu-kvm gives you the version via -version.
OK, the problems you see is likely related to the very old versions you use. Update to recent kvm-kmod (2.6.32 series) and qemu-kvm (0.12 series) and retry.
Jan
Quoted 31 lines
Thanks,
Nicholas
Quoted 25 lines · Jan Kiszka
Quoted 9 lines · Jan Kiszka
Quoted 7 lines · Nicholas Amon
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via: qemu-system-x86_64 -s -S -hda
/home/nickamon/lab1/obj/kernel.imgand also connected to the process using gdb.Quoted 9 lines
Quoted 6 lines
Problem is that whenever I try and step instruction, it seems to resume my kernel rather than allowing me to progress instruction by instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?
What's you host kernel or kvm-kmod version?
...and does -no-kvm make any difference (except that it's much slower)?
Jan
Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
Thanks Jan. That fixed it.
Nicholas
Quoted 58 lines · Jan Kiszka
Hi Nicholas,
please don't drop CCs on reply.
Quoted 4 lines · Nicholas Amon
Hi Jan,
Thanks for responding. Yes, I am able to step instruction when I disable kvm w/ the no-kvm option. My host kernel is 64bit 2.6.27 and the program that I am debugging is 32 bit but starts in real mode. But the KVM module I am running is from kvm-88. Is there anyway I can check the version definitively?
kvm modules issue a message when being loaded, check your kernel log. qemu-kvm gives you the version via -version.
OK, the problems you see is likely related to the very old versions you use. Update to recent kvm-kmod (2.6.32 series) and qemu-kvm (0.12 series) and retry.
Jan
Quoted 35 lines
Thanks,
Nicholas
Quoted 29 lines · Jan Kiszka
Quoted 10 lines · Jan Kiszka
Quoted 7 lines · Nicholas Amon
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via: qemu-system-x86_64 -s -S -hda
/home/nickamon/lab1/obj/kernel.imgand also connected to the process using gdb.Quoted 10 lines
Quoted 6 lines
Problem is that whenever I try and step instruction, it seems to resume
my kernel rather than allowing me to progress instruction by
instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?What's you host kernel or kvm-kmod version?
...and does -no-kvm make any difference (except that it's much slower)?
Jan
Signature · 9 lines
Nicholas Amon Senior Software Engineer Xceedium Inc. Office: 201-536-1000 x127 Cell: 732-236-7698 [email protected] See How to Control & Track High-Risk Users: Join our Webinar on Tuesday, June 2 Network World Names Xceedium GateKeeper "RSA 2009 Best of Show"
So now I can step instruction but my breakpoints do not work. I have verified that disabling kvm restores the breakpoint functionality. Any suggestions?
Thanks,
Nicholas
Quoted 58 lines · Jan Kiszka
Hi Nicholas,
please don't drop CCs on reply.
Quoted 4 lines · Nicholas Amon
Hi Jan,
Thanks for responding. Yes, I am able to step instruction when I disable kvm w/ the no-kvm option. My host kernel is 64bit 2.6.27 and the program that I am debugging is 32 bit but starts in real mode. But the KVM module I am running is from kvm-88. Is there anyway I can check the version definitively?
kvm modules issue a message when being loaded, check your kernel log. qemu-kvm gives you the version via -version.
OK, the problems you see is likely related to the very old versions you use. Update to recent kvm-kmod (2.6.32 series) and qemu-kvm (0.12 series) and retry.
Jan
Quoted 35 lines
Thanks,
Nicholas
Quoted 29 lines · Jan Kiszka
Quoted 10 lines · Jan Kiszka
Quoted 7 lines · Nicholas Amon
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via: qemu-system-x86_64 -s -S -hda
/home/nickamon/lab1/obj/kernel.imgand also connected to the process using gdb.Quoted 10 lines
Quoted 6 lines
Problem is that whenever I try and step instruction, it seems to resume
my kernel rather than allowing me to progress instruction by
instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?What's you host kernel or kvm-kmod version?
...and does -no-kvm make any difference (except that it's much slower)?
Jan
Signature · 9 lines
Nicholas Amon Senior Software Engineer Xceedium Inc. Office: 201-536-1000 x127 Cell: 732-236-7698 [email protected] See How to Control & Track High-Risk Users: Join our Webinar on Tuesday, June 2 Network World Names Xceedium GateKeeper "RSA 2009 Best of Show"
Quoted 3 lines · Nicholas Amon
So now I can step instruction but my breakpoints do not work. I have verified that disabling kvm restores the breakpoint functionality. Any suggestions?
What kind of breakpoints, hardware-assisted or normal BPs? Are you trying to break into real-mode code (as stated below - BTW, top-postings should be avoided!) that happens to run on a non-brand-new Intel host? I never fully tested how well guest debugging works if KVM has to emulate instructions, and I wouldn't be surprised if there are "limitations".
Jan
Quoted 61 lines
Quoted 60 lines · Jan Kiszka
Hi Nicholas,
please don't drop CCs on reply.
Quoted 8 lines · Nicholas Amon
Hi Jan,
Thanks for responding. Yes, I am able to step instruction when I disable kvm w/ the no-kvm option. My host kernel is 64bit 2.6.27 and the program that I am debugging is 32 bit but starts in real mode. But the KVM module I am running is from kvm-88. Is there anyway I can check the version definitively?
kvm modules issue a message when being loaded, check your kernel log. qemu-kvm gives you the version via -version.
OK, the problems you see is likely related to the very old versions you use. Update to recent kvm-kmod (2.6.32 series) and qemu-kvm (0.12 series) and retry.
Jan
Quoted 36 lines
Thanks,
Nicholas
Quoted 30 lines · Jan Kiszka
Quoted 10 lines · Jan Kiszka
Quoted 7 lines · Nicholas Amon
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via: qemu-system-x86_64 -s -S -hda
/home/nickamon/lab1/obj/kernel.imgand also connected to the process using gdb.Quoted 11 lines
Quoted 7 lines
Problem is that whenever I try and step instruction, it seems to resume my kernel rather than allowing me to progress instruction by instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?
What's you host kernel or kvm-kmod version?
...and does -no-kvm make any difference (except that it's much slower)?
Jan
Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
Quoted 5 lines · Jan Kiszka
Quoted 2 lines · Nicholas Amon
So now I can step instruction but my breakpoints do not work. I have verified that disabling kvm restores the breakpoint functionality. Any suggestions?
Quoted 77 lines
What kind of breakpoints, hardware-assisted or normal BPs? Are you trying to break into real-mode code (as stated below - BTW, top-postings should be avoided!) that happens to run on a non-brand-new Intel host? I never fully tested how well guest debugging works if KVM has to emulate instructions, and I wouldn't be surprised if there are "limitations".
Jan
Quoted 66 lines
Quoted 64 lines · Jan Kiszka
Hi Nicholas,
please don't drop CCs on reply.
Quoted 5 lines · Nicholas Amon
Hi Jan,
Thanks for responding. Yes, I am able to step instruction when I disable kvm w/ the no-kvm option. My host kernel is 64bit 2.6.27 and the program that I am debugging is 32 bit but starts in real mode. But the KVM module I am running is from kvm-88. Is there anyway I can check the version definitively?
kvm modules issue a message when being loaded, check your kernel log. qemu-kvm gives you the version via -version.
OK, the problems you see is likely related to the very old versions you use. Update to recent kvm-kmod (2.6.32 series) and qemu-kvm (0.12 series) and retry.
Jan
Quoted 41 lines
Thanks,
Nicholas
Quoted 34 lines · Jan Kiszka
Quoted 11 lines · Jan Kiszka
Quoted 7 lines · Nicholas Amon
Hi All,
I am trying to single-step through my kernel using qemu and kvm. I have run qemu via: qemu-system-x86_64 -s -S -hda
/home/nickamon/lab1/obj/kernel.imgand also connected to the process using gdb.Quoted 12 lines
Quoted 7 lines
Problem is that whenever I try and step instruction, it seems to resume
my kernel rather than allowing me to progress instruction by
instruction. I have built the kvm snapshot from git and still no luck. Tried following the code for a few hours and have no luck. Any suggestions?What's you host kernel or kvm-kmod version?
...and does -no-kvm make any difference (except that it's much slower)?
Jan
My apologies for the late response. Normal breakpoints and yes I am breaking in real mode. This isn't a big issue for me since I am able to break when I disable kvm. So basically I disable kvm when I want to debug and enable it during normal execution. Thanks for all your help.
Nick
Nicholas Amon
See How to Control & Track High-Risk Users: Join our Webinar on Tuesday, June 2 Network World Names Xceedium GateKeeper "RSA 2009 Best of Show"