This is the set of changes I made while cleaning up Virtio MMIO and the console code. It is cleaned up and ready for Gan to take over, since I'm moving to a new team next week.
You should only trust it to build and run at the final commit in the series (commit 60c787b2b8d0608597671a16d194c924917b9532). Gan, you will have to coordinate migrating this to the new 2LS infrastructure. I will supply you with a list of TODOs. Note: My master is from *before* the 2LS upgrades. Github compare link vs mtaufen/master: https://github.com/mtaufen/akaros/compare/master...mtaufen:virtio-mmio-redo Github compare link vs brho/master: https://github.com/brho/akaros/compare/master...mtaufen:virtio-mmio-redo Pull request vs mtaufen/master: The following changes since commit 5aa00200baf7236595c1ab0cb639a64f201dc349: Initial clean up of gettimeofday and timekeeping (2016-04-29 10:09:00 -0400) are available in the git repository at: [email protected]:mtaufen/akaros.git virtio-mmio-redo for you to fetch changes up to 60c787b2b8d0608597671a16d194c924917b9532: VMM: Replace the old virtio in vmrunkernel with the new virtio (2016-05-07 16:44:05 -0700) ---------------------------------------------------------------- Michael Taufen (21): VMM: Remove the old virtio (XCC) VMM: Brought virtio headers in from Linux v4.5 VMM: Converted headers to use pragma once VMM: Change virtio header include paths from linux to vmm VMM: Removed virtio_types.h and includes for that file VMM: Converted virtio headers to rely on types from stdint VMM: Add virtio.h, which contains our error macros and core virtio structures VMM: Added virtio_lguest_helpers.c with utility functions VMM: Added includes to virtio_lguest_helpers.c for our implementation of virtio-mmio VMM: Modify lguest helpers for our virtio VMM: Change wmb to ACCESS_ONCE in next_desc in virtio_lguest_helpers.c VMM: Added virtio_lguest_helpers.h for helper functions derived from lguest VMM: Added a helper function for validating device features VMM: Add our virtio_mmio_dev struct and specify its interface functions VMM: Add virtio_mmio.c which contains our implementation of the virtio mmio transport VMM: Decoder hack VMM: Added the VIRTIO_CONFIG_S_NEEDS_RESET bit to virtio_config.h VMM: Added console queue service functions from lguest VMM: Modified console queue service functions for our virtio VMM: Added header for virtio_lguest_console functions VMM: Replace the old virtio in vmrunkernel with the new virtio kern/include/ros/virtio_ring.h | 160 ------- tests/vmm/vmrunkernel.c | 199 +++------ user/vmm/decode.c | 40 +- user/vmm/include/vmm/virtio.h | 221 +++++---- user/vmm/include/vmm/virtio_9p.h | 10 +- user/vmm/include/vmm/virtio_balloon.h | 15 +- user/vmm/include/vmm/virtio_blk.h | 49 +- user/vmm/include/vmm/virtio_config.h | 2 + user/vmm/include/vmm/virtio_console.h | 21 +- user/vmm/include/vmm/virtio_gpu.h | 314 +++++++++++++ user/vmm/include/vmm/virtio_ids.h | 3 + user/vmm/include/vmm/virtio_input.h | 36 +- user/vmm/include/vmm/virtio_lguest_console.h | 29 ++ user/vmm/include/vmm/virtio_lguest_helpers.h | 46 ++ user/vmm/include/vmm/virtio_mmio.h | 135 ++++-- user/vmm/include/vmm/virtio_net.h | 69 +-- user/vmm/include/vmm/virtio_pci.h | 64 +-- user/vmm/include/vmm/virtio_ring.h | 39 +- user/vmm/include/vmm/virtio_rng.h | 5 +- user/vmm/include/vmm/virtio_scsi.h | 88 ++-- user/vmm/include/vmm/virtio_types.h | 43 -- user/vmm/virtio-mmio.c | 431 ------------------ user/vmm/virtio.c | 47 ++ user/vmm/virtio_lguest_console.c | 160 +++++++ user/vmm/virtio_lguest_helpers.c | 349 +++++++++++++++ user/vmm/virtio_mmio.c | 939 +++++++++++++++++++++++++++++++++++++++ user/vmm/virtio_ring.c | 1130 ----------------------------------------------- 27 files changed, 2386 insertions(+), 2258 deletions(-) delete mode 100644 kern/include/ros/virtio_ring.h create mode 100644 user/vmm/include/vmm/virtio_gpu.h create mode 100644 user/vmm/include/vmm/virtio_lguest_console.h create mode 100644 user/vmm/include/vmm/virtio_lguest_helpers.h delete mode 100644 user/vmm/include/vmm/virtio_types.h delete mode 100644 user/vmm/virtio-mmio.c create mode 100644 user/vmm/virtio.c create mode 100644 user/vmm/virtio_lguest_console.c create mode 100644 user/vmm/virtio_lguest_helpers.c create mode 100644 user/vmm/virtio_mmio.c delete mode 100644 user/vmm/virtio_ring.c -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
