X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Frtl8139.c;h=0a1a33524dc63a05674e427b2a4c9023cab0a9c9;hb=ad468ace3ffaac55719923219920d038b3be5844;hp=199d0d7c8506e9de370781cbc8da0e4b1c66f3eb;hpb=b349b55150ada21d3f973bf9a2571f7fd7312c4f;p=palacios.git diff --git a/palacios/src/devices/rtl8139.c b/palacios/src/devices/rtl8139.c index 199d0d7..0a1a335 100644 --- a/palacios/src/devices/rtl8139.c +++ b/palacios/src/devices/rtl8139.c @@ -28,7 +28,7 @@ -#ifndef CONFIG_DEBUG_RTL8139 +#ifndef V3_CONFIG_DEBUG_RTL8139 #undef PrintDebug #define PrintDebug(fmts, args...) #endif @@ -171,16 +171,16 @@ struct rx_status_reg { union { uint16_t val; struct { - uint8_t rx_ok : 1; - uint8_t rx_bad_align : 1; - uint8_t rx_crc_err : 1; - uint8_t rx_too_long : 1; - uint8_t rx_runt : 1; - uint8_t rx_bad_sym : 1; - uint8_t reserved : 7; - uint8_t rx_brdcast : 1; - uint8_t rx_phys : 1; - uint8_t rx_multi : 1; + uint16_t rx_ok : 1; + uint16_t rx_bad_align : 1; + uint16_t rx_crc_err : 1; + uint16_t rx_too_long : 1; + uint16_t rx_runt : 1; + uint16_t rx_bad_sym : 1; + uint16_t reserved : 7; + uint16_t rx_brdcast : 1; + uint16_t rx_phys : 1; + uint16_t rx_multi : 1; } __attribute__((packed)); } __attribute__((packed)); } __attribute__((packed)); @@ -270,17 +270,17 @@ struct isr_imr_reg { union { uint16_t val; struct { - uint8_t rx_ok :1; - uint8_t rx_err : 1; - uint8_t tx_ok : 1; - uint8_t tx_err : 1; - uint8_t rx_ovw : 1; - uint8_t pun_linkchg : 1; - uint8_t rx_fifo_ovw : 1; - uint8_t reservd: 6; - uint8_t lenchg :1; - uint8_t timeout :1; - uint8_t syserr :1; + uint16_t rx_ok :1; + uint16_t rx_err : 1; + uint16_t tx_ok : 1; + uint16_t tx_err : 1; + uint16_t rx_ovw : 1; + uint16_t pun_linkchg : 1; + uint16_t rx_fifo_ovw : 1; + uint16_t reservd: 6; + uint16_t lenchg :1; + uint16_t timeout :1; + uint16_t syserr :1; } __attribute__((packed)); } __attribute__((packed)); } __attribute__((packed)); @@ -583,7 +583,7 @@ static inline void rtl8139_update_irq(struct rtl8139_state * nic_state) { if(isr & 0xffff){ v3_pci_raise_irq(nic_state->pci_bus, 0, nic_state->pci_dev); - nic_state->statistic.interrupts ++; + nic_state->statistic.tx_interrupts ++; } } @@ -1174,7 +1174,7 @@ static int tx_one_packet(struct rtl8139_state * nic_state, int descriptor){ v3_gpa_to_hva(&(nic_state->vm->cores[0]), (addr_t)pkt_gpa, &hostva); pkt = (uchar_t *)hostva; -#ifdef CONFIG_DEBUG_RTL8139 +#ifdef V3_CONFIG_DEBUG_RTL8139 v3_hexdump(pkt, txsize, NULL, 0); #endif @@ -1774,10 +1774,7 @@ static int connect_fn(struct v3_vm_info * info, ops->recv = rtl8139_rx; ops->poll = NULL; - ops->start_tx = NULL; - ops->stop_tx = NULL; - ops->frontend_data = nic_state; - memcpy(ops->fnt_mac, nic_state->mac, ETH_ALEN); + memcpy(ops->config.fnt_mac, nic_state->mac, ETH_ALEN); return 0; }