Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
60f63ed0
Commit
60f63ed0
authored
Jan 29, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://bk.arm.linux.org.uk/linux-2.6-rmk
into home.osdl.org:/home/torvalds/v2.5/linux
parents
ae05f3fa
87eb058e
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
625 additions
and
727 deletions
+625
-727
arch/arm/configs/cerfcube_defconfig
arch/arm/configs/cerfcube_defconfig
+363
-390
arch/arm/kernel/asm-offsets.c
arch/arm/kernel/asm-offsets.c
+0
-1
arch/arm/kernel/entry-armv.S
arch/arm/kernel/entry-armv.S
+37
-55
arch/arm/kernel/process.c
arch/arm/kernel/process.c
+3
-4
arch/arm/kernel/ptrace.c
arch/arm/kernel/ptrace.c
+3
-2
arch/arm/lib/csumpartial.S
arch/arm/lib/csumpartial.S
+3
-3
arch/arm/lib/csumpartialcopygeneric.S
arch/arm/lib/csumpartialcopygeneric.S
+19
-19
arch/arm/lib/io-readsb.S
arch/arm/lib/io-readsb.S
+28
-28
arch/arm/lib/uaccess.S
arch/arm/lib/uaccess.S
+12
-12
arch/arm/mach-sa1100/cerf.c
arch/arm/mach-sa1100/cerf.c
+50
-28
arch/arm/mach-sa1100/generic.c
arch/arm/mach-sa1100/generic.c
+1
-0
drivers/mtd/maps/sa1100-flash.c
drivers/mtd/maps/sa1100-flash.c
+17
-33
drivers/pcmcia/sa1100_cerf.c
drivers/pcmcia/sa1100_cerf.c
+17
-28
include/asm-arm/arch-sa1100/cerf.h
include/asm-arm/arch-sa1100/cerf.h
+20
-101
include/asm-arm/assembler.h
include/asm-arm/assembler.h
+16
-2
include/asm-arm/bitops.h
include/asm-arm/bitops.h
+19
-19
include/asm-arm/cacheflush.h
include/asm-arm/cacheflush.h
+13
-0
include/asm-arm/thread_info.h
include/asm-arm/thread_info.h
+4
-2
No files found.
arch/arm/configs/cerfcube_defconfig
View file @
60f63ed0
...
...
@@ -2,66 +2,94 @@
# Automatically generated make config: don't edit
#
CONFIG_ARM=y
# CONFIG_EISA is not set
# CONFIG_SBUS is not set
# CONFIG_MCA is not set
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_OBSOLETE is not set
CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_KMOD is not set
CONFIG_KMOD=y
#
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_RPC is not set
CONFIG_ARCH_SA1100=y
# CONFIG_ARCH_SHARK is not set
#
#
Archimedes/A5000
Implementations
#
CLPS711X/EP721X
Implementations
#
#
#
Archimedes/A5000 Implementations (select only ONE)
#
Epxa10db
#
# CONFIG_ARCH_ARC is not set
# CONFIG_ARCH_A5K is not set
#
# Footbridge Implementations
#
# CONFIG_ARCH_CATS is not set
# CONFIG_ARCH_PERSONAL_SERVER is not set
# CONFIG_ARCH_EBSA285_ADDIN is not set
# CONFIG_ARCH_EBSA285_HOST is not set
# CONFIG_ARCH_NETWINDER is not set
#
# IOP3xx Implementation Options
#
# CONFIG_ARCH_IOP310 is not set
# CONFIG_ARCH_IOP321 is not set
#
# IOP3xx Chipset Features
#
#
# Intel PXA250/210 Implementations
#
#
# SA11x0 Implementations
#
# CONFIG_SA1100_ASSABET is not set
# CONFIG_ASSABET_NEPONSET is not set
# CONFIG_SA1100_ADSBITSY is not set
# CONFIG_SA1100_BRUTUS is not set
CONFIG_SA1100_CERF=y
...
...
@@ -69,13 +97,17 @@ CONFIG_SA1100_CERF=y
CONFIG_SA1100_CERF_FLASH_16MB=y
# CONFIG_SA1100_CERF_FLASH_32MB is not set
# CONFIG_SA1100_CERF_CPLD is not set
# CONFIG_SA1100_H3100 is not set
# CONFIG_SA1100_H3600 is not set
# CONFIG_SA1100_H3800 is not set
# CONFIG_SA1100_EXTENEX1 is not set
# CONFIG_SA1100_FLEXANET is not set
# CONFIG_SA1100_FREEBIRD is not set
# CONFIG_SA1100_GRAPHICSCLIENT is not set
# CONFIG_SA1100_GRAPHICSMASTER is not set
# CONFIG_SA1100_BADGE4 is not set
# CONFIG_SA1100_JORNADA720 is not set
# CONFIG_SA1100_HACKKIT is not set
# CONFIG_SA1100_HUW_WEBPANEL is not set
# CONFIG_SA1100_ITSY is not set
# CONFIG_SA1100_LART is not set
...
...
@@ -83,84 +115,81 @@ CONFIG_SA1100_CERF_FLASH_16MB=y
# CONFIG_SA1100_OMNIMETER is not set
# CONFIG_SA1100_PANGOLIN is not set
# CONFIG_SA1100_PLEB is not set
# CONFIG_SA1100_PT_SYSTEM3 is not set
# CONFIG_SA1100_SHANNON is not set
# CONFIG_SA1100_SHERMAN is not set
# CONFIG_SA1100_SIMPAD is not set
# CONFIG_SA1100_PFS168 is not set
# CONFIG_SA1100_VICTOR is not set
# CONFIG_SA1100_XP860 is not set
# CONFIG_SA1100_YOPY is not set
CONFIG_SA1100_USB=y
CONFIG_SA1100_USB_NETLINK=y
CONFIG_SA1100_USB_CHAR=y
# CONFIG_SA1100_STORK is not set
# CONFIG_SA1100_SSP is not set
CONFIG_SA1100_USB=m
CONFIG_SA1100_USB_NETLINK=m
# CONFIG_SA1100_USB_CHAR is not set
#
#
CLPS711X/EP721X Implementations
#
Processor Type
#
# CONFIG_ARCH_CDB89712 is not set
# CONFIG_ARCH_CLEP7312 is not set
# CONFIG_ARCH_EDB7211 is not set
# CONFIG_ARCH_P720T is not set
# CONFIG_ARCH_EP7211 is not set
# CONFIG_ARCH_EP7212 is not set
# CONFIG_ARCH_ACORN is not set
# CONFIG_FOOTBRIDGE is not set
# CONFIG_FOOTBRIDGE_HOST is not set
# CONFIG_FOOTBRIDGE_ADDIN is not set
CONFIG_CPU_32=y
# CONFIG_CPU_26 is not set
CONFIG_CPU_SA1100=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4=y
CONFIG_CPU_CACHE_V4WB=y
CONFIG_CPU_TLB_V4WB=y
CONFIG_CPU_MINICACHE=y
#
# Processor
Type
# Processor
Features
#
# CONFIG_CPU_32v3 is not set
CONFIG_CPU_32v4=y
# CONFIG_CPU_ARM610 is not set
# CONFIG_CPU_ARM710 is not set
# CONFIG_CPU_ARM720T is not set
# CONFIG_CPU_ARM920T is not set
# CONFIG_CPU_ARM1020 is not set
# CONFIG_CPU_SA110 is not set
CONFIG_CPU_SA1100=y
# CONFIG_ARM_THUMB is not set
CONFIG_DISCONTIGMEM=y
#
# General setup
#
# CONFIG_PCI is not set
# CONFIG_ISA is not set
# CONFIG_ISA_DMA is not set
CONFIG_DISCONTIGMEM=y
CONFIG_ISA=y
# CONFIG_ZBOOT_ROM is not set
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_SA1110=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_24_API=y
CONFIG_HOTPLUG=y
#
# PCMCIA/CardBus support
#
CONFIG_PCMCIA=y
CONFIG_PCMCIA=m
# CONFIG_PCMCIA_DEBUG is not set
# CONFIG_I82365 is not set
# CONFIG_TCIC is not set
# CONFIG_PCMCIA_CLPS6700 is not set
CONFIG_PCMCIA_SA1100=y
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_PCMCIA_SA1100=m
#
# At least one math emulation must be selected
#
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_FASTFPE is not set
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
# CONFIG_FPE_NWFPE is not set
CONFIG_FPE_FASTFPE=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_PM is not set
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
CONFIG_PM=y
# CONFIG_PREEMPT is not set
# CONFIG_APM is not set
# CONFIG_ARTHUR is not set
CONFIG_CMDLINE="console=ttySA0 root=/dev/mtdblock3 rw mem=32M"
# CONFIG_PFS168_CMDLINE is not set
CONFIG_CMDLINE="console=ttySA0,38400 root=/dev/mtdblock3 rootfstype=jffs2 rw mem=32M init=/linuxrc"
CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y
...
...
@@ -177,17 +206,19 @@ CONFIG_ALIGNMENT_TRAP=y
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_BOOTLDR_PARTS is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=
y
CONFIG_MTD_CHAR=
m
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
#
# RAM/ROM/Flash chip drivers
...
...
@@ -198,6 +229,7 @@ CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
...
...
@@ -206,47 +238,25 @@ CONFIG_MTD_CFI_INTELEXT=y
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_SUN_UFLASH is not set
# CONFIG_MTD_NORA is not set
# CONFIG_MTD_PNC2000 is not set
# CONFIG_MTD_RPXLITE is not set
# CONFIG_MTD_TQM8XXL is not set
# CONFIG_MTD_SC520CDP is not set
# CONFIG_MTD_NETSC520 is not set
# CONFIG_MTD_SBC_GXX is not set
# CONFIG_MTD_ELAN_104NC is not set
# CONFIG_MTD_DBOX2 is not set
# CONFIG_MTD_CSTM_MIPS_IXX is not set
# CONFIG_MTD_CFI_FLAGADM is not set
# CONFIG_MTD_SOLUTIONENGINE is not set
# CONFIG_MTD_MIXMEM is not set
# CONFIG_MTD_OCTAGON is not set
# CONFIG_MTD_VMAX is not set
# CONFIG_MTD_OCELOT is not set
# CONFIG_MTD_L440GX is not set
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_CDB89712 is not set
CONFIG_MTD_SA1100=y
# CONFIG_MTD_DC21285 is not set
# CONFIG_MTD_IQ80310 is not set
# CONFIG_MTD_EDB7312 is not set
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_LART is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC1000 is not set
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC
PROBE
is not set
# CONFIG_MTD_DOC
2001PLUS
is not set
#
# NAND Flash Device Drivers
...
...
@@ -254,24 +264,19 @@ CONFIG_MTD_SA1100=y
# CONFIG_MTD_NAND is not set
#
# Plug and Play
configuration
# Plug and Play
support
#
# CONFIG_PNP is not set
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=
y
CONFIG_BLK_DEV_RAM=
m
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
...
...
@@ -279,47 +284,52 @@ CONFIG_BLK_DEV_INITRD=y
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_BLK_DEV_LVM is not set
#
# Networking support
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
CONFIG_FILTER=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set
# CONFIG_ATM is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_NETFILTER is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
...
...
@@ -332,8 +342,9 @@ CONFIG_INET=y
# CONFIG_NET_SCHED is not set
#
# Network
device support
# Network
testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NETDEVICES=y
#
...
...
@@ -344,45 +355,35 @@ CONFIG_NETDEVICES=y
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNLANCE is not set
# CONFIG_SUNGEM is not set
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
# CONFIG_ELPLUS is not set
# CONFIG_EL16 is not set
# CONFIG_ELMC is not set
# CONFIG_ELMC_II is not set
CONFIG_CERF_CS8900A=y
# CONFIG_MII is not set
# CONFIG_SMC91X is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
CONFIG_NET_PCI=y
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_CS89x0 is not set
CONFIG_CS8900=m
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
#
# Ethernet (10000 Mbit)
#
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
...
...
@@ -390,13 +391,12 @@ CONFIG_CERF_CS8900A=y
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
# CONFIG_HOSTAP is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
...
...
@@ -407,17 +407,7 @@ CONFIG_CERF_CS8900A=y
#
# PCMCIA network device support
#
CONFIG_NET_PCMCIA=y
# CONFIG_PCMCIA_3C589 is not set
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_PCMCIA_PCNET=m
# CONFIG_PCMCIA_NMCLAN is not set
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_PCMCIA_XIRC2PS is not set
# CONFIG_ARCNET_COM20020_CS is not set
# CONFIG_PCMCIA_IBMTR is not set
# CONFIG_NET_PCMCIA_RADIO is not set
# CONFIG_NET_PCMCIA is not set
#
# Amateur Radio support
...
...
@@ -430,113 +420,110 @@ CONFIG_PCMCIA_PCNET=m
# CONFIG_IRDA is not set
#
#
ATA/IDE/MFM/RLL
support
#
Bluetooth
support
#
CONFIG_IDE=y
# CONFIG_BT is not set
#
#
IDE, ATA and ATAPI Block devices
#
ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDEDISK=m
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECS=m
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
# CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_IDEDMA_AUTO is not set
# CONFIG_BLK_DEV_ATARAID is not set
# CONFIG_BLK_DEV_ATARAID_PDC is not set
# CONFIG_BLK_DEV_ATARAID_HPT is not set
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set
#
# SCSI support
# SCSI
device
support
#
# CONFIG_SCSI is not set
#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
# CONFIG_ISDN
_BOOL
is not set
#
# Input
cor
e support
# Input
devic
e support
#
# CONFIG_INPUT is not set
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_TSLIBDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_SERIO is not set
# CONFIG_SERIO_I8042 is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Character devices
#
CONFIG_VT=y
# CONFIG_VT_CONSOLE is not set
# CONFIG_SERIAL is not set
# CONFIG_SERIAL_EXTENDED is not set
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
# CONFIG_SERIAL_ANAKIN is not set
# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
# CONFIG_SERIAL_CLPS711X_CONSOLE is not set
# CONFIG_SERIAL_21285 is not set
# CONFIG_SERIAL_21285_OLD is not set
# CONFIG_SERIAL_21285_CONSOLE is not set
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_DZ is not set
CONFIG_SERIAL_SA1100=y
CONFIG_SERIAL_SA1100_CONSOLE=y
CONFIG_SA1100_DEFAULT_BAUDRATE=9600
# CONFIG_SERIAL_8250 is not set
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_HUB6 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=32
# CONFIG_UCB1200 is not set
# CONFIG_TOUCHSCREEN_UCB1200 is not set
# CONFIG_AUDIO_UCB1200 is not set
# CONFIG_ADC_UCB1200 is not set
# CONFIG_TOUCHSCREEN_H3600 is not set
# CONFIG_PROFILER is not set
# CONFIG_PFS168_SPI is not set
# CONFIG_PFS168_DTMF is not set
# CONFIG_PFS168_MISC is not set
#
# I2C support
...
...
@@ -544,56 +531,68 @@ CONFIG_UNIX98_PTY_COUNT=32
# CONFIG_I2C is not set
#
# L3 serial bus support
#
# CONFIG_L3 is not set
# CONFIG_L3_ALGOBIT is not set
# CONFIG_L3_BIT_SA1100_GPIO is not set
# CONFIG_BIT_SA1100_UCB1200 is not set
#
# Other L3 adapters
# I2C Algorithms
#
# CONFIG_L3_SA1111 is not set
#
#
L3 driver
support
#
I2C Hardware Bus
support
#
# CONFIG_L3_DRV_UDA1341 is not set
# CONFIG_BIT_SA1100_GPIO is not set
#
#
Mice
#
I2C Hardware Sensors Chip support
#
# CONFIG_BUSMOUSE is not set
# CONFIG_MOUSE is not set
# CONFIG_I2C_SENSOR is not set
#
#
Joysticks
#
L3 serial bus support
#
# CONFIG_INPUT_GAMEPORT is not set
CONFIG_L3=m
#
#
Input core support is needed for gameports
#
Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
#
# I
nput core support is needed for joysticks
# I
PMI
#
# CONFIG_
QIC02_TAPE
is not set
# CONFIG_
IPMI_HANDLER
is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_INTEL_RNG is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_WDT is not set
# CONFIG_WDTPCI is not set
# CONFIG_PCWATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
CONFIG_SA1100_WATCHDOG=m
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_I810_TCO is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_SCx200_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_AMD7XX_TCO is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
CONFIG_SA1100_RTC=y
# CONFIG_GEN_RTC is not set
# CONFIG_SA1100_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
...
...
@@ -605,101 +604,142 @@ CONFIG_SA1100_RTC=y
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_RAW_DRIVER is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# File systems
#
# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_EXT2_FS=m
# CONFIG_EXT2_FS_XATTR is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_CMS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_UMSDOS_FS=y
CONFIG_VFAT_FS=y
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
# CONFIG_JFFS2_FS_NAND is not set
# CONFIG_CRAMFS is not set
# CONFIG_TMPFS is not set
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_MINIX_FS is not set
# CONFIG_FREEVXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
CONFIG_ROMFS_FS=y
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_ROOT_NFS is not set
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_TCP is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
# CONFIG_SMB_FS is not set
CONFIG_EXPORTFS=m
CONFIG_SUNRPC=m
# CONFIG_SUNRPC_GSS is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_NEC98_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
CONFIG_SMB_NLS=y
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
...
...
@@ -720,8 +760,9 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ISO8859_1 is not set
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
...
...
@@ -737,15 +778,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_UTF8 is not set
#
#
Console drivers
#
Graphics support
#
CONFIG_PC_KEYMAP=y
# CONFIG_VGA_CONSOLE is not set
# CONFIG_FB is not set
#
#
Frame-buff
er support
#
Console display driv
er support
#
# CONFIG_FB is not set
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
#
# Sound
...
...
@@ -753,121 +795,52 @@ CONFIG_PC_KEYMAP=y
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
#
# USB Controllers
# Misc devices
#
# CONFIG_USB_UHCI is not set
# CONFIG_USB_UHCI_ALT is not set
# CONFIG_USB_OHCI is not set
# CONFIG_USB_OHCI_SA1111 is not set
#
#
USB Device Class
drivers
#
Multimedia Capabilities Port
drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH is not set
# CONFIG_USB_STORAGE is not set
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_MCP is not set
#
#
USB Human Interface Devices (HID)
#
Console Switches
#
# CONFIG_SWITCHES is not set
#
# Input core support is needed for USB HID
#
#
# USB Imaging devices
#
# CONFIG_USB_DC2XX is not set
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
#
# USB Multimedia devices
#
#
# Video4Linux support is needed for USB Multimedia device support
#
# CONFIG_USB_DABUSB is not set
#
# USB Network adaptors
#
# CONFIG_USB_PLUSB is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDCETHER is not set
# CONFIG_USB_USBNET is not set
#
# USB port drivers
# USB support
#
# CONFIG_USB_
USS720
is not set
# CONFIG_USB_
GADGET
is not set
#
#
USB Serial Converter support
#
Kernel hacking
#
# CONFIG_USB_SERIAL is not set
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_OMNINET is not set
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SLAB is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_WAITQ is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_ERRORS=y
CONFIG_DEBUG_LL=y
#
#
Miscellaneous USB driver
s
#
Security option
s
#
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_ID75 is not set
# CONFIG_SECURITY is not set
#
#
Bluetooth support
#
Cryptographic options
#
# CONFIG_
BT
is not set
# CONFIG_
CRYPTO
is not set
#
#
Kernel hacking
#
Library routines
#
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_ERRORS=y
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_INFO is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_NO_PGT_CACHE is not set
# CONFIG_DEBUG_LL is not set
# CONFIG_DEBUG_DC21285_PORT is not set
# CONFIG_DEBUG_CLPS711X_UART2 is not set
CONFIG_CRC32=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
arch/arm/kernel/asm-offsets.c
View file @
60f63ed0
...
...
@@ -45,7 +45,6 @@
int
main
(
void
)
{
DEFINE
(
TSK_USED_MATH
,
offsetof
(
struct
task_struct
,
used_math
));
DEFINE
(
TSK_ACTIVE_MM
,
offsetof
(
struct
task_struct
,
active_mm
));
BLANK
();
DEFINE
(
VMA_VM_MM
,
offsetof
(
struct
vm_area_struct
,
vm_mm
));
...
...
arch/arm/kernel/entry-armv.S
View file @
60f63ed0
...
...
@@ -673,48 +673,6 @@ __und_invalid: sub sp, sp, #S_FRAME_SIZE
and
r2
,
r6
,
#
31
@
int
mode
b
bad_mode
#if 1 /* defined CONFIG_FPE_NWFPE || defined CONFIG_FPE_FASTFPE */
/
*
The
FPE
is
always
present
*/
.
equ
fpe_not_present
,
fpundefinstr
#else
wfs_mask_data
:
.
word
0x0e200110
@
WFS
/
RFS
.
word
0x0fef0fff
.
word
0x0d000100
@
LDF
[
sp
]/
STF
[
sp
]
.
word
0x0d000100
@
LDF
[
fp
]/
STF
[
fp
]
.
word
0x0f000f00
/*
We
get
here
if
an
undefined
instruction
happens
and
the
floating
*
point
emulator
is
not
present
.
If
the
offending
instruction
was
*
a
WFS
,
we
just
perform
a
normal
return
as
if
we
had
emulated
the
*
operation
.
This
is
a
hack
to
allow
some
basic
userland
binaries
*
to
run
so
that
the
emulator
module
proper
can
be
loaded
.
--
philb
*/
fpe_not_present
:
adr
r10
,
wfs_mask_data
ldmia
r10
,
{
r4
,
r5
,
r6
,
r7
,
r8
}
ldr
r10
,
[
sp
,
#
S_PC
]
@
Load
PC
sub
r10
,
r10
,
#
4
mask_pc
r10
,
r10
ldrt
r10
,
[
r10
]
@
get
instruction
and
r5
,
r10
,
r5
teq
r5
,
r4
@
Is
it
WFS
?
moveq
pc
,
r9
and
r5
,
r10
,
r8
teq
r5
,
r6
@
Is
it
LDF
/
STF
on
sp
or
fp
?
teqne
r5
,
r7
movne
pc
,
lr
tst
r10
,
#
0x00200000
@
Does
it
have
WB
moveq
pc
,
r9
and
r4
,
r10
,
#
255
@
get
offset
and
r6
,
r10
,
#
0x000f0000
tst
r10
,
#
0x00800000
@
+/-
ldr
r5
,
[
sp
,
r6
,
lsr
#
14
]
@
Load
reg
rsbeq
r4
,
r4
,
#
0
add
r5
,
r5
,
r4
,
lsl
#
2
str
r5
,
[
sp
,
r6
,
lsr
#
14
]
@
Save
reg
mov
pc
,
r9
#endif
/*
*
SVC
mode
handlers
*/
...
...
@@ -963,23 +921,46 @@ __und_usr: sub sp, sp, #S_FRAME_SIZE @ Allocate frame size in one go
*
co
-
processor
instructions
.
However
,
we
have
to
watch
out
*
for
the
ARM6
/
ARM7
SWI
bug
.
*
*
Emulators
may
wish
to
make
use
of
the
instruction
value
we
*
prepared
for
them
in
r0
.
*
Emulators
may
wish
to
make
use
of
the
following
registers
:
*
r0
-
instruction
opcode
.
*
r10
-
this
threads
thread_info
structure
.
*/
call_fpe
:
enable_irq
r10
@
Enable
interrupts
tst
r0
,
#
0x08000000
@
only
CDP
/
CPRT
/
LDC
/
STC
have
bit
27
#if defined(CONFIG_CPU_ARM610) || defined(CONFIG_CPU_ARM710)
and
r
10
,
r0
,
#
0x0f000000
@
mask
out
op
-
code
bits
teqne
r
10
,
#
0x0f000000
@
SWI
(
ARM6
/
7
bug
)?
and
r
8
,
r0
,
#
0x0f000000
@
mask
out
op
-
code
bits
teqne
r
8
,
#
0x0f000000
@
SWI
(
ARM6
/
7
bug
)?
#endif
moveq
pc
,
lr
do_fpe
:
get_thread_info
r10
@
get
current
thread
ldr
r4
,
[
r10
,
#
TI_TASK
]
@
get
current
task
mov
r8
,
#
1
strb
r8
,
[
r4
,
#
TSK_USED_MATH
]
@
set
current
->
used_math
ldr
r4
,
.
LCfp
get_thread_info
r10
@
get
current
thread
and
r8
,
r0
,
#
0x00000f00
@
mask
out
CP
number
mov
r7
,
#
1
add
r6
,
r10
,
#
TI_USED_CP
strb
r7
,
[
r6
,
r8
,
lsr
#
8
]
@
set
appropriate
used_cp
[]
add
pc
,
pc
,
r8
,
lsr
#
6
mov
r0
,
r0
mov
pc
,
lr
@
CP
#
0
b
do_fpe
@
CP
#
1
(
FPE
)
b
do_fpe
@
CP
#
2
(
FPE
)
mov
pc
,
lr
@
CP
#
3
mov
pc
,
lr
@
CP
#
4
mov
pc
,
lr
@
CP
#
5
mov
pc
,
lr
@
CP
#
6
mov
pc
,
lr
@
CP
#
7
mov
pc
,
lr
@
CP
#
8
mov
pc
,
lr
@
CP
#
9
mov
pc
,
lr
@
CP
#
10
(
VFP
)
mov
pc
,
lr
@
CP
#
11
(
VFP
)
mov
pc
,
lr
@
CP
#
12
mov
pc
,
lr
@
CP
#
13
mov
pc
,
lr
@
CP
#
14
(
Debug
)
mov
pc
,
lr
@
CP
#
15
(
Control
)
do_fpe
:
ldr
r4
,
.
LCfp
add
r10
,
r10
,
#
TI_FPSTATE
@
r10
=
workspace
ldr
pc
,
[
r4
]
@
Call
FP
module
USR
entry
point
/*
*
The
FP
module
is
called
with
these
registers
set
:
*
r0
=
instruction
...
...
@@ -989,6 +970,11 @@ do_fpe: get_thread_info r10 @ get current thread
*
lr
=
unrecognised
FP
instruction
return
address
*/
.
data
ENTRY
(
fp_enter
)
.
word
fpundefinstr
.
text
fpundefinstr
:
mov
r0
,
sp
adrsvc
al
,
lr
,
ret_from_exception
b
do_undefinstr
...
...
@@ -1016,10 +1002,6 @@ ENTRY(ret_from_exception)
mov
why
,
#
0
b
ret_to_user
.
data
ENTRY
(
fp_enter
)
.
word
fpe_not_present
.
text
/*
*
Register
switch
for
ARMv3
and
ARMv4
processors
*
r0
=
previous
thread_info
,
r1
=
next
thread_info
...
...
arch/arm/kernel/process.c
View file @
60f63ed0
...
...
@@ -307,8 +307,7 @@ void flush_thread(void)
struct
thread_info
*
thread
=
current_thread_info
();
struct
task_struct
*
tsk
=
current
;
tsk
->
used_math
=
0
;
memset
(
thread
->
used_cp
,
0
,
sizeof
(
thread
->
used_cp
));
memset
(
&
tsk
->
thread
.
debug
,
0
,
sizeof
(
struct
debug_info
));
fp_init
(
&
thread
->
fpstate
);
}
...
...
@@ -344,12 +343,12 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start,
int
dump_fpu
(
struct
pt_regs
*
regs
,
struct
user_fp
*
fp
)
{
struct
thread_info
*
thread
=
current_thread_info
();
int
used_math
=
current
->
used_math
;
int
used_math
=
thread
->
used_cp
[
1
]
|
thread
->
used_cp
[
2
]
;
if
(
used_math
)
memcpy
(
fp
,
&
thread
->
fpstate
.
soft
,
sizeof
(
*
fp
));
return
used_math
;
return
used_math
!=
0
;
}
/*
...
...
arch/arm/kernel/ptrace.c
View file @
60f63ed0
...
...
@@ -602,8 +602,9 @@ static int ptrace_getfpregs(struct task_struct *tsk, void *ufp)
*/
static
int
ptrace_setfpregs
(
struct
task_struct
*
tsk
,
void
*
ufp
)
{
tsk
->
used_math
=
1
;
return
copy_from_user
(
&
tsk
->
thread_info
->
fpstate
,
ufp
,
struct
thread_info
*
thread
=
tsk
->
thread_info
;
thread
->
used_cp
[
1
]
=
thread
->
used_cp
[
2
]
=
1
;
return
copy_from_user
(
&
thread
->
fpstate
,
ufp
,
sizeof
(
struct
user_fp
))
?
-
EFAULT
:
0
;
}
...
...
arch/arm/lib/csumpartial.S
View file @
60f63ed0
...
...
@@ -41,7 +41,7 @@ td3 .req lr
tst
buf
,
#
1
@
odd
address
?
ldrneb
td0
,
[
buf
],
#
1
subne
len
,
len
,
#
1
adcnes
sum
,
sum
,
td0
,
lsl
#
byte
(
1
)
adcnes
sum
,
sum
,
td0
,
put_byte_1
.
less4
:
tst
len
,
#
6
beq
.
less8_byte
...
...
@@ -68,7 +68,7 @@ td3 .req lr
.
less8_byte
:
tst
len
,
#
1
@
odd
number
of
bytes
ldrneb
td0
,
[
buf
],
#
1
@
include
last
byte
adcnes
sum
,
sum
,
td0
,
lsl
#
byte
(
0
)
@
update
checksum
adcnes
sum
,
sum
,
td0
,
put_byte_0
@
update
checksum
.
done
:
adc
r0
,
sum
,
#
0
@
collect
up
the
last
carry
ldr
td0
,
[
sp
],
#
4
...
...
@@ -80,7 +80,7 @@ td3 .req lr
.
not_aligned
:
tst
buf
,
#
1
@
odd
address
ldrneb
td0
,
[
buf
],
#
1
@
make
even
subne
len
,
len
,
#
1
adcnes
sum
,
sum
,
td0
,
lsl
#
byte
(
1
)
@
update
checksum
adcnes
sum
,
sum
,
td0
,
put_byte_1
@
update
checksum
tst
buf
,
#
2
@
32
-
bit
aligned
?
#if __LINUX_ARM_ARCH__ >= 4
...
...
arch/arm/lib/csumpartialcopygeneric.S
View file @
60f63ed0
...
...
@@ -36,16 +36,16 @@ sum .req r3
load1b
ip
sub
len
,
len
,
#
1
adcs
sum
,
sum
,
ip
,
lsl
#
byte
(
1
)
@
update
checksum
adcs
sum
,
sum
,
ip
,
put_byte_1
@
update
checksum
strb
ip
,
[
dst
],
#
1
tst
dst
,
#
2
moveq
pc
,
lr
@
dst
is
now
32
bit
aligned
.
dst_16bit
:
load2b
r8
,
ip
sub
len
,
len
,
#
2
adcs
sum
,
sum
,
r8
,
lsl
#
byte
(
0
)
adcs
sum
,
sum
,
r8
,
put_byte_0
strb
r8
,
[
dst
],
#
1
adcs
sum
,
sum
,
ip
,
lsl
#
byte
(
1
)
adcs
sum
,
sum
,
ip
,
put_byte_1
strb
ip
,
[
dst
],
#
1
mov
pc
,
lr
@
dst
is
now
32
bit
aligned
...
...
@@ -63,16 +63,16 @@ sum .req r3
/
*
Align
dst
*/
load1b
ip
sub
len
,
len
,
#
1
adcs
sum
,
sum
,
ip
,
lsl
#
byte
(
1
)
@
update
checksum
adcs
sum
,
sum
,
ip
,
put_byte_1
@
update
checksum
strb
ip
,
[
dst
],
#
1
tst
len
,
#
6
beq
.
less8_byteonly
1
:
load2b
r8
,
ip
sub
len
,
len
,
#
2
adcs
sum
,
sum
,
r8
,
lsl
#
byte
(
0
)
adcs
sum
,
sum
,
r8
,
put_byte_0
strb
r8
,
[
dst
],
#
1
adcs
sum
,
sum
,
ip
,
lsl
#
byte
(
1
)
adcs
sum
,
sum
,
ip
,
put_byte_1
strb
ip
,
[
dst
],
#
1
.
less8_aligned
:
tst
len
,
#
6
bne
1
b
...
...
@@ -80,7 +80,7 @@ sum .req r3
tst
len
,
#
1
beq
.
done
load1b
r8
adcs
sum
,
sum
,
r8
,
lsl
#
byte
(
0
)
@
update
checksum
adcs
sum
,
sum
,
r8
,
put_byte_0
@
update
checksum
strb
r8
,
[
dst
],
#
1
b
.
done
...
...
@@ -139,17 +139,17 @@ FN_ENTRY
beq
.
done
load1l
r4
tst
len
,
#
2
mov
r5
,
r4
,
lsr
#
byte
(
0
)
mov
r5
,
r4
,
get_byte_0
beq
.
exit
adcs
sum
,
sum
,
r4
,
push
#
16
strb
r5
,
[
dst
],
#
1
mov
r5
,
r4
,
lsr
#
byte
(
1
)
mov
r5
,
r4
,
get_byte_1
strb
r5
,
[
dst
],
#
1
mov
r5
,
r4
,
lsr
#
byte
(
2
)
mov
r5
,
r4
,
get_byte_2
.
exit
:
tst
len
,
#
1
strneb
r5
,
[
dst
],
#
1
andne
r5
,
r5
,
#
255
adcnes
sum
,
sum
,
r5
,
lsl
#
byte
(
0
)
adcnes
sum
,
sum
,
r5
,
put_byte_0
/
*
*
If
the
dst
pointer
was
not
16
-
bit
aligned
,
we
...
...
@@ -213,14 +213,14 @@ FN_ENTRY
mov
r4
,
r5
,
pull
#
8
4
:
ands
len
,
len
,
#
3
beq
.
done
mov
r5
,
r4
,
lsr
#
byte
(
0
)
mov
r5
,
r4
,
get_byte_0
tst
len
,
#
2
beq
.
exit
adcs
sum
,
sum
,
r4
,
push
#
16
strb
r5
,
[
dst
],
#
1
mov
r5
,
r4
,
lsr
#
byte
(
1
)
mov
r5
,
r4
,
get_byte_1
strb
r5
,
[
dst
],
#
1
mov
r5
,
r4
,
lsr
#
byte
(
2
)
mov
r5
,
r4
,
get_byte_2
b
.
exit
.
src2_aligned
:
mov
r4
,
r5
,
pull
#
16
...
...
@@ -265,12 +265,12 @@ FN_ENTRY
mov
r4
,
r5
,
pull
#
16
4
:
ands
len
,
len
,
#
3
beq
.
done
mov
r5
,
r4
,
lsr
#
byte
(
0
)
mov
r5
,
r4
,
get_byte_0
tst
len
,
#
2
beq
.
exit
adcs
sum
,
sum
,
r4
strb
r5
,
[
dst
],
#
1
mov
r5
,
r4
,
lsr
#
byte
(
1
)
mov
r5
,
r4
,
get_byte_1
strb
r5
,
[
dst
],
#
1
tst
len
,
#
1
beq
.
done
...
...
@@ -319,14 +319,14 @@ FN_ENTRY
mov
r4
,
r5
,
pull
#
24
4
:
ands
len
,
len
,
#
3
beq
.
done
mov
r5
,
r4
,
lsr
#
byte
(
0
)
mov
r5
,
r4
,
get_byte_0
tst
len
,
#
2
beq
.
exit
strb
r5
,
[
dst
],
#
1
adcs
sum
,
sum
,
r4
load1l
r4
mov
r5
,
r4
,
lsr
#
byte
(
0
)
mov
r5
,
r4
,
get_byte_0
strb
r5
,
[
dst
],
#
1
adcs
sum
,
sum
,
r4
,
push
#
24
mov
r5
,
r4
,
lsr
#
byte
(
1
)
mov
r5
,
r4
,
get_byte_1
b
.
exit
arch/arm/lib/io-readsb.S
View file @
60f63ed0
...
...
@@ -37,35 +37,35 @@ ENTRY(__raw_readsb)
.
insb_16_lp
:
ldrb
r3
,
[
r0
]
ldrb
r4
,
[
r0
]
ldrb
r5
,
[
r0
]
mov
r3
,
r3
,
lsl
#
byte
(
0
)
mov
r3
,
r3
,
put_byte_0
ldrb
r6
,
[
r0
]
orr
r3
,
r3
,
r4
,
lsl
#
byte
(
1
)
orr
r3
,
r3
,
r4
,
put_byte_1
ldrb
r4
,
[
r0
]
orr
r3
,
r3
,
r5
,
lsl
#
byte
(
2
)
orr
r3
,
r3
,
r5
,
put_byte_2
ldrb
r5
,
[
r0
]
orr
r3
,
r3
,
r6
,
lsl
#
byte
(
3
)
orr
r3
,
r3
,
r6
,
put_byte_3
ldrb
r6
,
[
r0
]
mov
r4
,
r4
,
lsl
#
byte
(
0
)
mov
r4
,
r4
,
put_byte_0
ldrb
ip
,
[
r0
]
orr
r4
,
r4
,
r5
,
lsl
#
byte
(
1
)
orr
r4
,
r4
,
r5
,
put_byte_1
ldrb
r5
,
[
r0
]
orr
r4
,
r4
,
r6
,
lsl
#
byte
(
2
)
orr
r4
,
r4
,
r6
,
put_byte_2
ldrb
r6
,
[
r0
]
orr
r4
,
r4
,
ip
,
lsl
#
byte
(
3
)
orr
r4
,
r4
,
ip
,
put_byte_3
ldrb
ip
,
[
r0
]
mov
r5
,
r5
,
lsl
#
byte
(
0
)
mov
r5
,
r5
,
put_byte_0
ldrb
lr
,
[
r0
]
orr
r5
,
r5
,
r6
,
lsl
#
byte
(
1
)
orr
r5
,
r5
,
r6
,
put_byte_1
ldrb
r6
,
[
r0
]
orr
r5
,
r5
,
ip
,
lsl
#
byte
(
2
)
orr
r5
,
r5
,
ip
,
put_byte_2
ldrb
ip
,
[
r0
]
orr
r5
,
r5
,
lr
,
lsl
#
byte
(
3
)
orr
r5
,
r5
,
lr
,
put_byte_3
ldrb
lr
,
[
r0
]
mov
r6
,
r6
,
lsl
#
byte
(
0
)
orr
r6
,
r6
,
ip
,
lsl
#
byte
(
1
)
mov
r6
,
r6
,
put_byte_0
orr
r6
,
r6
,
ip
,
put_byte_1
ldrb
ip
,
[
r0
]
orr
r6
,
r6
,
lr
,
lsl
#
byte
(
2
)
orr
r6
,
r6
,
ip
,
lsl
#
byte
(
3
)
orr
r6
,
r6
,
lr
,
put_byte_2
orr
r6
,
r6
,
ip
,
put_byte_3
stmia
r1
!,
{
r3
-
r6
}
subs
r2
,
r2
,
#
16
...
...
@@ -80,19 +80,19 @@ ENTRY(__raw_readsb)
ldrb
r3
,
[
r0
]
ldrb
r4
,
[
r0
]
ldrb
r5
,
[
r0
]
mov
r3
,
r3
,
lsl
#
byte
(
0
)
mov
r3
,
r3
,
put_byte_0
ldrb
r6
,
[
r0
]
orr
r3
,
r3
,
r4
,
lsl
#
byte
(
1
)
orr
r3
,
r3
,
r4
,
put_byte_1
ldrb
r4
,
[
r0
]
orr
r3
,
r3
,
r5
,
lsl
#
byte
(
2
)
orr
r3
,
r3
,
r5
,
put_byte_2
ldrb
r5
,
[
r0
]
orr
r3
,
r3
,
r6
,
lsl
#
byte
(
3
)
orr
r3
,
r3
,
r6
,
put_byte_3
ldrb
r6
,
[
r0
]
mov
r4
,
r4
,
lsl
#
byte
(
0
)
mov
r4
,
r4
,
put_byte_0
ldrb
ip
,
[
r0
]
orr
r4
,
r4
,
r5
,
lsl
#
byte
(
1
)
orr
r4
,
r4
,
r6
,
lsl
#
byte
(
2
)
orr
r4
,
r4
,
ip
,
lsl
#
byte
(
3
)
orr
r4
,
r4
,
r5
,
put_byte_1
orr
r4
,
r4
,
r6
,
put_byte_2
orr
r4
,
r4
,
ip
,
put_byte_3
stmia
r1
!,
{
r3
,
r4
}
.
insb_no_8
:
tst
r2
,
#
4
...
...
@@ -102,10 +102,10 @@ ENTRY(__raw_readsb)
ldrb
r4
,
[
r0
]
ldrb
r5
,
[
r0
]
ldrb
r6
,
[
r0
]
mov
r3
,
r3
,
lsl
#
byte
(
0
)
orr
r3
,
r3
,
r4
,
lsl
#
byte
(
1
)
orr
r3
,
r3
,
r5
,
lsl
#
byte
(
2
)
orr
r3
,
r3
,
r6
,
lsl
#
byte
(
3
)
mov
r3
,
r3
,
put_byte_0
orr
r3
,
r3
,
r4
,
put_byte_1
orr
r3
,
r3
,
r5
,
put_byte_2
orr
r3
,
r3
,
r6
,
put_byte_3
str
r3
,
[
r1
],
#
4
.
insb_no_4
:
ands
r2
,
r2
,
#
3
...
...
arch/arm/lib/uaccess.S
View file @
60f63ed0
...
...
@@ -183,14 +183,14 @@ USER( strt r3, [r0], #4) @ May fault
strnet
r3
,
[
r0
],
#
4
@
Shouldnt
fault
ands
ip
,
ip
,
#
3
beq
.
c2u_1fupi
.
c2u_1nowords
:
mov
r3
,
r7
,
lsr
#
byte
(
1
)
.
c2u_1nowords
:
mov
r3
,
r7
,
get_byte_1
teq
ip
,
#
0
beq
.
c2u_finished
cmp
ip
,
#
2
USER
(
strbt
r3
,
[
r0
],
#
1
)
@
May
fault
movge
r3
,
r7
,
lsr
#
byte
(
2
)
movge
r3
,
r7
,
get_byte_2
USER
(
strgebt
r3
,
[
r0
],
#
1
)
@
May
fault
movgt
r3
,
r7
,
lsr
#
byte
(
3
)
movgt
r3
,
r7
,
get_byte_3
USER
(
strgtbt
r3
,
[
r0
],
#
1
)
@
May
fault
b
.
c2u_finished
...
...
@@ -250,12 +250,12 @@ USER( strt r3, [r0], #4) @ May fault
strnet
r3
,
[
r0
],
#
4
@
Shouldnt
fault
ands
ip
,
ip
,
#
3
beq
.
c2u_2fupi
.
c2u_2nowords
:
mov
r3
,
r7
,
lsr
#
byte
(
2
)
.
c2u_2nowords
:
mov
r3
,
r7
,
get_byte_2
teq
ip
,
#
0
beq
.
c2u_finished
cmp
ip
,
#
2
USER
(
strbt
r3
,
[
r0
],
#
1
)
@
May
fault
movge
r3
,
r7
,
lsr
#
byte
(
3
)
movge
r3
,
r7
,
get_byte_3
USER
(
strgebt
r3
,
[
r0
],
#
1
)
@
May
fault
ldrgtb
r3
,
[
r1
],
#
0
USER
(
strgtbt
r3
,
[
r0
],
#
1
)
@
May
fault
...
...
@@ -317,7 +317,7 @@ USER( strt r3, [r0], #4) @ May fault
strnet
r3
,
[
r0
],
#
4
@
Shouldnt
fault
ands
ip
,
ip
,
#
3
beq
.
c2u_3fupi
.
c2u_3nowords
:
mov
r3
,
r7
,
lsr
#
byte
(
3
)
.
c2u_3nowords
:
mov
r3
,
r7
,
get_byte_3
teq
ip
,
#
0
beq
.
c2u_finished
cmp
ip
,
#
2
...
...
@@ -496,14 +496,14 @@ USER( ldrnet r7, [r1], #4) @ May fault
strne
r3
,
[
r0
],
#
4
ands
ip
,
ip
,
#
3
beq
.
cfu_1fupi
.
cfu_1nowords
:
mov
r3
,
r7
,
lsr
#
byte
(
1
)
.
cfu_1nowords
:
mov
r3
,
r7
,
get_byte_1
teq
ip
,
#
0
beq
.
cfu_finished
cmp
ip
,
#
2
strb
r3
,
[
r0
],
#
1
movge
r3
,
r7
,
lsr
#
byte
(
2
)
movge
r3
,
r7
,
get_byte_2
strgeb
r3
,
[
r0
],
#
1
movgt
r3
,
r7
,
lsr
#
byte
(
3
)
movgt
r3
,
r7
,
get_byte_3
strgtb
r3
,
[
r0
],
#
1
b
.
cfu_finished
...
...
@@ -563,12 +563,12 @@ USER( ldrnet r7, [r1], #4) @ May fault
strne
r3
,
[
r0
],
#
4
ands
ip
,
ip
,
#
3
beq
.
cfu_2fupi
.
cfu_2nowords
:
mov
r3
,
r7
,
lsr
#
byte
(
2
)
.
cfu_2nowords
:
mov
r3
,
r7
,
get_byte_2
teq
ip
,
#
0
beq
.
cfu_finished
cmp
ip
,
#
2
strb
r3
,
[
r0
],
#
1
movge
r3
,
r7
,
lsr
#
byte
(
3
)
movge
r3
,
r7
,
get_byte_3
strgeb
r3
,
[
r0
],
#
1
USER
(
ldrgtbt
r3
,
[
r1
],
#
0
)
@
May
fault
strgtb
r3
,
[
r0
],
#
1
...
...
@@ -630,7 +630,7 @@ USER( ldrnet r7, [r1], #4) @ May fault
strne
r3
,
[
r0
],
#
4
ands
ip
,
ip
,
#
3
beq
.
cfu_3fupi
.
cfu_3nowords
:
mov
r3
,
r7
,
lsr
#
byte
(
3
)
.
cfu_3nowords
:
mov
r3
,
r7
,
get_byte_3
teq
ip
,
#
0
beq
.
cfu_finished
cmp
ip
,
#
2
...
...
arch/arm/mach-sa1100/cerf.c
View file @
60f63ed0
/*
* linux/arch/arm/mach-sa1100/cerf.c
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Apr-2003 : Removed some old PDA crud [FB]
* Oct-2003 : Added uart2 resource [FB]
* Jan-2004 : Removed io map for flash [FB]
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/tty.h>
#include <linux/device.h>
#include <asm/irq.h>
#include <asm/hardware.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/serial_sa1100.h>
#include <asm/arch/cerf.h>
#include "generic.h"
static
struct
resource
cerfuart2_resources
[]
=
{
[
0
]
=
{
.
start
=
0x80030000
,
.
end
=
0x8003ffff
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
platform_device
cerfuart2_device
=
{
.
name
=
"sa11x0-uart"
,
.
id
=
2
,
.
num_resources
=
ARRAY_SIZE
(
cerfuart2_resources
),
.
resource
=
cerfuart2_resources
,
};
static
struct
platform_device
*
cerf_devices
[]
__initdata
=
{
&
cerfuart2_device
,
};
static
void
__init
cerf_init_irq
(
void
)
{
sa1100_init_irq
();
/* Need to register these as rising edge interrupts
* For standard 16550 serial driver support
* Basically - I copied it from pfs168.c :)
*/
#ifdef CONFIG_SA1100_CERF_CPLD
/* PDA Full serial port */
set_irq_type
(
IRQ_GPIO3
,
IRQT_RISING
);
/* PDA Bluetooth */
set_irq_type
(
IRQ_GPIO2
,
IRQT_RISING
);
#endif
/* CONFIG_SA1100_CERF_CPLD */
set_irq_type
(
IRQ_GPIO_UCB1200_IRQ
,
IRQT_RISING
);
set_irq_type
(
CERF_ETH_IRQ
,
IRQT_RISING
);
}
static
struct
map_desc
cerf_io_desc
[]
__initdata
=
{
/* virtual physical length type */
{
0xf0000000
,
0x08000000
,
0x00100000
,
MT_DEVICE
}
/* Crystal Ethernet Chip */
#ifdef CONFIG_SA1100_CERF_CPLD
,{
0xf1000000
,
0x40000000
,
0x00100000
,
MT_DEVICE
},
/* CPLD Chip */
{
0xf2000000
,
0x10000000
,
0x00100000
,
MT_DEVICE
},
/* CerfPDA Bluetooth */
{
0xf3000000
,
0x18000000
,
0x00100000
,
MT_DEVICE
}
/* CerfPDA Serial */
#endif
};
static
void
__init
cerf_map_io
(
void
)
...
...
@@ -51,21 +64,30 @@ static void __init cerf_map_io(void)
iotable_init
(
cerf_io_desc
,
ARRAY_SIZE
(
cerf_io_desc
));
sa1100_register_uart
(
0
,
3
);
#ifdef CONFIG_SA1100_CERF_IRDA_ENABLED
sa1100_register_uart
(
1
,
1
);
#else
sa1100_register_uart
(
1
,
2
);
sa1100_register_uart
(
1
,
2
);
/* disable this and the uart2 device for sa1100_fir */
sa1100_register_uart
(
2
,
1
);
#endif
/* set some GPDR bits here while it's safe */
GPDR
|=
GPIO_CF_RESET
;
#ifdef CONFIG_SA1100_CERF_CPLD
GPDR
|=
GPIO_PWR_SHUTDOWN
;
#endif
GPDR
|=
CERF_GPIO_CF_RESET
;
}
MACHINE_START
(
CERF
,
"Intrinsyc's Cerf Family of Products"
)
static
int
__init
cerf_init
(
void
)
{
int
ret
;
if
(
!
machine_is_cerf
())
return
-
ENODEV
;
ret
=
platform_add_devices
(
cerf_devices
,
ARRAY_SIZE
(
cerf_devices
));
if
(
ret
<
0
)
return
ret
;
return
0
;
}
arch_initcall
(
cerf_init
);
MACHINE_START
(
CERF
,
"Intrinsyc CerfBoard/CerfCube"
)
MAINTAINER
(
"support@intrinsyc.com"
)
BOOT_MEM
(
0xc0000000
,
0x80000000
,
0xf8000000
)
MAPIO
(
cerf_map_io
)
...
...
arch/arm/mach-sa1100/generic.c
View file @
60f63ed0
...
...
@@ -99,6 +99,7 @@ unsigned int sa11x0_getspeed(void)
{
return
cclk_frequency_100khz
[
PPCR
&
0xf
]
*
100
;
}
EXPORT_SYMBOL
(
sa11x0_getspeed
);
#else
/*
* We still need to provide this so building without cpufreq works.
...
...
drivers/mtd/maps/sa1100-flash.c
View file @
60f63ed0
...
...
@@ -154,50 +154,34 @@ static struct mtd_partition badge4_partitions[] = {
#ifdef CONFIG_SA1100_CERF
#ifdef CONFIG_SA1100_CERF_FLASH_32MB
static
struct
mtd_partition
cerf_partitions
[]
=
{
{
.
name
=
"firmware"
,
.
size
=
0x00040000
,
.
offset
=
0
,
},
{
.
name
=
"params"
,
.
size
=
0x00040000
,
.
offset
=
0x00040000
,
},
{
.
name
=
"kernel"
,
.
size
=
0x00100000
,
.
offset
=
0x00080000
,
},
{
.
name
=
"rootdisk"
,
.
size
=
0x01E80000
,
.
offset
=
0x00180000
,
}
};
# define CERF_FLASH_SIZE 0x02000000
#elif defined CONFIG_SA1100_CERF_FLASH_16MB
# define CERF_FLASH_SIZE 0x01000000
#elif defined CONFIG_SA1100_CERF_FLASH_8MB
# define CERF_FLASH_SIZE 0x00800000
#else
# error "Undefined flash size for CERF in sa1100-flash.c"
#endif
static
struct
mtd_partition
cerf_partitions
[]
=
{
{
.
name
=
"
firmware
"
,
.
name
=
"
Bootloader
"
,
.
size
=
0x00020000
,
.
offset
=
0
,
.
offset
=
0
x00000000
,
},
{
.
name
=
"
p
arams"
,
.
size
=
0x000
2
0000
,
.
name
=
"
P
arams"
,
.
size
=
0x000
4
0000
,
.
offset
=
0x00020000
,
},
{
.
name
=
"
k
ernel"
,
.
name
=
"
K
ernel"
,
.
size
=
0x00100000
,
.
offset
=
0x000
4
0000
,
.
offset
=
0x000
6
0000
,
},
{
.
name
=
"
rootdisk
"
,
.
size
=
0x00EC
0000
,
.
offset
=
0x001
4
0000
,
.
name
=
"
Filesystem
"
,
.
size
=
CERF_FLASH_SIZE
-
0x0016
0000
,
.
offset
=
0x001
6
0000
,
}
};
#elif defined CONFIG_SA1100_CERF_FLASH_8MB
# error "Unwritten type definition"
#else
# error "Undefined memory orientation for CERF in sa1100-flash.c"
#endif
#endif
#ifdef CONFIG_SA1100_CONSUS
...
...
drivers/pcmcia/sa1100_cerf.c
View file @
60f63ed0
...
...
@@ -11,27 +11,25 @@
#include <linux/sched.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <asm/hardware.h>
#include <asm/mach-types.h>
#include <asm/irq.h>
#include <asm/arch/cerf.h>
#include "sa1100_generic.h"
#ifdef CONFIG_SA1100_CERF_CPLD
#define CERF_SOCKET 0
#else
#define CERF_SOCKET 1
#endif
static
struct
pcmcia_irqs
irqs
[]
=
{
{
CERF_SOCKET
,
IRQ_GPIO_CF_CD
,
"CF_CD"
},
{
CERF_SOCKET
,
IRQ_GPIO_CF_BVD2
,
"CF_BVD2"
},
{
CERF_SOCKET
,
IRQ_GPIO_CF_BVD1
,
"CF_BVD1"
}
{
CERF_SOCKET
,
CERF_
IRQ_GPIO_CF_CD
,
"CF_CD"
},
{
CERF_SOCKET
,
CERF_
IRQ_GPIO_CF_BVD2
,
"CF_BVD2"
},
{
CERF_SOCKET
,
CERF_
IRQ_GPIO_CF_BVD1
,
"CF_BVD1"
}
};
static
int
cerf_pcmcia_hw_init
(
struct
sa1100_pcmcia_socket
*
skt
)
{
skt
->
irq
=
IRQ_GPIO_CF_IRQ
;
skt
->
irq
=
CERF_
IRQ_GPIO_CF_IRQ
;
return
sa11xx_request_irqs
(
skt
,
irqs
,
ARRAY_SIZE
(
irqs
));
}
...
...
@@ -46,13 +44,13 @@ cerf_pcmcia_socket_state(struct sa1100_pcmcia_socket *skt, struct pcmcia_state *
{
unsigned
long
levels
=
GPLR
;
state
->
detect
=
((
levels
&
GPIO_CF_CD
)
==
0
)
?
1
:
0
;
state
->
ready
=
(
levels
&
GPIO_CF_IRQ
)
?
1
:
0
;
state
->
bvd1
=
(
levels
&
GPIO_CF_BVD1
)
?
1
:
0
;
state
->
bvd2
=
(
levels
&
GPIO_CF_BVD2
)
?
1
:
0
;
state
->
wrprot
=
0
;
state
->
vs_3v
=
1
;
state
->
vs_Xv
=
0
;
state
->
detect
=
(
levels
&
CERF_GPIO_CF_CD
)
?
0
:
1
;
state
->
ready
=
(
levels
&
CERF_GPIO_CF_IRQ
)
?
1
:
0
;
state
->
bvd1
=
(
levels
&
CERF_
GPIO_CF_BVD1
)
?
1
:
0
;
state
->
bvd2
=
(
levels
&
CERF_
GPIO_CF_BVD2
)
?
1
:
0
;
state
->
wrprot
=
0
;
state
->
vs_3v
=
1
;
state
->
vs_Xv
=
0
;
}
static
int
...
...
@@ -61,13 +59,8 @@ cerf_pcmcia_configure_socket(struct sa1100_pcmcia_socket *skt,
{
switch
(
state
->
Vcc
)
{
case
0
:
break
;
case
50
:
case
33
:
#ifdef CONFIG_SA1100_CERF_CPLD
GPCR
=
GPIO_PWR_SHUTDOWN
;
#endif
break
;
default:
...
...
@@ -77,13 +70,9 @@ cerf_pcmcia_configure_socket(struct sa1100_pcmcia_socket *skt,
}
if
(
state
->
flags
&
SS_RESET
)
{
#ifdef CONFIG_SA1100_CERF_CPLD
GPSR
=
GPIO_CF_RESET
;
#endif
GPSR
=
CERF_GPIO_CF_RESET
;
}
else
{
#ifdef CONFIG_SA1100_CERF_CPLD
GPCR
=
GPIO_CF_RESET
;
#endif
GPCR
=
CERF_GPIO_CF_RESET
;
}
return
0
;
...
...
@@ -101,8 +90,8 @@ static void cerf_pcmcia_socket_suspend(struct sa1100_pcmcia_socket *skt)
static
struct
pcmcia_low_level
cerf_pcmcia_ops
=
{
.
owner
=
THIS_MODULE
,
.
init
=
cerf_pcmcia_hw_init
,
.
shutdown
=
cerf_pcmcia_hw_shutdown
,
.
hw_init
=
cerf_pcmcia_hw_init
,
.
hw_
shutdown
=
cerf_pcmcia_hw_shutdown
,
.
socket_state
=
cerf_pcmcia_socket_state
,
.
configure_socket
=
cerf_pcmcia_configure_socket
,
...
...
include/asm-arm/arch-sa1100/cerf.h
View file @
60f63ed0
/*
* include/asm-arm/arch-sa1100/cerf.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Apr-2003 : Removed some old PDA crud [FB]
*/
#ifndef _INCLUDE_CERF_H_
#define _INCLUDE_CERF_H_
#include <linux/config.h>
#ifdef CONFIG_SA1100_CERF_CPLD
#define CERF_ETH_IO 0xf0000000
#define CERF_ETH_IRQ IRQ_GPIO26
#define CERF_GPIO_CF_BVD2 GPIO_GPIO (19)
#define CERF_GPIO_CF_BVD1 GPIO_GPIO (20)
#define CERF_GPIO_CF_RESET GPIO_GPIO (21)
#define CERF_GPIO_CF_IRQ GPIO_GPIO (22)
#define CERF_GPIO_CF_CD GPIO_GPIO (23)
// Map sa1100fb.c to sa1100_frontlight.c - Not pretty, but necessary.
#define CERF_BACKLIGHT_ENABLE sa1100_fl_enable
#define CERF_BACKLIGHT_DISABLE sa1100_fl_disable
//
// IO Pins for devices
//
#define CERF_PDA_CPLD 0xf1000000
#define CERF_PDA_CPLD_WRCLRINT (0x0)
#define CERF_PDA_CPLD_BACKLIGHT (0x2)
#define CERF_PDA_CPLD_SOUND_FREQ (0x4)
#define CERF_PDA_CPLD_KEYPAD_A (0x6)
#define CERF_PDA_CPLD_BATTFAULT (0x8)
#define CERF_PDA_CPLD_KEYPAD_B (0xa)
#define CERF_PDA_CPLD_SOUND_ENA (0xc)
#define CERF_PDA_CPLD_SOUND_RESET (0xe)
#define GPIO_CF_BVD2 GPIO_GPIO (5)
#define GPIO_CF_BVD1 GPIO_GPIO (6)
#define GPIO_CF_RESET GPIO_GPIO (7)
#define GPIO_CF_IRQ GPIO_GPIO (8)
#define GPIO_CF_CD GPIO_GPIO (9)
#define GPIO_PWR_SHUTDOWN GPIO_GPIO (25)
#define UCB1200_GPIO_CONT_CS 0x0001
#define UCB1200_GPIO_CONT_DOWN 0x0002
#define UCB1200_GPIO_CONT_INC 0x0004
#define UCB1200_GPIO_CONT_ENA 0x0008
#define UCB1200_GPIO_LCD_RESET 0x0010
#define UCB1200_GPIO_IRDA_ENABLE 0x0020
#define UCB1200_GPIO_BT_ENABLE 0x0040
#define UCB1200_GPIO_L3_DATA 0x0080
#define UCB1200_GPIO_L3_CLOCK 0x0100
#define UCB1200_GPIO_L3_MODE 0x0200
//
// IRQ for devices
//
#define IRQ_UCB1200_CONT_CS IRQ_UCB1200_IO0
#define IRQ_UCB1200_CONT_DOWN IRQ_UCB1200_IO1
#define IRQ_UCB1200_CONT_INC IRQ_UCB1200_IO2
#define IRQ_UCB1200_CONT_ENA IRQ_UCB1200_IO3
#define IRQ_UCB1200_LCD_RESET IRQ_UCB1200_IO4
#define IRQ_UCB1200_IRDA_ENABLE IRQ_UCB1200_IO5
#define IRQ_UCB1200_BT_ENABLE IRQ_UCB1200_IO6
#define IRQ_UCB1200_L3_DATA IRQ_UCB1200_IO7
#define IRQ_UCB1200_L3_CLOCK IRQ_UCB1200_IO8
#define IRQ_UCB1200_L3_MODE IRQ_UCB1200_IO9
#define IRQ_GPIO_CF_BVD2 IRQ_GPIO5
#define IRQ_GPIO_CF_BVD1 IRQ_GPIO6
#define IRQ_GPIO_CF_IRQ IRQ_GPIO8
#define IRQ_GPIO_CF_CD IRQ_GPIO9
//
// Device parameters
//
#define CERF_PDA_CPLD_SOUND_FREQ_8000 (0x01)
#define CERF_PDA_CPLD_SOUND_FREQ_11025 (0x05)
#define CERF_PDA_CPLD_SOUND_FREQ_16000 (0x02)
#define CERF_PDA_CPLD_SOUND_FREQ_22050 (0x06)
#define CERF_PDA_CPLD_SOUND_FREQ_32000 (0x03)
#define CERF_PDA_CPLD_SOUND_FREQ_44100 (0x07)
#define CERF_PDA_CPLD_SOUND_FREQ_48000 (0x0b)
//
// General Functions
//
#define CERF_PDA_CPLD_Get(x, y) (*((char*)(CERF_PDA_CPLD + (x))) & (y))
#define CERF_PDA_CPLD_Set(x, y, z) (*((char*)(CERF_PDA_CPLD + (x))) = (*((char*)(CERF_PDA_CPLD + (x))) & ~(z)) | (y))
#define CERF_PDA_CPLD_UnSet(x, y, z) (*((char*)(CERF_PDA_CPLD + (x))) = (*((char*)(CERF_PDA_CPLD + (x))) & ~(z)) & ~(y))
#else // CONFIG_SA1100_CERF_CPLD
#define GPIO_CF_BVD2 GPIO_GPIO (19)
#define GPIO_CF_BVD1 GPIO_GPIO (20)
#define GPIO_CF_RESET 0
#define GPIO_CF_IRQ GPIO_GPIO (22)
#define GPIO_CF_CD GPIO_GPIO (23)
#define GPIO_LCD_RESET GPIO_GPIO (15)
#define IRQ_GPIO_CF_BVD2 IRQ_GPIO19
#define IRQ_GPIO_CF_BVD1 IRQ_GPIO20
#define IRQ_GPIO_CF_IRQ IRQ_GPIO22
#define IRQ_GPIO_CF_CD IRQ_GPIO23
#endif // CONFIG_SA1100_CERF_CPLD
#define GPIO_UCB1200_IRQ GPIO_GPIO (18)
#define IRQ_GPIO_UCB1200_IRQ IRQ_GPIO18
#define CERF_IRQ_GPIO_CF_BVD2 IRQ_GPIO19
#define CERF_IRQ_GPIO_CF_BVD1 IRQ_GPIO20
#define CERF_IRQ_GPIO_CF_IRQ IRQ_GPIO22
#define CERF_IRQ_GPIO_CF_CD IRQ_GPIO23
#endif // _INCLUDE_CERF_H_
include/asm-arm/assembler.h
View file @
60f63ed0
...
...
@@ -25,11 +25,25 @@
#ifndef __ARMEB__
#define pull lsr
#define push lsl
#define byte(x) (x*8)
#define get_byte_0 lsl #0
#define get_byte_1 lsr #8
#define get_byte_2 lsr #16
#define get_byte_3 lsr #24
#define put_byte_0 lsl #0
#define put_byte_1 lsl #8
#define put_byte_2 lsl #16
#define put_byte_3 lsl #24
#else
#define pull lsl
#define push lsr
#define byte(x) ((3-x)*8)
#define get_byte_0 lsr #24
#define get_byte_1 lsr #16
#define get_byte_2 lsr #8
#define get_byte_3 lsl #0
#define put_byte_0 lsl #24
#define put_byte_1 lsl #16
#define put_byte_2 lsl #8
#define put_byte_3 lsl #0
#endif
/*
...
...
include/asm-arm/bitops.h
View file @
60f63ed0
...
...
@@ -29,7 +29,7 @@
*
* First, the atomic bitops. These use native endian.
*/
static
inline
void
____atomic_set_bit
(
unsigned
int
bit
,
unsigned
long
*
p
)
static
inline
void
____atomic_set_bit
(
unsigned
int
bit
,
volatile
unsigned
long
*
p
)
{
unsigned
long
flags
;
unsigned
long
mask
=
1UL
<<
(
bit
&
31
);
...
...
@@ -41,7 +41,7 @@ static inline void ____atomic_set_bit(unsigned int bit, unsigned long *p)
local_irq_restore
(
flags
);
}
static
inline
void
____atomic_clear_bit
(
unsigned
int
bit
,
unsigned
long
*
p
)
static
inline
void
____atomic_clear_bit
(
unsigned
int
bit
,
volatile
unsigned
long
*
p
)
{
unsigned
long
flags
;
unsigned
long
mask
=
1UL
<<
(
bit
&
31
);
...
...
@@ -53,7 +53,7 @@ static inline void ____atomic_clear_bit(unsigned int bit, unsigned long *p)
local_irq_restore
(
flags
);
}
static
inline
void
____atomic_change_bit
(
unsigned
int
bit
,
unsigned
long
*
p
)
static
inline
void
____atomic_change_bit
(
unsigned
int
bit
,
volatile
unsigned
long
*
p
)
{
unsigned
long
flags
;
unsigned
long
mask
=
1UL
<<
(
bit
&
31
);
...
...
@@ -66,7 +66,7 @@ static inline void ____atomic_change_bit(unsigned int bit, unsigned long *p)
}
static
inline
int
____atomic_test_and_set_bit
(
unsigned
int
bit
,
unsigned
long
*
p
)
____atomic_test_and_set_bit
(
unsigned
int
bit
,
volatile
unsigned
long
*
p
)
{
unsigned
long
flags
;
unsigned
int
res
;
...
...
@@ -83,7 +83,7 @@ ____atomic_test_and_set_bit(unsigned int bit, unsigned long *p)
}
static
inline
int
____atomic_test_and_clear_bit
(
unsigned
int
bit
,
unsigned
long
*
p
)
____atomic_test_and_clear_bit
(
unsigned
int
bit
,
volatile
unsigned
long
*
p
)
{
unsigned
long
flags
;
unsigned
int
res
;
...
...
@@ -100,7 +100,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, unsigned long *p)
}
static
inline
int
____atomic_test_and_change_bit
(
unsigned
int
bit
,
unsigned
long
*
p
)
____atomic_test_and_change_bit
(
unsigned
int
bit
,
volatile
unsigned
long
*
p
)
{
unsigned
long
flags
;
unsigned
int
res
;
...
...
@@ -171,7 +171,7 @@ static inline int __test_and_change_bit(int nr, volatile unsigned long *p)
/*
* This routine doesn't need to be atomic.
*/
static
inline
int
__test_bit
(
int
nr
,
const
unsigned
long
*
p
)
static
inline
int
__test_bit
(
int
nr
,
const
volatile
unsigned
long
*
p
)
{
return
(
p
[
nr
>>
5
]
>>
(
nr
&
31
))
&
1UL
;
}
...
...
@@ -204,24 +204,24 @@ static inline int __test_bit(int nr, const unsigned long * p)
/*
* Little endian assembly bitops. nr = 0 -> byte 0 bit 0.
*/
extern
void
_set_bit_le
(
int
nr
,
unsigned
long
*
p
);
extern
void
_clear_bit_le
(
int
nr
,
unsigned
long
*
p
);
extern
void
_change_bit_le
(
int
nr
,
unsigned
long
*
p
);
extern
int
_test_and_set_bit_le
(
int
nr
,
unsigned
long
*
p
);
extern
int
_test_and_clear_bit_le
(
int
nr
,
unsigned
long
*
p
);
extern
int
_test_and_change_bit_le
(
int
nr
,
unsigned
long
*
p
);
extern
void
_set_bit_le
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
void
_clear_bit_le
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
void
_change_bit_le
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_test_and_set_bit_le
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_test_and_clear_bit_le
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_test_and_change_bit_le
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_find_first_zero_bit_le
(
void
*
p
,
unsigned
size
);
extern
int
_find_next_zero_bit_le
(
void
*
p
,
int
size
,
int
offset
);
/*
* Big endian assembly bitops. nr = 0 -> byte 3 bit 0.
*/
extern
void
_set_bit_be
(
int
nr
,
unsigned
long
*
p
);
extern
void
_clear_bit_be
(
int
nr
,
unsigned
long
*
p
);
extern
void
_change_bit_be
(
int
nr
,
unsigned
long
*
p
);
extern
int
_test_and_set_bit_be
(
int
nr
,
unsigned
long
*
p
);
extern
int
_test_and_clear_bit_be
(
int
nr
,
unsigned
long
*
p
);
extern
int
_test_and_change_bit_be
(
int
nr
,
unsigned
long
*
p
);
extern
void
_set_bit_be
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
void
_clear_bit_be
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
void
_change_bit_be
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_test_and_set_bit_be
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_test_and_clear_bit_be
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_test_and_change_bit_be
(
int
nr
,
volatile
unsigned
long
*
p
);
extern
int
_find_first_zero_bit_be
(
void
*
p
,
unsigned
size
);
extern
int
_find_next_zero_bit_be
(
void
*
p
,
int
size
,
int
offset
);
...
...
include/asm-arm/cacheflush.h
View file @
60f63ed0
...
...
@@ -209,8 +209,21 @@ extern void dmac_flush_range(unsigned long, unsigned long);
#endif
/*
* flush_cache_vmap() is used when creating mappings (eg, via vmap,
* vmalloc, ioremap etc) in kernel space for pages. Since the
* direct-mappings of these pages may contain cached data, we need
* to do a full cache flush to ensure that writebacks don't corrupt
* data placed into these pages via the new mappings.
*/
#define flush_cache_vmap(start, end) flush_cache_all()
#define flush_cache_vunmap(start, end) flush_cache_all()
/*
* Copy user data from/to a page which is mapped into a different
* processes address space. Really, we want to allow our "user
* space" model to handle this.
*/
#define copy_to_user_page(vma, page, vaddr, dst, src, len) \
do { memcpy(dst, src, len); \
flush_icache_user_range(vma, page, vaddr, len); \
...
...
include/asm-arm/thread_info.h
View file @
60f63ed0
...
...
@@ -51,8 +51,9 @@ struct thread_info {
__u32
cpu
;
/* cpu */
__u32
cpu_domain
;
/* cpu domain */
struct
cpu_context_save
cpu_context
;
/* cpu context */
struct
restart_block
restart_block
;
__u8
used_cp
[
16
];
/* thread used copro */
union
fp_state
fpstate
;
struct
restart_block
restart_block
;
};
#define INIT_THREAD_INFO(tsk) \
...
...
@@ -107,7 +108,8 @@ extern void free_thread_info(struct thread_info *);
#define TI_CPU 20
#define TI_CPU_DOMAIN 24
#define TI_CPU_SAVE 28
#define TI_FPSTATE 76
#define TI_USED_MATH 76
#define TI_FPSTATE (TI_USED_MATH+16)
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment