~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/x86/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/x86/Makefile (Architecture m68k) and /arch/sparc/Makefile (Architecture sparc)


  1 # SPDX-License-Identifier: GPL-2.0                  1 # SPDX-License-Identifier: GPL-2.0
  2 # Unified Makefile for i386 and x86_64         << 
  3                                                << 
  4 # select defconfig based on actual architectur << 
  5 ifeq ($(ARCH),x86)                             << 
  6   ifeq ($(shell uname -m | sed -e 's/i.86/i386 << 
  7         KBUILD_DEFCONFIG := i386_defconfig     << 
  8   else                                         << 
  9         KBUILD_DEFCONFIG := x86_64_defconfig   << 
 10   endif                                        << 
 11 else                                           << 
 12         KBUILD_DEFCONFIG := $(ARCH)_defconfig  << 
 13 endif                                          << 
 14                                                << 
 15 ifdef CONFIG_CC_IS_GCC                         << 
 16 RETPOLINE_CFLAGS        := $(call cc-option,-m << 
 17 RETPOLINE_VDSO_CFLAGS   := $(call cc-option,-m << 
 18 endif                                          << 
 19 ifdef CONFIG_CC_IS_CLANG                       << 
 20 RETPOLINE_CFLAGS        := -mretpoline-externa << 
 21 RETPOLINE_VDSO_CFLAGS   := -mretpoline         << 
 22 endif                                          << 
 23 RETPOLINE_CFLAGS        += $(call cc-option,-m << 
 24                                                << 
 25 ifdef CONFIG_MITIGATION_RETHUNK                << 
 26 RETHUNK_CFLAGS          := -mfunction-return=t << 
 27 RETHUNK_RUSTFLAGS       := -Zfunction-return=t << 
 28 RETPOLINE_CFLAGS        += $(RETHUNK_CFLAGS)   << 
 29 RETPOLINE_RUSTFLAGS     += $(RETHUNK_RUSTFLAGS << 
 30 endif                                          << 
 31                                                << 
 32 export RETHUNK_CFLAGS                          << 
 33 export RETHUNK_RUSTFLAGS                       << 
 34 export RETPOLINE_CFLAGS                        << 
 35 export RETPOLINE_RUSTFLAGS                     << 
 36 export RETPOLINE_VDSO_CFLAGS                   << 
 37                                                << 
 38 # For gcc stack alignment is specified with -m << 
 39 # clang has the option -mstack-alignment for t << 
 40 ifneq ($(call cc-option, -mpreferred-stack-bou << 
 41       cc_stack_align4 := -mpreferred-stack-bou << 
 42       cc_stack_align8 := -mpreferred-stack-bou << 
 43 else ifneq ($(call cc-option, -mstack-alignmen << 
 44       cc_stack_align4 := -mstack-alignment=4   << 
 45       cc_stack_align8 := -mstack-alignment=8   << 
 46 endif                                          << 
 47                                                << 
 48 # How to compile the 16-bit code.  Note we alw << 
 49 # that way we can complain to the user if the  << 
 50 REALMODE_CFLAGS := -std=gnu11 -m16 -g -Os -DDI << 
 51                    -Wall -Wstrict-prototypes - << 
 52                    -fno-strict-aliasing -fomit << 
 53                    -mno-mmx -mno-sse $(call cc << 
 54                                                << 
 55 REALMODE_CFLAGS += -ffreestanding              << 
 56 REALMODE_CFLAGS += -fno-stack-protector        << 
 57 REALMODE_CFLAGS += -Wno-address-of-packed-memb << 
 58 REALMODE_CFLAGS += $(cc_stack_align4)          << 
 59 REALMODE_CFLAGS += $(CLANG_FLAGS)              << 
 60 ifdef CONFIG_CC_IS_CLANG                       << 
 61 REALMODE_CFLAGS += -Wno-gnu                    << 
 62 endif                                          << 
 63 export REALMODE_CFLAGS                         << 
 64                                                << 
 65 # BITS is used as extension for files which ar << 
 66 # and a 64 bit version to simplify shared Make << 
 67 # e.g.: obj-y += foo_$(BITS).o                 << 
 68 export BITS                                    << 
 69                                                << 
 70 #                                              << 
 71 # Prevent GCC from generating any FP code by m << 
 72 #                                                   2 #
 73 # This must happen before we try the -mpreferr !!   3 # sparc/Makefile
 74 #                                                   4 #
 75 #    https://gcc.gnu.org/bugzilla/show_bug.cgi !!   5 # Makefile for the architecture dependent flags and dependencies on the
                                                   >>   6 # Sparc and sparc64.
 76 #                                                   7 #
 77 KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 - !!   8 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu)
 78 KBUILD_RUSTFLAGS += --target=$(objtree)/script !!   9 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
 79 KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse << 
 80                                                    10 
 81 #                                              !!  11 # We are not yet configured - so test on arch
 82 # CFLAGS for compiling floating point code ins !!  12 ifeq ($(ARCH),sparc64)
 83 #                                              !!  13         KBUILD_DEFCONFIG := sparc64_defconfig
 84 CC_FLAGS_FPU := -msse -msse2                   << 
 85 ifdef CONFIG_CC_IS_GCC                         << 
 86 # Stack alignment mismatch, proceed with cauti << 
 87 # GCC < 7.1 cannot compile code using `double` << 
 88 # (8B stack alignment).                        << 
 89 # See https://gcc.gnu.org/bugzilla/show_bug.cg << 
 90 #                                              << 
 91 # The "-msse" in the first argument is there s << 
 92 # -mpreferred-stack-boundary=3 build error:    << 
 93 #                                              << 
 94 #  -mpreferred-stack-boundary=3 is not between << 
 95 #                                              << 
 96 # can be triggered. Otherwise gcc doesn't comp << 
 97 CC_FLAGS_FPU += -mhard-float                   << 
 98 CC_FLAGS_FPU += $(call cc-option,-msse -mprefe << 
 99 endif                                          << 
100                                                << 
101 ifeq ($(CONFIG_X86_KERNEL_IBT),y)              << 
102 #                                              << 
103 # Kernel IBT has S_CET.NOTRACK_EN=0, as such t << 
104 # NOTRACK prefixes. Current generation compile << 
105 # for jump-tables, as such, disable jump-table << 
106 #                                              << 
107 # (jump-tables are implicitly disabled by RETP << 
108 #                                              << 
109 #   https://gcc.gnu.org/bugzilla/show_bug.cgi? << 
110 #                                              << 
111 KBUILD_CFLAGS += $(call cc-option,-fcf-protect << 
112 KBUILD_RUSTFLAGS += -Zcf-protection=branch -Zn << 
113 else                                               14 else
114 KBUILD_CFLAGS += $(call cc-option,-fcf-protect !!  15         KBUILD_DEFCONFIG := sparc32_defconfig
115 endif                                          << 
116                                                << 
117 ifeq ($(CONFIG_X86_32),y)                      << 
118         BITS := 32                             << 
119         UTS_MACHINE := i386                    << 
120         CHECKFLAGS += -D__i386__               << 
121                                                << 
122         KBUILD_AFLAGS += -m32                  << 
123         KBUILD_CFLAGS += -m32                  << 
124                                                << 
125         KBUILD_CFLAGS += -msoft-float -mregpar << 
126                                                << 
127         # Never want PIC in a 32-bit kernel, p << 
128         # with nonstandard options             << 
129         KBUILD_CFLAGS += -fno-pic              << 
130                                                << 
131         # Align the stack to the register widt << 
132         # alignment of 16 bytes. This reduces  << 
133         # alignment instructions.              << 
134         KBUILD_CFLAGS += $(cc_stack_align4)    << 
135                                                << 
136         # CPU-specific tuning. Anything which  << 
137         include $(srctree)/arch/x86/Makefile_3 << 
138         KBUILD_CFLAGS += $(cflags-y)           << 
139                                                << 
140         # temporary until string.h is fixed    << 
141         KBUILD_CFLAGS += -ffreestanding        << 
142                                                << 
143     ifeq ($(CONFIG_STACKPROTECTOR),y)          << 
144         ifeq ($(CONFIG_SMP),y)                 << 
145                         KBUILD_CFLAGS += -msta << 
146         else                                   << 
147                         KBUILD_CFLAGS += -msta << 
148         endif                                  << 
149     endif                                      << 
150 else                                           << 
151         BITS := 64                             << 
152         UTS_MACHINE := x86_64                  << 
153         CHECKFLAGS += -D__x86_64__             << 
154                                                << 
155         KBUILD_AFLAGS += -m64                  << 
156         KBUILD_CFLAGS += -m64                  << 
157                                                << 
158         # Align jump targets to 1 byte, not th << 
159         KBUILD_CFLAGS += $(call cc-option,-fal << 
160                                                << 
161         # Pack loops tightly as well:          << 
162         KBUILD_CFLAGS += $(call cc-option,-fal << 
163                                                << 
164         # Don't autogenerate traditional x87 i << 
165         KBUILD_CFLAGS += -mno-80387            << 
166         KBUILD_CFLAGS += $(call cc-option,-mno << 
167                                                << 
168         # By default gcc and clang use a stack << 
169         # However the standard kernel entry on << 
170         # 8-byte boundary. If the compiler isn << 
171         # alignment it will generate extra ali << 
172         # default alignment which keep the sta << 
173         # Furthermore an alignment to the regi << 
174         # and the number of alignment instruct << 
175         KBUILD_CFLAGS += $(cc_stack_align8)    << 
176                                                << 
177         # Use -mskip-rax-setup if supported.   << 
178         KBUILD_CFLAGS += $(call cc-option,-msk << 
179                                                << 
180         # FIXME - should be integrated in Make << 
181         cflags-$(CONFIG_MK8)            += -ma << 
182         cflags-$(CONFIG_MPSC)           += -ma << 
183         cflags-$(CONFIG_MCORE2)         += -ma << 
184         cflags-$(CONFIG_MATOM)          += -ma << 
185         cflags-$(CONFIG_GENERIC_CPU)    += -mt << 
186         KBUILD_CFLAGS += $(cflags-y)           << 
187                                                << 
188         rustflags-$(CONFIG_MK8)         += -Ct << 
189         rustflags-$(CONFIG_MPSC)        += -Ct << 
190         rustflags-$(CONFIG_MCORE2)      += -Ct << 
191         rustflags-$(CONFIG_MATOM)       += -Ct << 
192         rustflags-$(CONFIG_GENERIC_CPU) += -Zt << 
193         KBUILD_RUSTFLAGS += $(rustflags-y)     << 
194                                                << 
195         KBUILD_CFLAGS += -mno-red-zone         << 
196         KBUILD_CFLAGS += -mcmodel=kernel       << 
197         KBUILD_RUSTFLAGS += -Cno-redzone=y     << 
198         KBUILD_RUSTFLAGS += -Ccode-model=kerne << 
199 endif                                          << 
200                                                << 
201 #                                              << 
202 # If the function graph tracer is used with mc << 
203 # '-maccumulate-outgoing-args' is needed to pr << 
204 # (https://gcc.gnu.org/bugzilla/show_bug.cgi?i << 
205 #                                              << 
206 ifdef CONFIG_FUNCTION_GRAPH_TRACER             << 
207   ifndef CONFIG_HAVE_FENTRY                    << 
208         ACCUMULATE_OUTGOING_ARGS := 1          << 
209   endif                                        << 
210 endif                                          << 
211                                                << 
212 ifeq ($(ACCUMULATE_OUTGOING_ARGS), 1)          << 
213         # This compiler flag is not supported  << 
214         KBUILD_CFLAGS += $(call cc-option,-mac << 
215 endif                                              16 endif
216                                                    17 
217 # Workaround for a gcc prelease that unfortuna !!  18 ifeq ($(CONFIG_SPARC32),y)
218 KBUILD_CFLAGS += -Wno-sign-compare             !!  19 #####
                                                   >>  20 # sparc32
219 #                                                  21 #
220 KBUILD_CFLAGS += -fno-asynchronous-unwind-tabl << 
221                                                    22 
222 # Avoid indirect branches in kernel to deal wi !!  23 CHECKFLAGS     += -D__sparc__
223 ifdef CONFIG_MITIGATION_RETPOLINE              !!  24 KBUILD_LDFLAGS := -m elf32_sparc
224   KBUILD_CFLAGS += $(RETPOLINE_CFLAGS)         !!  25 export BITS    := 32
225   KBUILD_RUSTFLAGS += $(RETPOLINE_RUSTFLAGS)   !!  26 UTS_MACHINE    := sparc
226   # Additionally, avoid generating expensive i << 
227   # are subject to retpolines for small number << 
228   # LLVM turns off jump table generation by de << 
229   # retpoline builds, however, gcc does not fo << 
230   # only been fixed starting from gcc stable v << 
231   # onwards, but not for older ones. See gcc b << 
232   ifndef CONFIG_CC_IS_CLANG                    << 
233     KBUILD_CFLAGS += -fno-jump-tables          << 
234   endif                                        << 
235 endif                                          << 
236                                                    27 
237 ifdef CONFIG_MITIGATION_SLS                    !!  28 # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some
238   KBUILD_CFLAGS += -mharden-sls=all            !!  29 # versions of gcc.  Some gcc versions won't pass -Av8 to binutils when you
239 endif                                          !!  30 # give -mcpu=v8.  This silently worked with older bintutils versions but
                                                   >>  31 # does not any more.
                                                   >>  32 KBUILD_CFLAGS  += -m32 -mcpu=v8 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
                                                   >>  33 KBUILD_CFLAGS  += -Wa,-Av8
240                                                    34 
241 ifdef CONFIG_CALL_PADDING                      !!  35 KBUILD_AFLAGS  += -m32 -Wa,-Av8
242 PADDING_CFLAGS := -fpatchable-function-entry=$ << 
243 KBUILD_CFLAGS += $(PADDING_CFLAGS)             << 
244 export PADDING_CFLAGS                          << 
245                                                << 
246 PADDING_RUSTFLAGS := -Zpatchable-function-entr << 
247 KBUILD_RUSTFLAGS += $(PADDING_RUSTFLAGS)       << 
248 export PADDING_RUSTFLAGS                       << 
249 endif                                          << 
250                                                    36 
251 KBUILD_LDFLAGS += -m elf_$(UTS_MACHINE)        << 
252                                                << 
253 ifdef CONFIG_X86_NEED_RELOCS                   << 
254 LDFLAGS_vmlinux := --emit-relocs --discard-non << 
255 else                                               37 else
256 LDFLAGS_vmlinux :=                             !!  38 #####
257 endif                                          !!  39 # sparc64
258                                                << 
259 #                                              << 
260 # The 64-bit kernel must be aligned to 2MB.  P << 
261 # the linker to force 2MB page size regardless << 
262 # by the linker.                               << 
263 #                                                  40 #
264 ifdef CONFIG_X86_64                            << 
265 LDFLAGS_vmlinux += -z max-page-size=0x200000   << 
266 endif                                          << 
267                                                << 
268                                                << 
269 archscripts: scripts_basic                     << 
270         $(Q)$(MAKE) $(build)=arch/x86/tools re << 
271                                                    41 
272 ###                                            !!  42 CHECKFLAGS    += -D__sparc__ -D__sparc_v9__ -D__arch64__
273 # Syscall table generation                     !!  43 KBUILD_LDFLAGS := -m elf64_sparc
                                                   >>  44 export BITS   := 64
                                                   >>  45 UTS_MACHINE   := sparc64
274                                                    46 
275 archheaders:                                   !!  47 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow
276         $(Q)$(MAKE) $(build)=arch/x86/entry/sy !!  48 KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare
277                                                !!  49 KBUILD_CFLAGS += -Wa,--undeclared-regs
278 ###                                            !!  50 KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3)
279 # Kernel objects                               !!  51 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs
280                                                << 
281 libs-y  += arch/x86/lib/                       << 
282                                                << 
283 # drivers-y are linked after core-y            << 
284 drivers-$(CONFIG_MATH_EMULATION) += arch/x86/m << 
285 drivers-$(CONFIG_PCI)            += arch/x86/p << 
286                                                    52 
287 # suspend and hibernation support              !!  53 ifeq ($(CONFIG_MCOUNT),y)
288 drivers-$(CONFIG_PM) += arch/x86/power/        !!  54   KBUILD_CFLAGS += -pg
289                                                !!  55 endif
290 drivers-$(CONFIG_VIDEO) += arch/x86/video/     << 
291                                                << 
292 ####                                           << 
293 # boot loader support. Several targets are kep << 
294                                                << 
295 boot := arch/x86/boot                          << 
296                                                    56 
297 BOOT_TARGETS = bzdisk fdimage fdimage144 fdima !!  57 endif
298                                                    58 
299 PHONY += bzImage $(BOOT_TARGETS)               !!  59 libs-y                 += arch/sparc/prom/
                                                   >>  60 libs-y                 += arch/sparc/lib/
300                                                    61 
301 # Default kernel to build                      !!  62 drivers-$(CONFIG_PM)    += arch/sparc/power/
302 all: bzImage                                   !!  63 drivers-$(CONFIG_VIDEO) += arch/sparc/video/
303                                                    64 
304 # KBUILD_IMAGE specify target image being buil !!  65 boot := arch/sparc/boot
305 KBUILD_IMAGE := $(boot)/bzImage                << 
306                                                    66 
307 bzImage: vmlinux                               !!  67 # Default target
308 ifeq ($(CONFIG_X86_DECODER_SELFTEST),y)        !!  68 all: zImage
309         $(Q)$(MAKE) $(build)=arch/x86/tools po << 
310 endif                                          << 
311         $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_ << 
312         $(Q)mkdir -p $(objtree)/arch/$(UTS_MAC << 
313         $(Q)ln -fsn ../../x86/boot/bzImage $(o << 
314                                                    69 
315 $(BOOT_TARGETS): vmlinux                       !!  70 image zImage uImage tftpboot.img vmlinux.aout: vmlinux
316         $(Q)$(MAKE) $(build)=$(boot) $@        !!  71         $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
317                                                    72 
318 PHONY += install                               << 
319 install:                                           73 install:
320         $(call cmd,install)                        74         $(call cmd,install)
321                                                    75 
322 vdso-install-$(CONFIG_X86_64)           += arc !!  76 archheaders:
323 vdso-install-$(CONFIG_X86_X32_ABI)      += arc !!  77         $(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all
324 vdso-install-$(CONFIG_COMPAT_32)        += arc << 
325                                                << 
326 archprepare: checkbin                          << 
327 checkbin:                                      << 
328 ifdef CONFIG_MITIGATION_RETPOLINE              << 
329 ifeq ($(RETPOLINE_CFLAGS),)                    << 
330         @echo "You are building kernel with no << 
331         @echo "Please update your compiler." > << 
332         @false                                 << 
333 endif                                          << 
334 endif                                          << 
335                                                    78 
336 ifdef CONFIG_UNWINDER_ORC                      !!  79 vdso-install-$(CONFIG_SPARC64)  += arch/sparc/vdso/vdso64.so.dbg
337 orc_hash_h := arch/$(SRCARCH)/include/generate !!  80 vdso-install-$(CONFIG_COMPAT)   += arch/sparc/vdso/vdso32.so.dbg
338 orc_hash_sh := $(srctree)/scripts/orc_hash.sh  << 
339 targets += $(orc_hash_h)                       << 
340 quiet_cmd_orc_hash = GEN     $@                << 
341       cmd_orc_hash = mkdir -p $(dir $@); \     << 
342                      $(CONFIG_SHELL) $(orc_has << 
343 $(orc_hash_h): $(srctree)/arch/x86/include/asm << 
344         $(call if_changed,orc_hash)            << 
345 archprepare: $(orc_hash_h)                     << 
346 endif                                          << 
347                                                    81 
348 archclean:                                     !!  82 # This is the image used for packaging
349         $(Q)rm -rf $(objtree)/arch/i386        !!  83 KBUILD_IMAGE := $(boot)/zImage
350         $(Q)rm -rf $(objtree)/arch/x86_64      << 
351                                                    84 
                                                   >>  85 # Don't use tabs in echo arguments.
352 define archhelp                                    86 define archhelp
353   echo  '* bzImage              - Compressed k !!  87   echo  '* vmlinux      - standard SPARC kernel'
354   echo  '  install              - Install kern !!  88   echo  '  image        - kernel image ($(boot)/image)'
355   echo  '                         (distributio !!  89   echo  '* zImage       - stripped/compressed kernel image ($(boot)/zImage)'
356   echo  '                         $$(INSTALL_P !!  90   echo  '  uImage       - U-Boot SPARC32 Image (only for LEON)'
357   echo  ''                                     !!  91   echo  '  vmlinux.aout - a.out kernel for SPARC64'
358   echo  '  fdimage              - Create 1.4MB !!  92   echo  '  tftpboot.img - image prepared for tftp'
359   echo  '  fdimage144           - Create 1.4MB << 
360   echo  '  fdimage288           - Create 2.8MB << 
361   echo  '  hdimage              - Create a BIO << 
362   echo  '  isoimage             - Create a boo << 
363   echo  '                         bzdisk/fdima << 
364   echo  '                         FDARGS="..." << 
365   echo  '                         FDINITRD=fil << 
366                                                << 
367 endef                                              93 endef
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php