#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 "timer.h"
#include "thirdparty/bcureg.h"
#include "thirdparty/vripreg.h"
#include "thirdparty/vrkiureg.h"
#include "thirdparty/vr_rtcreg.h"
Go to the source code of this file.
Classes | |
struct | vr41xx_data |
Macros | |
#define | DEV_VR41XX_TICKSHIFT 14 |
#define | DEV_VR41XX_LENGTH 0x800 /* TODO? */ |
Functions | |
void | vr41xx_vrip_interrupt_assert (struct interrupt *interrupt) |
void | vr41xx_vrip_interrupt_deassert (struct interrupt *interrupt) |
void | vr41xx_giu_interrupt_assert (struct interrupt *interrupt) |
void | vr41xx_giu_interrupt_deassert (struct interrupt *interrupt) |
DEVICE_TICK (vr41xx) | |
DEVICE_ACCESS (vr41xx) | |
struct vr41xx_data * | dev_vr41xx_init (struct machine *machine, struct memory *mem, int cpumodel) |
#define DEV_VR41XX_LENGTH 0x800 /* TODO? */ |
Definition at line 60 of file dev_vr41xx.cc.
#define DEV_VR41XX_TICKSHIFT 14 |
Definition at line 58 of file dev_vr41xx.cc.
struct vr41xx_data* dev_vr41xx_init | ( | struct machine * | machine, |
struct memory * | mem, | ||
int | cpumodel | ||
) |
Definition at line 673 of file dev_vr41xx.cc.
References machine::bootstrap_cpu, CHECK_ALLOCATION, console_start_slave_inputonly(), vr41xx_data::cpu_irq, vr41xx_data::cpumodel, dev_ram_init(), DEV_RAM_MIRROR, DEV_VR41XX_LENGTH, DEV_VR41XX_TICKSHIFT, device_add(), DM_DEFAULT, interrupt::extra, vr41xx_data::giu_irq, x11_md::in_use, interrupt::interrupt_assert, INTERRUPT_CONNECT, interrupt::interrupt_deassert, interrupt_handler_register(), vr41xx_data::kiu_console_handle, vr41xx_data::kiu_irq, vr41xx_data::kiu_offset, interrupt::line, machine_add_tickfunction(), machine::main_console_handle, memory_device_register(), interrupt::name, machine::path, vr41xx_data::timer_irq, vr41xx_giu_interrupt_assert(), vr41xx_giu_interrupt_deassert(), vr41xx_vrip_interrupt_assert(), vr41xx_vrip_interrupt_deassert(), VRIP_INTR_ETIMER, VRIP_INTR_GIU, VRIP_INTR_KIU, VRIP_INTR_SIU, and machine::x11_md.
Referenced by MACHINE_SETUP().
DEVICE_ACCESS | ( | vr41xx | ) |
Definition at line 480 of file dev_vr41xx.cc.
References data, vr41xx_data::kiu_offset, MEM_WRITE, and memory_readmax64().
DEVICE_TICK | ( | vr41xx | ) |
Definition at line 400 of file dev_vr41xx.cc.
References x11_md::in_use, INTERRUPT_ASSERT, cpu::machine, vr41xx_data::pending_timer_interrupts, vr41xx_data::timer_irq, and machine::x11_md.
void vr41xx_giu_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 123 of file dev_vr41xx.cc.
References interrupt::extra, vr41xx_data::giu_irq, vr41xx_data::giuint, vr41xx_data::giumask, INTERRUPT_ASSERT, and interrupt::line.
Referenced by dev_vr41xx_init().
void vr41xx_giu_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 131 of file dev_vr41xx.cc.
References interrupt::extra, vr41xx_data::giu_irq, vr41xx_data::giuint, vr41xx_data::giumask, INTERRUPT_DEASSERT, and interrupt::line.
Referenced by dev_vr41xx_init().
void vr41xx_vrip_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 95 of file dev_vr41xx.cc.
References vr41xx_data::cpu_irq, interrupt::extra, if(), INTERRUPT_ASSERT, interrupt::line, vr41xx_data::msysint1, vr41xx_data::msysint2, vr41xx_data::sysint1, and vr41xx_data::sysint2.
Referenced by dev_vr41xx_init().
void vr41xx_vrip_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 106 of file dev_vr41xx.cc.
References vr41xx_data::cpu_irq, interrupt::extra, if(), INTERRUPT_DEASSERT, interrupt::line, vr41xx_data::msysint1, vr41xx_data::msysint2, vr41xx_data::sysint1, and vr41xx_data::sysint2.
Referenced by dev_vr41xx_init().