Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyper...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Jul 2019 22:28:38 +0000 (15:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Jul 2019 22:28:38 +0000 (15:28 -0700)
Pull hyper-v updates from Sasha Levin:

 - Add a module description to the Hyper-V vmbus module.

 - Rework some vmbus code to separate architecture specifics out to
   arch/x86/. This is part of the work of adding arm64 support to
   Hyper-V.

* tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
  Drivers: hv: vmbus: Break out ISA independent parts of mshyperv.h
  drivers: hv: Add a module description line to the hv_vmbus driver

1  2 
MAINTAINERS
arch/x86/include/asm/mshyperv.h
drivers/hv/vmbus_drv.c

diff --cc MAINTAINERS
index 60218e6a60ec82ea39f6e89f1d97efefe1a1296d,6118da4232cb01de4db0abdcbb3dd1b37d205789..16a17fe87fe62164de0f486cb8addd46e60c7875
@@@ -7419,9 -7311,9 +7419,10 @@@ F:     drivers/uio/uio_hv_generic.
  F:    drivers/video/fbdev/hyperv_fb.c
  F:    drivers/iommu/hyperv_iommu.c
  F:    net/vmw_vsock/hyperv_transport.c
 +F:    include/clocksource/hyperv_timer.h
  F:    include/linux/hyperv.h
  F:    include/uapi/linux/hyperv.h
+ F:    include/asm-generic/mshyperv.h
  F:    tools/hv/
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
  
index f4fa8a9d5d0baa1fbf4aa2256756c47d0ccf06a5,080a92025748350a6927e27db7ffdcb0b69914e5..2ef31cc8c529541074a70f5810c80e73366d8890
@@@ -397,4 -246,76 +256,7 @@@ static inline int hyperv_flush_guest_ma
  }
  #endif /* CONFIG_HYPERV */
  
 -#ifdef CONFIG_HYPERV_TSCPAGE
 -struct ms_hyperv_tsc_page *hv_get_tsc_page(void);
 -static inline u64 hv_read_tsc_page_tsc(const struct ms_hyperv_tsc_page *tsc_pg,
 -                                     u64 *cur_tsc)
 -{
 -      u64 scale, offset;
 -      u32 sequence;
 -
 -      /*
 -       * The protocol for reading Hyper-V TSC page is specified in Hypervisor
 -       * Top-Level Functional Specification ver. 3.0 and above. To get the
 -       * reference time we must do the following:
 -       * - READ ReferenceTscSequence
 -       *   A special '0' value indicates the time source is unreliable and we
 -       *   need to use something else. The currently published specification
 -       *   versions (up to 4.0b) contain a mistake and wrongly claim '-1'
 -       *   instead of '0' as the special value, see commit c35b82ef0294.
 -       * - ReferenceTime =
 -       *        ((RDTSC() * ReferenceTscScale) >> 64) + ReferenceTscOffset
 -       * - READ ReferenceTscSequence again. In case its value has changed
 -       *   since our first reading we need to discard ReferenceTime and repeat
 -       *   the whole sequence as the hypervisor was updating the page in
 -       *   between.
 -       */
 -      do {
 -              sequence = READ_ONCE(tsc_pg->tsc_sequence);
 -              if (!sequence)
 -                      return U64_MAX;
 -              /*
 -               * Make sure we read sequence before we read other values from
 -               * TSC page.
 -               */
 -              smp_rmb();
 -
 -              scale = READ_ONCE(tsc_pg->tsc_scale);
 -              offset = READ_ONCE(tsc_pg->tsc_offset);
 -              *cur_tsc = rdtsc_ordered();
 -
 -              /*
 -               * Make sure we read sequence after we read all other values
 -               * from TSC page.
 -               */
 -              smp_rmb();
 -
 -      } while (READ_ONCE(tsc_pg->tsc_sequence) != sequence);
 -
 -      return mul_u64_u64_shr(*cur_tsc, scale, 64) + offset;
 -}
 -
 -static inline u64 hv_read_tsc_page(const struct ms_hyperv_tsc_page *tsc_pg)
 -{
 -      u64 cur_tsc;
 -
 -      return hv_read_tsc_page_tsc(tsc_pg, &cur_tsc);
 -}
 -
 -#else
 -static inline struct ms_hyperv_tsc_page *hv_get_tsc_page(void)
 -{
 -      return NULL;
 -}
 -
 -static inline u64 hv_read_tsc_page_tsc(const struct ms_hyperv_tsc_page *tsc_pg,
 -                                     u64 *cur_tsc)
 -{
 -      BUG();
 -      return U64_MAX;
 -}
 -#endif
+ #include <asm-generic/mshyperv.h>
  #endif
Simple merge