blob: 74179a56eade2ef1dc78259b0689abbfc8f88416 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# $Source: src/makefile $
#
# IBM CONFIDENTIAL
#
# COPYRIGHT International Business Machines Corp. 2010,2013
#
# p1
#
# Object Code Only (OCO) source materials
# Licensed Internal Code Source Materials
# IBM HostBoot Licensed Internal Code
#
# The source code for this program is not published or otherwise
# divested of its trade secrets, irrespective of what has been
# deposited with the U.S. Copyright Office.
#
# Origin: 30
#
# IBM_PROLOG_END_TAG
ROOTPATH = ..
SUBDIRS = kernel.d lib.d libc++.d sys.d usr.d build.d
IMGS = hbicore hbicore_test
BASE_OBJECTS = console.o spinlock.o string.o string_ext.o stdlib.o ctype.o \
assert.o stdio.o builtins.o vfs_init.o heapmgr.o pagemgr.o \
math.o barrier.o idebug.o intmsghandler.o deferred.o \
idletask.o splaytree.o
ifdef HOSTBOOT_PROFILE
BASE_OBJECTS += gcov.o
endif
DIRECT_BOOT_OBJECTS = start.o kernel.o taskmgr.o cpumgr.o syscall.o \
scheduler.o exception.o vmmmgr.o timemgr.o \
syscall_stub.o syscall_task.o syscall_misc.o \
syscall_msg.o syscall_mmio.o syscall_time.o \
syscall_mm.o init_main.o vfs_main.o sync.o futexmgr.o \
ptmgr.o segmentmgr.o basesegment.o devicesegment.o \
block.o cxxtest_data.o cpuid.o misc.o msghandler.o \
blockmsghdlr.o stacksegment.o softpatch_p8.o \
shutdown.o forceattn_p8.o terminate.o
BASE_MODULES = trace errl devicefw scom xscom initservice \
pnor vfs
EXTENDED_MODULES = targeting ecmddatabuffer fapi hwp plat \
extinitsvc istepdisp hwas fsi fsiscom i2c intr scan \
vpd dmi_training fapiporeve poreve util tracedaemon \
sbe_centaur_init mc_config dram_training \
mdia mbox prdf bus_training \
activate_powerbus build_winkle_images \
core_activate dram_initialization edi_ei_initialization \
establish_system_smp occ\
nest_chiplets start_payload thread_activate slave_sbe \
attn runtime ibscom dump tod_init
TESTCASE_MODULES = cxxtest testtrace testerrl testdevicefw testsyslib \
testscom testxscom testtargeting testinitservice testkernel \
testhwpf testecmddatabuffer initsvctesttask testcxxtest \
testpnor testi2c testfsi testvfs testhwas testintr testvpd \
testpore testutil testmbox testmdia testprdf testattn \
testscan testruntime testibscom testdump
RELOCATABLE_IMAGE_LDFLAGS = -pie --export-dynamic
hbicore_OBJECTS = ${BASE_OBJECTS} ${DIRECT_BOOT_OBJECTS}
hbicore_MODULES = ${BASE_MODULES}
hbicore_EXTENDED_MODULES = ${EXTENDED_MODULES}
# for PRDR_RULE_TABLE_TARGETS
include ${ROOTPATH}/src/usr/diag/prdf/common/prd_ruletable.mk
#@todo - Temporary workaround
# The centaur.sbe_pnor.bin is manually built from CVS SBE procedure files in
# CVS then copy into HostBoot for now.
# HostBoot build team will have a process of building centaur.sbe_pnor.bin
# image later.
hbicore_DATA_MODULES = sample.if p8.dmi.scom.if cen.dmi.scom.if \
p8.fbc.scom.if mbs_def.if mba_def.if cen_ddrphy.if \
p8.pe.phase1.scom.if p8.pe.phase2.scom.if \
centaur.sbe_pnor.bin ${PRDR_RULE_TABLE_TARGETS} \
p8.abus.scom.if p8.xbus.scom.if p8.mcs.scom.if \
p8.as.scom.if p8.nx.scom.if p8.dmi.custom.scom.if \
cen.dmi.custom.scom.if p8.abus.custom.scom.if \
p8.xbus.custom.scom.if p8.psi.scom.if p8.tpbridge.scom.if \
p8.cxa.scom.if
hbicore_test_OBJECTS = ${hbicore_OBJECTS}
hbicore_test_MODULES = ${hbicore_MODULES}
hbicore_test_EXTENDED_MODULES = ${hbicore_EXTENDED_MODULES} ${TESTCASE_MODULES}
hbicore_test_DATA_MODULES = ${hbicore_DATA_MODULES} testdata
IMAGE_PASS_BODY += buildpnor imgsizecheck
IMAGE_PASS_BODY += $(IMGDIR)/hbotStringFile
CLEAN_TARGETS += $(IMGDIR)/hbotStringFile
include ${ROOTPATH}/config.mk
buildpnor: ${IMAGES}
cd build/buildpnor/ && ${MAKE} buildpnor
$(IMGDIR)/hbotStringFile : $(IMAGES)
$(ROOTPATH)/src/build/trace/tracehash_hb.pl -c -d $(ROOTPATH)/obj -s $@
.PHONY: imgsizecheck
#make sure base image isn't over 508k (512K - 4K for secure header)
#PROCESS: get size of hbicore.bin, sort with respect to 508k (520192), then see if
#last word is 508k. If not, the base image is too big.
MAX_BASE_SIZE = 520192
imgsizecheck: ${IMGDIR}/hbicore.bin
$(if $(findstring $(shell (stat -c%s ${IMGDIR}/hbicore.bin; echo $(MAX_BASE_SIZE)) | sort -n | tail -n1), $(MAX_BASE_SIZE)),true, @echo ERROR: ${IMGDIR}/hbicore.bin too large. Max allowed size is $(MAX_BASE_SIZE); false)
|