Revision 28366c3a hw/e1000.c

b/hw/e1000.c
881 881
            (8 * (addr & 3))) & 0xffff;
882 882
}
883 883

  
884
static const struct {
885
    int size;
886
    int array0;
887
} mac_regarraystosave[] = { {32, RA}, {128, MTA}, {128, VFTA} };
888
enum { MAC_NARRAYS = ARRAY_SIZE(mac_regarraystosave) };
889

  
890 884
static void
891 885
nic_save(QEMUFile *f, void *opaque)
892 886
{
893 887
    E1000State *s = opaque;
894
    int i, j;
888
    int i;
895 889

  
896 890
    pci_device_save(&s->dev, f);
897 891
    qemu_put_be32(f, 0);
......
959 953
    qemu_put_be32s(f, &s->mac_reg[TXDCTL]);
960 954
    qemu_put_be32s(f, &s->mac_reg[WUFC]);
961 955
    qemu_put_be32s(f, &s->mac_reg[VET]);
962
    for (i = 0; i < MAC_NARRAYS; i++)
963
        for (j = 0; j < mac_regarraystosave[i].size; j++)
964
            qemu_put_be32s(f,
965
                           s->mac_reg + mac_regarraystosave[i].array0 + j);
956
    for (i = RA; i < RA + 32; i++)
957
        qemu_put_be32s(f, &s->mac_reg[i]);
958
    for (i = MTA; i < MTA + 128; i++)
959
        qemu_put_be32s(f, &s->mac_reg[i]);
960
    for (i = VFTA; i < VFTA + 128; i++)
961
        qemu_put_be32s(f, &s->mac_reg[i]);
966 962
}
967 963

  
968 964
static int
969 965
nic_load(QEMUFile *f, void *opaque, int version_id)
970 966
{
971 967
    E1000State *s = opaque;
972
    int i, j, ret;
968
    int i, ret;
973 969

  
974 970
    if ((ret = pci_device_load(&s->dev, f)) < 0)
975 971
        return ret;
......
1040 1036
    qemu_get_be32s(f, &s->mac_reg[TXDCTL]);
1041 1037
    qemu_get_be32s(f, &s->mac_reg[WUFC]);
1042 1038
    qemu_get_be32s(f, &s->mac_reg[VET]);
1043
    for (i = 0; i < MAC_NARRAYS; i++)
1044
        for (j = 0; j < mac_regarraystosave[i].size; j++)
1045
            qemu_get_be32s(f,
1046
                           s->mac_reg + mac_regarraystosave[i].array0 + j);
1039
    for (i = RA; i < RA + 32; i++)
1040
        qemu_get_be32s(f, &s->mac_reg[i]);
1041
    for (i = MTA; i < MTA + 128; i++)
1042
        qemu_get_be32s(f, &s->mac_reg[i]);
1043
    for (i = VFTA; i < VFTA + 128; i++)
1044
        qemu_get_be32s(f, &s->mac_reg[i]);
1047 1045
    return 0;
1048 1046
}
1049 1047

  

Also available in: Unified diff