SimAVR
AVR Simulator
sim_io.c File Reference
#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sim_io.h"
Include dependency graph for sim_io.c:

Functions

int avr_ioctl (avr_t *avr, uint32_t ctl, void *io_param)
 Call every IO modules until one responds to this. More...
 
void avr_register_io (avr_t *avr, avr_io_t *io)
 Registers an IO module, so it's run(), reset() etc are called. More...
 
void avr_register_io_read (avr_t *avr, avr_io_addr_t addr, avr_io_read_t readp, void *param)
 Register a callback for when IO register "addr" is read. More...
 
static void _avr_io_mux_write (avr_t *avr, avr_io_addr_t addr, uint8_t v, void *param)
 
void avr_register_io_write (avr_t *avr, avr_io_addr_t addr, avr_io_write_t writep, void *param)
 Register a callback for when the IO register is written. callback has to set the memory itself. More...
 
avr_irq_tavr_io_getirq (avr_t *avr, uint32_t ctl, int index)
 Get the specific irq for a module, check AVR_IOCTL_IOPORT_GETIRQ for example. More...
 
avr_irq_tavr_iomem_getirq (avr_t *avr, avr_io_addr_t addr, const char *name, int index)
 Get the IRQ for an absolute IO address. More...
 
avr_irq_tavr_io_setirqs (avr_io_t *io, uint32_t ctl, int count, avr_irq_t *irqs)
 Sets an IO module "official" IRQs and the ioctl used to get to them. More...
 
static void avr_deallocate_io (avr_io_t *io)
 
void avr_deallocate_ios (avr_t *avr)
 Terminates all IOs and remove from them from the io chain. More...
 

Function Documentation

static void _avr_io_mux_write ( avr_t avr,
avr_io_addr_t  addr,
uint8_t  v,
void *  param 
)
static

Here is the caller graph for this function:

static void avr_deallocate_io ( avr_io_t io)
static

Here is the call graph for this function:

Here is the caller graph for this function: