summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2018-03-28 17:36:27 +0100
committerJason Wang <jasowang@redhat.com>2018-04-10 11:30:03 +0800
commit46f2a9ec5470094dbc25a6c5263cc21751705ce3 (patch)
tree7f7a062236d256739d1c55db1c579b5c40238a1f
parent3c4053c52cf6294848d8219a14b491784c8bebc8 (diff)
downloadqemu-46f2a9ec5470094dbc25a6c5263cc21751705ce3.tar.gz
e1000: wire new subsection to property
Wire the new subsection from the previous commit to a property so we can turn it off easily. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
-rw-r--r--hw/net/e1000.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index d399ce3e4f..bb8ee2acb0 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -123,9 +123,11 @@ typedef struct E1000State_st {
#define E1000_FLAG_AUTONEG_BIT 0
#define E1000_FLAG_MIT_BIT 1
#define E1000_FLAG_MAC_BIT 2
+#define E1000_FLAG_TSO_BIT 3
#define E1000_FLAG_AUTONEG (1 << E1000_FLAG_AUTONEG_BIT)
#define E1000_FLAG_MIT (1 << E1000_FLAG_MIT_BIT)
#define E1000_FLAG_MAC (1 << E1000_FLAG_MAC_BIT)
+#define E1000_FLAG_TSO (1 << E1000_FLAG_TSO_BIT)
uint32_t compat_flags;
bool received_tx_tso;
} E1000State;
@@ -1422,6 +1424,13 @@ static bool e1000_full_mac_needed(void *opaque)
return chkflag(MAC);
}
+static bool e1000_tso_state_needed(void *opaque)
+{
+ E1000State *s = opaque;
+
+ return chkflag(TSO);
+}
+
static const VMStateDescription vmstate_e1000_mit_state = {
.name = "e1000/mit_state",
.version_id = 1,
@@ -1452,6 +1461,7 @@ static const VMStateDescription vmstate_e1000_tx_tso_state = {
.name = "e1000/tx_tso_state",
.version_id = 1,
.minimum_version_id = 1,
+ .needed = e1000_tso_state_needed,
.post_load = e1000_tx_tso_post_load,
.fields = (VMStateField[]) {
VMSTATE_UINT8(tx.tso_props.ipcss, E1000State),
@@ -1677,6 +1687,8 @@ static Property e1000_properties[] = {
compat_flags, E1000_FLAG_MIT_BIT, true),
DEFINE_PROP_BIT("extra_mac_registers", E1000State,
compat_flags, E1000_FLAG_MAC_BIT, true),
+ DEFINE_PROP_BIT("migrate_tso_props", E1000State,
+ compat_flags, E1000_FLAG_TSO_BIT, true),
DEFINE_PROP_END_OF_LIST(),
};