45 #define DC_TICK_SHIFT 14 47 #define MAX_QUEUE_LEN 32768 80 while (entries_in_use < 0)
94 fatal(
"warning: add_to_rx_queue(): rx_queue overrun!\n");
163 uint64_t idata = 0, odata = 0;
172 switch (relative_addr) {
176 debug(
"[ dc7085 write to CSR: 0x%04x ]\n", idata);
196 debug(
"[ dc7085 write to LPR: 0x%04x ]\n", idata);
203 int ch = 0, lineno = 0;
262 debug(
"[ dc7085 read from MSR: (msr_tdr = 0x%04x) ]\n",
270 debug(
"[ dc7085 read from 0x%08lx ]\n",
271 (
long)relative_addr);
273 debug(
"[ dc7085 write to 0x%08lx:",
274 (
long)relative_addr);
275 for (i=0; i<len; i++)
299 uint64_t baseaddr,
char *irq_path,
int use_fb)
304 memset(d, 0,
sizeof(
struct dc_data));
uint64_t memory_readmax64(struct cpu *cpu, unsigned char *buf, int len)
void fatal(const char *fmt,...)
#define RBUF_LINE_NUM_SHIFT
int cur_rx_queue_pos_read
unsigned char rx_queue_char[MAX_QUEUE_LEN]
int cur_rx_queue_pos_write
int dev_dc7085_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb)
void add_to_rx_queue(void *e, int ch, int line_no)
int slow_serial_interrupts_hack_for_linux
int just_transmitted_something
void lk201_tick(struct machine *machine, struct lk201_data *d)
#define DEV_DC7085_LENGTH
void lk201_tx_data(struct lk201_data *d, int port, int idata)
#define CHECK_ALLOCATION(ptr)
void dev_dc7085_tick(struct cpu *cpu, void *)
char rx_queue_lineno[MAX_QUEUE_LEN]
#define INTERRUPT_ASSERT(istruct)
#define INTERRUPT_CONNECT(name, istruct)
void lk201_init(struct lk201_data *d, int use_fb, void(*add_to_rx_queue)(void *, int, int), int console_handle, void *add_data)
void memory_writemax64(struct cpu *cpu, unsigned char *buf, int len, uint64_t data)
int console_start_slave(struct machine *machine, const char *consolename, int use_for_input)
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 dev_dc7085_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void machine_add_tickfunction(struct machine *machine, void(*func)(struct cpu *, void *), void *extra, int clockshift)
#define INTERRUPT_DEASSERT(istruct)