Print this page
8956 Implement KPTI
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/asm/htable.h
          +++ new/usr/src/uts/intel/asm/htable.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16   16   * If applicable, add the following below this CDDL HEADER, with the
  17   17   * fields enclosed by brackets "[]" replaced with your own identifying
  18   18   * information: Portions Copyright [yyyy] [name of copyright owner]
  19   19   *
  20   20   * CDDL HEADER END
  21   21   */
  22   22  /*
  23   23   * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
       25 + *
       26 + * Copyright 2018 Joyent, Inc.
  25   27   */
  26   28  
  27   29  #ifndef _ASM_HTABLE_H
  28   30  #define _ASM_HTABLE_H
  29   31  
  30   32  #include <sys/ccompile.h>
  31   33  #include <sys/types.h>
  32   34  
  33   35  #ifdef  __cplusplus
  34   36  extern "C" {
  35   37  #endif
  36   38  
  37   39  #if !defined(__lint) && defined(__GNUC__)
  38   40  
  39      -#if defined(__i386) || defined(__amd64)
  40      -
  41   41  /*
  42   42   * This set of atomic operations are designed primarily
  43   43   * for some ia32 hat layer operations.
  44   44   */
  45   45  
  46   46  extern __GNU_INLINE void
  47   47  atomic_orb(uint8_t *addr, uint8_t value)
  48   48  {
  49   49          __asm__ __volatile__(
  50   50              "lock; orb %%dl,%0"
↓ open down ↓ 25 lines elided ↑ open up ↑
  76   76  extern __GNU_INLINE void
  77   77  atomic_dec16(uint16_t *addr)
  78   78  {
  79   79          __asm__ __volatile__(
  80   80              "lock; decw %0"
  81   81              : "=m" (*addr)
  82   82              : "m" (*addr)
  83   83              : "cc");
  84   84  }
  85   85  
  86      -extern __GNU_INLINE void
  87      -mmu_tlbflush_entry(caddr_t addr)
  88      -{
  89      -        __asm__ __volatile__(
  90      -            "invlpg %0"
  91      -            : "=m" (*addr)
  92      -            : "m" (*addr));
  93      -}
  94      -
  95      -#endif  /* __i386 || __amd64 */
  96      -
  97   86  #endif  /* !__lint && __GNUC__ */
  98   87  
  99   88  #ifdef  __cplusplus
 100   89  }
 101   90  #endif
 102   91  
 103   92  #endif  /* _ASM_HTABLE_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX