···11+#22+# Generated include files33+#44+include/generated55+#66+# Generated ld script file77+#88+kernel/vmlinux.lds99+#1010+# Generated images in boot1111+#1212+boot/Image1313+boot/zImage1414+boot/uImage1515+#1616+# Generated files in boot/compressed1717+#1818+boot/compressed/piggy.S1919+boot/compressed/piggy.gzip2020+boot/compressed/vmlinux2121+boot/compressed/vmlinux.lds
+246
arch/unicore32/Kconfig
···11+config UNICORE3222+ def_bool y33+ select HAVE_MEMBLOCK44+ select HAVE_GENERIC_DMA_COHERENT55+ select HAVE_GENERIC_HARDIRQS66+ select HAVE_DMA_ATTRS77+ select HAVE_KERNEL_GZIP88+ select HAVE_KERNEL_BZIP299+ select HAVE_KERNEL_LZO1010+ select HAVE_KERNEL_LZMA1111+ select GENERIC_FIND_FIRST_BIT1212+ select GENERIC_IRQ_PROBE1313+ select ARCH_WANT_FRAME_POINTERS1414+ help1515+ UniCore-32 is 32-bit Instruction Set Architecture,1616+ including a series of low-power-consumption RISC chip1717+ designs licensed by PKUnity Ltd.1818+ Please see web page at <http://www.pkunity.com/>.1919+2020+config HAVE_PWM2121+ bool2222+2323+config GENERIC_GPIO2424+ def_bool y2525+2626+config GENERIC_CLOCKEVENTS2727+ bool2828+2929+config GENERIC_CSUM3030+ def_bool y3131+3232+config NO_IOPORT3333+ bool3434+3535+config STACKTRACE_SUPPORT3636+ def_bool y3737+3838+config HAVE_LATENCYTOP_SUPPORT3939+ def_bool y4040+4141+config LOCKDEP_SUPPORT4242+ def_bool y4343+4444+config RWSEM_GENERIC_SPINLOCK4545+ def_bool y4646+4747+config RWSEM_XCHGADD_ALGORITHM4848+ bool4949+5050+config ARCH_HAS_ILOG2_U325151+ bool5252+5353+config ARCH_HAS_ILOG2_U645454+ bool5555+5656+config ARCH_HAS_CPUFREQ5757+ bool5858+5959+config GENERIC_HWEIGHT6060+ def_bool y6161+6262+config GENERIC_CALIBRATE_DELAY6363+ def_bool y6464+6565+config ARCH_MAY_HAVE_PC_FDC6666+ bool6767+6868+config NEED_DMA_MAP_STATE6969+ def_bool y7070+7171+source "init/Kconfig"7272+7373+source "kernel/Kconfig.freezer"7474+7575+menu "System Type"7676+7777+config MMU7878+ def_bool y7979+8080+config ARCH_FPGA8181+ bool8282+8383+config ARCH_PUV38484+ def_bool y8585+ select CPU_UCV28686+ select GENERIC_CLOCKEVENTS8787+ select HAVE_CLK8888+ select ARCH_REQUIRE_GPIOLIB8989+ select ARCH_HAS_CPUFREQ9090+9191+# CONFIGs for ARCH_PUV39292+9393+if ARCH_PUV39494+9595+choice9696+ prompt "Board Selection"9797+ default PUV3_DB09139898+9999+config PUV3_FPGA_DLX200100100+ select ARCH_FPGA101101+ bool "FPGA board"102102+103103+config PUV3_DB0913104104+ bool "DEBUG board (0913)"105105+106106+config PUV3_NB0916107107+ bool "NetBook board (0916)"108108+ select HAVE_PWM109109+110110+config PUV3_SMW0919111111+ bool "Security Mini-Workstation board (0919)"112112+113113+endchoice114114+115115+config PUV3_PM116116+ def_bool y if !ARCH_FPGA117117+118118+endif119119+120120+source "arch/unicore32/mm/Kconfig"121121+122122+comment "Floating poing support"123123+124124+config UNICORE_FPU_F64125125+ def_bool y if !ARCH_FPGA126126+127127+endmenu128128+129129+menu "Bus support"130130+131131+config PCI132132+ bool "PCI Support"133133+ help134134+ Find out whether you have a PCI motherboard. PCI is the name of a135135+ bus system, i.e. the way the CPU talks to the other stuff inside136136+ your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or137137+ VESA. If you have PCI, say Y, otherwise N.138138+139139+source "drivers/pci/Kconfig"140140+141141+source "drivers/pcmcia/Kconfig"142142+143143+endmenu144144+145145+menu "Kernel Features"146146+147147+source "kernel/time/Kconfig"148148+149149+source "kernel/Kconfig.preempt"150150+151151+source "kernel/Kconfig.hz"152152+153153+source "mm/Kconfig"154154+155155+config LEDS156156+ def_bool y157157+ depends on GENERIC_GPIO158158+159159+config ALIGNMENT_TRAP160160+ def_bool y161161+ help162162+ Unicore processors can not fetch/store information which is not163163+ naturally aligned on the bus, i.e., a 4 byte fetch must start at an164164+ address divisible by 4. On 32-bit Unicore processors, these non-aligned165165+ fetch/store instructions will be emulated in software if you say166166+ here, which has a severe performance impact. This is necessary for167167+ correct operation of some network protocols. With an IP-only168168+ configuration it is safe to say N, otherwise say Y.169169+170170+endmenu171171+172172+menu "Boot options"173173+174174+config CMDLINE175175+ string "Default kernel command string"176176+ default ""177177+178178+config CMDLINE_FORCE179179+ bool "Always use the default kernel command string"180180+ depends on CMDLINE != ""181181+ help182182+ Always use the default kernel command string, even if the boot183183+ loader passes other arguments to the kernel.184184+ This is useful if you cannot or don't want to change the185185+ command-line options your boot loader passes to the kernel.186186+187187+ If unsure, say N.188188+189189+endmenu190190+191191+menu "Userspace binary formats"192192+193193+source "fs/Kconfig.binfmt"194194+195195+endmenu196196+197197+menu "Power management options"198198+199199+source "kernel/power/Kconfig"200200+201201+if ARCH_HAS_CPUFREQ202202+source "drivers/cpufreq/Kconfig"203203+endif204204+205205+config ARCH_SUSPEND_POSSIBLE206206+ def_bool y if !ARCH_FPGA207207+208208+config ARCH_HIBERNATION_POSSIBLE209209+ def_bool y if !ARCH_FPGA210210+211211+endmenu212212+213213+source "net/Kconfig"214214+215215+if ARCH_PUV3216216+217217+config PUV3_GPIO218218+ bool219219+ depends on !ARCH_FPGA220220+ select GENERIC_GPIO221221+ select GPIO_SYSFS if EXPERIMENTAL222222+ default y223223+224224+config PUV3_PWM225225+ tristate226226+ default BACKLIGHT_PWM227227+ help228228+ Enable support for NB0916 PWM controllers229229+230230+config PUV3_RTC231231+ tristate "PKUnity v3 RTC Support"232232+ depends on !ARCH_FPGA233233+234234+endif235235+236236+source "drivers/Kconfig"237237+238238+source "fs/Kconfig"239239+240240+source "arch/unicore32/Kconfig.debug"241241+242242+source "security/Kconfig"243243+244244+source "crypto/Kconfig"245245+246246+source "lib/Kconfig"
+68
arch/unicore32/Kconfig.debug
···11+menu "Kernel hacking"22+33+source "lib/Kconfig.debug"44+55+config STRICT_DEVMEM66+ bool "Filter access to /dev/mem"77+ depends on MMU88+ ---help---99+ If this option is disabled, you allow userspace (root) access to all1010+ of memory, including kernel and userspace memory. Accidental1111+ access to this is obviously disastrous, but specific access can1212+ be used by people debugging the kernel.1313+1414+ If this option is switched on, the /dev/mem file only allows1515+ userspace access to memory mapped peripherals.1616+1717+ If in doubt, say Y.1818+1919+config EARLY_PRINTK2020+ def_bool DEBUG_OCD2121+ help2222+ Write kernel log output directly into the ocd or to a serial port.2323+2424+ This is useful for kernel debugging when your machine crashes very2525+ early before the console code is initialized. For normal operation2626+ it is not recommended because it looks ugly and doesn't cooperate2727+ with klogd/syslogd or the X server. You should normally N here,2828+ unless you want to debug such a crash.2929+3030+config DEBUG_STACK_USAGE3131+ bool "Enable stack utilization instrumentation"3232+ depends on DEBUG_KERNEL3333+ help3434+ Enables the display of the minimum amount of free stack which each3535+ task has ever had available in the sysrq-T output.3636+3737+# These options are only for real kernel hackers who want to get their hands dirty.3838+config DEBUG_LL3939+ bool "Kernel low-level debugging functions"4040+ depends on DEBUG_KERNEL4141+ help4242+ Say Y here to include definitions of printascii, printch, printhex4343+ in the kernel. This is helpful if you are debugging code that4444+ executes before the console is initialized.4545+4646+config DEBUG_OCD4747+ bool "Kernel low-level debugging via On-Chip-Debugger"4848+ depends on DEBUG_LL4949+ default y5050+ help5151+ Say Y here if you want the debug print routines to direct their5252+ output to the UniCore On-Chip-Debugger channel using CP #1.5353+5454+config DEBUG_OCD_BREAKPOINT5555+ bool "Breakpoint support via On-Chip-Debugger"5656+ depends on DEBUG_OCD5757+5858+config DEBUG_UART5959+ int "Kernel low-level debugging messages via serial port"6060+ depends on DEBUG_LL6161+ range 0 16262+ default "0"6363+ help6464+ Choice for UART for kernel low-level using PKUnity UARTS,6565+ should be between zero and one. The port must have been6666+ initialised by the boot-loader before use.6767+6868+endmenu
+95
arch/unicore32/Makefile
···11+#22+# arch/unicore32/Makefile33+#44+# This file is included by the global makefile so that you can add your own55+# architecture-specific flags and dependencies.66+#77+# This file is subject to the terms and conditions of the GNU General Public88+# License. See the file "COPYING" in the main directory of this archive99+# for more details.1010+#1111+# Copyright (C) 2002~2010 by Guan Xue-tao1212+#1313+ifneq ($(SUBARCH),$(ARCH))1414+ ifeq ($(CROSS_COMPILE),)1515+ CROSS_COMPILE := $(call cc-cross-prefix, unicore32-linux-)1616+ endif1717+endif1818+1919+LDFLAGS_vmlinux := -p --no-undefined -X2020+2121+OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -S2222+2323+# Never generate .eh_frame2424+KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)2525+2626+# Never use hard float in kernel2727+KBUILD_CFLAGS += -msoft-float2828+2929+ifeq ($(CONFIG_FRAME_POINTER),y)3030+KBUILD_CFLAGS += -mno-sched-prolog3131+endif3232+3333+CHECKFLAGS += -D__unicore32__3434+3535+head-y := arch/unicore32/kernel/head.o3636+head-y += arch/unicore32/kernel/init_task.o3737+3838+core-y += arch/unicore32/kernel/3939+core-y += arch/unicore32/mm/4040+4141+libs-y += arch/unicore32/lib/4242+4343+ASM_GENERATED_DIR := $(srctree)/arch/unicore32/include/generated4444+LINUXINCLUDE += -I$(ASM_GENERATED_DIR)4545+4646+ASM_GENERIC_HEADERS := atomic.h auxvec.h4747+ASM_GENERIC_HEADERS += bitsperlong.h bug.h bugs.h4848+ASM_GENERIC_HEADERS += cputime.h current.h4949+ASM_GENERIC_HEADERS += device.h div64.h5050+ASM_GENERIC_HEADERS += emergency-restart.h errno.h5151+ASM_GENERIC_HEADERS += fb.h fcntl.h ftrace.h5252+ASM_GENERIC_HEADERS += hardirq.h hw_irq.h5353+ASM_GENERIC_HEADERS += ioctl.h ioctls.h ipcbuf.h irq_regs.h5454+ASM_GENERIC_HEADERS += kdebug.h kmap_types.h5555+ASM_GENERIC_HEADERS += local.h5656+ASM_GENERIC_HEADERS += mman.h module.h msgbuf.h5757+ASM_GENERIC_HEADERS += param.h parport.h percpu.h poll.h posix_types.h5858+ASM_GENERIC_HEADERS += resource.h5959+ASM_GENERIC_HEADERS += scatterlist.h sections.h segment.h sembuf.h serial.h6060+ASM_GENERIC_HEADERS += setup.h shmbuf.h shmparam.h6161+ASM_GENERIC_HEADERS += siginfo.h signal.h sizes.h6262+ASM_GENERIC_HEADERS += socket.h sockios.h stat.h statfs.h swab.h syscalls.h6363+ASM_GENERIC_HEADERS += termbits.h termios.h topology.h types.h6464+ASM_GENERIC_HEADERS += ucontext.h unaligned.h user.h6565+ASM_GENERIC_HEADERS += vga.h6666+ASM_GENERIC_HEADERS += xor.h6767+6868+archprepare:6969+ifneq ($(ASM_GENERATED_DIR), $(wildcard $(ASM_GENERATED_DIR)))7070+ $(Q)mkdir -p $(ASM_GENERATED_DIR)/asm7171+ $(Q)$(foreach a, $(ASM_GENERIC_HEADERS), \7272+ echo '#include <asm-generic/$a>' \7373+ > $(ASM_GENERATED_DIR)/asm/$a; )7474+endif7575+7676+boot := arch/unicore32/boot7777+7878+# Default target when executing plain make7979+KBUILD_IMAGE := zImage8080+8181+all: $(KBUILD_IMAGE)8282+8383+zImage Image uImage: vmlinux8484+ $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@8585+8686+MRPROPER_DIRS += $(ASM_GENERATED_DIR)8787+8888+archclean:8989+ $(Q)$(MAKE) $(clean)=$(boot)9090+9191+define archhelp9292+ echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'9393+ echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'9494+ echo ' uImage - U-Boot wrapped zImage'9595+endef
+210
arch/unicore32/configs/debug_defconfig
···11+### General setup22+CONFIG_EXPERIMENTAL=y33+CONFIG_LOCALVERSION="-debug"44+CONFIG_SWAP=y55+CONFIG_SYSVIPC=y66+CONFIG_POSIX_MQUEUE=y77+CONFIG_HOTPLUG=y88+# Initial RAM filesystem and RAM disk (initramfs/initrd) support99+#CONFIG_BLK_DEV_INITRD=y1010+#CONFIG_INITRAMFS_SOURCE="arch/unicore/ramfs/ramfs_config"1111+1212+### Enable loadable module support1313+CONFIG_MODULES=n1414+CONFIG_MODULE_UNLOAD=y1515+1616+### System Type1717+CONFIG_ARCH_PUV3=y1818+# Board Selection1919+CONFIG_PUV3_NB0916=y2020+# Processor Features2121+CONFIG_CPU_DCACHE_LINE_DISABLE=y2222+CONFIG_CPU_TLB_SINGLE_ENTRY_DISABLE=n2323+2424+### Bus support2525+CONFIG_PCI=y2626+CONFIG_PCI_LEGACY=n2727+2828+### Boot options2929+# for debug, adding: earlyprintk=ocd,keep initcall_debug3030+# others support: test_suspend=mem root=/dev/sda3131+# hibernate support: resume=/dev/sda33232+CONFIG_CMDLINE="earlyprintk=ocd,keep ignore_loglevel"3333+# TODO: mem=512M video=unifb:1024x600-16@753434+# for nfs: root=/dev/nfs rw nfsroot=192.168.10.88:/home/udb/nfs/,rsize=1024,wsize=10243535+# ip=192.168.10.83:192.168.10.88:192.168.10.1:255.255.255.0::eth0:off3636+CONFIG_CMDLINE_FORCE=y3737+3838+### Power management options3939+CONFIG_PM=y4040+CONFIG_HIBERNATION=y4141+CONFIG_PM_STD_PARTITION="/dev/sda3"4242+CONFIG_CPU_FREQ=n4343+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y4444+4545+### Networking support4646+CONFIG_NET=y4747+# Networking options4848+CONFIG_PACKET=m4949+CONFIG_UNIX=m5050+# TCP/IP networking5151+CONFIG_INET=y5252+CONFIG_IP_MULTICAST=y5353+CONFIG_IP_PNP=y5454+CONFIG_IPV6=n5555+# Wireless5656+CONFIG_WIRELESS=y5757+CONFIG_WIRELESS_EXT=y5858+CONFIG_MAC80211=m5959+6060+### PKUnity SoC Features6161+CONFIG_USB_WLAN_HED_AQ3=n6262+CONFIG_USB_CMMB_INNOFIDEI=n6363+CONFIG_I2C_BATTERY_BQ27200=n6464+CONFIG_I2C_EEPROM_AT24=n6565+CONFIG_LCD_BACKLIGHT=n6666+6767+CONFIG_PUV3_RTC=y6868+CONFIG_PUV3_UMAL=y6969+CONFIG_PUV3_UNIGFX=y7070+CONFIG_PUV3_MUSB=n7171+CONFIG_PUV3_AC97=n7272+CONFIG_PUV3_NAND=n7373+CONFIG_PUV3_MMC=n7474+CONFIG_PUV3_UART=n7575+7676+### Device Drivers7777+# Memory Technology Device (MTD) support7878+CONFIG_MTD=m7979+CONFIG_MTD_UBI=m8080+CONFIG_MTD_PARTITIONS=y8181+CONFIG_MTD_CHAR=m8282+CONFIG_MTD_BLKDEVS=m8383+# RAM/ROM/Flash chip drivers8484+CONFIG_MTD_CFI=m8585+CONFIG_MTD_JEDECPROBE=m8686+CONFIG_MTD_CFI_AMDSTD=m8787+# Mapping drivers for chip access8888+CONFIG_MTD_PHYSMAP=m8989+9090+# Block devices9191+CONFIG_BLK_DEV_LOOP=m9292+9393+# SCSI device support9494+CONFIG_SCSI=y9595+CONFIG_BLK_DEV_SD=y9696+CONFIG_BLK_DEV_SR=m9797+CONFIG_CHR_DEV_SG=m9898+9999+# Serial ATA (prod) and Parallel ATA (experimental) drivers100100+CONFIG_ATA=y101101+CONFIG_SATA_VIA=y102102+103103+# Network device support104104+CONFIG_NETDEVICES=y105105+CONFIG_NET_ETHERNET=y106106+CONFIG_NETDEV_1000=y107107+# Wireless LAN108108+CONFIG_WLAN_80211=n109109+CONFIG_RT2X00=n110110+CONFIG_RT73USB=n111111+112112+# Input device support113113+CONFIG_INPUT_EVDEV=m114114+# Keyboards115115+CONFIG_KEYBOARD_GPIO=m116116+117117+# Hardware Monitoring support118118+#CONFIG_SENSORS_LM75=m119119+# Generic Thermal sysfs driver120120+#CONFIG_THERMAL=m121121+#CONFIG_THERMAL_HWMON=y122122+123123+# Multimedia support124124+CONFIG_MEDIA_SUPPORT=n125125+CONFIG_VIDEO_DEV=n126126+CONFIG_USB_VIDEO_CLASS=n127127+128128+# Graphics support129129+# Console display driver support130130+CONFIG_VGA_CONSOLE=n131131+CONFIG_FRAMEBUFFER_CONSOLE=y132132+CONFIG_FONTS=y133133+CONFIG_FONT_8x8=y134134+CONFIG_FONT_8x16=y135135+# Bootup logo136136+CONFIG_LOGO=n137137+138138+# Sound card support139139+CONFIG_SOUND=m140140+# Advanced Linux Sound Architecture141141+CONFIG_SND=m142142+CONFIG_SND_MIXER_OSS=m143143+CONFIG_SND_PCM_OSS=m144144+145145+# USB support146146+CONFIG_USB_ARCH_HAS_HCD=n147147+CONFIG_USB=n148148+CONFIG_USB_DEVICEFS=n149149+CONFIG_USB_PRINTER=n150150+CONFIG_USB_STORAGE=n151151+# Inventra Highspeed Dual Role Controller152152+CONFIG_USB_MUSB_HDRC=n153153+154154+# LED Support155155+CONFIG_NEW_LEDS=y156156+CONFIG_LEDS_CLASS=y157157+CONFIG_LEDS_GPIO=y158158+# LED Triggers159159+CONFIG_LEDS_TRIGGERS=y160160+CONFIG_LEDS_TRIGGER_TIMER=y161161+CONFIG_LEDS_TRIGGER_IDE_DISK=y162162+CONFIG_LEDS_TRIGGER_HEARTBEAT=y163163+164164+# Real Time Clock165165+CONFIG_RTC_LIB=m166166+CONFIG_RTC_CLASS=m167167+168168+### File systems169169+CONFIG_EXT2_FS=m170170+CONFIG_EXT3_FS=y171171+CONFIG_EXT4_FS=y172172+CONFIG_FUSE_FS=m173173+# CD-ROM/DVD Filesystems174174+CONFIG_ISO9660_FS=m175175+CONFIG_JOLIET=y176176+CONFIG_UDF_FS=m177177+# DOS/FAT/NT Filesystems178178+CONFIG_VFAT_FS=m179179+# Pseudo filesystems180180+CONFIG_PROC_FS=y181181+CONFIG_SYSFS=y182182+CONFIG_TMPFS=y183183+# Miscellaneous filesystems184184+CONFIG_MISC_FILESYSTEMS=y185185+CONFIG_JFFS2_FS=m186186+CONFIG_UBIFS_FS=m187187+# Network File Systems188188+CONFIG_NETWORK_FILESYSTEMS=y189189+CONFIG_NFS_FS=y190190+CONFIG_NFS_V3=y191191+CONFIG_ROOT_NFS=y192192+# Partition Types193193+CONFIG_PARTITION_ADVANCED=y194194+CONFIG_MSDOS_PARTITION=y195195+# Native language support196196+CONFIG_NLS=y197197+CONFIG_NLS_CODEPAGE_437=m198198+CONFIG_NLS_CODEPAGE_936=m199199+CONFIG_NLS_ISO8859_1=m200200+CONFIG_NLS_UTF8=m201201+202202+### Kernel hacking203203+CONFIG_FRAME_WARN=8096204204+CONFIG_MAGIC_SYSRQ=y205205+CONFIG_DEBUG_KERNEL=y206206+CONFIG_PROVE_LOCKING=n207207+CONFIG_DEBUG_BUGVERBOSE=y208208+CONFIG_FRAME_POINTER=y209209+CONFIG_DEBUG_LL=y210210+
···11+/*22+ * linux/arch/unicore32/include/asm/linkage.h33+ *44+ * Code specific to PKUnity SoC and UniCore ISA55+ *66+ * Copyright (C) 2001-2010 GUAN Xue-tao77+ *88+ * This program is free software; you can redistribute it and/or modify99+ * it under the terms of the GNU General Public License version 2 as1010+ * published by the Free Software Foundation.1111+ */1212+#ifndef __UNICORE_LINKAGE_H__1313+#define __UNICORE_LINKAGE_H__1414+1515+#define __ALIGN .align 01616+#define __ALIGN_STR ".align 0"1717+1818+#define ENDPROC(name) \1919+ .type name, %function; \2020+ END(name)2121+2222+#endif