#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "console.h"
#include "cpu.h"
#include "device.h"
#include "interrupt.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "thirdparty/comreg.h"
Go to the source code of this file.
Classes | |
struct | ns_data |
Macros | |
#define | TICK_SHIFT 14 |
#define | DEV_NS16550_LENGTH 8 |
Functions | |
DEVICE_TICK (ns16550) | |
DEVICE_ACCESS (ns16550) | |
DEVINIT (ns16550) | |
#define DEV_NS16550_LENGTH 8 |
Definition at line 52 of file dev_ns16550.cc.
#define TICK_SHIFT 14 |
Definition at line 51 of file dev_ns16550.cc.
DEVICE_ACCESS | ( | ns16550 | ) |
Definition at line 108 of file dev_ns16550.cc.
References ns_data::addrmult, com_data, com_ier, com_iir, com_lctl, com_lsr, com_mcr, com_msr, console_charavail(), ns_data::console_handle, console_makeavail(), console_putchar(), console_readchar(), data, ns_data::databits, debug, DEV_NS16550_LENGTH, ns_data::divisor, ns_data::dlab, ns_data::enable_fifo, fatal(), ns_data::fcr, IER_ETXRDY, if(), IIR_TXRDY, LSR_RXRDY, LSR_TSRE, LSR_TXRDY, MCR_IENABLE, MCR_LOOPBACK, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), MSR_CTS, MSR_DCD, MSR_DSR, ns_data::name, ns_data::parity, ns_data::reg, and ns_data::stopbits.
DEVICE_TICK | ( | ns16550 | ) |
Definition at line 74 of file dev_ns16550.cc.
References com_ier, com_iir, com_mcr, console_charavail(), ns_data::console_handle, IER_ERXRDY, IER_ETXRDY, if(), IIR_NOPEND, IIR_RXRDY, IIR_TXRDY, ns_data::int_asserted, INTERRUPT_ASSERT, INTERRUPT_DEASSERT, ns_data::irq, MCR_IENABLE, and ns_data::reg.
DEVINIT | ( | ns16550 | ) |
Definition at line 320 of file dev_ns16550.cc.
References devinit::addr, devinit::addr_mult, ns_data::addrmult, CHECK_ALLOCATION, ns_data::console_handle, console_start_slave(), ns_data::databits, DEV_NS16550_LENGTH, ns_data::divisor, ns_data::dlab, DM_DEFAULT, ns_data::enable_fifo, devinit::in_use, ns_data::in_use, INTERRUPT_CONNECT, devinit::interrupt_path, ns_data::irq, devinit::machine, machine_add_tickfunction(), machine::memory, memory_device_register(), devinit::name, ns_data::name, devinit::name2, ns_data::parity, devinit::return_ptr, ns_data::stopbits, strlen(), and TICK_SHIFT.