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 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
Hi,
On Mon Mar 02, 2015 at 15:10:04 +0100, Nicolas VARONA wrote:
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
So I looked a bit at this and it seems to me that there's something strange with uart rx in Qemu, or at least which only shows up in Qemu. I need to investigate that further.
and a kernel panic for the l4linux.
Which kind of panic?
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.
Could also be the uart issue? But entering jdb always works for me.
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
Oh, good to know. I tried the normal one.
Adam
l4-hackers@os.inf.tu-dresden.de