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