Hello,

I am writing a simple OS that must access the network. The platform I'm using can be seen below:

qemu-system-arm -redir tcp:5555::80 -m 256M -smp 1 -M vexpress-a15 -cpu cortex-a15 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -kernel ~/work/src/simple-arm-os/bin/kernel.bin -nographic -serial /dev/tty

I have some problems using virtio-net-device. In particular, th system is not receiving an interrupt when it transmits a package. However, I can see how the buffer descriptors are moved to the used ring. I was thinking that maybe the problem is related to the fact that I don't know what is the exact IRQ number.

In other words, let's say that I have a function enable_irq(int, handler) that enables a given interrupt in the GIC. What is the number n that I should used as parameter in this platform?

Right now, I'm using the value (40 + k), where k is the index of the specific transporter where the network device is attached (from 0 to 3). It is not working. I get that information from file hw/arm/vexpress.c, functions vexpress_common_init and vexpress_modify_dtb (this one is not executed)

I am using qemu version 2.5.1

Thanks,
Inti

Reply via email to