Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+758
+21
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
+246
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"
+68
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
+95
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
+210
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 210 +
+2
arch/unicore32/include/asm/Kbuild
··· 1 + include include/asm-generic/Kbuild.asm 2 +
+22
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
+33
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
+61
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 + }