On 15/10/2010 6:29 PM, Corey Osgood wrote:
> These patches should really go to the serialice mailing list
> (serialice(a)serialice.com). That said, hopefully the second half of
> that patch fixes the seqfaults I'm seeing when trying to use SerialICE
> ;)
My apologies, I had searched the coreboot list and saw several posts
regarding serialice and (erroneously) jumped to the conclusion that this
was the right spot.
Re-posting original message to the serialice list:
I tried the instructions for getting serialICE installed, but ran into
two problems (patch attached solved both problems):
1) the configure script failed to detect lua, fixed by adding
--extra-ldflags="-lm" to the build.sh file. The output of the lua test
(with redirect to dev/null removed) is below:
sh build.sh
/usr/local/lib/liblua.a(lvm.o): In function `.L112':
lvm.c:(.text+0xb18): undefined reference to `pow'
/usr/local/lib/liblua.a(lvm.o): In function `.L177':
lvm.c:(.text+0x232d): undefined reference to `pow'
/usr/local/lib/liblua.a(lcode.o): In function `.L211':
lcode.c:(.text+0x1453): undefined reference to `pow'
collect2: ld returned 1 exit status
Package lua was not found in the pkg-config search path.
Perhaps you should add the directory containing `lua.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lua' found
Package lua was not found in the pkg-config search path.
Perhaps you should add the directory containing `lua.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lua' found
Error LUA not found, can't build with SerialICE support.
2) QEMU seg faulted when checking for kqemu enabled (note that I am
running 0.11.1, but I had same behaviour on the qemu 0.11.0 which is
checked into the SerialICE v1.5 tag). I'm guessing it is something with
my Gentoo install that causes the seg fault but if kqemu is not needed
for serial ice then maybe it is easier to remove it.:
Starting program: /home/dharrison/projects/qemu-0.11.1/i386-softmmu/qemu
-serialice /dev/ttyUSB0 -hda /dev/zero -L bios/ -bios bios.rom -k en-us
-s -S
[Thread debugging using libthread_db enabled]
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)
Program received signal SIGSEGV, Segmentation fault.
cpu_register_physical_memory_offset (start_addr=4292345856, size=524288,
phys_offset=0, region_offset=0) at
/home/dharrison/projects/qemu-0.11.1/exec.c:2327
2327 if (env->kqemu_enabled) {
(gdb) bt
#0 cpu_register_physical_memory_offset (start_addr=4292345856,
size=524288, phys_offset=0, region_offset=0) at
/home/dharrison/projects/qemu-0.11.1/exec.c:2327
#1 0x080735d8 in cpu_register_physical_memory (luastate=0x841e4a8) at
../cpu-common.h:33
#2 serialice_register_physical (luastate=0x841e4a8) at
/home/dharrison/projects/qemu-0.11.1/serialice.c:93
#3 0x0819a1ba in luaD_precall ()
#4 0x081a3e3a in luaV_execute ()
#5 0x0819a6a0 in luaD_call ()
#6 0x08197621 in f_call ()
#7 0x08199cc3 in luaD_rawrunprotected ()
#8 0x08199d25 in luaD_pcall ()
#9 0x08197448 in lua_pcall ()
#10 0x080733fb in serialice_lua_init () at
/home/dharrison/projects/qemu-0.11.1/serialice.c:117
#11 serialice_init () at
/home/dharrison/projects/qemu-0.11.1/serialice.c:911
#12 0x080b2e8b in module_call_init (type=MODULE_INIT_BLOCK) at module.c:78
#13 0x0805402f in main (argc=13, argv=0xbffff294, envp=0xbffff2cc) at
/home/dharrison/projects/qemu-0.11.1/vl.c:5956
(gdb)
Here is the output from a (working and patched) configure:
Install prefix /usr/local
BIOS directory /usr/local/share/qemu
binary directory /usr/local/bin
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /home/dharrison/projects/qemu-0.11.1
C compiler gcc
Host C compiler gcc
ARCH_CFLAGS -m32
make make
install install
host CPU i386
host big endian no
target list x86_64-softmmu i386-softmmu
tcg debug enabled no
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
-Werror enabled no
SDL support no
curses support yes
curl support yes
mingw32 support no
Audio drivers oss
Extra audio cards ac97 es1370 sb16
Mixer emulation no
SerialICE support yes
VNC TLS support yes
TLS CFLAGS
TLS LIBS -lgnutls
VNC SASL support yes
SASL CFLAGS
SASL LIBS -lsasl2
kqemu support no
xen support no
brlapi support no
Documentation yes
NPTL support yes
vde support no
AIO support yes
IO thread no
Install blobs yes
KVM support no
fdt support no
preadv support yes
# uname -a
Linux myhostname 2.6.30-gentoo-r6 #1 SMP Wed Sep 30 12:22:36 PDT 2009
i686 Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz GenuineIntel GNU/Linux
The following patch fixed both my problems:
Disable kqemu since it caused a seg fault and is not needed.
Add libm to the LDFLAGS to make the lua test work.
Signed-off-by: Dustin Harrison <dustin.harrison(a)sutus.com>
Index: patches/serialice-qemu-0.11.0.diff
===================================================================
--- patches/serialice-qemu-0.11.0.diff (revision 107)
+++ patches/serialice-qemu-0.11.0.diff (working copy)
@@ -1024,7 +1024,7 @@
@@ -0,0 +1,5 @@
+#!/bin/sh
+./configure --disable-kvm --disable-sdl --enable-serialice \
-+ --target-list="x86_64-softmmu, i386-softmmu"
++ --target-list="x86_64-softmmu, i386-softmmu"
--extra-ldflags="-lm" --disable-kqemu
+
+make
--- qemu-0.11.0/Makefile.target