Print this page
cpuid for ARMv7

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/armv7/ml/cache.s
          +++ new/usr/src/uts/armv7/ml/cache.s
↓ open down ↓ 90 lines elided ↑ open up ↑
  91   91  
  92   92          ENTRY(data_sbarrier)
  93   93          isb
  94   94          bx lr
  95   95          SET_SIZE(data_sbarrier)
  96   96  
  97   97  #endif  /* __lint */
  98   98  
  99   99  #if defined(lint) || defined(__lint)
 100  100  
 101      -/* The ARM architecture uses a modified Harvard Architecture which means that we
      101 +/*
      102 + * The ARM architecture uses a modified Harvard Architecture which means that we
 102  103   * get the joys of fixing up this mess. Primarily this means that when we update
 103  104   * data, it gets written to do the data cache. That needs to be flushed to main
 104  105   * memory and then the instruction cache needs to be invalidated. This is
 105  106   * particularly important for things like krtld and DTrace. While the data cache
 106  107   * does write itself out over time, we cannot rely on it having written itself
 107  108   * out to the state that we care about by the time that we'd like it to. As
 108  109   * such, we need to ensure that it's been flushed out ourselves. This also means
 109  110   * that we could accidentally flush a region of the icache that's already
 110  111   * updated itself, but that's just what we have to do to keep Von Neumann's
 111  112   * spirt and great gift alive.
↓ open down ↓ 145 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX