Commit 790edb61c0d87d1f1daafcaaa8f7c66b7b82bdad
1 parent
7f509a9ef7
Exists in
master
and in
7 other branches
unicore32 core architecture: build infrastructure
This patch implements build infrastructure. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Showing 9 changed files with 758 additions and 0 deletions Side-by-side Diff
arch/unicore32/.gitignore
1 | +# | |
2 | +# Generated include files | |
3 | +# | |
4 | +include/generated | |
5 | +# | |
6 | +# Generated ld script file | |
7 | +# | |
8 | +kernel/vmlinux.lds | |
9 | +# | |
10 | +# Generated images in boot | |
11 | +# | |
12 | +boot/Image | |
13 | +boot/zImage | |
14 | +boot/uImage | |
15 | +# | |
16 | +# Generated files in boot/compressed | |
17 | +# | |
18 | +boot/compressed/piggy.S | |
19 | +boot/compressed/piggy.gzip | |
20 | +boot/compressed/vmlinux | |
21 | +boot/compressed/vmlinux.lds |
arch/unicore32/Kconfig
1 | +config UNICORE32 | |
2 | + def_bool y | |
3 | + select HAVE_MEMBLOCK | |
4 | + select HAVE_GENERIC_DMA_COHERENT | |
5 | + select HAVE_GENERIC_HARDIRQS | |
6 | + select HAVE_DMA_ATTRS | |
7 | + select HAVE_KERNEL_GZIP | |
8 | + select HAVE_KERNEL_BZIP2 | |
9 | + select HAVE_KERNEL_LZO | |
10 | + select HAVE_KERNEL_LZMA | |
11 | + select GENERIC_FIND_FIRST_BIT | |
12 | + select GENERIC_IRQ_PROBE | |
13 | + select ARCH_WANT_FRAME_POINTERS | |
14 | + help | |
15 | + UniCore-32 is 32-bit Instruction Set Architecture, | |
16 | + including a series of low-power-consumption RISC chip | |
17 | + designs licensed by PKUnity Ltd. | |
18 | + Please see web page at <http://www.pkunity.com/>. | |
19 | + | |
20 | +config HAVE_PWM | |
21 | + bool | |
22 | + | |
23 | +config GENERIC_GPIO | |
24 | + def_bool y | |
25 | + | |
26 | +config GENERIC_CLOCKEVENTS | |
27 | + bool | |
28 | + | |
29 | +config GENERIC_CSUM | |
30 | + def_bool y | |
31 | + | |
32 | +config NO_IOPORT | |
33 | + bool | |
34 | + | |
35 | +config STACKTRACE_SUPPORT | |
36 | + def_bool y | |
37 | + | |
38 | +config HAVE_LATENCYTOP_SUPPORT | |
39 | + def_bool y | |
40 | + | |
41 | +config LOCKDEP_SUPPORT | |
42 | + def_bool y | |
43 | + | |
44 | +config RWSEM_GENERIC_SPINLOCK | |
45 | + def_bool y | |
46 | + | |
47 | +config RWSEM_XCHGADD_ALGORITHM | |
48 | + bool | |
49 | + | |
50 | +config ARCH_HAS_ILOG2_U32 | |
51 | + bool | |
52 | + | |
53 | +config ARCH_HAS_ILOG2_U64 | |
54 | + bool | |
55 | + | |
56 | +config ARCH_HAS_CPUFREQ | |
57 | + bool | |
58 | + | |
59 | +config GENERIC_HWEIGHT | |
60 | + def_bool y | |
61 | + | |
62 | +config GENERIC_CALIBRATE_DELAY | |
63 | + def_bool y | |
64 | + | |
65 | +config ARCH_MAY_HAVE_PC_FDC | |
66 | + bool | |
67 | + | |
68 | +config NEED_DMA_MAP_STATE | |
69 | + def_bool y | |
70 | + | |
71 | +source "init/Kconfig" | |
72 | + | |
73 | +source "kernel/Kconfig.freezer" | |
74 | + | |
75 | +menu "System Type" | |
76 | + | |
77 | +config MMU | |
78 | + def_bool y | |
79 | + | |
80 | +config ARCH_FPGA | |
81 | + bool | |
82 | + | |
83 | +config ARCH_PUV3 | |
84 | + def_bool y | |
85 | + select CPU_UCV2 | |
86 | + select GENERIC_CLOCKEVENTS | |
87 | + select HAVE_CLK | |
88 | + select ARCH_REQUIRE_GPIOLIB | |
89 | + select ARCH_HAS_CPUFREQ | |
90 | + | |
91 | +# CONFIGs for ARCH_PUV3 | |
92 | + | |
93 | +if ARCH_PUV3 | |
94 | + | |
95 | +choice | |
96 | + prompt "Board Selection" | |
97 | + default PUV3_DB0913 | |
98 | + | |
99 | +config PUV3_FPGA_DLX200 | |
100 | + select ARCH_FPGA | |
101 | + bool "FPGA board" | |
102 | + | |
103 | +config PUV3_DB0913 | |
104 | + bool "DEBUG board (0913)" | |
105 | + | |
106 | +config PUV3_NB0916 | |
107 | + bool "NetBook board (0916)" | |
108 | + select HAVE_PWM | |
109 | + | |
110 | +config PUV3_SMW0919 | |
111 | + bool "Security Mini-Workstation board (0919)" | |
112 | + | |
113 | +endchoice | |
114 | + | |
115 | +config PUV3_PM | |
116 | + def_bool y if !ARCH_FPGA | |
117 | + | |
118 | +endif | |
119 | + | |
120 | +source "arch/unicore32/mm/Kconfig" | |
121 | + | |
122 | +comment "Floating poing support" | |
123 | + | |
124 | +config UNICORE_FPU_F64 | |
125 | + def_bool y if !ARCH_FPGA | |
126 | + | |
127 | +endmenu | |
128 | + | |
129 | +menu "Bus support" | |
130 | + | |
131 | +config PCI | |
132 | + bool "PCI Support" | |
133 | + help | |
134 | + Find out whether you have a PCI motherboard. PCI is the name of a | |
135 | + bus system, i.e. the way the CPU talks to the other stuff inside | |
136 | + your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | |
137 | + VESA. If you have PCI, say Y, otherwise N. | |
138 | + | |
139 | +source "drivers/pci/Kconfig" | |
140 | + | |
141 | +source "drivers/pcmcia/Kconfig" | |
142 | + | |
143 | +endmenu | |
144 | + | |
145 | +menu "Kernel Features" | |
146 | + | |
147 | +source "kernel/time/Kconfig" | |
148 | + | |
149 | +source "kernel/Kconfig.preempt" | |
150 | + | |
151 | +source "kernel/Kconfig.hz" | |
152 | + | |
153 | +source "mm/Kconfig" | |
154 | + | |
155 | +config LEDS | |
156 | + def_bool y | |
157 | + depends on GENERIC_GPIO | |
158 | + | |
159 | +config ALIGNMENT_TRAP | |
160 | + def_bool y | |
161 | + help | |
162 | + Unicore processors can not fetch/store information which is not | |
163 | + naturally aligned on the bus, i.e., a 4 byte fetch must start at an | |
164 | + address divisible by 4. On 32-bit Unicore processors, these non-aligned | |
165 | + fetch/store instructions will be emulated in software if you say | |
166 | + here, which has a severe performance impact. This is necessary for | |
167 | + correct operation of some network protocols. With an IP-only | |
168 | + configuration it is safe to say N, otherwise say Y. | |
169 | + | |
170 | +endmenu | |
171 | + | |
172 | +menu "Boot options" | |
173 | + | |
174 | +config CMDLINE | |
175 | + string "Default kernel command string" | |
176 | + default "" | |
177 | + | |
178 | +config CMDLINE_FORCE | |
179 | + bool "Always use the default kernel command string" | |
180 | + depends on CMDLINE != "" | |
181 | + help | |
182 | + Always use the default kernel command string, even if the boot | |
183 | + loader passes other arguments to the kernel. | |
184 | + This is useful if you cannot or don't want to change the | |
185 | + command-line options your boot loader passes to the kernel. | |
186 | + | |
187 | + If unsure, say N. | |
188 | + | |
189 | +endmenu | |
190 | + | |
191 | +menu "Userspace binary formats" | |
192 | + | |
193 | +source "fs/Kconfig.binfmt" | |
194 | + | |
195 | +endmenu | |
196 | + | |
197 | +menu "Power management options" | |
198 | + | |
199 | +source "kernel/power/Kconfig" | |
200 | + | |
201 | +if ARCH_HAS_CPUFREQ | |
202 | +source "drivers/cpufreq/Kconfig" | |
203 | +endif | |
204 | + | |
205 | +config ARCH_SUSPEND_POSSIBLE | |
206 | + def_bool y if !ARCH_FPGA | |
207 | + | |
208 | +config ARCH_HIBERNATION_POSSIBLE | |
209 | + def_bool y if !ARCH_FPGA | |
210 | + | |
211 | +endmenu | |
212 | + | |
213 | +source "net/Kconfig" | |
214 | + | |
215 | +if ARCH_PUV3 | |
216 | + | |
217 | +config PUV3_GPIO | |
218 | + bool | |
219 | + depends on !ARCH_FPGA | |
220 | + select GENERIC_GPIO | |
221 | + select GPIO_SYSFS if EXPERIMENTAL | |
222 | + default y | |
223 | + | |
224 | +config PUV3_PWM | |
225 | + tristate | |
226 | + default BACKLIGHT_PWM | |
227 | + help | |
228 | + Enable support for NB0916 PWM controllers | |
229 | + | |
230 | +config PUV3_RTC | |
231 | + tristate "PKUnity v3 RTC Support" | |
232 | + depends on !ARCH_FPGA | |
233 | + | |
234 | +endif | |
235 | + | |
236 | +source "drivers/Kconfig" | |
237 | + | |
238 | +source "fs/Kconfig" | |
239 | + | |
240 | +source "arch/unicore32/Kconfig.debug" | |
241 | + | |
242 | +source "security/Kconfig" | |
243 | + | |
244 | +source "crypto/Kconfig" | |
245 | + | |
246 | +source "lib/Kconfig" |
arch/unicore32/Kconfig.debug
1 | +menu "Kernel hacking" | |
2 | + | |
3 | +source "lib/Kconfig.debug" | |
4 | + | |
5 | +config STRICT_DEVMEM | |
6 | + bool "Filter access to /dev/mem" | |
7 | + depends on MMU | |
8 | + ---help--- | |
9 | + If this option is disabled, you allow userspace (root) access to all | |
10 | + of memory, including kernel and userspace memory. Accidental | |
11 | + access to this is obviously disastrous, but specific access can | |
12 | + be used by people debugging the kernel. | |
13 | + | |
14 | + If this option is switched on, the /dev/mem file only allows | |
15 | + userspace access to memory mapped peripherals. | |
16 | + | |
17 | + If in doubt, say Y. | |
18 | + | |
19 | +config EARLY_PRINTK | |
20 | + def_bool DEBUG_OCD | |
21 | + help | |
22 | + Write kernel log output directly into the ocd or to a serial port. | |
23 | + | |
24 | + This is useful for kernel debugging when your machine crashes very | |
25 | + early before the console code is initialized. For normal operation | |
26 | + it is not recommended because it looks ugly and doesn't cooperate | |
27 | + with klogd/syslogd or the X server. You should normally N here, | |
28 | + unless you want to debug such a crash. | |
29 | + | |
30 | +config DEBUG_STACK_USAGE | |
31 | + bool "Enable stack utilization instrumentation" | |
32 | + depends on DEBUG_KERNEL | |
33 | + help | |
34 | + Enables the display of the minimum amount of free stack which each | |
35 | + task has ever had available in the sysrq-T output. | |
36 | + | |
37 | +# These options are only for real kernel hackers who want to get their hands dirty. | |
38 | +config DEBUG_LL | |
39 | + bool "Kernel low-level debugging functions" | |
40 | + depends on DEBUG_KERNEL | |
41 | + help | |
42 | + Say Y here to include definitions of printascii, printch, printhex | |
43 | + in the kernel. This is helpful if you are debugging code that | |
44 | + executes before the console is initialized. | |
45 | + | |
46 | +config DEBUG_OCD | |
47 | + bool "Kernel low-level debugging via On-Chip-Debugger" | |
48 | + depends on DEBUG_LL | |
49 | + default y | |
50 | + help | |
51 | + Say Y here if you want the debug print routines to direct their | |
52 | + output to the UniCore On-Chip-Debugger channel using CP #1. | |
53 | + | |
54 | +config DEBUG_OCD_BREAKPOINT | |
55 | + bool "Breakpoint support via On-Chip-Debugger" | |
56 | + depends on DEBUG_OCD | |
57 | + | |
58 | +config DEBUG_UART | |
59 | + int "Kernel low-level debugging messages via serial port" | |
60 | + depends on DEBUG_LL | |
61 | + range 0 1 | |
62 | + default "0" | |
63 | + help | |
64 | + Choice for UART for kernel low-level using PKUnity UARTS, | |
65 | + should be between zero and one. The port must have been | |
66 | + initialised by the boot-loader before use. | |
67 | + | |
68 | +endmenu |
arch/unicore32/Makefile
1 | +# | |
2 | +# arch/unicore32/Makefile | |
3 | +# | |
4 | +# This file is included by the global makefile so that you can add your own | |
5 | +# architecture-specific flags and dependencies. | |
6 | +# | |
7 | +# This file is subject to the terms and conditions of the GNU General Public | |
8 | +# License. See the file "COPYING" in the main directory of this archive | |
9 | +# for more details. | |
10 | +# | |
11 | +# Copyright (C) 2002~2010 by Guan Xue-tao | |
12 | +# | |
13 | +ifneq ($(SUBARCH),$(ARCH)) | |
14 | + ifeq ($(CROSS_COMPILE),) | |
15 | + CROSS_COMPILE := $(call cc-cross-prefix, unicore32-linux-) | |
16 | + endif | |
17 | +endif | |
18 | + | |
19 | +LDFLAGS_vmlinux := -p --no-undefined -X | |
20 | + | |
21 | +OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -S | |
22 | + | |
23 | +# Never generate .eh_frame | |
24 | +KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm) | |
25 | + | |
26 | +# Never use hard float in kernel | |
27 | +KBUILD_CFLAGS += -msoft-float | |
28 | + | |
29 | +ifeq ($(CONFIG_FRAME_POINTER),y) | |
30 | +KBUILD_CFLAGS += -mno-sched-prolog | |
31 | +endif | |
32 | + | |
33 | +CHECKFLAGS += -D__unicore32__ | |
34 | + | |
35 | +head-y := arch/unicore32/kernel/head.o | |
36 | +head-y += arch/unicore32/kernel/init_task.o | |
37 | + | |
38 | +core-y += arch/unicore32/kernel/ | |
39 | +core-y += arch/unicore32/mm/ | |
40 | + | |
41 | +libs-y += arch/unicore32/lib/ | |
42 | + | |
43 | +ASM_GENERATED_DIR := $(srctree)/arch/unicore32/include/generated | |
44 | +LINUXINCLUDE += -I$(ASM_GENERATED_DIR) | |
45 | + | |
46 | +ASM_GENERIC_HEADERS := atomic.h auxvec.h | |
47 | +ASM_GENERIC_HEADERS += bitsperlong.h bug.h bugs.h | |
48 | +ASM_GENERIC_HEADERS += cputime.h current.h | |
49 | +ASM_GENERIC_HEADERS += device.h div64.h | |
50 | +ASM_GENERIC_HEADERS += emergency-restart.h errno.h | |
51 | +ASM_GENERIC_HEADERS += fb.h fcntl.h ftrace.h | |
52 | +ASM_GENERIC_HEADERS += hardirq.h hw_irq.h | |
53 | +ASM_GENERIC_HEADERS += ioctl.h ioctls.h ipcbuf.h irq_regs.h | |
54 | +ASM_GENERIC_HEADERS += kdebug.h kmap_types.h | |
55 | +ASM_GENERIC_HEADERS += local.h | |
56 | +ASM_GENERIC_HEADERS += mman.h module.h msgbuf.h | |
57 | +ASM_GENERIC_HEADERS += param.h parport.h percpu.h poll.h posix_types.h | |
58 | +ASM_GENERIC_HEADERS += resource.h | |
59 | +ASM_GENERIC_HEADERS += scatterlist.h sections.h segment.h sembuf.h serial.h | |
60 | +ASM_GENERIC_HEADERS += setup.h shmbuf.h shmparam.h | |
61 | +ASM_GENERIC_HEADERS += siginfo.h signal.h sizes.h | |
62 | +ASM_GENERIC_HEADERS += socket.h sockios.h stat.h statfs.h swab.h syscalls.h | |
63 | +ASM_GENERIC_HEADERS += termbits.h termios.h topology.h types.h | |
64 | +ASM_GENERIC_HEADERS += ucontext.h unaligned.h user.h | |
65 | +ASM_GENERIC_HEADERS += vga.h | |
66 | +ASM_GENERIC_HEADERS += xor.h | |
67 | + | |
68 | +archprepare: | |
69 | +ifneq ($(ASM_GENERATED_DIR), $(wildcard $(ASM_GENERATED_DIR))) | |
70 | + $(Q)mkdir -p $(ASM_GENERATED_DIR)/asm | |
71 | + $(Q)$(foreach a, $(ASM_GENERIC_HEADERS), \ | |
72 | + echo '#include <asm-generic/$a>' \ | |
73 | + > $(ASM_GENERATED_DIR)/asm/$a; ) | |
74 | +endif | |
75 | + | |
76 | +boot := arch/unicore32/boot | |
77 | + | |
78 | +# Default target when executing plain make | |
79 | +KBUILD_IMAGE := zImage | |
80 | + | |
81 | +all: $(KBUILD_IMAGE) | |
82 | + | |
83 | +zImage Image uImage: vmlinux | |
84 | + $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | |
85 | + | |
86 | +MRPROPER_DIRS += $(ASM_GENERATED_DIR) | |
87 | + | |
88 | +archclean: | |
89 | + $(Q)$(MAKE) $(clean)=$(boot) | |
90 | + | |
91 | +define archhelp | |
92 | + echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' | |
93 | + echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' | |
94 | + echo ' uImage - U-Boot wrapped zImage' | |
95 | +endef |
arch/unicore32/configs/debug_defconfig
1 | +### General setup | |
2 | +CONFIG_EXPERIMENTAL=y | |
3 | +CONFIG_LOCALVERSION="-debug" | |
4 | +CONFIG_SWAP=y | |
5 | +CONFIG_SYSVIPC=y | |
6 | +CONFIG_POSIX_MQUEUE=y | |
7 | +CONFIG_HOTPLUG=y | |
8 | +# Initial RAM filesystem and RAM disk (initramfs/initrd) support | |
9 | +#CONFIG_BLK_DEV_INITRD=y | |
10 | +#CONFIG_INITRAMFS_SOURCE="arch/unicore/ramfs/ramfs_config" | |
11 | + | |
12 | +### Enable loadable module support | |
13 | +CONFIG_MODULES=n | |
14 | +CONFIG_MODULE_UNLOAD=y | |
15 | + | |
16 | +### System Type | |
17 | +CONFIG_ARCH_PUV3=y | |
18 | +# Board Selection | |
19 | +CONFIG_PUV3_NB0916=y | |
20 | +# Processor Features | |
21 | +CONFIG_CPU_DCACHE_LINE_DISABLE=y | |
22 | +CONFIG_CPU_TLB_SINGLE_ENTRY_DISABLE=n | |
23 | + | |
24 | +### Bus support | |
25 | +CONFIG_PCI=y | |
26 | +CONFIG_PCI_LEGACY=n | |
27 | + | |
28 | +### Boot options | |
29 | +# for debug, adding: earlyprintk=ocd,keep initcall_debug | |
30 | +# others support: test_suspend=mem root=/dev/sda | |
31 | +# hibernate support: resume=/dev/sda3 | |
32 | +CONFIG_CMDLINE="earlyprintk=ocd,keep ignore_loglevel" | |
33 | +# TODO: mem=512M video=unifb:1024x600-16@75 | |
34 | +# for nfs: root=/dev/nfs rw nfsroot=192.168.10.88:/home/udb/nfs/,rsize=1024,wsize=1024 | |
35 | +# ip=192.168.10.83:192.168.10.88:192.168.10.1:255.255.255.0::eth0:off | |
36 | +CONFIG_CMDLINE_FORCE=y | |
37 | + | |
38 | +### Power management options | |
39 | +CONFIG_PM=y | |
40 | +CONFIG_HIBERNATION=y | |
41 | +CONFIG_PM_STD_PARTITION="/dev/sda3" | |
42 | +CONFIG_CPU_FREQ=n | |
43 | +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y | |
44 | + | |
45 | +### Networking support | |
46 | +CONFIG_NET=y | |
47 | +# Networking options | |
48 | +CONFIG_PACKET=m | |
49 | +CONFIG_UNIX=m | |
50 | +# TCP/IP networking | |
51 | +CONFIG_INET=y | |
52 | +CONFIG_IP_MULTICAST=y | |
53 | +CONFIG_IP_PNP=y | |
54 | +CONFIG_IPV6=n | |
55 | +# Wireless | |
56 | +CONFIG_WIRELESS=y | |
57 | +CONFIG_WIRELESS_EXT=y | |
58 | +CONFIG_MAC80211=m | |
59 | + | |
60 | +### PKUnity SoC Features | |
61 | +CONFIG_USB_WLAN_HED_AQ3=n | |
62 | +CONFIG_USB_CMMB_INNOFIDEI=n | |
63 | +CONFIG_I2C_BATTERY_BQ27200=n | |
64 | +CONFIG_I2C_EEPROM_AT24=n | |
65 | +CONFIG_LCD_BACKLIGHT=n | |
66 | + | |
67 | +CONFIG_PUV3_RTC=y | |
68 | +CONFIG_PUV3_UMAL=y | |
69 | +CONFIG_PUV3_UNIGFX=y | |
70 | +CONFIG_PUV3_MUSB=n | |
71 | +CONFIG_PUV3_AC97=n | |
72 | +CONFIG_PUV3_NAND=n | |
73 | +CONFIG_PUV3_MMC=n | |
74 | +CONFIG_PUV3_UART=n | |
75 | + | |
76 | +### Device Drivers | |
77 | +# Memory Technology Device (MTD) support | |
78 | +CONFIG_MTD=m | |
79 | +CONFIG_MTD_UBI=m | |
80 | +CONFIG_MTD_PARTITIONS=y | |
81 | +CONFIG_MTD_CHAR=m | |
82 | +CONFIG_MTD_BLKDEVS=m | |
83 | +# RAM/ROM/Flash chip drivers | |
84 | +CONFIG_MTD_CFI=m | |
85 | +CONFIG_MTD_JEDECPROBE=m | |
86 | +CONFIG_MTD_CFI_AMDSTD=m | |
87 | +# Mapping drivers for chip access | |
88 | +CONFIG_MTD_PHYSMAP=m | |
89 | + | |
90 | +# Block devices | |
91 | +CONFIG_BLK_DEV_LOOP=m | |
92 | + | |
93 | +# SCSI device support | |
94 | +CONFIG_SCSI=y | |
95 | +CONFIG_BLK_DEV_SD=y | |
96 | +CONFIG_BLK_DEV_SR=m | |
97 | +CONFIG_CHR_DEV_SG=m | |
98 | + | |
99 | +# Serial ATA (prod) and Parallel ATA (experimental) drivers | |
100 | +CONFIG_ATA=y | |
101 | +CONFIG_SATA_VIA=y | |
102 | + | |
103 | +# Network device support | |
104 | +CONFIG_NETDEVICES=y | |
105 | +CONFIG_NET_ETHERNET=y | |
106 | +CONFIG_NETDEV_1000=y | |
107 | +# Wireless LAN | |
108 | +CONFIG_WLAN_80211=n | |
109 | +CONFIG_RT2X00=n | |
110 | +CONFIG_RT73USB=n | |
111 | + | |
112 | +# Input device support | |
113 | +CONFIG_INPUT_EVDEV=m | |
114 | +# Keyboards | |
115 | +CONFIG_KEYBOARD_GPIO=m | |
116 | + | |
117 | +# Hardware Monitoring support | |
118 | +#CONFIG_SENSORS_LM75=m | |
119 | +# Generic Thermal sysfs driver | |
120 | +#CONFIG_THERMAL=m | |
121 | +#CONFIG_THERMAL_HWMON=y | |
122 | + | |
123 | +# Multimedia support | |
124 | +CONFIG_MEDIA_SUPPORT=n | |
125 | +CONFIG_VIDEO_DEV=n | |
126 | +CONFIG_USB_VIDEO_CLASS=n | |
127 | + | |
128 | +# Graphics support | |
129 | +# Console display driver support | |
130 | +CONFIG_VGA_CONSOLE=n | |
131 | +CONFIG_FRAMEBUFFER_CONSOLE=y | |
132 | +CONFIG_FONTS=y | |
133 | +CONFIG_FONT_8x8=y | |
134 | +CONFIG_FONT_8x16=y | |
135 | +# Bootup logo | |
136 | +CONFIG_LOGO=n | |
137 | + | |
138 | +# Sound card support | |
139 | +CONFIG_SOUND=m | |
140 | +# Advanced Linux Sound Architecture | |
141 | +CONFIG_SND=m | |
142 | +CONFIG_SND_MIXER_OSS=m | |
143 | +CONFIG_SND_PCM_OSS=m | |
144 | + | |
145 | +# USB support | |
146 | +CONFIG_USB_ARCH_HAS_HCD=n | |
147 | +CONFIG_USB=n | |
148 | +CONFIG_USB_DEVICEFS=n | |
149 | +CONFIG_USB_PRINTER=n | |
150 | +CONFIG_USB_STORAGE=n | |
151 | +# Inventra Highspeed Dual Role Controller | |
152 | +CONFIG_USB_MUSB_HDRC=n | |
153 | + | |
154 | +# LED Support | |
155 | +CONFIG_NEW_LEDS=y | |
156 | +CONFIG_LEDS_CLASS=y | |
157 | +CONFIG_LEDS_GPIO=y | |
158 | +# LED Triggers | |
159 | +CONFIG_LEDS_TRIGGERS=y | |
160 | +CONFIG_LEDS_TRIGGER_TIMER=y | |
161 | +CONFIG_LEDS_TRIGGER_IDE_DISK=y | |
162 | +CONFIG_LEDS_TRIGGER_HEARTBEAT=y | |
163 | + | |
164 | +# Real Time Clock | |
165 | +CONFIG_RTC_LIB=m | |
166 | +CONFIG_RTC_CLASS=m | |
167 | + | |
168 | +### File systems | |
169 | +CONFIG_EXT2_FS=m | |
170 | +CONFIG_EXT3_FS=y | |
171 | +CONFIG_EXT4_FS=y | |
172 | +CONFIG_FUSE_FS=m | |
173 | +# CD-ROM/DVD Filesystems | |
174 | +CONFIG_ISO9660_FS=m | |
175 | +CONFIG_JOLIET=y | |
176 | +CONFIG_UDF_FS=m | |
177 | +# DOS/FAT/NT Filesystems | |
178 | +CONFIG_VFAT_FS=m | |
179 | +# Pseudo filesystems | |
180 | +CONFIG_PROC_FS=y | |
181 | +CONFIG_SYSFS=y | |
182 | +CONFIG_TMPFS=y | |
183 | +# Miscellaneous filesystems | |
184 | +CONFIG_MISC_FILESYSTEMS=y | |
185 | +CONFIG_JFFS2_FS=m | |
186 | +CONFIG_UBIFS_FS=m | |
187 | +# Network File Systems | |
188 | +CONFIG_NETWORK_FILESYSTEMS=y | |
189 | +CONFIG_NFS_FS=y | |
190 | +CONFIG_NFS_V3=y | |
191 | +CONFIG_ROOT_NFS=y | |
192 | +# Partition Types | |
193 | +CONFIG_PARTITION_ADVANCED=y | |
194 | +CONFIG_MSDOS_PARTITION=y | |
195 | +# Native language support | |
196 | +CONFIG_NLS=y | |
197 | +CONFIG_NLS_CODEPAGE_437=m | |
198 | +CONFIG_NLS_CODEPAGE_936=m | |
199 | +CONFIG_NLS_ISO8859_1=m | |
200 | +CONFIG_NLS_UTF8=m | |
201 | + | |
202 | +### Kernel hacking | |
203 | +CONFIG_FRAME_WARN=8096 | |
204 | +CONFIG_MAGIC_SYSRQ=y | |
205 | +CONFIG_DEBUG_KERNEL=y | |
206 | +CONFIG_PROVE_LOCKING=n | |
207 | +CONFIG_DEBUG_BUGVERBOSE=y | |
208 | +CONFIG_FRAME_POINTER=y | |
209 | +CONFIG_DEBUG_LL=y |
arch/unicore32/include/asm/Kbuild
1 | +include include/asm-generic/Kbuild.asm |
arch/unicore32/include/asm/linkage.h
1 | +/* | |
2 | + * linux/arch/unicore32/include/asm/linkage.h | |
3 | + * | |
4 | + * Code specific to PKUnity SoC and UniCore ISA | |
5 | + * | |
6 | + * Copyright (C) 2001-2010 GUAN Xue-tao | |
7 | + * | |
8 | + * This program is free software; you can redistribute it and/or modify | |
9 | + * it under the terms of the GNU General Public License version 2 as | |
10 | + * published by the Free Software Foundation. | |
11 | + */ | |
12 | +#ifndef __UNICORE_LINKAGE_H__ | |
13 | +#define __UNICORE_LINKAGE_H__ | |
14 | + | |
15 | +#define __ALIGN .align 0 | |
16 | +#define __ALIGN_STR ".align 0" | |
17 | + | |
18 | +#define ENDPROC(name) \ | |
19 | + .type name, %function; \ | |
20 | + END(name) | |
21 | + | |
22 | +#endif |
arch/unicore32/kernel/Makefile
1 | +# | |
2 | +# Makefile for the linux kernel. | |
3 | +# | |
4 | + | |
5 | +# Object file lists. | |
6 | +obj-y := dma.o elf.o entry.o process.o ptrace.o | |
7 | +obj-y += setup.o signal.o sys.o stacktrace.o traps.o | |
8 | + | |
9 | +obj-$(CONFIG_MODULES) += ksyms.o module.o | |
10 | +obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | |
11 | + | |
12 | +obj-$(CONFIG_CPU_FREQ) += cpu-ucv2.o | |
13 | +obj-$(CONFIG_UNICORE_FPU_F64) += fpu-ucf64.o | |
14 | + | |
15 | +# obj-y for architecture PKUnity v3 | |
16 | +obj-$(CONFIG_ARCH_PUV3) += clock.o irq.o time.o | |
17 | + | |
18 | +obj-$(CONFIG_PUV3_GPIO) += gpio.o | |
19 | +obj-$(CONFIG_PUV3_RTC) += rtc.o | |
20 | +obj-$(CONFIG_PUV3_PWM) += pwm.o | |
21 | +obj-$(CONFIG_PUV3_PM) += pm.o sleep.o | |
22 | +obj-$(CONFIG_HIBERNATION) += hibernate.o hibernate_asm.o | |
23 | + | |
24 | +obj-$(CONFIG_PCI) += pci.o | |
25 | + | |
26 | +# obj-y for specific machines | |
27 | +obj-$(CONFIG_ARCH_PUV3) += puv3-core.o | |
28 | +obj-$(CONFIG_PUV3_NB0916) += puv3-nb0916.o | |
29 | + | |
30 | +head-y := head.o | |
31 | +obj-$(CONFIG_DEBUG_LL) += debug.o | |
32 | + | |
33 | +extra-y := $(head-y) init_task.o vmlinux.lds |
arch/unicore32/kernel/vmlinux.lds.S
1 | +/* | |
2 | + * linux/arch/unicore32/kernel/vmlinux.lds.S | |
3 | + * | |
4 | + * Code specific to PKUnity SoC and UniCore ISA | |
5 | + * | |
6 | + * Copyright (C) 2001-2010 GUAN Xue-tao | |
7 | + * | |
8 | + * This program is free software; you can redistribute it and/or modify | |
9 | + * it under the terms of the GNU General Public License version 2 as | |
10 | + * published by the Free Software Foundation. | |
11 | + */ | |
12 | + | |
13 | +#include <asm-generic/vmlinux.lds.h> | |
14 | +#include <asm/thread_info.h> | |
15 | +#include <asm/memory.h> | |
16 | +#include <asm/page.h> | |
17 | + | |
18 | +OUTPUT_ARCH(unicore32) | |
19 | +ENTRY(stext) | |
20 | + | |
21 | +jiffies = jiffies_64; | |
22 | + | |
23 | +SECTIONS | |
24 | +{ | |
25 | + . = PAGE_OFFSET + KERNEL_IMAGE_START; | |
26 | + | |
27 | + _text = .; | |
28 | + __init_begin = .; | |
29 | + HEAD_TEXT_SECTION | |
30 | + INIT_TEXT_SECTION(PAGE_SIZE) | |
31 | + INIT_DATA_SECTION(16) | |
32 | + PERCPU(PAGE_SIZE) | |
33 | + __init_end = .; | |
34 | + | |
35 | + _stext = .; | |
36 | + .text : { /* Real text segment */ | |
37 | + TEXT_TEXT | |
38 | + SCHED_TEXT | |
39 | + LOCK_TEXT | |
40 | + | |
41 | + *(.fixup) | |
42 | + *(.gnu.warning) | |
43 | + } | |
44 | + _etext = .; | |
45 | + | |
46 | + _sdata = .; | |
47 | + RO_DATA_SECTION(PAGE_SIZE) | |
48 | + RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE) | |
49 | + _edata = .; | |
50 | + | |
51 | + EXCEPTION_TABLE(32) | |
52 | + NOTES | |
53 | + | |
54 | + BSS_SECTION(0, 0, 0) | |
55 | + _end = .; | |
56 | + | |
57 | + STABS_DEBUG | |
58 | + DWARF_DEBUG | |
59 | + | |
60 | + DISCARDS /* Exit code and data */ | |
61 | +} |