#include "nul/motherboard.h"
#include "model/pci.h"
#include "simplenet.h"
#include "model/reg.h"
Classes | |
class | Rtl8029Vnet |
class | Rtl8029Vnet::TxDone |
Defines | |
#define | MEMSIZE (64*1024) |
RTL8029 emulation - a ne2k compatible PCI network card. | |
#define | REGBASE "../model/rtl8029.cc" |
Functions | |
PARAM (rtl8029_vnet,{MessageHostOp msg(MessageHostOp::OP_GET_MAC, 0UL);if(!mb.bus_hostop.send(msg)) Logging::panic("Could not get a MAC address");Rtl8029Vnet *dev=new Rtl8029Vnet(mb.bus_vnet, mb.bus_hostop, mb.bus_irqlines, argv[1], msg.mac, PciHelper::find_free_bdf(mb.bus_pcicfg, argv[0]));mb.bus_pcicfg.add(dev, Rtl8029Vnet::receive_static< MessagePciConfig >);mb.bus_ioin.add(dev, Rtl8029Vnet::receive_static< MessageIOIn >);mb.bus_ioout.add(dev, Rtl8029Vnet::receive_static< MessageIOOut >);mb.bus_vnetping.add(dev, Rtl8029Vnet::receive_static< MessageVirtualNetPing >);dev->PCI_write(Rtl8029Vnet::PCI_INTR_offset, argv[1]);dev->PCI_write(Rtl8029Vnet::PCI_BAR_offset, argv[2]);dev->PCI_write(Rtl8029Vnet::PCI_CMD_STS_offset, 1);},"rtl8029_vnet:bdf,irq,ioio - attach an rtl8029 (ne2k compatible) network controller to the PCI bus","Example: 'rtl8029_vnet:,9,0x300'.","if no bdf is given a free one is used.") | |
Variables | |
unsigned char | cr |
unsigned short | clda |
unsigned char | bnry |
unsigned char | tsr |
unsigned char | ncr |
unsigned char | fifo |
unsigned char | isr |
unsigned short | crda |
unsigned short | id8029 |
unsigned char | rsr |
unsigned char | cntr [3] |
unsigned char | _cr1 |
unsigned char | par [6] |
unsigned char | curr |
unsigned char | mar [8] |
unsigned char | _cr2 |
unsigned char | pstart |
unsigned char | pstop |
unsigned char | _bnry2 |
unsigned char | tpsr |
unsigned short | tbcr |
unsigned char | _isr2 |
unsigned short | rsar |
unsigned short | rbcr |
unsigned char | rcr |
unsigned char | tcr |
unsigned char | dcr |
unsigned char | imr |
#define MEMSIZE (64*1024) |
RTL8029 emulation - a ne2k compatible PCI network card.
Copyright (C) 2010, Bernhard Kauer <bk@vmmon.org> Economic rights: Technische Universitaet Dresden (Germany)
This file is part of Vancouver.
Vancouver is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
Vancouver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details. RTL8029 device model.
State: unstable Features: PCI, send, receive, broadcast, promiscuous mode Missing: multicast, CRC calculation, rep optimized
#define REGBASE "../model/rtl8029.cc" |
PARAM | ( | rtl8029_vnet | ) |
unsigned char _bnry2 |
unsigned char _cr1 |
unsigned char _cr2 |
unsigned char _isr2 |
unsigned char bnry |
unsigned short clda |
unsigned char cntr[3] |
unsigned char cr |
unsigned short crda |
unsigned char curr |
unsigned char dcr |
unsigned char fifo |
unsigned short id8029 |
unsigned char imr |
unsigned char isr |
unsigned char mar[8] |
unsigned char ncr |
unsigned char par[6] |
unsigned char pstart |
unsigned char pstop |
unsigned short rbcr |
unsigned char rcr |
unsigned short rsar |
unsigned char rsr |
unsigned short tbcr |
unsigned char tcr |
unsigned char tpsr |
unsigned char tsr |