Print this page
XXXX define x2apic feature flag

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/i86pc/os/cpuid.c
          +++ new/usr/src/uts/i86pc/os/cpuid.c
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23   * Copyright (c) 2011 by Delphix. All rights reserved.
  24   24   * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
       25 + * Copyright 2014 Josef "Jeff" Sipek <jeffpc@josefsipek.net>
  25   26   */
  26   27  /*
  27   28   * Copyright (c) 2010, Intel Corporation.
  28   29   * All rights reserved.
  29   30   */
  30   31  /*
  31   32   * Portions Copyright 2009 Advanced Micro Devices, Inc.
  32   33   */
  33   34  /*
  34   35   * Copyright (c) 2012, Joyent, Inc. All rights reserved.
↓ open down ↓ 121 lines elided ↑ open up ↑
 156  157          "clfsh",
 157  158          "64",
 158  159          "aes",
 159  160          "pclmulqdq",
 160  161          "xsave",
 161  162          "avx",
 162  163          "vmx",
 163  164          "svm",
 164  165          "topoext",
 165  166          "f16c",
 166      -        "rdrand"
      167 +        "rdrand",
      168 +        "x2apic",
 167  169  };
 168  170  
 169  171  boolean_t
 170  172  is_x86_feature(void *featureset, uint_t feature)
 171  173  {
 172  174          ASSERT(feature < NUM_X86_FEATURES);
 173  175          return (BT_TEST((ulong_t *)featureset, feature));
 174  176  }
 175  177  
 176  178  void
↓ open down ↓ 1127 lines elided ↑ open up ↑
1304 1306                          if (cp->cp_ecx & CPUID_INTC_ECX_AVX) {
1305 1307                                  add_x86_feature(featureset,
1306 1308                                      X86FSET_AVX);
1307 1309  
1308 1310                                  if (cp->cp_ecx & CPUID_INTC_ECX_F16C)
1309 1311                                          add_x86_feature(featureset,
1310 1312                                              X86FSET_F16C);
1311 1313                          }
1312 1314                  }
1313 1315          }
     1316 +        if (cp->cp_ecx & CPUID_INTC_ECX_X2APIC) {
     1317 +                add_x86_feature(featureset, X86FSET_X2APIC);
     1318 +        }
1314 1319          if (cp->cp_edx & CPUID_INTC_EDX_DE) {
1315 1320                  add_x86_feature(featureset, X86FSET_DE);
1316 1321          }
1317 1322  #if !defined(__xpv)
1318 1323          if (cp->cp_ecx & CPUID_INTC_ECX_MON) {
1319 1324  
1320 1325                  /*
1321 1326                   * We require the CLFLUSH instruction for erratum workaround
1322 1327                   * to use MONITOR/MWAIT.
1323 1328                   */
↓ open down ↓ 3437 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX