#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bus_pci.h"
#include "console.h"
#include "cpu.h"
#include "device.h"
#include "devices.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "timer.h"
#include "thirdparty/dc21285reg.h"
Go to the source code of this file.
Classes | |
struct | footbridge_data |
Macros | |
#define | DEV_FOOTBRIDGE_TICK_SHIFT 14 |
#define | DEV_FOOTBRIDGE_LENGTH 0x400 |
#define | N_FOOTBRIDGE_TIMERS 4 |
Functions | |
DEVICE_TICK (footbridge) | |
void | footbridge_interrupt_assert (struct interrupt *interrupt) |
void | footbridge_interrupt_deassert (struct interrupt *interrupt) |
DEVICE_ACCESS (footbridge_isa) | |
DEVICE_ACCESS (footbridge_reset) | |
DEVICE_ACCESS (footbridge_pci) | |
DEVICE_ACCESS (footbridge) | |
DEVINIT (footbridge) | |
#define DEV_FOOTBRIDGE_LENGTH 0x400 |
Definition at line 56 of file dev_footbridge.cc.
Referenced by DEVINIT().
#define DEV_FOOTBRIDGE_TICK_SHIFT 14 |
Definition at line 55 of file dev_footbridge.cc.
Referenced by DEVINIT().
#define N_FOOTBRIDGE_TIMERS 4 |
Definition at line 58 of file dev_footbridge.cc.
Referenced by DEVICE_ACCESS(), DEVICE_TICK(), and DEVINIT().
DEVICE_ACCESS | ( | footbridge_isa | ) |
Definition at line 184 of file dev_footbridge.cc.
References data, fatal(), pic8259_data::irq_base, machine::isa_pic_data, isa_pic_data::last_int, cpu::machine, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), isa_pic_data::pic1, and isa_pic_data::pic2.
DEVICE_ACCESS | ( | footbridge_reset | ) |
Definition at line 213 of file dev_footbridge.cc.
References data, debug, MEM_WRITE, memory_readmax64(), and cpu::running.
DEVICE_ACCESS | ( | footbridge_pci | ) |
Definition at line 235 of file dev_footbridge.cc.
References bus_pci_data_access(), bus_pci_decompose_1(), bus_pci_setaddr(), data, debug, fatal(), MEM_PCI_LITTLE_ENDIAN, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), cpu::pc, footbridge_data::pcibus, and reg.
DEVICE_ACCESS | ( | footbridge | ) |
Definition at line 268 of file dev_footbridge.cc.
References footbridge_data::console_handle, console_putchar(), data, DEVICE_ID, fatal(), footbridge_data::fiq_enable, FIQ_ENABLE_CLEAR, FIQ_ENABLE_SET, FIQ_RAW_STATUS, footbridge_data::fiq_status, FIQ_STATUS, INTERRUPT_ASSERT, INTERRUPT_DEASSERT, footbridge_data::irq, footbridge_data::irq_enable, IRQ_ENABLE_CLEAR, IRQ_ENABLE_SET, IRQ_RAW_STATUS, footbridge_data::irq_status, IRQ_STATUS, MEM_READ, MEM_WRITE, memory_readmax64(), N_FOOTBRIDGE_TIMERS, PCI_ADDRESS_EXTENSION, PCI_CENTRAL_FUNCTION, REVISION, SA_CONTROL, TIMER_1_LOAD, TIMER_4_CLEAR, footbridge_data::timer_load, TIMER_MAX_VAL, UART_DATA, UART_FLAGS, UART_RX_STAT, UART_TX_EMPTY, and VENDOR_ID.
DEVICE_TICK | ( | footbridge | ) |
Definition at line 133 of file dev_footbridge.cc.
References INTERRUPT_ASSERT, N_FOOTBRIDGE_TIMERS, footbridge_data::pending_timer_interrupts, footbridge_data::timer_control, TIMER_ENABLE, footbridge_data::timer_irq, footbridge_data::timer_load, and footbridge_data::timer_value.
DEVINIT | ( | footbridge | ) |
Definition at line 474 of file dev_footbridge.cc.
References devinit::addr, bus_pci_add(), bus_pci_init(), CHECK_ALLOCATION, footbridge_data::console_handle, console_start_slave(), DEV_FOOTBRIDGE_LENGTH, DEV_FOOTBRIDGE_TICK_SHIFT, DM_DEFAULT, interrupt::extra, fatal(), footbridge_interrupt_assert(), footbridge_interrupt_deassert(), interrupt::interrupt_assert, INTERRUPT_CONNECT, interrupt::interrupt_deassert, interrupt_handler_register(), devinit::interrupt_path, footbridge_data::irq, IRQ_TIMER_1, IRQ_TIMER_4, interrupt::line, devinit::machine, machine_add_tickfunction(), MACHINE_CATS, MACHINE_NETWINDER, machine::machine_type, machine::memory, memory_device_register(), N_FOOTBRIDGE_TIMERS, devinit::name, interrupt::name, footbridge_data::pcibus, devinit::return_ptr, footbridge_data::timer_control, footbridge_data::timer_irq, footbridge_data::timer_load, TIMER_MAX_VAL, and TIMER_MODE_PERIODIC.
void footbridge_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 152 of file dev_footbridge.cc.
References interrupt::extra, if(), INTERRUPT_ASSERT, footbridge_data::irq, footbridge_data::irq_asserted, footbridge_data::irq_enable, footbridge_data::irq_status, and interrupt::line.
Referenced by DEVINIT().
void footbridge_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 167 of file dev_footbridge.cc.
References interrupt::extra, if(), INTERRUPT_DEASSERT, footbridge_data::irq, footbridge_data::irq_asserted, footbridge_data::irq_enable, footbridge_data::irq_status, and interrupt::line.
Referenced by DEVINIT().