Print this page
3882 remove xmod & friends

Split Close
Expand all
Collapse all
          --- old/usr/src/common/crypto/des/sun4u/des_crypt_asm.s
          +++ new/usr/src/common/crypto/des/sun4u/des_crypt_asm.s
↓ open down ↓ 33 lines elided ↑ open up ↑
  34   34   * cc -c -xarch=v8plus des_crypt_asm.s     or
  35   35   * cc -c -arch=v9 des_crypt_asm.s
  36   36   * for kernel use (no -KPIC)
  37   37   *
  38   38   * and with
  39   39   *
  40   40   * cc -c -xarch=v8plus -KPIC -DPIC des_crypt_asm.s     or
  41   41   * cc -c -arch=v9 -KPIC -DPIC des_crypt_asm.s
  42   42   * for  .so  use
  43   43   *
  44      - * EXPORT DELETE START
  45      - *
  46   44   * The tables were generated by a C program, compiled into the C version 
  47   45   * of this function, from which a .s was generated by the C compiler and
  48   46   * that .s was used as a starting point for this one, in particular for
  49   47   * the data definitions. It is important, though that the tables and
  50   48   * the code both remain in the text section and in this order, otherwise,
  51   49   * at least on UltraSparc-II processors, collisions in the E-cache are
  52   50   * highly probable between the code and the data it is using which can
  53   51   * result in up to 40% performance loss
  54   52   *
  55   53   * For a description of the DES algithm, see NIST publication FIPS PUB 46-3
↓ open down ↓ 17 lines elided ↑ open up ↑
  73   71   * The tables for the S-boxes are computed in such a way that when or-ed
  74   72   * together, they give the result of the S-box, P and E computations.
  75   73   * Also, the key schedule bits are computed to follow this bit-scheme.
  76   74   * The initial permutation tables are also computed to produce this
  77   75   * bit distribution and the final permutation works from these, too.
  78   76   *
  79   77   * The end of each round is overlapped with the beginning of the next
  80   78   * one since after the first 6 S-box lookups all the bits necessary
  81   79   * for one S-box lookup in the next round can be computed (by xor-ing
  82   80   * the next key schedule item to the partially computed next R).
  83      - *
  84      - * EXPORT DELETE END
  85   81   */
  86   82  
  87   83  #if defined(lint) || defined(__lint)
  88   84          /* LINTED */
  89   85          /* Nothing to be linted in this file, its pure assembly source */
  90   86  #else   /* lint || __lint */ 
  91   87  
  92   88          .register       %g2,#scratch
  93   89          .register       %g3,#scratch
  94   90  
  95   91          .file   "encrypt_asm.S"
  96   92  
  97   93          .section        ".text",#alloc
  98   94          .align  32
  99   95  
 100      -/* EXPORT DELETE START */
 101      -
 102   96  !
 103   97  ! CONSTANT POOL
 104   98  !
 105   99  
 106  100  des_sbox_table:
 107  101          .word   5121
 108  102          .word   1073872896
 109  103          .word   0
 110  104          .word   0
 111  105          .word   1
↓ open down ↓ 3530 lines elided ↑ open up ↑
3642 3636          .word   -1069530944
3643 3637          .word   1086341312
3644 3638          .word   -1061142336
3645 3639          .word   1077985472
3646 3640          .word   -1069498176
3647 3641          .word   1086374080
3648 3642          .word   -1061109568
3649 3643          .type   des_fp_table,#object
3650 3644          .size   des_fp_table,1024
3651 3645  
3652      -/* EXPORT DELETE END */
3653      -
3654 3646  #endif  /* lint || __lint */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX