#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cpu.h"
#include "device.h"
#include "emul.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "net.h"
#include "testmachine/dev_ether.h"
Go to the source code of this file.
Classes | |
struct | ether_data |
Macros | |
#define | DEV_ETHER_TICK_SHIFT 14 |
Functions | |
DEVICE_TICK (ether) | |
DEVICE_ACCESS (ether_buf) | |
DEVICE_ACCESS (ether) | |
DEVINIT (ether) | |
#define DEV_ETHER_TICK_SHIFT 14 |
Definition at line 49 of file dev_ether.cc.
Referenced by DEVINIT().
DEVICE_ACCESS | ( | ether_buf | ) |
Definition at line 80 of file dev_ether.cc.
References ether_data::buf, data, and MEM_WRITE.
DEVICE_ACCESS | ( | ether | ) |
Definition at line 93 of file dev_ether.cc.
References ether_data::buf, CACHE_NONE, data, DEV_ETHER_BUFFER_SIZE, DEV_ETHER_COMMAND, DEV_ETHER_COMMAND_RX, DEV_ETHER_COMMAND_TX, DEV_ETHER_MAC, DEV_ETHER_PACKETLENGTH, DEV_ETHER_STATUS, DEV_ETHER_STATUS_PACKET_RECEIVED, machine::emul, fatal(), INTERRUPT_DEASSERT, ether_data::irq, ether_data::mac, cpu::machine, cpu::mem, MEM_READ, MEM_WRITE, memory_readmax64(), cpu::memory_rw, memory_writemax64(), emul::net, net_ethernet_rx(), net_ethernet_tx(), ether_data::packet_len, cpu::running, and ether_data::status.
DEVICE_TICK | ( | ether | ) |
Definition at line 62 of file dev_ether.cc.
References DEV_ETHER_STATUS_MORE_PACKETS_AVAILABLE, machine::emul, INTERRUPT_ASSERT, INTERRUPT_DEASSERT, ether_data::irq, cpu::machine, emul::net, net_ethernet_rx_avail(), and ether_data::status.
DEVINIT | ( | ether | ) |
Definition at line 208 of file dev_ether.cc.
References devinit::addr, CHECK_ALLOCATION, DEV_ETHER_BUFFER_SIZE, DEV_ETHER_LENGTH, DEV_ETHER_TICK_SHIFT, DM_DEFAULT, DM_DYNTRANS_OK, DM_DYNTRANS_WRITE_OK, DM_READS_HAVE_NO_SIDE_EFFECTS, machine::emul, INTERRUPT_CONNECT, devinit::interrupt_path, ether_data::irq, ether_data::mac, devinit::machine, machine_add_tickfunction(), machine::memory, memory_device_register(), devinit::name, emul::net, net_add_nic(), net_generate_unique_mac(), and strlen().