Print this page
5072963 Need an optimized AES implementation for amd64

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/aes/Makefile
          +++ new/usr/src/uts/intel/aes/Makefile
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  #
  22   22  # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  23   23  # Use is subject to license terms.
  24   24  #
  25      -#ident  "@(#)Makefile   1.8     08/01/02 SMI"
       25 +#ident  "@(#)Makefile   1.9     08/05/21 SMI"
  26   26  #
  27   27  #       This makefile drives the production of the AES KEF provider.
  28   28  #
  29   29  #       intel implementation architecture dependent
  30   30  #
  31   31  
  32   32  #
  33   33  #       Path to the base of the uts directory tree (usually /usr/src/uts).
  34   34  #
  35   35  UTSBASE = ../..
  36      -COM_DIR = $(COMMONBASE)/crypto/aes
       36 +COM_DIR = $(COMMONBASE)/crypto/aes
  37   37  
  38   38  #
  39   39  #       Define the module and object file sets.
  40   40  #
  41   41  MODULE          = aes
  42      -OBJECTS         = $(AESPROV_OBJS:%=$(OBJS_DIR)/%)
  43   42  LINTS           = $(AESPROV_OBJS:%.o=$(LINTS_DIR)/%.ln)
       43 +AESPROV_OBJS_32 =
       44 +AESPROV_OBJS_64 = aes_amd64.o aeskey.o
       45 +AESPROV_OBJS    += $(AESPROV_OBJS_$(CLASS))
       46 +OBJECTS         = $(AESPROV_OBJS:%=$(OBJS_DIR)/%)
  44   47  ROOTMODULE      = $(ROOT_CRYPTO_DIR)/$(MODULE)
  45   48  
  46   49  #
  47   50  #       Include common rules.
  48   51  #
  49   52  include $(UTSBASE)/intel/Makefile.intel
  50   53  
  51   54  #       set signing mode
  52   55  ELFSIGN_MOD     = $(ELFSIGN_CRYPTO)
  53   56  
  54   57  #
  55   58  #       Define targets
  56   59  #
  57   60  ALL_TARGET      = $(BINARY)
  58   61  LINT_TARGET     = $(MODULE).lint
  59   62  INSTALL_TARGET  = $(BINARY) $(ROOTMODULE)
  60   63  
  61   64  #
  62      -# Linkage dependencies
       65 +#       Linkage dependencies
  63   66  #
  64   67  LDFLAGS += -dy
  65   68  
  66   69  CPPFLAGS        += -I$(COM_DIR) -DCRYPTO_PROVIDER_NAME=\"$(MODULE)\"
  67   70  
  68   71  #
  69   72  # For now, disable these lint checks; maintainers should endeavor
  70   73  # to investigate and remove these for maximum lint coverage.
  71   74  # Please do not carry these forward to new Makefiles.
  72   75  #
↓ open down ↓ 19 lines elided ↑ open up ↑
  92   95  modlintlib:     $(MODLINTLIB_DEPS)
  93   96  
  94   97  clean.lint:     $(CLEAN_LINT_DEPS)
  95   98  
  96   99  install:        $(INSTALL_DEPS)
  97  100  
  98  101  #
  99  102  #       Include common targets.
 100  103  #
 101  104  include $(UTSBASE)/intel/Makefile.targ
      105 +
      106 +$(OBJS_DIR)/%.ln: $(COM_DIR)/amd64/%.c
      107 +        @($(LHEAD) $(LINT.c) $(COM_DIR)/amd64/${@F:.ln=.c} $(LTAIL))
      108 +
      109 +$(OBJS_DIR)/%.o:  $(COM_DIR)/amd64/%.c
      110 +        $(COMPILE.c) -o $@ $(COM_DIR)/amd64/${@F:.o=.c}
      111 +        $(POST_PROCESS_O)
      112 +
      113 +$(OBJS_DIR)/aes_amd64.o: $(COM_DIR)/amd64/aes_amd64.s
      114 +        $(COMPILE.s) -o $@ $(COM_DIR)/amd64/${@F:.o=.s}
      115 +        $(POST_PROCESS_O)
      116 +
      117 +$(OBJS_DIR)/aes_amd64.ln: $(COM_DIR)/amd64/aes_amd64.s
      118 +        @($(LHEAD) $(LINT.s) $(COM_DIR)/amd64/${@F:.ln=.s} $(LTAIL))
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX