Print this page
10924 Need mitigation of L1TF (CVE-2018-3646)
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Peter Tribble <peter.tribble@gmail.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/i86pc/io/pcplusmp/apic.c
          +++ new/usr/src/uts/i86pc/io/pcplusmp/apic.c
↓ open down ↓ 74 lines elided ↑ open up ↑
  75   75  #include <sys/spl.h>
  76   76  #include <sys/clock.h>
  77   77  #include <sys/cyclic.h>
  78   78  #include <sys/dditypes.h>
  79   79  #include <sys/sunddi.h>
  80   80  #include <sys/x_call.h>
  81   81  #include <sys/reboot.h>
  82   82  #include <sys/hpet.h>
  83   83  #include <sys/apic_common.h>
  84   84  #include <sys/apic_timer.h>
       85 +#include <sys/ht.h>
  85   86  
  86   87  /*
  87   88   *      Local Function Prototypes
  88   89   */
  89   90  static void apic_init_intr(void);
  90   91  
  91   92  /*
  92   93   *      standard MP entries
  93   94   */
  94   95  static int      apic_probe(void);
↓ open down ↓ 198 lines elided ↑ open up ↑
 293  294                  for (; j <= apic_vectortoipl[i]; j++) {
 294  295                          apic_ipltopri[j] = (i << APIC_IPL_SHIFT) +
 295  296                              APIC_BASE_VECT;
 296  297                  }
 297  298          }
 298  299          for (; j < MAXIPL + 1; j++)
 299  300                  /* fill up any empty ipltopri slots */
 300  301                  apic_ipltopri[j] = (i << APIC_IPL_SHIFT) + APIC_BASE_VECT;
 301  302          apic_init_common();
 302  303  
      304 +        /*
      305 +         * For pcplusmp, we'll keep things simple and always disable this.
      306 +         */
      307 +        ht_intr_alloc_pil(XC_CPUPOKE_PIL);
      308 +
 303  309          apic_pir_vect = apic_get_ipivect(XC_CPUPOKE_PIL, -1);
 304  310  
 305  311  #if !defined(__amd64)
 306  312          if (cpuid_have_cr8access(CPU))
 307  313                  apic_have_32bit_cr8 = 1;
 308  314  #endif
 309  315  }
 310  316  
 311  317  static void
 312  318  apic_init_intr(void)
↓ open down ↓ 968 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX