xref: /titanic_41/usr/src/uts/sun4u/serengeti/Makefile.serengeti (revision 92d53ff13bfcc9a9e4f4b6e672ed3105597039fa)
1*92d53ff1SJosef 'Jeff' Sipek#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*92d53ff1SJosef 'Jeff' Sipek# Common Development and Distribution License (the "License").
6*92d53ff1SJosef 'Jeff' Sipek# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
21*92d53ff1SJosef 'Jeff' Sipek#
22*92d53ff1SJosef 'Jeff' Sipek# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate# Use is subject to license terms.
247c478bd9Sstevel@tonic-gate#
25*92d53ff1SJosef 'Jeff' Sipek
26*92d53ff1SJosef 'Jeff' Sipek#
27*92d53ff1SJosef 'Jeff' Sipek#	Global definitions for sun4u implementation specific modules.
287c478bd9Sstevel@tonic-gate#
297c478bd9Sstevel@tonic-gate
30*92d53ff1SJosef 'Jeff' Sipek#
31*92d53ff1SJosef 'Jeff' Sipek#	Define the name of this implementation.
32*92d53ff1SJosef 'Jeff' Sipek#
337c478bd9Sstevel@tonic-gate
34*92d53ff1SJosef 'Jeff' Sipek#
35*92d53ff1SJosef 'Jeff' Sipek#	Define directories.
36*92d53ff1SJosef 'Jeff' Sipek#
37*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_DIR		= $(ROOT_PLAT_DIR)/SUNW,Sun-Fire
38*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_MOD_DIR		= $(ROOT_SERENGETI_DIR)/kernel
39*92d53ff1SJosef 'Jeff' Sipek
40*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_KERN_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)
41*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_KERN_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/$(SUBDIR64)
42*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_KERN_DIR		= $(ROOT_SERENGETI_KERN_DIR_$(CLASS))
43*92d53ff1SJosef 'Jeff' Sipek
44*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_CPU_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/cpu
45*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_CPU_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/cpu/$(SUBDIR64)
46*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_CPU_DIR		= $(ROOT_SERENGETI_CPU_DIR_$(CLASS))
47*92d53ff1SJosef 'Jeff' Sipek
48*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_DRV_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/drv
49*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_DRV_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/drv/$(SUBDIR64)
50*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_DRV_DIR		= $(ROOT_SERENGETI_DRV_DIR_$(CLASS))
51*92d53ff1SJosef 'Jeff' Sipek
52*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_MISC_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/misc
53*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_MISC_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/misc/$(SUBDIR64)
54*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_MISC_DIR		= $(ROOT_SERENGETI_MISC_DIR_$(CLASS))
55*92d53ff1SJosef 'Jeff' Sipek
56*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_CRYPTO_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/crypto
57*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_CRYPTO_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/crypto/$(SUBDIR64)
58*92d53ff1SJosef 'Jeff' SipekROOT_SERENGETI_CRYPTO_DIR	= $(ROOT_SERENGETI_CRYPTO_DIR_$(CLASS))
59*92d53ff1SJosef 'Jeff' Sipek
60*92d53ff1SJosef 'Jeff' SipekROOT_PLAT_MOD_DIRS		+= $(ROOT_SERENGETI_MOD_DIR)
61*92d53ff1SJosef 'Jeff' SipekROOT_PLAT_MISC_DIRS_32		+= $(ROOT_SERENGETI_MISC_DIR_32)
62*92d53ff1SJosef 'Jeff' Sipek
63*92d53ff1SJosef 'Jeff' SipekUSR_SERENGETI_DIR		= $(USR_PLAT_DIR)/SUNW,Sun-Fire
64*92d53ff1SJosef 'Jeff' SipekUSR_SERENGETI_INC_DIR		= $(USR_SERENGETI_DIR)/include
65*92d53ff1SJosef 'Jeff' SipekUSR_SERENGETI_ISYS_DIR		= $(USR_SERENGETI_INC_DIR)/sys
66*92d53ff1SJosef 'Jeff' SipekUSR_SERENGETI_SBIN_DIR		= $(USR_SERENGETI_DIR)/sbin
67*92d53ff1SJosef 'Jeff' SipekUSR_SERENGETI_LIB_DIR		= $(USR_SERENGETI_DIR)/lib
68*92d53ff1SJosef 'Jeff' Sipek
69*92d53ff1SJosef 'Jeff' SipekSERENGETI_LINT_LIB_DIR		= $(UTSBASE)/$(PLATFORM)/serengeti/lint-libs/$(OBJS_DIR)
70*92d53ff1SJosef 'Jeff' Sipek
71*92d53ff1SJosef 'Jeff' Sipek#
72*92d53ff1SJosef 'Jeff' Sipek#       Include the makefiles which define build rule templates, the
73*92d53ff1SJosef 'Jeff' Sipek#       collection of files per module, and a few specific flags. Note
74*92d53ff1SJosef 'Jeff' Sipek#       that order is significant, just as with an include path. The
75*92d53ff1SJosef 'Jeff' Sipek#       first build rule template which matches the files name will be
76*92d53ff1SJosef 'Jeff' Sipek#       used. By including these in order from most machine dependent
77*92d53ff1SJosef 'Jeff' Sipek#       to most machine independent, we allow a machine dependent file
78*92d53ff1SJosef 'Jeff' Sipek#       to be used in preference over a machine independent version
79*92d53ff1SJosef 'Jeff' Sipek#       (Such as a machine specific optimization, which preserves the
80*92d53ff1SJosef 'Jeff' Sipek#       interfaces.)
81*92d53ff1SJosef 'Jeff' Sipek#
82*92d53ff1SJosef 'Jeff' Sipek
83*92d53ff1SJosef 'Jeff' Sipek#
84*92d53ff1SJosef 'Jeff' Sipek# Links to UltraSparc III crypto modules
85*92d53ff1SJosef 'Jeff' Sipek#
86*92d53ff1SJosef 'Jeff' SipekSERENGETI_CRYPTO_LINKS	+= aes
87*92d53ff1SJosef 'Jeff' Sipek
88*92d53ff1SJosef 'Jeff' Sipekinclude $(UTSBASE)/sun4u/serengeti/Makefile.files
89*92d53ff1SJosef 'Jeff' Sipek#
90*92d53ff1SJosef 'Jeff' Sipek#	Include common rules.
91*92d53ff1SJosef 'Jeff' Sipek#
92*92d53ff1SJosef 'Jeff' Sipek
93*92d53ff1SJosef 'Jeff' Sipekinclude $(UTSBASE)/sun4u/Makefile.sun4u
94*92d53ff1SJosef 'Jeff' Sipek
95*92d53ff1SJosef 'Jeff' Sipek#
96*92d53ff1SJosef 'Jeff' Sipek#	Define modules
97*92d53ff1SJosef 'Jeff' Sipek#
98*92d53ff1SJosef 'Jeff' SipekSERENGETI_KMODS	= cheetah cheetahplus
99*92d53ff1SJosef 'Jeff' SipekSERENGETI_KMODS	+= platmod sbdp sgcn sghsc sgsbbc ssm
100*92d53ff1SJosef 'Jeff' Sipek
101*92d53ff1SJosef 'Jeff' Sipek#
102*92d53ff1SJosef 'Jeff' Sipek#       Everybody needs to know how to build modstubs.o and to locate unix.o
103*92d53ff1SJosef 'Jeff' Sipek#
104*92d53ff1SJosef 'Jeff' SipekUNIX_DIR	= $(UTSBASE)/$(PLATFORM)/serengeti/unix
105*92d53ff1SJosef 'Jeff' SipekMODSTUBS_DIR	= $(UNIX_DIR)
106*92d53ff1SJosef 'Jeff' SipekDSF_DIR		= $(UTSBASE)/$(PLATFORM)/serengeti/genassym
107*92d53ff1SJosef 'Jeff' SipekLINTS_DIR	= $(OBJS_DIR)
108*92d53ff1SJosef 'Jeff' SipekLINT_LIB_DIR	= $(UTSBASE)/$(PLATFORM)/serengeti/lint-libs/$(OBJS_DIR)
109*92d53ff1SJosef 'Jeff' Sipek
110*92d53ff1SJosef 'Jeff' SipekUNIX_O		= $(UNIX_DIR)/$(OBJS_DIR)/unix.o
111*92d53ff1SJosef 'Jeff' Sipek
112*92d53ff1SJosef 'Jeff' SipekLINT_LIB	= $(LINT_LIB_DIR)/llib-lunix.ln
113*92d53ff1SJosef 'Jeff' Sipek
114*92d53ff1SJosef 'Jeff' Sipek#
115*92d53ff1SJosef 'Jeff' Sipek#       Define the actual specific platforms
116*92d53ff1SJosef 'Jeff' Sipek#
117*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	= -D$(PLATFORM) -D_MACHDEP -DSFMMU -DMP -DMIXEDCPU_DR_SUPPORTED
118*92d53ff1SJosef 'Jeff' Sipek
119*92d53ff1SJosef 'Jeff' Sipek#
120*92d53ff1SJosef 'Jeff' Sipek#	Define platform specific values
121*92d53ff1SJosef 'Jeff' Sipek#
122*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DNCPU=558
123*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DMAX_CPU_CHIPID=554
124*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DMAX_UPA=1024
125*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DIGN_SIZE=10
126*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DMAX_MEM_NODES=8
127*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DLOCKED_DTLB_ENTRIES=6
128*92d53ff1SJosef 'Jeff' Sipek# Max IOSRAM TOC major version number supported
129*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DMAX_IOSRAM_TOC_VER=0x1
130*92d53ff1SJosef 'Jeff' SipekMACHINE_DEFS	+= -DC_OBP
131*92d53ff1SJosef 'Jeff' Sipek
132*92d53ff1SJosef 'Jeff' Sipek#	Define for inline pre-processing since
133*92d53ff1SJosef 'Jeff' Sipek#	cpp is not smart about v9 yet.
134*92d53ff1SJosef 'Jeff' Sipek#	It's not smart about __sparc either since it only predefines sparc.
135*92d53ff1SJosef 'Jeff' SipekCPP_DEFS_32	= -D__sparc
136*92d53ff1SJosef 'Jeff' SipekCPP_DEFS_64	= -D__sparc -D__sparcv9
137*92d53ff1SJosef 'Jeff' SipekCPP_DEFS	= $(CPP_DEFS_$(CLASS))
138*92d53ff1SJosef 'Jeff' Sipek
139*92d53ff1SJosef 'Jeff' Sipek#
140*92d53ff1SJosef 'Jeff' Sipek# For now, disable these lint checks; maintainers should endeavor
141*92d53ff1SJosef 'Jeff' Sipek# to investigate and remove these for maximum lint coverage.
142*92d53ff1SJosef 'Jeff' Sipek# Please do not carry these forward to new Makefiles.
143*92d53ff1SJosef 'Jeff' Sipek#
144*92d53ff1SJosef 'Jeff' SipekLINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
145*92d53ff1SJosef 'Jeff' SipekLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
146*92d53ff1SJosef 'Jeff' SipekLINTTAGS	+= -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
147*92d53ff1SJosef 'Jeff' SipekLINTTAGS	+= -erroff=E_STATIC_UNUSED
148*92d53ff1SJosef 'Jeff' SipekLINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
149*92d53ff1SJosef 'Jeff' SipekLINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
150