Hi, We are developing an seL4 application that will process UDP packets coming in over a network connection. Eventually, we'll be running this on real hardware with real drivers, but for now we are using QEMU. We have a python script that can generate packet payloads. Is there a way to send this information into QEMU so that we can develop our seL4 application without having the drivers and hardware in place? If it matters, we are using CAmkES as well. Thanks, Andrew
If by "send information into QEMU" you mean generate packets
destined to the VM guest, then yes. Qemu has various options
for configuring the network interface. One option is to hook it up
to your host's tunnel interface. If you do this, you can send
packets directly from your host to your guest over the tunnel interface.
On Wed, Nov 16, 2016 at 4:59 PM, Andrew Gacek
Hi,
We are developing an seL4 application that will process UDP packets coming in over a network connection. Eventually, we'll be running this on real hardware with real drivers, but for now we are using QEMU. We have a python script that can generate packet payloads. Is there a way to send this information into QEMU so that we can develop our seL4 application without having the drivers and hardware in place? If it matters, we are using CAmkES as well.
Thanks, Andrew
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
-- Tim Newsham | www.thenewsh.com/~newsham | @newshtwit | thenewsh.blogspot.com
What I'm really wondering is how do I read this information on the
seL4 side? Are there qemu serial/uart/network drivers available for
seL4?
I suppose the easiest thing would be if I could open a serial
connection that I can write to on the host Linux side and somehow read
from a corresponding serial driver on the seL4 guest side. I've
started looking through the qemu documentation, but it's been slow
going. And I think the seL4 side will be the harder part for me to
figure out.
-Andrew
On Wed, Nov 16, 2016 at 9:40 PM, Tim Newsham
If by "send information into QEMU" you mean generate packets destined to the VM guest, then yes. Qemu has various options for configuring the network interface. One option is to hook it up to your host's tunnel interface. If you do this, you can send packets directly from your host to your guest over the tunnel interface.
On Wed, Nov 16, 2016 at 4:59 PM, Andrew Gacek
wrote: Hi,
We are developing an seL4 application that will process UDP packets coming in over a network connection. Eventually, we'll be running this on real hardware with real drivers, but for now we are using QEMU. We have a python script that can generate packet payloads. Is there a way to send this information into QEMU so that we can develop our seL4 application without having the drivers and hardware in place? If it matters, we are using CAmkES as well.
Thanks, Andrew
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
-- Tim Newsham | www.thenewsh.com/~newsham | @newshtwit | thenewsh.blogspot.com
I think I have something working now. Here's the steps I took.
1. Create a pipe file in Linux: "mkfifo uart2"
2. In my Client.camkes file I have:
component Client {
control;
uses Simple a;
// Hardware interface
dataport Buf vaddr;
consumes DataAvailable interrupt;
has semaphore read_sem;
}
component Uartbase {
hardware;
dataport Buf mem;
emits DataAvailable irq;
}
assembly {
composition {
// "component Client client" will be defined by the outer camkes file
component Uartbase uartbase;
// UART hardware connection
connection seL4HardwareMMIO uartbase_mem(from client.vaddr, to
uartbase.mem);
connection seL4HardwareInterrupt uartbase_irq(from
uartbase.irq, to client.interrupt);
}
configuration {
// From libplatsupport/plat_include/imx31/platsupport/plat/serial.h
uartbase.mem_attributes = "0x43F94000:0x1000";
uartbase.irq_attributes = 32;
}
}
3. In client.c I have:
#include
What I'm really wondering is how do I read this information on the seL4 side? Are there qemu serial/uart/network drivers available for seL4?
I suppose the easiest thing would be if I could open a serial connection that I can write to on the host Linux side and somehow read from a corresponding serial driver on the seL4 guest side. I've started looking through the qemu documentation, but it's been slow going. And I think the seL4 side will be the harder part for me to figure out.
-Andrew
On Wed, Nov 16, 2016 at 9:40 PM, Tim Newsham
wrote: If by "send information into QEMU" you mean generate packets destined to the VM guest, then yes. Qemu has various options for configuring the network interface. One option is to hook it up to your host's tunnel interface. If you do this, you can send packets directly from your host to your guest over the tunnel interface.
On Wed, Nov 16, 2016 at 4:59 PM, Andrew Gacek
wrote: Hi,
We are developing an seL4 application that will process UDP packets coming in over a network connection. Eventually, we'll be running this on real hardware with real drivers, but for now we are using QEMU. We have a python script that can generate packet payloads. Is there a way to send this information into QEMU so that we can develop our seL4 application without having the drivers and hardware in place? If it matters, we are using CAmkES as well.
Thanks, Andrew
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
-- Tim Newsham | www.thenewsh.com/~newsham | @newshtwit | thenewsh.blogspot.com
participants (2)
-
Andrew Gacek
-
Tim Newsham