Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
soc:2008:stefanha:notes:start [2008/05/20 00:38]
stefanha
soc:2008:stefanha:notes:start [2008/05/26 13:09]
stefanha
Line 3: Line 3:
 ===== Notes ===== ===== Notes =====
  
-  * Linux [[kgdb|http://​kgdb.linsyssoft.com/​]] [[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)