[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 34ea02: net: add tulip (dec21143) driver
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 34ea02: net: add tulip (dec21143) driver |
Date: |
Tue, 29 Oct 2019 13:05:24 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 34ea023d4b959f35be8771470483c57dbbe2447d
https://github.com/qemu/qemu/commit/34ea023d4b959f35be8771470483c57dbbe2447d
Author: Sven Schnelle <address@hidden>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
M MAINTAINERS
M hw/net/Kconfig
M hw/net/Makefile.objs
M hw/net/trace-events
A hw/net/tulip.c
A hw/net/tulip.h
M include/hw/pci/pci_ids.h
Log Message:
-----------
net: add tulip (dec21143) driver
This adds the basic functionality to emulate a Tulip NIC.
Implemented are:
- RX and TX functionality
- Perfect Frame Filtering
- Big/Little Endian descriptor support
- 93C46 EEPROM support
- LXT970 PHY
Not implemented, mostly because i had no OS using these functions:
- Imperfect frame filtering
- General Purpose Timer
- Transmit automatic polling
- Boot ROM support
- SIA interface
- Big/Little Endian data buffer conversion
Successfully tested with the following Operating Systems:
- MSDOS with Microsoft Network Client 3.0 and DEC ODI drivers
- HPPA Linux
- Windows XP
- HP-UX
Signed-off-by: Sven Schnelle <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 1dd713837cac8ec5a97d3b8492d72ce5ac94803c
https://github.com/qemu/qemu/commit/1dd713837cac8ec5a97d3b8492d72ce5ac94803c
Author: Michael S. Tsirkin <address@hidden>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
M hw/virtio/virtio.c
M include/hw/virtio/virtio.h
Log Message:
-----------
virtio: new post_load hook
Post load hook in virtio vmsd is called early while device is processed,
and when VirtIODevice core isn't fully initialized. Most device
specific code isn't ready to deal with a device in such state, and
behaves weirdly.
Add a new post_load hook in a device class instead. Devices should use
this unless they specifically want to verify the migration stream as
it's processed, e.g. for bounds checking.
Cc: address@hidden
Suggested-by: "Dr. David Alan Gilbert" <address@hidden>
Cc: Mikhail Sennikovsky <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 7788c3f2e21e35902d45809b236791383bbb613e
https://github.com/qemu/qemu/commit/7788c3f2e21e35902d45809b236791383bbb613e
Author: Mikhail Sennikovsky <address@hidden>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
M hw/net/virtio-net.c
M include/hw/virtio/virtio-net.h
Log Message:
-----------
virtio-net: prevent offloads reset on migration
Currently offloads disabled by guest via the VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET
command are not preserved on VM migration.
Instead all offloads reported by guest features (via VIRTIO_PCI_GUEST_FEATURES)
get enabled.
What happens is: first the VirtIONet::curr_guest_offloads gets restored and
offloads
are getting set correctly:
#0 qemu_set_offload (nc=0x555556a11400, csum=1, tso4=0, tso6=0, ecn=0, ufo=0)
at net/net.c:474
#1 virtio_net_apply_guest_offloads (n=0x555557701ca0) at
hw/net/virtio-net.c:720
#2 virtio_net_post_load_device (opaque=0x555557701ca0, version_id=11) at
hw/net/virtio-net.c:2334
#3 vmstate_load_state (f=0x5555569dc010, vmsd=0x555556577c80
<vmstate_virtio_net_device>, opaque=0x555557701ca0, version_id=11)
at migration/vmstate.c:168
#4 virtio_load (vdev=0x555557701ca0, f=0x5555569dc010, version_id=11) at
hw/virtio/virtio.c:2197
#5 virtio_device_get (f=0x5555569dc010, opaque=0x555557701ca0, size=0,
field=0x55555668cd00 <__compound_literal.5>) at hw/virtio/virtio.c:2036
#6 vmstate_load_state (f=0x5555569dc010, vmsd=0x555556577ce0
<vmstate_virtio_net>, opaque=0x555557701ca0, version_id=11) at
migration/vmstate.c:143
#7 vmstate_load (f=0x5555569dc010, se=0x5555578189e0) at
migration/savevm.c:829
#8 qemu_loadvm_section_start_full (f=0x5555569dc010, mis=0x5555569eee20) at
migration/savevm.c:2211
#9 qemu_loadvm_state_main (f=0x5555569dc010, mis=0x5555569eee20) at
migration/savevm.c:2395
#10 qemu_loadvm_state (f=0x5555569dc010) at migration/savevm.c:2467
#11 process_incoming_migration_co (opaque=0x0) at migration/migration.c:449
However later on the features are getting restored, and offloads get reset to
everything supported by features:
#0 qemu_set_offload (nc=0x555556a11400, csum=1, tso4=1, tso6=1, ecn=0, ufo=0)
at net/net.c:474
#1 virtio_net_apply_guest_offloads (n=0x555557701ca0) at
hw/net/virtio-net.c:720
#2 virtio_net_set_features (vdev=0x555557701ca0, features=5104441767) at
hw/net/virtio-net.c:773
#3 virtio_set_features_nocheck (vdev=0x555557701ca0, val=5104441767) at
hw/virtio/virtio.c:2052
#4 virtio_load (vdev=0x555557701ca0, f=0x5555569dc010, version_id=11) at
hw/virtio/virtio.c:2220
#5 virtio_device_get (f=0x5555569dc010, opaque=0x555557701ca0, size=0,
field=0x55555668cd00 <__compound_literal.5>) at hw/virtio/virtio.c:2036
#6 vmstate_load_state (f=0x5555569dc010, vmsd=0x555556577ce0
<vmstate_virtio_net>, opaque=0x555557701ca0, version_id=11) at
migration/vmstate.c:143
#7 vmstate_load (f=0x5555569dc010, se=0x5555578189e0) at
migration/savevm.c:829
#8 qemu_loadvm_section_start_full (f=0x5555569dc010, mis=0x5555569eee20) at
migration/savevm.c:2211
#9 qemu_loadvm_state_main (f=0x5555569dc010, mis=0x5555569eee20) at
migration/savevm.c:2395
#10 qemu_loadvm_state (f=0x5555569dc010) at migration/savevm.c:2467
#11 process_incoming_migration_co (opaque=0x0) at migration/migration.c:449
Fix this by preserving the state in saved_guest_offloads field and
pushing out offload initialization to the new post load hook.
Cc: address@hidden
Signed-off-by: Mikhail Sennikovsky <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 1e907a32b77e5d418538453df5945242e43224fa
https://github.com/qemu/qemu/commit/1e907a32b77e5d418538453df5945242e43224fa
Author: Fan Yang <address@hidden>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
M net/colo-compare.c
Log Message:
-----------
COLO-compare: Fix incorrect `if` logic
'colo_mark_tcp_pkt' should return 'true' when packets are the same, and
'false' otherwise. However, it returns 'true' when
'colo_compare_packet_payload' returns non-zero while
'colo_compare_packet_payload' is just a 'memcmp'. The result is that
COLO-compare reports inconsistent TCP packets when they are actually
the same.
Fixes: f449c9e549c ("colo: compare the packet based on the tcp sequence number")
Cc: address@hidden
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Fan Yang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 1cfe28cdcabd10e31b0e05db8a2cfd9993f315e2
https://github.com/qemu/qemu/commit/1cfe28cdcabd10e31b0e05db8a2cfd9993f315e2
Author: Peter Maydell <address@hidden>
Date: 2019-10-29 (Tue, 29 Oct 2019)
Changed paths:
M MAINTAINERS
M hw/net/Kconfig
M hw/net/Makefile.objs
M hw/net/trace-events
A hw/net/tulip.c
A hw/net/tulip.h
M hw/net/virtio-net.c
M hw/virtio/virtio.c
M include/hw/pci/pci_ids.h
M include/hw/virtio/virtio-net.h
M include/hw/virtio/virtio.h
M net/colo-compare.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into
staging
# gpg: Signature made Tue 29 Oct 2019 02:33:36 GMT
# gpg: using RSA key EF04965B398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <address@hidden>"
[marginal]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 215D 46F4 8246 689E C77F 3562 EF04 965B 398D 6211
* remotes/jasowang/tags/net-pull-request:
COLO-compare: Fix incorrect `if` logic
virtio-net: prevent offloads reset on migration
virtio: new post_load hook
net: add tulip (dec21143) driver
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/69f735179e06...1cfe28cdcabd
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 34ea02: net: add tulip (dec21143) driver,
Peter Maydell <=