*/
#include <devices/pci.h>
-#include <devices/ne2k.h>
+#include <config/ne2k.h>
#include <palacios/vmm.h>
#include <palacios/vmm_types.h>
#include <palacios/vmm_io.h>
#include <palacios/vmm_debug.h>
#include <palacios/vmm_string.h>
+#include <palacios/vmm_dev_mgr.h>
+#include <palacios/vmm_intr.h>
-#ifndef DEBUG_NE2K
+#ifndef CONFIG_DEBUG_NE2K
#undef PrintDebug
#define PrintDebug(fmts, args...)
#endif
#define compare_mac(src, dst) !memcmp(src, dst, 6)
-#ifdef DEBUG_NE2K
+#ifdef CONFIG_DEBUG_NE2K
static void dump_state(struct vm_device * dev) {
struct ne2k_context *nic_state = (struct ne2k_context *)dev->private_data;
int i;
static int ne2k_update_irq(struct vm_device *dev) {
- struct ne2k_context * nic_state = (struct ne2k_context *)dev->private_data;
+ struct ne2k_context * nic_state = (struct ne2k_context *)(dev->private_data);
struct pci_device * pci_dev = nic_state->pci_dev;
int irq_line = 0;
PrintDebug("Ne2k: Device %p is not attached to any PCI Bus\n", nic_state);
irq_line = NE2K_DEFAULT_IRQ;
} else {
- irq_line = pdev->config_header.intr_line;
+ irq_line = pci_dev->config_header.intr_line;
}
if (irq_line == 0){
// The top bit of the ISR/IMR is reserved and does not indicate and irq event
// We mask the bit out of the irq pending check
if ((nic_state->isr.val & nic_state->imr.val) & 0x7f) {
- v3_raise_irq(nic_state->vm, irq_line);
+ v3_raise_virq(nic_state->vm, irq_line);
PrintDebug("Ne2k: RaiseIrq: isr: 0x%02x imr: 0x%02x\n", nic_state->isr.val, nic_state->imr.val);
}
nic_state->vm = dev->vm;
- nic_state->isr.reset = 1;
+ nic_state->isr.reset_status = 1;
nic_state->imr.val = 0x00;
nic_state->cmd.val = 0x22;
nic_state->mem[14] = 0x57;
nic_state->mem[15] = 0x57;
-#ifdef DEBUG_NE2K
+#ifdef CONFIG_DEBUG_NE2K
dump_state(dev);
#endif
p = nic_state->mem + index;
nic_state->rsr.val = 0;
- nic_state->rsr.rx_pkt_ok = 1;
+ nic_state->rsr.pkt_rx_ok = 1;
if (pkt[0] & 0x01) {
nic_state->rsr.phy = 1;
static const uchar_t brocast_mac[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
int i;
-#ifdef DEBUG_NE2K
+#ifdef CONFIG_DEBUG_NE2K
PrintDebug("\nNe2k: Packet Received:\nSource:");
for (i = 6; i < 12; i++) {
PrintDebug("%x ", pkt[i]);
nic_state->cmd.val = *(uint8_t *)src;
if (!(nic_state->cmd.stop)) {
- nic_state->isr.reset = 0;
+ nic_state->isr.reset_status = 0;
// if ((send pkt) && (dma byte count == 0))
}
-#ifdef DEBUG_NE2K
+#ifdef CONFIG_DEBUG_NE2K
dump_state(dev);
#endif