44 * Copyright (C) 2003 Benjamin Herrenschmidt ([email protected] ) 55 */
66
7+ #include <linux/linkage.h>
8+
79#include <asm/processor.h>
810#include <asm/page.h>
911#include <asm/cputable.h>
@@ -81,7 +83,7 @@ _GLOBAL(__setup_cpu_745x)
8183 blr
8284
8385/* Enable caches for 603's, 604, 750 & 7400 */
84- setup_common_caches:
86+ SYM_FUNC_START_ LOCAL ( setup_common_caches)
8587 mfspr r11,SPRN_HID0
8688 andi. r0,r11,HID0_DCE
8789 ori r11,r11,HID0_ICE|HID0_DCE
@@ -95,11 +97,12 @@ setup_common_caches:
9597 sync
9698 isync
9799 blr
100+ SYM_FUNC_END(setup_common_caches)
98101
99102/* 604, 604e, 604ev, ...
100103 * Enable superscalar execution & branch history table
101104 */
102- setup_604_hid0:
105+ SYM_FUNC_START_ LOCAL ( setup_604_hid0)
103106 mfspr r11,SPRN_HID0
104107 ori r11,r11,HID0_SIED|HID0_BHTE
105108 ori r8,r11,HID0_BTCD
@@ -110,6 +113,7 @@ setup_604_hid0:
110113 sync
111114 isync
112115 blr
116+ SYM_FUNC_END(setup_604_hid0)
113117
114118/* 7400 <= rev 2.7 and 7410 rev = 1.0 suffer from some
115119 * erratas we work around here.
@@ -125,13 +129,14 @@ setup_604_hid0:
125129 * needed once we have applied workaround #5 (though it's
126130 * not set by Apple's firmware at least).
127131 */
128- setup_7400_workarounds:
132+ SYM_FUNC_START_ LOCAL ( setup_7400_workarounds)
129133 mfpvr r3
130134 rlwinm r3,r3,0 ,20 ,31
131135 cmpwi 0 ,r3,0x0207
132136 ble 1f
133137 blr
134- setup_7410_workarounds:
138+ SYM_FUNC_END(setup_7400_workarounds)
139+ SYM_FUNC_START_LOCAL (setup_7410_workarounds)
135140 mfpvr r3
136141 rlwinm r3,r3,0 ,20 ,31
137142 cmpwi 0 ,r3,0x0100
@@ -151,14 +156,15 @@ setup_7410_workarounds:
151156 sync
152157 isync
153158 blr
159+ SYM_FUNC_END(setup_7410_workarounds)
154160
155161/* 740/750/7400/7410
156162 * Enable Store Gathering (SGE), Address Broadcast (ABE),
157163 * Branch History Table (BHTE), Branch Target ICache (BTIC)
158164 * Dynamic Power Management (DPM), Speculative (SPD)
159165 * Clear Instruction cache throttling (ICTC)
160166 */
161- setup_750_7400_hid0:
167+ SYM_FUNC_START_ LOCAL ( setup_750_7400_hid0)
162168 mfspr r11,SPRN_HID0
163169 ori r11,r11,HID0_SGE | HID0_ABE | HID0_BHTE | HID0_BTIC
164170 oris r11,r11,HID0_DPM@h
@@ -177,12 +183,13 @@ END_FTR_SECTION_IFSET(CPU_FTR_NO_DPM)
177183 sync
178184 isync
179185 blr
186+ SYM_FUNC_END(setup_750_7400_hid0)
180187
181188/* 750cx specific
182189 * Looks like we have to disable NAP feature for some PLL settings...
183190 * (waiting for confirmation)
184191 */
185- setup_750cx:
192+ SYM_FUNC_START_ LOCAL ( setup_750cx)
186193 mfspr r10, SPRN_HID1
187194 rlwinm r10,r10,4 ,28 ,31
188195 cmpwi cr0,r10,7
@@ -196,11 +203,13 @@ setup_750cx:
196203 andc r6,r6,r7
197204 stw r6,CPU_SPEC_FEATURES(r4)
198205 blr
206+ SYM_FUNC_END(setup_750cx)
199207
200208/* 750fx specific
201209 */
202- setup_750fx:
210+ SYM_FUNC_START_ LOCAL ( setup_750fx)
203211 blr
212+ SYM_FUNC_END(setup_750fx)
204213
205214/* MPC 745x
206215 * Enable Store Gathering (SGE), Branch Folding (FOLD)
@@ -212,7 +221,7 @@ setup_750fx:
212221 * Clear Instruction cache throttling (ICTC)
213222 * Enable L2 HW prefetch
214223 */
215- setup_745x_specifics:
224+ SYM_FUNC_START_ LOCAL ( setup_745x_specifics)
216225 /* We check for the presence of an L3 cache setup by
217226 * the firmware. If any, we disable NAP capability as
218227 * it's known to be bogus on rev 2.1 and earlier
@@ -270,6 +279,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_NO_DPM)
270279 sync
271280 isync
272281 blr
282+ SYM_FUNC_END(setup_745x_specifics)
273283
274284/*
275285 * Initialize the FPU registers. This is needed to work around an errata
0 commit comments