Skip to contentSkip to conversation

Unable to single-step in kvm, always results in a resume

DISCUSSION Nicholas Amon 2 participants 8 messages Jan 19, 2010 – Jan 29, 2010 1 message not in the archive KVM

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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.img and 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
#2 lore raw
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.img and 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]

#4 lore raw

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.img and 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
#5 lore raw

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.img and 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"
#6 lore raw
In reply to Jan Kiszka

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.img and 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"
#7 lore raw
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.img and 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
#8 lore raw
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.img and 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"