This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
soc:2008:stefanha:notes:start [2008/05/20 00:39]
soc:2008:stefanha:notes:start [2008/05/26 13:09]
Line 4: Line 4:
   * Linux [[http://​kgdb.linsyssoft.com/​|kgdb]] [[http://​kgdb.cvs.sourceforge.net/​kgdb/​kgdb-2/​eth.patch?​revision=1.60&​view=markup|over Ethernet]] using the [[http://​www.selenic.com/​netpoll/​|Netpoll API]].   * Linux [[http://​kgdb.linsyssoft.com/​|kgdb]] [[http://​kgdb.cvs.sourceforge.net/​kgdb/​kgdb-2/​eth.patch?​revision=1.60&​view=markup|over Ethernet]] using the [[http://​www.selenic.com/​netpoll/​|Netpoll API]].
 +=== QEMU memory dumps ===
 +The QEMU monitor (''​CTRL+ALT+2''​) supports debug commands to inspect registers and memory. ​ Unfortunately,​ QEMU only honors paged virtual memory. ​ Since gPXE sets up a virtual memory segment with a non-zero base address, all virtual addresses need to be adjusted before using them to inspect memory in QEMU.
 +The virtual memory offset is available inside gPXE as ''​virt_offset''​ (see ''​arch/​i386/​transitions/​librm.S''​). ​ It can be printed out by placing a ''​printf''​ call in ''​core/​main.c''​.
 +When dumping memory, remember to add the value of ''​virt_offset''​ to any virtual memory addresses. ​ QEMU is effectively using physical memory only.

QR Code
QR Code soc:2008:stefanha:notes:start (generated for current page)