📄 v2.6.20-rc1-gitcurrent.patch
字号:
+#+# MMC/SD Card support+#+# CONFIG_MMC is not set++#+# LED devices+#+# CONFIG_NEW_LEDS is not set++#+# LED drivers+#++#+# LED Triggers+#++#+# InfiniBand support+#+# CONFIG_INFINIBAND is not set++#+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)+#++#+# Real Time Clock+#+# CONFIG_RTC_CLASS is not set++#+# DMA Engine support+#+# CONFIG_DMA_ENGINE is not set++#+# DMA Clients+#++#+# DMA Devices+#++#+# Virtualization+#++#+# Misc Linux/SPARC drivers+#+CONFIG_SUN_OPENPROMIO=m+CONFIG_SUN_MOSTEK_RTC=m+# CONFIG_SUN_BPP is not set+# CONFIG_SUN_VIDEOPIX is not set+# CONFIG_TADPOLE_TS102_UCTRL is not set+# CONFIG_SUN_JSFLASH is not set++#+# Unix98 PTY support+#+CONFIG_UNIX98_PTY_COUNT=256++# # File systems # CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y+# CONFIG_EXT2_FS_XIP is not set # CONFIG_EXT3_FS is not set-# CONFIG_JBD is not set+# CONFIG_EXT4DEV_FS is not set CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y CONFIG_XFS_FS=m-CONFIG_XFS_RT=y CONFIG_XFS_QUOTA=y CONFIG_XFS_SECURITY=y CONFIG_XFS_POSIX_ACL=y+CONFIG_XFS_RT=y+# CONFIG_GFS2_FS is not set+# CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set CONFIG_ROMFS_FS=m+CONFIG_INOTIFY=y+CONFIG_INOTIFY_USER=y # CONFIG_QUOTA is not set CONFIG_QUOTACTL=y+CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=m CONFIG_AUTOFS4_FS=m+# CONFIG_FUSE_FS is not set # # CD-ROM/DVD Filesystems@@ -468,7 +780,8 @@ # CONFIG_UDF_FS is not set # # DOS/FAT/NT Filesystems #-# CONFIG_FAT_FS is not set+# CONFIG_MSDOS_FS is not set+# CONFIG_VFAT_FS is not set # CONFIG_NTFS_FS is not set #@@ -476,13 +789,12 @@ # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y+CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y-# CONFIG_DEVFS_FS is not set-CONFIG_DEVPTS_FS_XATTR=y-# CONFIG_DEVPTS_FS_SECURITY is not set # CONFIG_TMPFS is not set # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y+# CONFIG_CONFIGFS_FS is not set # # Miscellaneous filesystems@@ -512,17 +824,23 @@ # CONFIG_NFS_DIRECTIO is not set # CONFIG_NFSD is not set CONFIG_ROOT_NFS=y CONFIG_LOCKD=y-# CONFIG_EXPORTFS is not set+CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=m CONFIG_RPCSEC_GSS_KRB5=m+# CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set+# CONFIG_CIFS_WEAK_PW_HASH is not set+# CONFIG_CIFS_XATTR is not set+# CONFIG_CIFS_DEBUG2 is not set+# CONFIG_CIFS_EXPERIMENTAL is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set CONFIG_AFS_FS=m CONFIG_RXRPC=m+# CONFIG_9P_FS is not set # # Partition Types@@ -559,6 +877,7 @@ # 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_ASCII is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set@@ -575,70 +894,104 @@ # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set #-# Sound-#-# CONFIG_SOUND is not set--#-# USB support+# Distributed Lock Manager #-# CONFIG_USB is not set--#-# USB Gadget Support-#-# CONFIG_USB_GADGET is not set+# CONFIG_DLM is not set #-# Watchdog Cards+# Instrumentation Support #-# CONFIG_WATCHDOG is not set+# CONFIG_PROFILING is not set # # Kernel hacking #+# CONFIG_PRINTK_TIME is not set+CONFIG_ENABLE_MUST_CHECK=y+CONFIG_MAGIC_SYSRQ=y+# CONFIG_UNUSED_SYMBOLS is not set+# CONFIG_DEBUG_FS is not set+# CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y-# CONFIG_DEBUG_STACK_USAGE is not set+CONFIG_LOG_BUF_SHIFT=14+CONFIG_DETECT_SOFTLOCKUP=y+# CONFIG_SCHEDSTATS is not set # CONFIG_DEBUG_SLAB is not set-CONFIG_MAGIC_SYSRQ=y+# CONFIG_DEBUG_RT_MUTEXES is not set+# CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set-# CONFIG_DEBUG_HIGHMEM is not set+# CONFIG_DEBUG_MUTEXES is not set+# CONFIG_DEBUG_RWSEMS is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set-# CONFIG_DEBUG_BUGVERBOSE is not set+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set+# CONFIG_DEBUG_KOBJECT is not set+# CONFIG_DEBUG_HIGHMEM is not set+CONFIG_DEBUG_BUGVERBOSE=y+# CONFIG_DEBUG_INFO is not set+# CONFIG_DEBUG_VM is not set+# CONFIG_DEBUG_LIST is not set+CONFIG_FORCED_INLINING=y+# CONFIG_RCU_TORTURE_TEST is not set+# CONFIG_DEBUG_STACK_USAGE is not set # # Security options #+# CONFIG_KEYS is not set # CONFIG_SECURITY is not set # # Cryptographic options # CONFIG_CRYPTO=y+CONFIG_CRYPTO_ALGAPI=y+CONFIG_CRYPTO_BLKCIPHER=y+CONFIG_CRYPTO_HASH=y+CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_HMAC=y+# CONFIG_CRYPTO_XCBC is not set CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m+# CONFIG_CRYPTO_WP512 is not set+# CONFIG_CRYPTO_TGR192 is not set+# CONFIG_CRYPTO_GF128MUL is not set+CONFIG_CRYPTO_ECB=m+CONFIG_CRYPTO_CBC=y+# CONFIG_CRYPTO_LRW is not set CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_TWOFISH=m+CONFIG_CRYPTO_TWOFISH_COMMON=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m+# CONFIG_CRYPTO_TEA is not set CONFIG_CRYPTO_ARC4=m+# CONFIG_CRYPTO_KHAZAD is not set+# CONFIG_CRYPTO_ANUBIS is not set CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_MICHAEL_MIC=m CONFIG_CRYPTO_CRC32C=m # CONFIG_CRYPTO_TEST is not set #+# Hardware crypto devices+#++# # Library routines #+CONFIG_BITREVERSE=y+# CONFIG_CRC_CCITT is not set+# CONFIG_CRC16 is not set CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y+CONFIG_PLIST=y+CONFIG_IOMAP_COPY=ydiff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.cindex 33dadd9..d8e008a 100644--- a/arch/sparc/kernel/sparc_ksyms.c+++ b/arch/sparc/kernel/sparc_ksyms.c@@ -83,9 +83,6 @@ extern int __divdi3(int, int); /* Private functions with odd calling conventions. */ extern void ___atomic24_add(void); extern void ___atomic24_sub(void);-extern void ___set_bit(void);-extern void ___clear_bit(void);-extern void ___change_bit(void); extern void ___rw_read_enter(void); extern void ___rw_read_try(void); extern void ___rw_read_exit(void);@@ -125,11 +122,6 @@ EXPORT_SYMBOL(pfn_base); EXPORT_SYMBOL(___atomic24_add); EXPORT_SYMBOL(___atomic24_sub); -/* Bit operations. */-EXPORT_SYMBOL(___set_bit);-EXPORT_SYMBOL(___clear_bit);-EXPORT_SYMBOL(___change_bit);- /* Per-CPU information table */ EXPORT_PER_CPU_SYMBOL(__cpu_data); diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.cindex 6c7aa51..2fcce00 100644--- a/arch/sparc/kernel/time.c+++ b/arch/sparc/kernel/time.c@@ -78,7 +78,6 @@ unsigned long profile_pc(struct pt_regs extern char __copy_user_begin[], __copy_user_end[]; extern char __atomic_begin[], __atomic_end[]; extern char __bzero_begin[], __bzero_end[];- extern char __bitops_begin[], __bitops_end[]; unsigned long pc = regs->pc; @@ -88,9 +87,7 @@ unsigned long profile_pc(struct pt_regs (pc >= (unsigned long) __atomic_begin && pc < (unsigned long) __atomic_end) || (pc >= (unsigned long) __bzero_begin &&- pc < (unsigned long) __bzero_end) ||- (pc >= (unsigned long) __bitops_begin &&- pc < (unsigned long) __bitops_end))+ pc < (unsigned long) __bzero_end)) pc = regs->u_regs[UREG_RETPC]; return pc; }diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefileindex 5db7e1d..9ddc5b9 100644--- a/arch/sparc/lib/Makefile+++ b/arch/sparc/lib/Makefile@@ -7,7 +7,7 @@ EXTRA_AFLAGS := -ansi -DST_DIV0=0x02 lib-y := mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o memcpy.o memset.o \ strlen.o checksum.o blockops.o memscan.o memcmp.o strncmp.o \ strncpy_from_user.o divdi3.o udivdi3.o strlen_user.o \- copy_user.o locks.o atomic.o atomic32.o bitops.o \+ copy_user.o locks.o atomic.o \ lshrdi3.o ashldi3.o rwsem.o muldi3.o bitext.o -obj-y += iomap.o+obj-y += iomap.o atomic32.odiff --git a/arch/sparc/lib/atomic32.c b/arch/sparc/lib/atomic32.cindex de84f85..53ddcd9 100644--- a/arch/sparc/lib/atomic32.c+++ b/arch/sparc/lib/atomic32.c@@ -76,3 +76,42 @@ void atomic_set(atomic_t *v, int i) spin_unlock_irqrestore(ATOMIC_HASH(v), flags); } EXPORT_SYMBOL(atomic_set);++unsigned long ___set_bit(unsigned long *addr, unsigned long mask)+{+ unsigned long old, flags;++ spin_lock_irqsave(ATOMIC_HASH(addr), flags);+ old = *addr;+ *addr = old | mask;+ spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);++ return old & mask;+}+EXPORT_SYMBOL(___set_bit);++unsigned long ___clear_bit(unsigned long *addr, unsigned long mask)+{+ unsigned long old, flags;++ spin_lock_irqsave(ATOMIC_HASH(addr), flags);+ old = *addr;+ *addr = old & ~mask;+ spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);++ return old & mask;+}+EXPORT_SYMBOL(___clear_bit);++unsigned long ___change_bit(unsigned long *addr, unsigned long mask)+{+ unsigned long old, flags;++ spin_lock_irqsave(ATOMIC_HASH(addr), flags);+ old = *addr;+ *addr = old ^ mask;+ spin_unlock_irqrestore(ATOMIC_HASH(addr), flags);++ return old & mask;+}+EXPORT_SYMBOL(___change_bit);diff --git a/arch/sparc/lib/bitops.S b/arch/sparc/lib/bitops.Sdeleted file mode 100644index cb7fb66..0000000--- a/arch/sparc/lib/bitops.S+++ /dev/null@@ -1,109 +0,0 @@-/* bitops.S: Low level assembler bit operations.- *- * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)- */--#include <asm/ptrace.h>-#include <asm/psr.h>-- .text- .align 4-- .globl __bitops_begin-__bitops_begin:-- /* Take bits in %g2 and set them in word at %g1,- * return whether bits were set in original value- * in %g2. %g4 holds value to restore into %o7- * in delay slot of jmpl return, %g3 + %g5 + %g7 can be- * used as temporaries and thus is considered clobbered- * by all callers.- */- .globl ___set_bit-___set_bit:- rd %psr, %g3- nop; nop; nop;- or %g3, PSR_PIL, %g5- wr %g5, 0x0, %psr- nop; nop; nop-#ifdef CONFIG_SMP- set bitops_spinlock, %g5-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.- orcc %g7, 0x0, %g0 ! Did we get it?- bne 2b ! Nope...-#endif- ld [%g1], %g7- or %g7, %g2, %g5- and %g7, %g2, %g2-#ifdef CONFIG_SMP- st %g5, [%g1]- set bitops_spinlock, %g5- stb %g0, [%g5]-#else- st %g5, [%g1]-#endif- wr %g3, 0x0, %psr- nop; nop; nop- jmpl %o7, %g0- mov %g4, %o7-- /* Same as above, but clears the bits from %g2 instead. */- .globl ___clear_bit-___clear_bit:- rd %psr, %g3- nop; nop; nop- or %g3, PSR_PIL, %g5- wr %g5, 0x0, %psr- nop; nop; nop-#ifdef CONFIG_SMP- set bitops_spinlock, %g5-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.- orcc %g7, 0x0, %g0 ! Did we get it?- bne 2b ! Nope...-#endif- ld [%g1], %g7- andn %g7, %g2, %g5- and %g7, %g2, %g2-#ifdef CONFIG_SMP- st %g5, [%g1]- set bitops_spinlock, %g5- stb %g0, [%g5]-#else- st %g5, [%g1]-#endif- wr %g3, 0x0, %psr- nop; nop; nop- jmpl %o7, %g0- mov %g4, %o7-- /* Same thing again, but this time toggles the bits from %g2. */- .globl ___change_bit-___change_bit:- rd %psr, %g3- nop; nop; nop- or %g3, PSR_PIL, %g5- wr %g5, 0x0, %psr- nop; nop; nop-#ifdef CONFIG_SMP- set bitops_spinlock, %g5-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.- orcc %g7, 0x0, %g0 ! Did we get it?- bne 2b ! Nope...-#endif- ld [%g1], %g7- xor %g7, %g2, %g5- and %g7, %g2, %g2-#ifdef CONFIG_SMP- st %g5, [%g1]- set bitops_spinlock, %g5- stb %g0, [%g5]-#else- st %g5, [%g1]-#endif- wr %g3, 0x0, %psr- nop; nop; nop- jmpl %o7, %g0- mov %g4, %o7-- .globl __bitops_end-__bitops_end:diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.Sindex 03ffaf8..baea10a 100644--- a/arch/sparc64/kernel/head.S+++ b/arch/sparc64/kernel/head.S@@ -78,11 +78,7 @@ sparc_ramdisk_image64: /* PROM cif handler code address is in %o4. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -