Print this page
trap: don't mislead about SCTLR.V being not set
It's been quite a while since the exception table got moved via the high
vector bit (SCTLR.V).

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/armv6/ml/trap.s
          +++ new/usr/src/uts/armv6/ml/trap.s
↓ open down ↓ 8 lines elided ↑ open up ↑
   9    9   * http://www.illumos.org/license/CDDL.
  10   10   */
  11   11  
  12   12  .file   "trap.s"
  13   13  
  14   14  #include <sys/asm_linkage.h>
  15   15  #include <sys/cpu_asm.h>
  16   16  
  17   17  /*
  18   18   * Create a section into which to place the exception vector, such that we can
  19      - * force it to be mapped where it needs to be.  Currently at 0x0, since
  20      - * we don't set the high vector bit (SCTLR.V)
       19 + * force it to be mapped where it needs to be.
  21   20   *
  22   21   * Each instruction in the vector jumps to its own address + 24, which is the
  23   22   * matching entry in exception_table.  We do this to insure that we get
  24   23   * effectively infinite displacement, which we can't achieve in one
  25   24   * instruction otherwise (and gas complains).
  26   25   *
  27   26   * The handler for each exception type saves a trap frame (struct regs, though
  28   27   * with some bits unusual) and calls the associated handler from trap_table.
  29   28   *
  30   29   * XXX: On CPUs with the security extensions, there are actually 2 additional
↓ open down ↓ 99 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX