dev_ssc.cc Source File
Back to the index.
Go to the documentation of this file.
48 #define RX_INT_ENABLE 0x40
50 #define TX_INT_ENABLE 0x40
53 #define SSC_TICK_SHIFT 14
86 unsigned char txvector = 0xf8;
95 unsigned char txvector = 0xfc;
105 uint64_t idata = 0, odata = 0;
111 dev_ssc_tick(
cpu, extra);
113 switch (relative_addr) {
117 #ifdef SSC_DEBUG_TXRX
118 debug(
"[ ssc: read from 0x%08lx: 0x%02x ]\n",
119 (
long)relative_addr, (
int)odata);
126 #ifdef SSC_DEBUG_TXRX
127 debug(
"[ ssc: write to 0x%08lx: 0x%02x ]\n",
128 (
long)relative_addr, (
int)idata);
135 #ifdef SSC_DEBUG_TXRX
136 debug(
"[ ssc: read from 0x%08lx ]\n",
137 (
long)relative_addr);
142 #ifdef SSC_DEBUG_TXRX
143 debug(
"[ ssc: write to 0x%08lx: 0x%02x ]\n",
144 (
long)relative_addr, (
int)idata);
152 #ifdef SSC_DEBUG_TXRX
153 debug(
"[ ssc: read from 0x%08lx: 0x%04x ]\n",
154 (
long)relative_addr, (
int)odata);
161 #ifdef SSC_DEBUG_TXRX
162 debug(
"[ ssc: write to 0x%08lx: 0x%02x ]\n",
163 (
long)relative_addr, (
int)idata);
170 debug(
"[ ssc: read from 0x%08lx ]\n",
171 (
long)relative_addr);
182 #ifdef SSC_DEBUG_TXRX
183 debug(
"[ ssc: read from 0x%08lx: 0x%08lx ]\n",
184 (
long)relative_addr, (
long)odata);
187 #ifdef SSC_DEBUG_TXRX
188 debug(
"[ ssc: write to 0x%08lx: 0x%08x ]\n",
189 (
long)relative_addr, idata);
196 debug(
"[ ssc: read from 0x%08lx ]\n",
197 (
long)relative_addr);
200 debug(
"[ ssc: write to 0x%08lx: 0x%08x ]\n",
201 (
long)relative_addr, (
int)idata);
208 debug(
"[ ssc: read from 0x%08lx ]\n",
209 (
long)relative_addr);
211 debug(
"[ ssc: write to 0x%08lx: 0x%08x ]\n",
212 (
long)relative_addr, (
int)idata);
216 dev_ssc_tick(
cpu, extra);
226 uint64_t baseaddr,
const char *irq_path,
int use_fb)
231 memset(d, 0,
sizeof(
struct ssc_data));
void console_putchar(int handle, int ch)
#define INTERRUPT_CONNECT(name, istruct)
#define INTERRUPT_ASSERT(istruct)
addr & if(addr >=0x24 &&page !=NULL)
void memory_device_register(struct memory *mem, const char *, uint64_t baseaddr, uint64_t len, int(*f)(struct cpu *, struct memory *, uint64_t, unsigned char *, size_t, int, void *), void *extra, int flags, unsigned char *dyntrans_data)
int console_charavail(int handle)
void machine_add_tickfunction(struct machine *machine, void(*func)(struct cpu *, void *), void *extra, int clockshift)
uint64_t memory_readmax64(struct cpu *cpu, unsigned char *buf, int len)
int console_readchar(int handle)
void dev_ssc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *irq_path, int use_fb)
int console_start_slave(struct machine *machine, const char *consolename, int use_for_input)
#define INTERRUPT_DEASSERT(istruct)
int dev_ssc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void memory_writemax64(struct cpu *cpu, unsigned char *buf, int len, uint64_t data)
int(* memory_rw)(struct cpu *cpu, struct memory *mem, uint64_t vaddr, unsigned char *data, size_t len, int writeflag, int cache_flags)
#define CHECK_ALLOCATION(ptr)
Generated on Tue Mar 24 2020 14:04:48 for GXemul by
1.8.17