Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

Intel MPX with i5-6300U processor

JWong19
Beginner
1,440 Views

Intel MPX feature bit is unexpectedly cleared (CPUID.07H.EBX.MPX[bit 14] = 0) with my Intel i5-6300U processor. However, its specification <http://ark.intel.com/products/88190/Intel-Core-i5-6300U-Processor-3M-Cache-up-to-3_00-GHz> indicates that the processor supports Intel MPX.

I am with the latest firmware (released in December) under Windows 10 Pro. Should I manually set the bits of XCR0[bits 4:3] to enable the MPX feature?

 

     EAX ECX      EAX      EBX      ECX      EDX
       0   0       15 756e6547 6c65746e 49656e69
       1   0    406e3  2100800 fed87383 bfcbfbff
       4   0 1c004121  1c0003f       3f        0
       4   1 1c004122  1c0003f       3f        0
       4   2 1c004143   c0003f      3ff        0
       4   3 1c03c163  2c0003f      fff        2
       4   4        0        0        0        0
       5   0        0        0        0        0
       6   0      7f3        2        9        0
       7   0        0   1c2bbf        0        0
       9   0        0        0        0        0
       a   0        0        0        0        0
       b   0        1        2      100        2
       b   1        4        4      201        2
       b   2        0        0        2        2
       c   0        0        0        0        0
       d   0        7      340      340        0
       d   1        1        0        0        0
       d   2      100      240        0        0
       d   3        0        0        0        0
       d   4        0        0        0        0
       f   0        0        0        0        0
       f   1        0        0        0        0
      10   0        0        0        0        0
      10   1        0        0        0        0
      14   0        0        0        0        0
      14   1        0        0        0        0
      15   0        2       d0        0        0
80000000   0 80000008        0        0        0
80000001   0        0        0      121 28100800
80000002   0 65746e49 2952286c 726f4320 4d542865
80000003   0 35692029 3033362d 43205530 40205550
80000004   0 342e3220 7a484730        0        0
80000006   0        0        0  1006040        0
80000007   0        0        0        0      100
80000008   0     3027        0        0        0
 

0 Kudos
1 Solution
Juan_R_Intel1
Employee
1,440 Views

Hi Jeremy

Could you please do something for me?

1) Open an elevated (Admin) command prompt.

2) Type "bcdedit /set hypervisorlaunchtype off" (sans quotes) in the command prompt window followed by Enter and re-boot your system.

3) Retry checking for the MPX CPUID feature bit and let us know if it shows it enabled.

-Juan

 

 

 

 

 

View solution in original post

0 Kudos
5 Replies
MarkC_Intel
Moderator
1,440 Views

Are you in a virtualized environment? Possibly your VMM is not exposing the MPX feature. It is my understanding that MPX is enabled on all skylake-based processors. 

0 Kudos
JWong19
Beginner
1,440 Views

It should not be in virtualized environment, I am not using the VM software of Windows 10 Pro yet.

0 Kudos
MarkC_Intel
Moderator
1,441 Views

I did some digging and found a possible clue. In your dump, CPUID.1.0.ECX[31]=1 -- that is a convention used by hypervisors (VMMs) that indicates your operating system is virtualized. I'm not sure what is virtualizing your guest and your previous answer implies that you are not aware of any virtualization.  But either by Windows itself or your anti-virus software or something is using VT under your O/S. The VMM that is running your win10 guest is not presenting the MPX bit to your guest win10 operating system. Does this make sense?  All other indicators say that the i5 6300 should have MPX enabled. It would be good to figure out what is virtualizing your system. Possibly an upgrade will expose the MPX feature.

0 Kudos
Juan_R_Intel1
Employee
1,441 Views

Hi Jeremy

Could you please do something for me?

1) Open an elevated (Admin) command prompt.

2) Type "bcdedit /set hypervisorlaunchtype off" (sans quotes) in the command prompt window followed by Enter and re-boot your system.

3) Retry checking for the MPX CPUID feature bit and let us know if it shows it enabled.

-Juan

 

 

 

 

 

0 Kudos
JWong19
Beginner
1,441 Views

Thank Juan and Mark. It was "hypervisorlaunchtype Auto".

More processor features (MPX, CLFLUSHOPT, Processor Trace, XGETBV, XSAVES, ...) are "enabled" after turning hypervisor off, SGX1 is still off though.

     EAX ECX      EAX      EBX      ECX      EDX
       0   0       16 756e6547 6c65746e 49656e69 GenuineIntel
       1   0    406e3   100800 7ffafbff bfebfbff
       2   0 76036301   f0b5ff        0   c30000
       3   0        0        0        0        0
       4   0 1c004121  1c0003f       3f        0
       4   1 1c004122  1c0003f       3f        0
       4   2 1c004143   c0003f      3ff        0
       4   3 1c03c163  2c0003f      fff        6
       4   4        0        0        0        0
       5   0       40       40        3 11142120
       6   0     27f7        2        9        0
       7   0        0  29c6fbf        0        0 +FSGSBASE +SGX +BMI1 +HLE +AVX2 +SMEP +BMI2 +Fast-String +INVPCID +RTM -PQM +MPX -PQE +RDSEED +ADX +SMAP +CLFLUSHOPT +PT -PREFTEHCHWT1 -PKU -OSPKE
       8   0        0        0        0        0
       9   0        0        0        0        0
       a   0  7300404        0        0      603
       b   0        1        2      100        0
       b   1        4        4      201        0
       b   2        0        0        2        0
       c   0        0        0        0        0
       d   0       1f      440      440        0 +x87 +SSE +AVX +BNDREGS +BNDCSR -PT -PKRU
       d   1        f      3c0      100        0 +XSAVEOPT +Compaction-Extensions +XGETBV +XSAVES
       d   2      100      240        0        0 AVX
       d   3       40      3c0        0        0 BNGREG
       d   4       40      400        0        0 BNGCSR
       d   5        0        0        0        0 Opmask
       d   6        0        0        0        0 ZMM_Hi256
       d   7        0        0        0        0 Hi16_ZMM
       d   8       80        0        1        0 PT
       d   9        0        0        0        0 PKRU
       e   0        0        0        0        0
       f   0        0        0        0        0
       f   1        0        0        0        0
       f   2        0        0        0        0
      10   0        0        0        0        0
      10   1        0        0        0        0
      10   2        0        0        0        0
      11   0        0        0        0        0
      12   0        0        0        0        0 -SGX1 -SGX2
      13   0        0        0        0        0
      14   0        1        f        7        0
      14   1  2490002   3f3fff        0        0
      14   2        0        0        0        0
      15   0        2       d0        0        0
      16   0      9c4      bb8       64        0
80000000   0 80000008        0        0        0
80000001   0        0        0      121 2c100800 +LZCNT +PREFTEHCHW +RDTSCP +x64
80000002   0 65746e49 2952286c 726f4320 4d542865 Intel(R) Core(TM
80000003   0 35692029 3033362d 43205530 40205550 ) i5-6300U CPU @
80000004   0 342e3220 7a484730        0        0  2.40GHz
80000005   0        0        0        0        0
80000006   0        0        0  1006040        0
80000007   0        0        0        0      100
80000008   0     3027        0        0        0
 

0 Kudos
Reply