#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "console.h"
#include "cpu.h"
#include "device.h"
#include "devices.h"
#include "interrupt.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "thirdparty/bireg.h"
#include "thirdparty/xmireg.h"
Go to the source code of this file.
Classes | |
struct | dec5800_data |
struct | decbi_data |
struct | deccca_data |
struct | decxmi_data |
Macros | |
#define | DEV_DEC5800_LENGTH 0x1000 /* TODO */ |
#define | DEV_DECBI_LENGTH 0x20000 |
Functions | |
void | dec5800_interrupt_assert (struct interrupt *interrupt) |
void | dec5800_interrupt_deassert (struct interrupt *interrupt) |
DEVICE_TICK (dec5800) | |
DEVICE_ACCESS (dec5800_vectors) | |
DEVICE_ACCESS (dec5800) | |
DEVINIT (dec5800) | |
DEVICE_ACCESS (decbi) | |
DEVINIT (decbi) | |
DEVICE_ACCESS (deccca) | |
void | dev_deccca_init (struct memory *mem, uint64_t baseaddr) |
DEVICE_ACCESS (decxmi) | |
void | dev_decxmi_init (struct memory *mem, uint64_t baseaddr) |
#define DEV_DEC5800_LENGTH 0x1000 /* TODO */ |
Definition at line 56 of file dev_dec5800.cc.
#define DEV_DECBI_LENGTH 0x20000 |
Definition at line 224 of file dev_dec5800.cc.
void dec5800_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 68 of file dev_dec5800.cc.
References dec5800_data::cpu_irq, dec5800_data::csr, interrupt::extra, INTERRUPT_ASSERT, and interrupt::line.
Referenced by DEVINIT().
void dec5800_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 75 of file dev_dec5800.cc.
References dec5800_data::cpu_irq, dec5800_data::csr, interrupt::extra, INTERRUPT_DEASSERT, and interrupt::line.
Referenced by DEVINIT().
void dev_deccca_init | ( | struct memory * | mem, |
uint64_t | baseaddr | ||
) |
Definition at line 389 of file dev_dec5800.cc.
References CHECK_ALLOCATION, dev_deccca_access(), DEV_DECCCA_LENGTH, DM_DEFAULT, and memory_device_register().
Referenced by MACHINE_SETUP().
void dev_decxmi_init | ( | struct memory * | mem, |
uint64_t | baseaddr | ||
) |
Definition at line 501 of file dev_dec5800.cc.
References CHECK_ALLOCATION, dev_decxmi_access(), DEV_DECXMI_LENGTH, DM_DEFAULT, and memory_device_register().
Referenced by MACHINE_SETUP().
DEVICE_ACCESS | ( | dec5800 | ) |
Definition at line 129 of file dev_dec5800.cc.
References cpu::cpu_id, dec5800_data::csr, data, debug, INTERRUPT_DEASSERT, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), and dec5800_data::timer_irq.
DEVICE_ACCESS | ( | dec5800_vectors | ) |
Definition at line 100 of file dev_dec5800.cc.
References data, debug, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), and dec5800_data::vector_0x50.
DEVICE_ACCESS | ( | decbi | ) |
Definition at line 231 of file dev_dec5800.cc.
References BI_NODESIZE, BICSR_NODEMASK, BIDT_KDB50, BIREG_DTYPE, BIREG_VAXBICSR, decbi_data::csr, data, debug, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), and NNODEBI.
DEVICE_ACCESS | ( | deccca | ) |
Definition at line 340 of file dev_dec5800.cc.
References data, debug, cpu::machine, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), and machine::ncpus.
DEVICE_ACCESS | ( | decxmi | ) |
Definition at line 418 of file dev_dec5800.cc.
References data, debug, cpu::machine, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), machine::ncpus, NNODEXMI, decxmi_data::reg_0xc, XMI_BUSERR, XMI_FAIL, XMI_NODESIZE, XMI_TYPE, XMIDT_DWMBA, and XMIDT_ISIS.
DEVICE_TICK | ( | dec5800 | ) |
Definition at line 84 of file dev_dec5800.cc.
References dec5800_data::csr, debug, INTERRUPT_ASSERT, and dec5800_data::timer_irq.
DEVINIT | ( | dec5800 | ) |
Definition at line 175 of file dev_dec5800.cc.
References devinit::addr, CHECK_ALLOCATION, dec5800_data::cpu_irq, dec5800_interrupt_assert(), dec5800_interrupt_deassert(), DEV_DEC5800_LENGTH, DM_DEFAULT, interrupt::extra, interrupt::interrupt_assert, INTERRUPT_CONNECT, interrupt::interrupt_deassert, interrupt_handler_register(), devinit::interrupt_path, interrupt::line, devinit::machine, machine_add_tickfunction(), machine::memory, memory_device_register(), interrupt::name, and dec5800_data::timer_irq.
DEVINIT | ( | decbi | ) |
Definition at line 313 of file dev_dec5800.cc.
References devinit::addr, CHECK_ALLOCATION, DEV_DECBI_LENGTH, DM_DEFAULT, devinit::machine, machine::memory, and memory_device_register().