1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 #
  22 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  23 #
  24 
  25 #
  26 #       Global definitions for sun4u implementation specific modules.
  27 #
  28 
  29 #
  30 #       Define the name of this implementation.
  31 #
  32 
  33 #
  34 #       Define directories.
  35 #
  36 ROOT_MPXU_DIR   = $(ROOT_PLAT_DIR)/SUNW,Sun-Fire-V240
  37 ROOT_MPXU_MOD_DIR       = $(ROOT_MPXU_DIR)/kernel
  38 
  39 ROOT_MPXU_DRV_DIR_32    = $(ROOT_MPXU_MOD_DIR)/drv
  40 ROOT_MPXU_DRV_DIR_64    = $(ROOT_MPXU_MOD_DIR)/drv/$(SUBDIR64)
  41 ROOT_MPXU_DRV_DIR       = $(ROOT_MPXU_DRV_DIR_$(CLASS))
  42 
  43 ROOT_MPXU_MISC_DIR_32   = $(ROOT_MPXU_MOD_DIR)/misc
  44 ROOT_MPXU_MISC_DIR_64   = $(ROOT_MPXU_MOD_DIR)/misc/$(SUBDIR64)
  45 ROOT_MPXU_MISC_DIR      = $(ROOT_MPXU_MISC_DIR_$(CLASS))
  46 
  47 ROOT_MPXU_CRYPTO_DIR_32 = $(ROOT_MPXU_MOD_DIR)/crypto
  48 ROOT_MPXU_CRYPTO_DIR_64 = $(ROOT_MPXU_MOD_DIR)/crypto/$(SUBDIR64)
  49 ROOT_MPXU_CRYPTO_DIR    = $(ROOT_MPXU_CRYPTO_DIR_$(CLASS))
  50 
  51 USR_MPXU_DIR            = $(USR_PLAT_DIR)/SUNW,Sun-Fire-V240
  52 USR_MPXU_INC_DIR        = $(USR_MPXU_DIR)/include
  53 USR_MPXU_ISYS_DIR       = $(USR_MPXU_INC_DIR)/sys
  54 USR_MPXU_SBIN_DIR       = $(USR_MPXU_DIR)/sbin
  55 USR_MPXU_SBIN_PRTDIAG   = $(USR_MPXU_SBIN_DIR)/prtdiag
  56 USR_MPXU_SBIN_FRUADM    = $(USR_MPXU_SBIN_DIR)/fruadm
  57 USR_MPXU_LIB_DIR        = $(USR_MPXU_DIR)/lib
  58 
  59 MPXU_LINT_LIB_DIR       = $(UTSBASE)/$(PLATFORM)/mpxu/lint-libs/$(OBJS_DIR)
  60 
  61 #
  62 # Links to UltraSparc III crypto modules
  63 #
  64 MPXU_CRYPTO_LINKS       = aes
  65 
  66 #
  67 #       Include the makefiles which define build rule templates, the
  68 #       collection of files per module, and a few specific flags. Note
  69 #       that order is significant, just as with an include path. The
  70 #       first build rule template which matches the files name will be
  71 #       used. By including these in order from most machine dependent
  72 #       to most machine independent, we allow a machine dependent file
  73 #       to be used in preference over a machine independent version
  74 #       (Such as a machine specific optimization, which preserves the
  75 #       interfaces.)
  76 #
  77 
  78 include $(UTSTREE)/sun4u/mpxu/Makefile.files
  79 #
  80 #       Include common rules.
  81 #
  82 
  83 include $(UTSTREE)/sun4u/Makefile.sun4u
  84 
  85 #
  86 #       Define modules (must come after Makefile.sun4u, for CLOSED_BUILD).
  87 #
  88 MPXU_KMODS      = tsalarm
  89 $(CLOSED_BUILD)CLOSED_MPXU_KMODS        = platmod ntwdt
  90 
  91 MODSTUBS_DIR    = $(UNIX_DIR)
  92 LINTS_DIR       = $(OBJS_DIR)
  93 LINT_LIB_DIR    = $(UTSBASE)/$(PLATFORM)/mpxu/lint-libs/$(OBJS_DIR)
  94 
  95 #
  96 #       Define the actual specific platforms
  97 #
  98 MACHINE_DEFS    = -D$(PLATFORM) -D_MACHDEP -DSFMMU -DMP
  99 
 100 #
 101 #       Define platform specific values
 102 #
 103 #MACHINE_DEFS   += -DNCPU=554
 104 #MACHINE_DEFS   += -DMAX_UPA=1024
 105 #MACHINE_DEFS   += -DIGN_SIZE=10
 106 # Max IOSRAM TOC major version number supported
 107 #MACHINE_DEFS   += -DMAX_IOSRAM_TOC_VER=0x1
 108 
 109 #       Define for inline pre-processing since
 110 #       cpp not smart about v9 yet.
 111 #
 112 CPP_DEFS_32   =
 113 CPP_DEFS_64   = -D__sparcv9
 114 CPP_DEFS      = $(CPP_DEFS_$(CLASS))
 115 
 116 #
 117 # For now, disable these lint checks; maintainers should endeavor
 118 # to investigate and remove these for maximum lint coverage.
 119 # Please do not carry these forward to new Makefiles.
 120 #
 121 LINTTAGS        += -erroff=E_SUSPICIOUS_COMPARISON
 122 LINTTAGS        += -erroff=E_BAD_PTR_CAST_ALIGN
 123 LINTTAGS        += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
 124 LINTTAGS        += -erroff=E_STATIC_UNUSED
 125 LINTTAGS        += -erroff=E_PTRDIFF_OVERFLOW
 126 LINTTAGS        += -erroff=E_ASSIGN_NARROW_CONV