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