Getting Started

From SerialICE
Revision as of 18:35, 18 December 2012 by Patrick Georgi (talk | contribs)
Jump to navigation Jump to search

First Steps With SerialICE

Connect the target to your computer. Figure out the serial port that you can use to talk to it. Relative to the qemu directory in the SerialICE tree, call

 $ ./i386-softmmu/qemu -M serialice -serialice /dev/ttyUSB0 -hda /dev/zero -bios /your/bios/image > logfile.txt

This assumes that /dev/ttyUSB0 is your serial port. Replace as appropriate.

You'll get a log file that looks like this:

 SerialICE: Open connection to target hardware...
 SerialICE: Waiting for handshake with target... target alife!
 SerialICE: LUA init...
 SerialICE: Starting LUA script
 SerialICE: Registering physical memory areas for Cache-As-Ram:
 Registering physical memory at 0xffd80000 (0x00080000 bytes)
 Registering physical memory at 0xffbc0000 (0x00040000 bytes)
 SerialICE: LUA script initialized.
 MEM:  readb fffffff0 => ea
 MEM:  readw fffffff1 => ffaa
 MEM:  readw fffffff3 => f000
 MEM:  readb 000fffaa => e9
 MEM:  readw 000fffab => 00c3
 MEM:  readb 000f0070 => e9
 MEM:  readw 000f0071 => 01cd
 ...
 IO: outb 0080 <= d0
 CPU: CPUID eax: 00000000; ecx: 00000000 => 00000006.756e6547.6c65746e.49656e69
 CPU: CPUID eax: 00000001; ecx: 6c65746e => 000006e8.00020800.0000c1a9.bfe9fbff
 MEM:  readw 000f0a53 => 06e0
 CPU: CPUID eax: 00000004; ecx: 00000000 => 04000121.01c0003f.0000003f.00000001
 ...
 IO: outb 0070 <= 8e
 IO:  inb 0071 => 48
 ...
 CPU: rdmsr 000002ff => 00000000.00000000
 CPU: wrmsr 000002ff <= 00000000.00000000
 CPU: wrmsr 00000250 <= 00000000.00000000
 ...
 IO: outl 0cf8 <= 8000f8f0
 IO: outl 0cfc <= fed1c001
 PCI 0:1f.0 R.f0