set_phy_ctrl(E1000State *s, int index, uint16_t val)

{

    if ((val & MII_CR_AUTO_NEG_EN) && (val & MII_CR_RESTART_AUTO_NEG)) {

        qemu_get_queue(s->nic)->link_down = true;

        e1000_link_down(s);

        s->phy_reg[PHY_STATUS] &= ~MII_SR_AUTONEG_COMPLETE;

        DBGOUT(PHY, "Start link auto negotiation\n");

        qemu_mod_timer(s->autoneg_timer, qemu_get_clock_ms(vm_clock) + 500);

    }

}

set_phy_ctrl(E1000State *s, int index, uint16_t val)

{

    if ((val & MII_CR_AUTO_NEG_EN) && (val & MII_CR_RESTART_AUTO_NEG)) {

        qemu_get_queue(s->nic)->link_down = true;

        e1000_link_down(s);

        s->phy_reg[PHY_STATUS] &= ~MII_SR_AUTONEG_COMPLETE;

        DBGOUT(PHY, "Start link auto negotiation\n");

        qemu_mod_timer(s->autoneg_timer, qemu_get_clock_ms(vm_clock) + 500);

    }

}

        qemu_get_queue(s->nic)->link_down = true;
FUNC_0(E1000State *VAR_0, int VAR_1, uint16_t VAR_2)

{

    if ((VAR_2 & MII_CR_AUTO_NEG_EN) && (VAR_2 & MII_CR_RESTART_AUTO_NEG)) {

        qemu_get_queue(VAR_0->nic)->link_down = true;

        e1000_link_down(VAR_0);

        VAR_0->phy_reg[PHY_STATUS] &= ~MII_SR_AUTONEG_COMPLETE;

        DBGOUT(PHY, "Start link auto negotiation\n");

        qemu_mod_timer(VAR_0->autoneg_timer, qemu_get_clock_ms(vm_clock) + 500);

    }

}

FUNC_0(E1000State *VAR_0, int VAR_1, uint16_t VAR_2)
{ if ((VAR_2 & MII_CR_AUTO_NEG_EN) && (VAR_2 & MII_CR_RESTART_AUTO_NEG)) { qemu_get_queue(VAR_0->nic)->link_down = true; e1000_link_down(VAR_0); VAR_0->phy_reg[PHY_STATUS] &= ~MII_SR_AUTONEG_COMPLETE; DBGOUT(PHY, "Start link auto negotiation\n"); qemu_mod_timer(VAR_0->autoneg_timer, qemu_get_clock_ms(vm_clock) + 500); } }