Hi l4Hackers,
I am trying to set up a simulator with Qemu
and l4linux ARM to simulate the Zynq board. I have successfully compiled Fiasco
and L4 with the tool chain “arm-linux-gnueabi-gcc”. I succeeded to
launch l4linux but I have no input on l4linux when it’s running on Qemu.
Nevertheless, the fiasco jdb can be invoked. After reading the mailing list I
changed the hello world program to take inputs and tried a bare metal
application with l4re with the same result (I didn’t modify the module
list).
So, I tried to do the same thing with the
board and I have inputs with the l4 bare metal application and a kernel panic
for the l4linux. I boot with the uboot image on it. Nonetheless, using uImage
for qemu doesn’t change anything:
./qemu-system-arm -M
arm-generic-fdt-plnx -m 512M -kernel /path/bootstrap.uimage -dtb
/path/devicetree.dtb -serial mon:stdio
I tried to compile the u-boot from Xilinx
and Qemu freezes when I launch the l4 application.
To be sure I have done things right, I also
tried the modified hello world program on x86 intel and it works well. Then I
launched a Petalinux with Qemu and a uImage with uboot and it works.
My Qemu is from Xilinx: QEMU emulator
version 2.0.50
This is my program (taken from the mailing
list: http://os.inf.tu-dresden.de/pipermail/l4-hackers/2014/006337.html ):
Main.c:
#include <stdio.h>
int main(void)
{
printf("Press some key: ");
char c = getchar();
printf("\nYour input: %c (%d)\n", c, c);
printf("Enter a number: ");
int number;
scanf("%x", &number);
printf("Your number: %d\n", number);
return 0;
}
Makefile:
PKGDIR ?=
../..
L4DIR ?= $(PKGDIR)/../..
TARGET = hello
SRC_C = main.c
EQUIRES_LIBS = libc_be_file_stdin
include $(L4DIR)/mk/prog.mk
Module list:
entry hello-cfg
kernel fiasco -serial_esc
roottask moe rom/hello.cfg
module l4re
module ned
module hello.cfg
module hello
hello-cfg:
require("L4");
L4.default_loader:start({caps={},log = L4.Env.log,},"rom/hello");
Could it be an interruption problem? Where
is my mistake?
Thanks in advance for your help,
Nicolas