mirror of
https://github.com/AmbiML/sparrow-kata-full.git
synced 2025-04-28 02:40:40 +00:00
This also adds a skeleton for the DebugConsole CLI taking IO from a UART via some Rust wrapper functions, also defined in this change (kata-uart-client). Change-Id: I56856c14992010483da58c45f6550c0a4c9987b0 GitOrigin-RevId: e1b2d65ed3a7f627a9f7377caa407151fc943864
55 lines
1.6 KiB
Plaintext
55 lines
1.6 KiB
Plaintext
/*
|
|
* Copyright 2017, Data61
|
|
* Commonwealth Scientific and Industrial Research Organisation (CSIRO)
|
|
* ABN 41 687 119 230.
|
|
*
|
|
* This software may be distributed and modified according to the terms of
|
|
* the BSD 2-Clause license. Note that NO WARRANTY is provided.
|
|
* See "LICENSE_BSD2.txt" for details.
|
|
*
|
|
* @TAG(DATA61_BSD)
|
|
*/
|
|
|
|
import <std_connector.camkes>;
|
|
|
|
import "interfaces/uart.idl4";
|
|
import "components/UartDriver/UartDriver.camkes";
|
|
import "components/DebugConsole/DebugConsole.camkes";
|
|
|
|
component UART {
|
|
hardware;
|
|
dataport Buf mem;
|
|
// TODO(mattharvey): Make receives wait on interrupt.
|
|
// emits Interrupt interrupt;
|
|
}
|
|
|
|
assembly {
|
|
composition {
|
|
component UART uart;
|
|
component UartDriver drv;
|
|
component DebugConsole debug_console;
|
|
|
|
connection seL4HardwareMMIO uart_mem(from drv.mem, to uart.mem);
|
|
// TODO(mattharvey): Make receives wait on interrupt.
|
|
// connection seL4HardwareInterrupt uart_interrupt(
|
|
// from uart.interrupt, to drv.interrupt);
|
|
connection seL4RPCCall uart_inf(from debug_console.uart, to drv.uart);
|
|
|
|
connection seL4SharedData tx_channel(
|
|
from debug_console.tx_dataport, to drv.tx_dataport);
|
|
connection seL4SharedData rx_channel(
|
|
from debug_console.rx_dataport, to drv.rx_dataport);
|
|
}
|
|
|
|
configuration {
|
|
uart.mem_paddr = 0x10000000;
|
|
uart.mem_size = 0x1000;
|
|
// seL4 claims 10 is bigger than irqMax if this is uncommented.
|
|
// uart.interrupt_irq_number = 10;
|
|
|
|
random.ID = 1;
|
|
|
|
uart.integrity_label = "drv";
|
|
}
|
|
}
|