Print this page
re #13140 rb4270 hvm_sd module missing dependencies on scsi and cmlb
re #13166 rb4270 Check for Xen HVM even if CPUID signature returns Microsoft Hv
re #13187 rb4270 Fix Xen HVM related warnings

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/i86pc/os/xpv_platform.c
          +++ new/usr/src/uts/i86pc/os/xpv_platform.c
↓ open down ↓ 91 lines elided ↑ open up ↑
  92   92  void
  93   93  xen_hvm_init(void)
  94   94  {
  95   95          struct cpuid_regs cp;
  96   96          uint32_t xen_signature[4], base;
  97   97          char *xen_str;
  98   98          struct xen_add_to_physmap xatp;
  99   99          xen_capabilities_info_t caps;
 100  100          pfn_t pfn;
 101  101          uint64_t msrval, val;
      102 +        extern int apix_enable;
 102  103  
 103  104          if (xen_hvm_inited != 0)
 104  105                  return;
 105  106  
 106  107          xen_hvm_inited = 1;
 107  108  
 108  109          /*
 109  110           * Xen's pseudo-cpuid function returns a string representing
 110  111           * the Xen signature in %ebx, %ecx, and %edx.
 111  112           * Loop over the base values, since it may be different if
↓ open down ↓ 98 lines elided ↑ open up ↑
 210  211          if (HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp) != 0)
 211  212                  return;
 212  213  
 213  214          HYPERVISOR_shared_info = (void *)&hypercall_shared_info_page;
 214  215  
 215  216          /*
 216  217           * A working HVM tlb flush hypercall was introduced in Xen 3.3.
 217  218           */
 218  219          if (xen_major > 3 || (xen_major == 3 && xen_minor >= 3))
 219  220                  xen_hvm_features |= XEN_HVM_TLBFLUSH;
      221 +
      222 +        /* FIXME Disable apix for the time being */
      223 +        apix_enable = 0;
 220  224  }
 221  225  
 222  226  /*
 223  227   * Returns:
 224  228   *          -1 if a feature is not available
 225  229   *          1 if a boolean feature is available
 226  230   *          > 0 if numeric feature is available
 227  231   */
 228  232  int
 229  233  xpv_feature(int which)
↓ open down ↓ 26 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX