#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "console.h"
#include "cpu.h"
#include "devices.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
Go to the source code of this file.
Classes | |
struct | ssc_data |
Macros | |
#define | RX_INT_ENABLE 0x40 |
#define | RX_AVAIL 0x80 |
#define | TX_INT_ENABLE 0x40 |
#define | TX_READY 0x80 |
#define | SSC_TICK_SHIFT 14 |
#define | SSC_DEBUG |
Functions | |
DEVICE_TICK (ssc) | |
DEVICE_ACCESS (ssc) | |
void | dev_ssc_init (struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *irq_path, int use_fb) |
#define RX_AVAIL 0x80 |
Definition at line 49 of file dev_ssc.cc.
Referenced by DEVICE_TICK().
#define RX_INT_ENABLE 0x40 |
Definition at line 48 of file dev_ssc.cc.
Referenced by DEVICE_TICK().
#define SSC_DEBUG |
Definition at line 60 of file dev_ssc.cc.
#define SSC_TICK_SHIFT 14 |
Definition at line 53 of file dev_ssc.cc.
Referenced by dev_ssc_init().
#define TX_INT_ENABLE 0x40 |
Definition at line 50 of file dev_ssc.cc.
Referenced by DEVICE_TICK().
#define TX_READY 0x80 |
Definition at line 51 of file dev_ssc.cc.
Referenced by DEVICE_TICK().
void dev_ssc_init | ( | struct machine * | machine, |
struct memory * | mem, | ||
uint64_t | baseaddr, | ||
const char * | irq_path, | ||
int | use_fb | ||
) |
Definition at line 225 of file dev_ssc.cc.
References CHECK_ALLOCATION, ssc_data::console_handle, console_start_slave(), dev_ssc_access(), DEV_SSC_LENGTH, DM_DEFAULT, INTERRUPT_CONNECT, ssc_data::irq, machine_add_tickfunction(), memory_device_register(), SSC_TICK_SHIFT, and ssc_data::use_fb.
Referenced by MACHINE_SETUP().
DEVICE_ACCESS | ( | ssc | ) |
Definition at line 103 of file dev_ssc.cc.
References console_charavail(), ssc_data::console_handle, console_putchar(), console_readchar(), data, debug, INTERRUPT_DEASSERT, ssc_data::irq, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), ssc_data::rx_ctl, and ssc_data::tx_ctl.
DEVICE_TICK | ( | ssc | ) |
Definition at line 73 of file dev_ssc.cc.
References console_charavail(), ssc_data::console_handle, if(), INTERRUPT_ASSERT, ssc_data::irq, cpu::mem, MEM_WRITE, cpu::memory_rw, NO_EXCEPTIONS, PHYSICAL, RX_AVAIL, ssc_data::rx_ctl, RX_INT_ENABLE, ssc_data::tx_ctl, TX_INT_ENABLE, and TX_READY.