ARM with Qemu

"Nicolas VARONA" <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
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

_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.