blob: 10b55c914e689718522199aefee79ea2b525434d [file] [log] [blame]
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09005 default "mips"
6
Daniel Schwierzeck99e7af22014-10-26 14:14:07 +01007config SYS_CPU
Paul Burton32464372016-05-16 10:52:11 +01008 default "mips32" if CPU_MIPS32
9 default "mips64" if CPU_MIPS64
Daniel Schwierzeck99e7af22014-10-26 14:14:07 +010010
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090011choice
12 prompt "Target select"
Joe Hershbergerf0699602015-05-12 14:46:23 -050013 optional
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090014
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
Michal Simek84f3dec2018-07-23 15:55:13 +020017 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010018 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010019 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeck94384d12014-10-26 14:14:07 +010021 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
Michal Simek84f3dec2018-07-23 15:55:13 +020023 select SUPPORTS_LITTLE_ENDIAN
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090024
25config TARGET_MALTA
26 bool "Support malta"
Paul Burtona31a3df2016-05-17 07:43:28 +010027 select DM
28 select DM_SERIAL
Paul Burton8d6600b2016-01-29 13:54:52 +000029 select DYNAMIC_IO_PORT_BASE
Paul Burton59a4c8b2016-09-21 11:18:56 +010030 select MIPS_CM
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +020031 select MIPS_INSERT_BOOT_CONFIG
Michal Simek84f3dec2018-07-23 15:55:13 +020032 select MIPS_L1_CACHE_SHIFT_6
Paul Burton59a4c8b2016-09-21 11:18:56 +010033 select MIPS_L2_CACHE
Paul Burtona31a3df2016-05-17 07:43:28 +010034 select OF_CONTROL
35 select OF_ISA_BUS
Michal Simek84f3dec2018-07-23 15:55:13 +020036 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010037 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010038 select SUPPORTS_CPU_MIPS32_R1
39 select SUPPORTS_CPU_MIPS32_R2
Paul Burton1c10e0d2016-05-16 10:52:14 +010040 select SUPPORTS_CPU_MIPS32_R6
Paul Burton825cfbd2016-05-26 14:49:36 +010041 select SUPPORTS_CPU_MIPS64_R1
42 select SUPPORTS_CPU_MIPS64_R2
43 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +020044 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +010045 select SWAP_IO_SPACE
Michal Simek2e7c8192018-07-23 15:55:14 +020046 imply CMD_DM
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090047
48config TARGET_VCT
49 bool "Support vct"
Michal Simek84f3dec2018-07-23 15:55:13 +020050 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010051 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010052 select SUPPORTS_CPU_MIPS32_R1
53 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000054 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090055
Wills Wang833a1a82016-03-16 16:59:52 +080056config ARCH_ATH79
57 bool "Support QCA/Atheros ath79"
Wills Wang833a1a82016-03-16 16:59:52 +080058 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +020059 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +020060 imply CMD_DM
Wills Wang833a1a82016-03-16 16:59:52 +080061
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020062config ARCH_BMIPS
63 bool "Support BMIPS SoCs"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020064 select CLK
65 select CPU
Michal Simek84f3dec2018-07-23 15:55:13 +020066 select DM
67 select OF_CONTROL
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020068 select RAM
69 select SYSRESET
Michal Simek2e7c8192018-07-23 15:55:14 +020070 imply CMD_DM
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020071
Stefan Roese65da15e2018-09-05 15:12:35 +020072config ARCH_MT7620
73 bool "Support MT7620/7688 SoCs"
74 imply CMD_DM
75 select DISPLAY_CPUINFO
76 select DM
77 select DM_SERIAL
78 imply DM_SPI
79 imply DM_SPI_FLASH
80 select MIPS_TUNE_24KC
81 select OF_CONTROL
82 select ROM_EXCEPTION_VECTORS
83 select SUPPORTS_CPU_MIPS32_R1
84 select SUPPORTS_CPU_MIPS32_R2
85 select SUPPORTS_LITTLE_ENDIAN
86
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053087config MACH_PIC32
88 bool "Support Microchip PIC32"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053089 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +020090 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +020091 imply CMD_DM
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053092
Paul Burtonf5de32a2016-09-08 07:47:39 +010093config TARGET_BOSTON
94 bool "Support Boston"
95 select DM
96 select DM_SERIAL
Paul Burtonf5de32a2016-09-08 07:47:39 +010097 select MIPS_CM
98 select MIPS_L1_CACHE_SHIFT_6
99 select MIPS_L2_CACHE
Paul Burtona315bcd2017-04-30 21:22:42 +0200100 select OF_BOARD_SETUP
Michal Simek84f3dec2018-07-23 15:55:13 +0200101 select OF_CONTROL
102 select ROM_EXCEPTION_VECTORS
Paul Burtonf5de32a2016-09-08 07:47:39 +0100103 select SUPPORTS_BIG_ENDIAN
Paul Burtonf5de32a2016-09-08 07:47:39 +0100104 select SUPPORTS_CPU_MIPS32_R1
105 select SUPPORTS_CPU_MIPS32_R2
106 select SUPPORTS_CPU_MIPS32_R6
107 select SUPPORTS_CPU_MIPS64_R1
108 select SUPPORTS_CPU_MIPS64_R2
109 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +0200110 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200111 imply CMD_DM
Paul Burtonf5de32a2016-09-08 07:47:39 +0100112
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100113config TARGET_XILFPGA
114 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100115 select DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100116 select DM_ETH
Michal Simek84f3dec2018-07-23 15:55:13 +0200117 select DM_GPIO
118 select DM_SERIAL
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100119 select MIPS_L1_CACHE_SHIFT_4
Michal Simek84f3dec2018-07-23 15:55:13 +0200120 select OF_CONTROL
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100121 select ROM_EXCEPTION_VECTORS
Michal Simek84f3dec2018-07-23 15:55:13 +0200122 select SUPPORTS_CPU_MIPS32_R1
123 select SUPPORTS_CPU_MIPS32_R2
124 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200125 imply CMD_DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100126 help
127 This supports IMGTEC MIPSfpga platform
128
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900129endchoice
130
Paul Burtonf5de32a2016-09-08 07:47:39 +0100131source "board/imgtec/boston/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900132source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100133source "board/imgtec/xilfpga/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900134source "board/micronas/vct/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900135source "board/qemu-mips/Kconfig"
Wills Wang833a1a82016-03-16 16:59:52 +0800136source "arch/mips/mach-ath79/Kconfig"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +0200137source "arch/mips/mach-bmips/Kconfig"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530138source "arch/mips/mach-pic32/Kconfig"
Stefan Roese65da15e2018-09-05 15:12:35 +0200139source "arch/mips/mach-mt7620/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900140
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100141if MIPS
142
143choice
144 prompt "Endianness selection"
145 help
146 Some MIPS boards can be configured for either little or big endian
147 byte order. These modes require different U-Boot images. In general there
148 is one preferred byteorder for a particular system but some systems are
149 just as commonly used in the one or the other endianness.
150
151config SYS_BIG_ENDIAN
152 bool "Big endian"
153 depends on SUPPORTS_BIG_ENDIAN
154
155config SYS_LITTLE_ENDIAN
156 bool "Little endian"
157 depends on SUPPORTS_LITTLE_ENDIAN
158
159endchoice
160
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100161choice
162 prompt "CPU selection"
163 default CPU_MIPS32_R2
164
165config CPU_MIPS32_R1
166 bool "MIPS32 Release 1"
167 depends on SUPPORTS_CPU_MIPS32_R1
168 select 32BIT
169 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100170 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100171 MIPS32 architecture.
172
173config CPU_MIPS32_R2
174 bool "MIPS32 Release 2"
175 depends on SUPPORTS_CPU_MIPS32_R2
176 select 32BIT
177 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100178 Choose this option to build an U-Boot for release 2 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100179 MIPS32 architecture.
180
Paul Burton55e29dd2016-05-16 10:52:12 +0100181config CPU_MIPS32_R6
182 bool "MIPS32 Release 6"
183 depends on SUPPORTS_CPU_MIPS32_R6
184 select 32BIT
185 help
186 Choose this option to build an U-Boot for release 6 or later of the
187 MIPS32 architecture.
188
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100189config CPU_MIPS64_R1
190 bool "MIPS64 Release 1"
191 depends on SUPPORTS_CPU_MIPS64_R1
192 select 64BIT
193 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100194 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100195 MIPS64 architecture.
196
197config CPU_MIPS64_R2
198 bool "MIPS64 Release 2"
199 depends on SUPPORTS_CPU_MIPS64_R2
200 select 64BIT
201 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100202 Choose this option to build a kernel for release 2 through 5 of the
203 MIPS64 architecture.
204
205config CPU_MIPS64_R6
206 bool "MIPS64 Release 6"
207 depends on SUPPORTS_CPU_MIPS64_R6
208 select 64BIT
209 help
210 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100211 MIPS64 architecture.
212
213endchoice
214
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100215menu "General setup"
216
217config ROM_EXCEPTION_VECTORS
218 bool "Build U-Boot image with exception vectors"
219 help
220 Enable this to include exception vectors in the U-Boot image. This is
221 required if the U-Boot entry point is equal to the address of the
222 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
223 U-Boot booted from parallel NOR flash).
224 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
225 In that case the image size will be reduced by 0x500 bytes.
226
Paul Burton3d6864a2017-05-12 13:26:11 +0200227config MIPS_CM_BASE
228 hex "MIPS CM GCR Base Address"
229 depends on MIPS_CM
Paul Burtona6ac9652017-04-30 21:22:41 +0200230 default 0x16100000 if TARGET_BOSTON
Paul Burton3d6864a2017-05-12 13:26:11 +0200231 default 0x1fbf8000
232 help
233 The physical base address at which to map the MIPS Coherence Manager
234 Global Configuration Registers (GCRs). This should be set such that
235 the GCRs occupy a region of the physical address space which is
236 otherwise unused, or at minimum that software doesn't need to access.
237
Daniel Schwierzecke3b432d2018-09-07 19:02:05 +0200238config MIPS_CACHE_INDEX_BASE
239 hex "Index base address for cache initialisation"
240 default 0x80000000 if CPU_MIPS32
241 default 0xffffffff80000000 if CPU_MIPS64
242 help
243 This is the base address for a memory block, which is used for
244 initialising the cache lines. This is also the base address of a memory
245 block which is used for loading and filling cache lines when
246 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
247 Normally this is CKSEG0. If the MIPS system needs to move this block
248 to some SRAM or ScratchPad RAM, adapt this option accordingly.
249
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100250endmenu
251
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100252menu "OS boot interface"
253
254config MIPS_BOOT_CMDLINE_LEGACY
255 bool "Hand over legacy command line to Linux kernel"
256 default y
257 help
258 Enable this option if you want U-Boot to hand over the Yamon-style
259 command line to the kernel. All bootargs will be prepared as argc/argv
260 compatible list. The argument count (argc) is stored in register $a0.
261 The address of the argument list (argv) is stored in register $a1.
262
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100263config MIPS_BOOT_ENV_LEGACY
264 bool "Hand over legacy environment to Linux kernel"
265 default y
266 help
267 Enable this option if you want U-Boot to hand over the Yamon-style
268 environment to the kernel. Information like memory size, initrd
269 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day8c60f922016-05-04 04:47:31 -0400270 The address of the environment is stored in register $a2.
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100271
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100272config MIPS_BOOT_FDT
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100273 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100274 default n
275 help
276 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100277 device tree to the kernel. According to UHI register $a0 will be set
278 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100279
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100280endmenu
281
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100282config SUPPORTS_BIG_ENDIAN
283 bool
284
285config SUPPORTS_LITTLE_ENDIAN
286 bool
287
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100288config SUPPORTS_CPU_MIPS32_R1
289 bool
290
291config SUPPORTS_CPU_MIPS32_R2
292 bool
293
Paul Burton55e29dd2016-05-16 10:52:12 +0100294config SUPPORTS_CPU_MIPS32_R6
295 bool
296
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100297config SUPPORTS_CPU_MIPS64_R1
298 bool
299
300config SUPPORTS_CPU_MIPS64_R2
301 bool
302
Paul Burton55e29dd2016-05-16 10:52:12 +0100303config SUPPORTS_CPU_MIPS64_R6
304 bool
305
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100306config CPU_MIPS32
307 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100308 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100309
310config CPU_MIPS64
311 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100312 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100313
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +0100314config MIPS_TUNE_4KC
315 bool
316
317config MIPS_TUNE_14KC
318 bool
319
320config MIPS_TUNE_24KC
321 bool
322
Daniel Schwierzeckc7661d52016-05-27 15:39:39 +0200323config MIPS_TUNE_34KC
324 bool
325
Marek Vasuta9c6e8b2016-05-06 20:10:33 +0200326config MIPS_TUNE_74KC
327 bool
328
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100329config 32BIT
330 bool
331
332config 64BIT
333 bool
334
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +0100335config SWAP_IO_SPACE
336 bool
337
Paul Burton6832bdc2015-01-29 01:28:02 +0000338config SYS_MIPS_CACHE_INIT_RAM_LOAD
339 bool
340
Daniel Schwierzeck41dc35e2016-06-04 16:13:21 +0200341config MIPS_INIT_STACK_IN_SRAM
342 bool
343 default n
344 help
345 Select this if the initial stack frame could be setup in SRAM.
346 Normally the initial stack frame is set up in DRAM which is often
347 only available after lowlevel_init. With this option the initial
348 stack frame and the early C environment is set up before
349 lowlevel_init. Thus lowlevel_init does not need to be implemented
350 in assembler.
351
Paul Burton5e511422016-05-27 14:28:04 +0100352config SYS_DCACHE_SIZE
353 int
354 default 0
355 help
356 The total size of the L1 Dcache, if known at compile time.
357
Paul Burton62f13522016-05-27 14:28:05 +0100358config SYS_DCACHE_LINE_SIZE
Paul Burton79e49fd2016-06-09 13:09:52 +0100359 int
Paul Burton62f13522016-05-27 14:28:05 +0100360 default 0
361 help
362 The size of L1 Dcache lines, if known at compile time.
363
Paul Burton5e511422016-05-27 14:28:04 +0100364config SYS_ICACHE_SIZE
365 int
366 default 0
367 help
368 The total size of the L1 ICache, if known at compile time.
369
Paul Burton62f13522016-05-27 14:28:05 +0100370config SYS_ICACHE_LINE_SIZE
Paul Burton5e511422016-05-27 14:28:04 +0100371 int
372 default 0
373 help
Paul Burton62f13522016-05-27 14:28:05 +0100374 The size of L1 Icache lines, if known at compile time.
Paul Burton5e511422016-05-27 14:28:04 +0100375
376config SYS_CACHE_SIZE_AUTO
377 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Paul Burton62f13522016-05-27 14:28:05 +0100378 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
Paul Burton5e511422016-05-27 14:28:04 +0100379 help
380 Select this (or let it be auto-selected by not defining any cache
381 sizes) in order to allow U-Boot to automatically detect the sizes
382 of caches at runtime. This has a small cost in code size & runtime
383 so if you know the cache configuration for your system at compile
384 time it would be beneficial to configure it.
385
Daniel Schwierzeck02ca55e2016-01-09 17:32:50 +0100386config MIPS_L1_CACHE_SHIFT_4
387 bool
388
389config MIPS_L1_CACHE_SHIFT_5
390 bool
391
392config MIPS_L1_CACHE_SHIFT_6
393 bool
394
395config MIPS_L1_CACHE_SHIFT_7
396 bool
397
398config MIPS_L1_CACHE_SHIFT
399 int
400 default "7" if MIPS_L1_CACHE_SHIFT_7
401 default "6" if MIPS_L1_CACHE_SHIFT_6
402 default "5" if MIPS_L1_CACHE_SHIFT_5
403 default "4" if MIPS_L1_CACHE_SHIFT_4
404 default "5"
405
Paul Burton81560782016-09-21 11:18:54 +0100406config MIPS_L2_CACHE
407 bool
408 help
409 Select this if your system includes an L2 cache and you want U-Boot
410 to initialise & maintain it.
411
Paul Burton8d6600b2016-01-29 13:54:52 +0000412config DYNAMIC_IO_PORT_BASE
413 bool
414
Paul Burton79ac1742016-09-21 11:18:53 +0100415config MIPS_CM
416 bool
417 help
418 Select this if your system contains a MIPS Coherence Manager and you
419 wish U-Boot to configure it or make use of it to retrieve system
420 information such as cache configuration.
421
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +0200422config MIPS_INSERT_BOOT_CONFIG
423 bool
424 default n
425 help
426 Enable this to insert some board-specific boot configuration in
427 the U-Boot binary at offset 0x10.
428
429config MIPS_BOOT_CONFIG_WORD0
430 hex
431 depends on MIPS_INSERT_BOOT_CONFIG
432 default 0x420 if TARGET_MALTA
433 default 0x0
434 help
435 Value which is inserted as boot config word 0.
436
437config MIPS_BOOT_CONFIG_WORD1
438 hex
439 depends on MIPS_INSERT_BOOT_CONFIG
440 default 0x0
441 help
442 Value which is inserted as boot config word 1.
443
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100444endif
445
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900446endmenu