diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/seabios/docs/Debugging.md | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/seabios/docs/Debugging.md')
-rw-r--r-- | qemu/roms/seabios/docs/Debugging.md | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/qemu/roms/seabios/docs/Debugging.md b/qemu/roms/seabios/docs/Debugging.md deleted file mode 100644 index 7ab5d02d8..000000000 --- a/qemu/roms/seabios/docs/Debugging.md +++ /dev/null @@ -1,111 +0,0 @@ -This page describes the process of obtaining diagnostic information -from SeaBIOS and for reporting problems. - -Diagnostic information -====================== - -SeaBIOS has the ability to output diagnostic messages. This is -implemented in the code via calls to the "dprintf()" C function. - -On QEMU these messages are written to a special debug port. One can -view these messages by adding '-chardev stdio,id=seabios -device -isa-debugcon,iobase=0x402,chardev=seabios' to the QEMU command line. -Once this is done, one should see status messages on the console. - -On coreboot these messages are generally written to the "cbmem" -console (CONFIG_DEBUG_COREBOOT). If SeaBIOS launches a Linux operating -system, one can obtain the cbmem tool from the coreboot repository and -run "cbmem -c" to view the SeaBIOS diagnostic messages. - -Additionally, if a serial port is available, one may compile SeaBIOS -to send the diagnostic messages to the serial port. See the SeaBIOS -CONFIG_DEBUG_SERIAL option. - -Trouble reporting -================= - -If you are experiencing problems with SeaBIOS, it's useful to increase -the debugging level. This is done by running "make menuconfig" and -setting CONFIG_DEBUG_LEVEL to a higher value. A debug level of 8 will -show a lot of diagnostic information without flooding the serial port -(levels above 8 will frequently cause too much data). - -To report an issue, please collect the serial boot log with SeaBIOS -set to a debug level of 8 and forward the full log along with a -description of the problem to the SeaBIOS [mailing list](Mailinglist). - -Timing debug messages -===================== - -The SeaBIOS repository has a tool (**scripts/readserial.py**) that can -timestamp each diagnostic message produced. The timestamps can provide -some additional information on how long internal processes take. It -also provides a simple profiling mechanism. - -The tool can be used on coreboot builds that have diagnostic messages -sent to a serial port. Make sure SeaBIOS is configured with -CONFIG_DEBUG_SERIAL and run the following on the host receiving serial -output: - -`/path/to/seabios/scripts/readserial.py /dev/ttyS0 115200` - -Update the above command with the appropriate serial device and baud -rate. - -The tool can also timestamp the messages from the QEMU debug port. To -use with QEMU run the following: - -``` -mkfifo qemudebugpipe -qemu -chardev pipe,path=qemudebugpipe,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios ... -``` - -and then in another session: - -`/path/to/seabios/scripts/readserial.py -nf qemudebugpipe` - -The mkfifo command only needs to be run once to create the pipe file. - -When readserial.py is running, it shows a timestamp with millisecond -precision of the amount of time since the start of the log. If one -presses the "enter" key in the readserial.py session it will add a -blank line to the screen and also reset the time back to zero. The -readserial.py program also keeps a log of all output in files that -look like "seriallog-YYYYMMDD_HHMMSS.log". - -Debugging with gdb on QEMU -========================== - -One can use gdb with QEMU to debug system images. To do this, add '-s --S' to the qemu command line. For example: - -`qemu -bios out/bios.bin -fda myfdimage.img -s -S` - -Then, in another session, run gdb with either out/rom16.o (to debug -bios 16bit code) or out/rom.o (to debug bios 32bit code). For example: - -`gdb out/rom16.o` - -Once in gdb, use the command `target remote localhost:1234` to have -gdb connect to QEMU. See the QEMU documentation for more information -on using gdb and QEMU in this mode. - -When debugging 16bit code it is necessary to load the 16bit symbols -twice in order for gdb to properly handle break points. To do this, -run the following command `objcopy --adjust-vma 0xf0000 out/rom16.o -rom16offset.o` and then run the following in gdb: - -``` -set architecture i8086 -add-symbol-file rom16offset.o 0 -``` - -To debug a VGA BIOS image, run `gdb out/vgarom.o`, create a -vgaromoffset.o file with offset 0xc0000, add use the gdb -command `add-symbol-file out/vgaromoffset.o 0` to load the 16bit VGA -BIOS symbols twice. - -If debugging the 32bit SeaBIOS initialization code with gdb, note that -SeaBIOS does self relocation by default. This relocation will alter -the location of initialization code symbols. Disable -CONFIG_RELOCATE_INIT to prevent SeaBIOS from doing this. |