On Tue, 19 Jan 2010 23:50:05 +0100, Stefan Reinauer stepan@coresystems.de wrote:
On 1/19/10 11:17 PM, Alexander Graf wrote:
On 19.01.2010, at 23:12, Stefan Reinauer wrote
On 1/19/10 10:17 PM, Joseph Smith wrote:
(gdb) bt #0 cpu_register_physical_memory_offset (start_addr=4292345856, size=524288, phys_offset=0, region_offset=0) at
/home/joe/qemu-0.11.0/exec.c:2327
#1 0x080715b8 in cpu_register_physical_memory ( phys_offset=<value optimized out>, size=<value optimized out>, start_addr=<value optimized out>) at ../cpu-common.h:33 #2 serialice_register_physical (phys_offset=<value optimized out>, size=<value optimized out>, start_addr=<value optimized out>) at /home/joe/qemu-0.11.0/serialice.c:93
This is almost there...
Can you recompile Qemu and add "-g" to CFLAGS and try again? It does look suspicious that phys_offset and size are optimized out, though..
BTW, I just tried SerialICE on an x86-64 OpenSUSE 11.2 system and it works nicely without a segfault. Maybe Fedora is using a buggy compiler or a specific compiler option that breaks things?
The trace says you're using env before it's initialized.
Thanks for spotting this, you're of course right.
It's caused by some oddness in how KQEMU is initialized.
Joseph: Please add --disable-kqemu to your Qemu configure options and the problem will go away.
Ok that seems to be a little better, but if I use the command in the "SerialICE Qemu README" I just get this:
[root@smitty2 qemu-0.11.0]# ./i386-softmmu/qemu -M -serialice /dev/ttyS0 -hda /dev/zero -L ./bios Supported machines are: pc Standard PC (alias of pc-0.11) pc-0.11 Standard PC (default) pc-0.10 Standard PC, qemu 0.10 isapc ISA-only PC
If I use the older command listed on the website it seems to get a little further:
[root@smitty2 qemu-0.11.0]# ./i386-softmmu/qemu -serialice /dev/ttyS0 -hda /dev/zero -L ./bios 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. VNC server running on `127.0.0.1:5900' IO: outb 0080 <= 00 IO: outb 002e <= 55 IO: outb 002e <= 07 IO: outb 002f <= 07 IO: outb 002e <= 30 IO: outb 002f <= 01 IO: outb 002e <= aa IO: inb 0064 => 00 IO: outb 0064 <= 60 IO: outb 0060 <= 45 IO: outb 0080 <= 08 CPU: CPUID eax: 00000000; ecx: 00000000 => 00000002.756e6547.6c65746e.49656e69 CPU: CPUID eax: 00000000; ecx: 6c65746e => 00000002.756e6547.6c65746e.49656e69 Failed to run function SerialICE_msr_read_filter: serialice.lua:474: bad argument #2 to 'band' (number expected, got nil) [root@smitty2 qemu-0.11.0]#
Help?
On Tue, 19 Jan 2010 23:52:21 -0500, Joseph Smith joe@settoplinux.org wrote:
On Tue, 19 Jan 2010 23:50:05 +0100, Stefan Reinauer
wrote:
On 1/19/10 11:17 PM, Alexander Graf wrote:
On 19.01.2010, at 23:12, Stefan Reinauer wrote
On 1/19/10 10:17 PM, Joseph Smith wrote:
(gdb) bt #0 cpu_register_physical_memory_offset (start_addr=4292345856, size=524288, phys_offset=0, region_offset=0) at
/home/joe/qemu-0.11.0/exec.c:2327
#1 0x080715b8 in cpu_register_physical_memory ( phys_offset=<value optimized out>, size=<value optimized out>, start_addr=<value optimized out>) at ../cpu-common.h:33 #2 serialice_register_physical (phys_offset=<value optimized out>, size=<value optimized out>, start_addr=<value optimized out>) at /home/joe/qemu-0.11.0/serialice.c:93
This is almost there...
Can you recompile Qemu and add "-g" to CFLAGS and try again? It does look suspicious that phys_offset and size are optimized out, though..
BTW, I just tried SerialICE on an x86-64 OpenSUSE 11.2 system and it works nicely without a segfault. Maybe Fedora is using a buggy
compiler
or a specific compiler option that breaks things?
The trace says you're using env before it's initialized.
Thanks for spotting this, you're of course right.
It's caused by some oddness in how KQEMU is initialized.
Joseph: Please add --disable-kqemu to your Qemu configure options and the problem will go away.
Ok that seems to be a little better, but if I use the command in the "SerialICE Qemu README" I just get this:
[root@smitty2 qemu-0.11.0]# ./i386-softmmu/qemu -M -serialice /dev/ttyS0 -hda /dev/zero -L ./bios Supported machines are: pc Standard PC (alias of pc-0.11) pc-0.11 Standard PC (default) pc-0.10 Standard PC, qemu 0.10 isapc ISA-only PC
If I use the older command listed on the website it seems to get a little further:
[root@smitty2 qemu-0.11.0]# ./i386-softmmu/qemu -serialice /dev/ttyS0
-hda
/dev/zero -L ./bios 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. VNC server running on `127.0.0.1:5900' IO: outb 0080 <= 00 IO: outb 002e <= 55 IO: outb 002e <= 07 IO: outb 002f <= 07 IO: outb 002e <= 30 IO: outb 002f <= 01 IO: outb 002e <= aa IO: inb 0064 => 00 IO: outb 0064 <= 60 IO: outb 0060 <= 45 IO: outb 0080 <= 08 CPU: CPUID eax: 00000000; ecx: 00000000 => 00000002.756e6547.6c65746e.49656e69 CPU: CPUID eax: 00000000; ecx: 6c65746e => 00000002.756e6547.6c65746e.49656e69 Failed to run function SerialICE_msr_read_filter: serialice.lua:474: bad argument #2 to 'band' (number expected, got nil) [root@smitty2 qemu-0.11.0]#
Any ideas?
On 1/20/10 9:11 PM, Joseph Smith wrote:
/dev/zero -L ./bios 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. VNC server running on `127.0.0.1:5900' IO: outb 0080 <= 00 IO: outb 002e <= 55 IO: outb 002e <= 07 IO: outb 002f <= 07 IO: outb 002e <= 30 IO: outb 002f <= 01 IO: outb 002e <= aa IO: inb 0064 => 00 IO: outb 0064 <= 60 IO: outb 0060 <= 45 IO: outb 0080 <= 08 CPU: CPUID eax: 00000000; ecx: 00000000 => 00000002.756e6547.6c65746e.49656e69 CPU: CPUID eax: 00000000; ecx: 6c65746e => 00000002.756e6547.6c65746e.49656e69 Failed to run function SerialICE_msr_read_filter: serialice.lua:474: bad argument #2 to 'band' (number expected, got nil) [root@smitty2 qemu-0.11.0]#
Any ideas?
Yes. Something is severely wrong with your SerialICE. Start from scratch with a fresh checkout and use the Qemu in the tree instead of the patch.
Stefan
On Wed, 20 Jan 2010 21:14:03 +0100, Stefan Reinauer stepan@coresystems.de wrote:
On 1/20/10 9:11 PM, Joseph Smith wrote:
/dev/zero -L ./bios 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. VNC server running on `127.0.0.1:5900' IO: outb 0080 <= 00 IO: outb 002e <= 55 IO: outb 002e <= 07 IO: outb 002f <= 07 IO: outb 002e <= 30 IO: outb 002f <= 01 IO: outb 002e <= aa IO: inb 0064 => 00 IO: outb 0064 <= 60 IO: outb 0060 <= 45 IO: outb 0080 <= 08 CPU: CPUID eax: 00000000; ecx: 00000000 => 00000002.756e6547.6c65746e.49656e69 CPU: CPUID eax: 00000000; ecx: 6c65746e => 00000002.756e6547.6c65746e.49656e69 Failed to run function SerialICE_msr_read_filter: serialice.lua:474:
bad
argument #2 to 'band' (number expected, got nil) [root@smitty2 qemu-0.11.0]#
Any ideas?
Yes. Something is severely wrong with your SerialICE. Start from scratch with a fresh checkout and use the Qemu in the tree instead of the patch.
I just wanted to report this worked :-) I still had to add --extra-ldflags=-lm and --disable-kqemu to build.sh but at least it is running :-) I don't know why the http://download.savannah.gnu.org/releases/qemu/qemu-0.11.0.tar.gz Is not working though....