diff options
-rw-r--r-- | arch/sh/Makefile | 88 | ||||
-rw-r--r-- | include/asm-sh/machvec_init.h | 2 |
2 files changed, 51 insertions, 39 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 883b03b040c4..c7323e7dce67 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
@@ -87,39 +87,39 @@ core-y += arch/sh/kernel/ arch/sh/mm/ | |||
87 | core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ | 87 | core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ |
88 | 88 | ||
89 | # Boards | 89 | # Boards |
90 | machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x | 90 | machdir-$(CONFIG_SH_SOLUTION_ENGINE) += se/770x |
91 | machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) := se/7722 | 91 | machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) += se/7722 |
92 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751 | 92 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751 |
93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780 | 93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 |
94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 | 94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300 |
95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) := se/7343 | 95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 |
96 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 | 96 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180 |
97 | machdir-$(CONFIG_SH_HP6XX) := hp6xx | 97 | machdir-$(CONFIG_SH_HP6XX) += hp6xx |
98 | machdir-$(CONFIG_SH_SATURN) := saturn | 98 | machdir-$(CONFIG_SH_SATURN) += saturn |
99 | machdir-$(CONFIG_SH_DREAMCAST) := dreamcast | 99 | machdir-$(CONFIG_SH_DREAMCAST) += dreamcast |
100 | machdir-$(CONFIG_SH_MPC1211) := mpc1211 | 100 | machdir-$(CONFIG_SH_MPC1211) += mpc1211 |
101 | machdir-$(CONFIG_SH_SH03) := sh03 | 101 | machdir-$(CONFIG_SH_SH03) += sh03 |
102 | machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear | 102 | machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear |
103 | machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip | 103 | machdir-$(CONFIG_SH_HS7751RVOIP) += renesas/hs7751rvoip |
104 | machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d | 104 | machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d |
105 | machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh | 105 | machdir-$(CONFIG_SH_7751_SYSTEMH) += renesas/systemh |
106 | machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705 | 106 | machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705 |
107 | machdir-$(CONFIG_SH_HIGHLANDER) := renesas/r7780rp | 107 | machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp |
108 | machdir-$(CONFIG_SH_7710VOIPGW) := renesas/sh7710voipgw | 108 | machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw |
109 | machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev | 109 | machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev |
110 | machdir-$(CONFIG_SH_LANDISK) := landisk | 110 | machdir-$(CONFIG_SH_LANDISK) += landisk |
111 | machdir-$(CONFIG_SH_TITAN) := titan | 111 | machdir-$(CONFIG_SH_TITAN) += titan |
112 | machdir-$(CONFIG_SH_SHMIN) := shmin | 112 | machdir-$(CONFIG_SH_SHMIN) += shmin |
113 | machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) := se/7206 | 113 | machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206 |
114 | machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) := se/7619 | 114 | machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) += se/7619 |
115 | machdir-$(CONFIG_SH_LBOX_RE2) := lboxre2 | 115 | machdir-$(CONFIG_SH_LBOX_RE2) += lboxre2 |
116 | machdir-$(CONFIG_SH_UNKNOWN) := unknown | 116 | machdir-$(CONFIG_SH_UNKNOWN) += unknown |
117 | 117 | ||
118 | incdir-y := $(notdir $(machdir-y)) | 118 | incdir-y := $(notdir $(machdir-y)) |
119 | incdir-$(CONFIG_SH_HP6XX) := hp6xx | ||
120 | 119 | ||
121 | ifneq ($(machdir-y),) | 120 | ifneq ($(machdir-y),) |
122 | core-y += arch/sh/boards/$(machdir-y)/ | 121 | core-y += $(addprefix arch/sh/boards/, \ |
122 | $(filter-out ., $(patsubst %,%/,$(machdir-y)))) | ||
123 | endif | 123 | endif |
124 | 124 | ||
125 | # Companion chips | 125 | # Companion chips |
@@ -157,19 +157,31 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \ | |||
157 | # Most boards have their own mach directories. For the ones that | 157 | # Most boards have their own mach directories. For the ones that |
158 | # don't, just reference the parent directory so the semantics are | 158 | # don't, just reference the parent directory so the semantics are |
159 | # kept roughly the same. | 159 | # kept roughly the same. |
160 | # | ||
161 | # When multiple boards are compiled in at the same time, preference | ||
162 | # for the mach link is given to whichever has a directory for its | ||
163 | # headers. However, this is only a workaround until platforms that | ||
164 | # can live in the same kernel image back away from relying on the | ||
165 | # mach link. | ||
160 | 166 | ||
161 | include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ | 167 | include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ |
162 | include/config/auto.conf FORCE | 168 | include/config/auto.conf FORCE |
163 | @echo -n ' SYMLINK include/asm-sh/mach -> ' | ||
164 | $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi | 169 | $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi |
165 | $(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \ | 170 | $(Q)rm -f include/asm-sh/mach |
166 | echo -e 'include/asm-sh/$(incdir-y)'; \ | 171 | $(Q)for i in $(incdir-y); do \ |
167 | ln -fsn $(incdir-prefix)$(incdir-y) \ | 172 | if [ -d $(incdir-prefix)$$i ]; then \ |
173 | echo -n ' SYMLINK include/asm-sh/mach -> '; \ | ||
174 | echo -e "include/asm-sh/$$i"; \ | ||
175 | ln -fsn $(incdir-prefix)$$i \ | ||
168 | include/asm-sh/mach; \ | 176 | include/asm-sh/mach; \ |
169 | else \ | 177 | else \ |
170 | echo -e 'include/asm-sh'; \ | 178 | if [ ! -d include/asm-sh/mach ]; then \ |
171 | ln -fsn $(incdir-prefix) include/asm-sh/mach; \ | 179 | echo -n ' SYMLINK include/asm-sh/mach -> '; \ |
172 | fi | 180 | echo -e 'include/asm-sh'; \ |
181 | ln -fsn $(incdir-prefix) include/asm-sh/mach; \ | ||
182 | fi; \ | ||
183 | fi; \ | ||
184 | done | ||
173 | @touch $@ | 185 | @touch $@ |
174 | 186 | ||
175 | archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools | 187 | archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools |
diff --git a/include/asm-sh/machvec_init.h b/include/asm-sh/machvec_init.h index 88a973edcf15..cb015b8bb365 100644 --- a/include/asm-sh/machvec_init.h +++ b/include/asm-sh/machvec_init.h | |||
@@ -14,6 +14,6 @@ | |||
14 | 14 | ||
15 | #define __initmv __attribute__((unused,__section__ (".machvec.init"))) | 15 | #define __initmv __attribute__((unused,__section__ (".machvec.init"))) |
16 | #define ALIAS_MV(system) \ | 16 | #define ALIAS_MV(system) \ |
17 | asm(".global sh_mv\nsh_mv = mv_"#system ); | 17 | asm(".weak sh_mv\nsh_mv = mv_"#system ); |
18 | 18 | ||
19 | #endif /* __SH_MACHVEC_INIT_H */ | 19 | #endif /* __SH_MACHVEC_INIT_H */ |