ARM with Qemu
Nicolas VARONA
nvarona at pactenovation.fr
Mon Mar 2 15:10:04 CET 2015
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20150302/3ff175d3/attachment.html>
More information about the l4-hackers
mailing list