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
adb9c9ac
Commit
adb9c9ac
authored
Feb 23, 2006
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
parents
a80614d1
fb5c594c
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
274 additions
and
973 deletions
+274
-973
arch/powerpc/configs/g5_defconfig
arch/powerpc/configs/g5_defconfig
+71
-103
arch/powerpc/configs/ppc64_defconfig
arch/powerpc/configs/ppc64_defconfig
+71
-102
arch/powerpc/configs/pseries_defconfig
arch/powerpc/configs/pseries_defconfig
+47
-80
arch/powerpc/kernel/crash.c
arch/powerpc/kernel/crash.c
+3
-1
arch/powerpc/kernel/head_32.S
arch/powerpc/kernel/head_32.S
+1
-0
arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/head_64.S
+6
-103
arch/powerpc/kernel/machine_kexec_64.c
arch/powerpc/kernel/machine_kexec_64.c
+3
-7
arch/powerpc/kernel/process.c
arch/powerpc/kernel/process.c
+32
-0
arch/powerpc/kernel/prom_init.c
arch/powerpc/kernel/prom_init.c
+0
-38
arch/powerpc/mm/hash_native_64.c
arch/powerpc/mm/hash_native_64.c
+6
-1
arch/powerpc/mm/hash_utils_64.c
arch/powerpc/mm/hash_utils_64.c
+2
-1
arch/powerpc/oprofile/Kconfig
arch/powerpc/oprofile/Kconfig
+1
-0
arch/powerpc/platforms/iseries/lpevents.c
arch/powerpc/platforms/iseries/lpevents.c
+2
-0
arch/powerpc/platforms/iseries/setup.c
arch/powerpc/platforms/iseries/setup.c
+1
-0
arch/powerpc/platforms/maple/pci.c
arch/powerpc/platforms/maple/pci.c
+2
-2
arch/powerpc/platforms/pseries/Kconfig
arch/powerpc/platforms/pseries/Kconfig
+0
-7
arch/powerpc/sysdev/mpic.c
arch/powerpc/sysdev/mpic.c
+5
-4
arch/ppc/kernel/head.S
arch/ppc/kernel/head.S
+1
-0
arch/ppc/xmon/adb.c
arch/ppc/xmon/adb.c
+0
-212
arch/ppc/xmon/start.c
arch/ppc/xmon/start.c
+3
-166
arch/ppc/xmon/xmon.c
arch/ppc/xmon/xmon.c
+0
-108
drivers/char/hvc_console.c
drivers/char/hvc_console.c
+5
-3
include/asm-powerpc/cputable.h
include/asm-powerpc/cputable.h
+6
-3
include/asm-powerpc/mmu.h
include/asm-powerpc/mmu.h
+1
-0
include/asm-powerpc/reg.h
include/asm-powerpc/reg.h
+3
-30
include/asm-powerpc/thread_info.h
include/asm-powerpc/thread_info.h
+2
-2
No files found.
arch/powerpc/configs/g5_defconfig
View file @
adb9c9ac
This diff is collapsed.
Click to expand it.
arch/powerpc/configs/ppc64_defconfig
View file @
adb9c9ac
This diff is collapsed.
Click to expand it.
arch/powerpc/configs/pseries_defconfig
View file @
adb9c9ac
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.1
5-rc5
# Linux kernel version: 2.6.1
6-rc2
#
Tue Dec 20 15:59:40 2005
#
Fri Feb 10 17:33:32 2006
#
#
CONFIG_PPC64=y
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_64BIT=y
...
@@ -16,6 +16,10 @@ CONFIG_COMPAT=y
...
@@ -16,6 +16,10 @@ CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_PPC_UDBG_16550=y
# CONFIG_GENERIC_TBSYNC is not set
# CONFIG_DEFAULT_UIMAGE is not set
#
#
# Processor support
# Processor support
...
@@ -33,7 +37,6 @@ CONFIG_NR_CPUS=128
...
@@ -33,7 +37,6 @@ CONFIG_NR_CPUS=128
# Code maturity level options
# Code maturity level options
#
#
CONFIG_EXPERIMENTAL=y
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_LOCK_KERNEL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_INIT_ENV_ARG_LIMIT=32
...
@@ -49,8 +52,6 @@ CONFIG_POSIX_MQUEUE=y
...
@@ -49,8 +52,6 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_SYSCTL=y
CONFIG_SYSCTL=y
CONFIG_AUDIT=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CPUSETS=y
CONFIG_CPUSETS=y
...
@@ -60,8 +61,10 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
...
@@ -60,8 +61,10 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_EPOLL=y
...
@@ -70,8 +73,10 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
...
@@ -70,8 +73,10 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_SLAB=y
# CONFIG_TINY_SHMEM is not set
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
#
#
# Loadable module support
# Loadable module support
...
@@ -113,7 +118,6 @@ CONFIG_PPC_PSERIES=y
...
@@ -113,7 +118,6 @@ CONFIG_PPC_PSERIES=y
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_MAPLE is not set
# CONFIG_PPC_MAPLE is not set
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL is not set
CONFIG_PPC_OF=y
CONFIG_XICS=y
CONFIG_XICS=y
# CONFIG_U3_DART is not set
# CONFIG_U3_DART is not set
CONFIG_MPIC=y
CONFIG_MPIC=y
...
@@ -123,8 +127,8 @@ CONFIG_RTAS_PROC=y
...
@@ -123,8 +127,8 @@ CONFIG_RTAS_PROC=y
CONFIG_RTAS_FLASH=m
CONFIG_RTAS_FLASH=m
# CONFIG_MMIO_NVRAM is not set
# CONFIG_MMIO_NVRAM is not set
CONFIG_IBMVIO=y
CONFIG_IBMVIO=y
# CONFIG_IBMEBUS is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_GENERIC_TBSYNC is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_WANT_EARLY_SERIAL is not set
# CONFIG_WANT_EARLY_SERIAL is not set
...
@@ -145,6 +149,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
...
@@ -145,6 +149,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
CONFIG_IOMMU_VMERGE=y
CONFIG_IOMMU_VMERGE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_HOTPLUG_CPU=y
CONFIG_KEXEC=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_IRQ_ALL_CPUS=y
CONFIG_IRQ_ALL_CPUS=y
CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SPLPAR=y
CONFIG_EEH=y
CONFIG_EEH=y
...
@@ -165,6 +170,7 @@ CONFIG_HAVE_MEMORY_PRESENT=y
...
@@ -165,6 +170,7 @@ CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_EXTREME=y
# CONFIG_MEMORY_HOTPLUG is not set
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_SCHED_SMT=y
CONFIG_SCHED_SMT=y
...
@@ -209,6 +215,7 @@ CONFIG_NET=y
...
@@ -209,6 +215,7 @@ CONFIG_NET=y
#
#
# Networking options
# Networking options
#
#
# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_UNIX=y
...
@@ -248,6 +255,7 @@ CONFIG_NETFILTER=y
...
@@ -248,6 +255,7 @@ CONFIG_NETFILTER=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NETFILTER_NETLINK_LOG=m
# CONFIG_NETFILTER_XTABLES is not set
#
#
# IP: Netfilter Configuration
# IP: Netfilter Configuration
...
@@ -265,65 +273,6 @@ CONFIG_IP_NF_TFTP=m
...
@@ -265,65 +273,6 @@ CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_AMANDA=m
# CONFIG_IP_NF_PPTP is not set
# CONFIG_IP_NF_PPTP is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_REALM=m
CONFIG_IP_NF_MATCH_SCTP=m
# CONFIG_IP_NF_MATCH_DCCP is not set
CONFIG_IP_NF_MATCH_COMMENT=m
CONFIG_IP_NF_MATCH_CONNMARK=m
CONFIG_IP_NF_MATCH_CONNBYTES=m
CONFIG_IP_NF_MATCH_HASHLIMIT=m
CONFIG_IP_NF_MATCH_STRING=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_TARGET_NFQUEUE=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_TARGET_CONNMARK=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_TARGET_NOTRACK=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
#
#
# DCCP Configuration (EXPERIMENTAL)
# DCCP Configuration (EXPERIMENTAL)
...
@@ -334,6 +283,11 @@ CONFIG_IP_NF_ARP_MANGLE=m
...
@@ -334,6 +283,11 @@ CONFIG_IP_NF_ARP_MANGLE=m
# SCTP Configuration (EXPERIMENTAL)
# SCTP Configuration (EXPERIMENTAL)
#
#
# CONFIG_IP_SCTP is not set
# CONFIG_IP_SCTP is not set
#
# TIPC Configuration (EXPERIMENTAL)
#
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_VLAN_8021Q is not set
...
@@ -352,7 +306,6 @@ CONFIG_LLC=y
...
@@ -352,7 +306,6 @@ CONFIG_LLC=y
# QoS and/or fair queueing
# QoS and/or fair queueing
#
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_SCHED is not set
CONFIG_NET_CLS_ROUTE=y
#
#
# Network testing
# Network testing
...
@@ -550,13 +503,7 @@ CONFIG_SCSI_IPR_TRACE=y
...
@@ -550,13 +503,7 @@ CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_IPR_DUMP=y
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA_FC is not set
CONFIG_SCSI_QLA21XX=m
CONFIG_SCSI_QLA22XX=m
CONFIG_SCSI_QLA2300=m
CONFIG_SCSI_QLA2322=m
CONFIG_SCSI_QLA6312=m
CONFIG_SCSI_QLA24XX=m
CONFIG_SCSI_LPFC=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DC390T is not set
...
@@ -678,6 +625,7 @@ CONFIG_E1000=y
...
@@ -678,6 +625,7 @@ CONFIG_E1000=y
# CONFIG_R8169 is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_TIGON3=y
CONFIG_TIGON3=y
...
@@ -803,6 +751,7 @@ CONFIG_HW_CONSOLE=y
...
@@ -803,6 +751,7 @@ CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
#
#
...
@@ -908,6 +857,12 @@ CONFIG_I2C_ALGOBIT=y
...
@@ -908,6 +857,12 @@ CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
#
#
# Dallas's 1-wire bus
# Dallas's 1-wire bus
#
#
...
@@ -976,7 +931,6 @@ CONFIG_FB_RADEON_I2C=y
...
@@ -976,7 +931,6 @@ CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_KYRO is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_VIRTUAL is not set
...
@@ -1061,12 +1015,15 @@ CONFIG_USB_STORAGE=y
...
@@ -1061,12 +1015,15 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_LIBUSUAL is not set
#
#
# USB Input Devices
# USB Input Devices
#
#
CONFIG_USB_HID=y
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
CONFIG_USB_HIDINPUT=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
CONFIG_USB_HIDDEV=y
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_AIPTEK is not set
...
@@ -1080,6 +1037,7 @@ CONFIG_USB_HIDDEV=y
...
@@ -1080,6 +1037,7 @@ CONFIG_USB_HIDDEV=y
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_ATI_REMOTE2 is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
# CONFIG_USB_APPLETOUCH is not set
...
@@ -1166,6 +1124,10 @@ CONFIG_INFINIBAND_IPOIB=m
...
@@ -1166,6 +1124,10 @@ CONFIG_INFINIBAND_IPOIB=m
# SN Devices
# SN Devices
#
#
#
# EDAC - error detection and reporting (RAS)
#
#
#
# File systems
# File systems
#
#
...
@@ -1200,6 +1162,7 @@ CONFIG_XFS_EXPORT=y
...
@@ -1200,6 +1162,7 @@ CONFIG_XFS_EXPORT=y
CONFIG_XFS_SECURITY=y
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_RT is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
CONFIG_INOTIFY=y
...
@@ -1240,6 +1203,7 @@ CONFIG_HUGETLBFS=y
...
@@ -1240,6 +1203,7 @@ CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
# CONFIG_RELAYFS_FS is not set
# CONFIG_CONFIGFS_FS is not set
#
#
# Miscellaneous filesystems
# Miscellaneous filesystems
...
@@ -1351,10 +1315,6 @@ CONFIG_CRC32=y
...
@@ -1351,10 +1315,6 @@ CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
#
#
# Instrumentation Support
# Instrumentation Support
...
@@ -1367,18 +1327,20 @@ CONFIG_OPROFILE=y
...
@@ -1367,18 +1327,20 @@ CONFIG_OPROFILE=y
# Kernel hacking
# Kernel hacking
#
#
# CONFIG_PRINTK_TIME is not set
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_BUF_SHIFT=17
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM is not set
CONFIG_FORCED_INLINING=y
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_STACK_USAGE=y
...
@@ -1387,6 +1349,11 @@ CONFIG_XMON=y
...
@@ -1387,6 +1349,11 @@ CONFIG_XMON=y
CONFIG_XMON_DEFAULT=y
CONFIG_XMON_DEFAULT=y
CONFIG_IRQSTACKS=y
CONFIG_IRQSTACKS=y
# CONFIG_BOOTX_TEXT is not set
# CONFIG_BOOTX_TEXT is not set
# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
# CONFIG_PPC_EARLY_DEBUG_G5 is not set
# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
#
#
# Security options
# Security options
...
...
arch/powerpc/kernel/crash.c
View file @
adb9c9ac
...
@@ -134,8 +134,10 @@ static void crash_kexec_prepare_cpus(void)
...
@@ -134,8 +134,10 @@ static void crash_kexec_prepare_cpus(void)
* the crash CPU will send an IPI and wait for other CPUs to
* the crash CPU will send an IPI and wait for other CPUs to
* respond. If not, proceed the kexec boot even though we failed to
* respond. If not, proceed the kexec boot even though we failed to
* capture other CPU states.
* capture other CPU states.
* Delay of at least 10 seconds.
*/
*/
msecs
=
1000000
;
printk
(
KERN_ALERT
"Sending IPI to other cpus...
\n
"
);
msecs
=
10000
;
while
((
atomic_read
(
&
waiting_for_crash_ipi
)
>
0
)
&&
(
--
msecs
>
0
))
{
while
((
atomic_read
(
&
waiting_for_crash_ipi
)
>
0
)
&&
(
--
msecs
>
0
))
{
barrier
();
barrier
();
mdelay
(
1
);
mdelay
(
1
);
...
...
arch/powerpc/kernel/head_32.S
View file @
adb9c9ac
...
@@ -714,6 +714,7 @@ AltiVecUnavailable:
...
@@ -714,6 +714,7 @@ AltiVecUnavailable:
#ifdef CONFIG_ALTIVEC
#ifdef CONFIG_ALTIVEC
bne
load_up_altivec
/*
if
from
user
,
just
load
it
up
*/
bne
load_up_altivec
/*
if
from
user
,
just
load
it
up
*/
#endif /* CONFIG_ALTIVEC */
#endif /* CONFIG_ALTIVEC */
addi
r3
,
r1
,
STACK_FRAME_OVERHEAD
EXC_XFER_EE_LITE
(0
xf20
,
altivec_unavailable_exception
)
EXC_XFER_EE_LITE
(0
xf20
,
altivec_unavailable_exception
)
PerformanceMonitor
:
PerformanceMonitor
:
...
...
arch/powerpc/kernel/head_64.S
View file @
adb9c9ac
...
@@ -139,7 +139,7 @@ _GLOBAL(__secondary_hold)
...
@@ -139,7 +139,7 @@ _GLOBAL(__secondary_hold)
ori
r24
,
r24
,
MSR_RI
ori
r24
,
r24
,
MSR_RI
mtmsrd
r24
/*
RI
on
*/
mtmsrd
r24
/*
RI
on
*/
/
*
Grab
our
linux
cpu
number
*/
/
*
Grab
our
physical
cpu
number
*/
mr
r24
,
r3
mr
r24
,
r3
/
*
Tell
the
master
cpu
we
're here */
/
*
Tell
the
master
cpu
we
're here */
...
@@ -153,11 +153,7 @@ _GLOBAL(__secondary_hold)
...
@@ -153,11 +153,7 @@ _GLOBAL(__secondary_hold)
cmpdi
0
,
r4
,
1
cmpdi
0
,
r4
,
1
bne
100
b
bne
100
b
#ifdef CONFIG_HMT
#if defined(CONFIG_SMP) || defined(CONFIG_KEXEC)
SET_REG_IMMEDIATE
(
r4
,
.
hmt_init
)
mtctr
r4
bctr
#elif defined(CONFIG_SMP) || defined(CONFIG_KEXEC)
LOAD_REG_IMMEDIATE
(
r4
,
.
pSeries_secondary_smp_init
)
LOAD_REG_IMMEDIATE
(
r4
,
.
pSeries_secondary_smp_init
)
mtctr
r4
mtctr
r4
mr
r3
,
r24
mr
r3
,
r24
...
@@ -319,7 +315,6 @@ exception_marker:
...
@@ -319,7 +315,6 @@ exception_marker:
label
##
_pSeries
:
\
label
##
_pSeries
:
\
HMT_MEDIUM
; \
HMT_MEDIUM
; \
mtspr
SPRN_SPRG1
,
r13
; /* save r13 */ \
mtspr
SPRN_SPRG1
,
r13
; /* save r13 */ \
RUNLATCH_ON
(
r13
)
; \
EXCEPTION_PROLOG_PSERIES
(
PACA_EXGEN
,
label
##
_common
)
EXCEPTION_PROLOG_PSERIES
(
PACA_EXGEN
,
label
##
_common
)
#define STD_EXCEPTION_ISERIES(n, label, area) \
#define STD_EXCEPTION_ISERIES(n, label, area) \
...
@@ -327,7 +322,6 @@ label##_pSeries: \
...
@@ -327,7 +322,6 @@ label##_pSeries: \
label
##
_iSeries
:
\
label
##
_iSeries
:
\
HMT_MEDIUM
; \
HMT_MEDIUM
; \
mtspr
SPRN_SPRG1
,
r13
; /* save r13 */ \
mtspr
SPRN_SPRG1
,
r13
; /* save r13 */ \
RUNLATCH_ON
(
r13
)
; \
EXCEPTION_PROLOG_ISERIES_1
(
area
)
; \
EXCEPTION_PROLOG_ISERIES_1
(
area
)
; \
EXCEPTION_PROLOG_ISERIES_2
; \
EXCEPTION_PROLOG_ISERIES_2
; \
b
label
##
_common
b
label
##
_common
...
@@ -337,7 +331,6 @@ label##_iSeries: \
...
@@ -337,7 +331,6 @@ label##_iSeries: \
label
##
_iSeries
:
\
label
##
_iSeries
:
\
HMT_MEDIUM
; \
HMT_MEDIUM
; \
mtspr
SPRN_SPRG1
,
r13
; /* save r13 */ \
mtspr
SPRN_SPRG1
,
r13
; /* save r13 */ \
RUNLATCH_ON
(
r13
)
; \
EXCEPTION_PROLOG_ISERIES_1
(
PACA_EXGEN
)
; \
EXCEPTION_PROLOG_ISERIES_1
(
PACA_EXGEN
)
; \
lbz
r10
,
PACAPROCENABLED
(
r13
)
; \
lbz
r10
,
PACAPROCENABLED
(
r13
)
; \
cmpwi
0
,
r10
,
0
; \
cmpwi
0
,
r10
,
0
; \
...
@@ -390,6 +383,7 @@ label##_common: \
...
@@ -390,6 +383,7 @@ label##_common: \
label
##
_common
:
\
label
##
_common
:
\
EXCEPTION_PROLOG_COMMON
(
trap
,
PACA_EXGEN
)
; \
EXCEPTION_PROLOG_COMMON
(
trap
,
PACA_EXGEN
)
; \
DISABLE_INTS
; \
DISABLE_INTS
; \
bl
.
ppc64_runlatch_on
; \
addi
r3
,
r1
,
STACK_FRAME_OVERHEAD
; \
addi
r3
,
r1
,
STACK_FRAME_OVERHEAD
; \
bl
hdlr
; \
bl
hdlr
; \
b
.
ret_from_except_lite
b
.
ret_from_except_lite
...
@@ -407,7 +401,6 @@ __start_interrupts:
...
@@ -407,7 +401,6 @@ __start_interrupts:
_machine_check_pSeries
:
_machine_check_pSeries
:
HMT_MEDIUM
HMT_MEDIUM
mtspr
SPRN_SPRG1
,
r13
/*
save
r13
*/
mtspr
SPRN_SPRG1
,
r13
/*
save
r13
*/
RUNLATCH_ON
(
r13
)
EXCEPTION_PROLOG_PSERIES
(
PACA_EXMC
,
machine_check_common
)
EXCEPTION_PROLOG_PSERIES
(
PACA_EXMC
,
machine_check_common
)
.
=
0x300
.
=
0x300
...
@@ -434,7 +427,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
...
@@ -434,7 +427,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
data_access_slb_pSeries
:
data_access_slb_pSeries
:
HMT_MEDIUM
HMT_MEDIUM
mtspr
SPRN_SPRG1
,
r13
mtspr
SPRN_SPRG1
,
r13
RUNLATCH_ON
(
r13
)
mfspr
r13
,
SPRN_SPRG3
/*
get
paca
address
into
r13
*/
mfspr
r13
,
SPRN_SPRG3
/*
get
paca
address
into
r13
*/
std
r3
,
PACA_EXSLB
+
EX_R3
(
r13
)
std
r3
,
PACA_EXSLB
+
EX_R3
(
r13
)
mfspr
r3
,
SPRN_DAR
mfspr
r3
,
SPRN_DAR
...
@@ -460,7 +452,6 @@ data_access_slb_pSeries:
...
@@ -460,7 +452,6 @@ data_access_slb_pSeries:
instruction_access_slb_pSeries
:
instruction_access_slb_pSeries
:
HMT_MEDIUM
HMT_MEDIUM
mtspr
SPRN_SPRG1
,
r13
mtspr
SPRN_SPRG1
,
r13
RUNLATCH_ON
(
r13
)
mfspr
r13
,
SPRN_SPRG3
/*
get
paca
address
into
r13
*/
mfspr
r13
,
SPRN_SPRG3
/*
get
paca
address
into
r13
*/
std
r3
,
PACA_EXSLB
+
EX_R3
(
r13
)
std
r3
,
PACA_EXSLB
+
EX_R3
(
r13
)
mfspr
r3
,
SPRN_SRR0
/*
SRR0
is
faulting
address
*/
mfspr
r3
,
SPRN_SRR0
/*
SRR0
is
faulting
address
*/
...
@@ -491,7 +482,6 @@ instruction_access_slb_pSeries:
...
@@ -491,7 +482,6 @@ instruction_access_slb_pSeries:
.
globl
system_call_pSeries
.
globl
system_call_pSeries
system_call_pSeries
:
system_call_pSeries
:
HMT_MEDIUM
HMT_MEDIUM
RUNLATCH_ON
(
r9
)
mr
r9
,
r13
mr
r9
,
r13
mfmsr
r10
mfmsr
r10
mfspr
r13
,
SPRN_SPRG3
mfspr
r13
,
SPRN_SPRG3
...
@@ -575,7 +565,6 @@ slb_miss_user_pseries:
...
@@ -575,7 +565,6 @@ slb_miss_user_pseries:
system_reset_fwnmi
:
system_reset_fwnmi
:
HMT_MEDIUM
HMT_MEDIUM
mtspr
SPRN_SPRG1
,
r13
/*
save
r13
*/
mtspr
SPRN_SPRG1
,
r13
/*
save
r13
*/
RUNLATCH_ON
(
r13
)
EXCEPTION_PROLOG_PSERIES
(
PACA_EXGEN
,
system_reset_common
)
EXCEPTION_PROLOG_PSERIES
(
PACA_EXGEN
,
system_reset_common
)
.
globl
machine_check_fwnmi
.
globl
machine_check_fwnmi
...
@@ -583,7 +572,6 @@ system_reset_fwnmi:
...
@@ -583,7 +572,6 @@ system_reset_fwnmi:
machine_check_fwnmi
:
machine_check_fwnmi
:
HMT_MEDIUM
HMT_MEDIUM
mtspr
SPRN_SPRG1
,
r13
/*
save
r13
*/
mtspr
SPRN_SPRG1
,
r13
/*
save
r13
*/
RUNLATCH_ON
(
r13
)
EXCEPTION_PROLOG_PSERIES
(
PACA_EXMC
,
machine_check_common
)
EXCEPTION_PROLOG_PSERIES
(
PACA_EXMC
,
machine_check_common
)
#ifdef CONFIG_PPC_ISERIES
#ifdef CONFIG_PPC_ISERIES
...
@@ -894,7 +882,6 @@ unrecov_fer:
...
@@ -894,7 +882,6 @@ unrecov_fer:
.
align
7
.
align
7
.
globl
data_access_common
.
globl
data_access_common
data_access_common
:
data_access_common
:
RUNLATCH_ON
(
r10
)
/*
It
wont
fit
in
the
0x300
handler
*/
mfspr
r10
,
SPRN_DAR
mfspr
r10
,
SPRN_DAR
std
r10
,
PACA_EXGEN
+
EX_DAR
(
r13
)
std
r10
,
PACA_EXGEN
+
EX_DAR
(
r13
)
mfspr
r10
,
SPRN_DSISR
mfspr
r10
,
SPRN_DSISR
...
@@ -1042,6 +1029,7 @@ hardware_interrupt_common:
...
@@ -1042,6 +1029,7 @@ hardware_interrupt_common:
EXCEPTION_PROLOG_COMMON
(0
x500
,
PACA_EXGEN
)
EXCEPTION_PROLOG_COMMON
(0
x500
,
PACA_EXGEN
)
hardware_interrupt_entry
:
hardware_interrupt_entry
:
DISABLE_INTS
DISABLE_INTS
bl
.
ppc64_runlatch_on
addi
r3
,
r1
,
STACK_FRAME_OVERHEAD
addi
r3
,
r1
,
STACK_FRAME_OVERHEAD
bl
.
do_IRQ
bl
.
do_IRQ
b
.
ret_from_except_lite
b
.
ret_from_except_lite
...
@@ -1816,22 +1804,6 @@ _STATIC(start_here_multiplatform)
...
@@ -1816,22 +1804,6 @@ _STATIC(start_here_multiplatform)
ori
r6
,
r6
,
MSR_RI
ori
r6
,
r6
,
MSR_RI
mtmsrd
r6
/*
RI
on
*/
mtmsrd
r6
/*
RI
on
*/
#ifdef CONFIG_HMT
/
*
Start
up
the
second
thread
on
cpu
0
*/
mfspr
r3
,
SPRN_PVR
srwi
r3
,
r3
,
16
cmpwi
r3
,
0x34
/*
Pulsar
*/
beq
90
f
cmpwi
r3
,
0x36
/*
Icestar
*/
beq
90
f
cmpwi
r3
,
0x37
/*
SStar
*/
beq
90
f
b
91
f
/*
HMT
not
supported
*/
90
:
li
r3
,
0
bl
.
hmt_start_secondary
91
:
#endif
/
*
The
following
gets
the
stack
and
TOC
set
up
with
the
regs
*/
/
*
The
following
gets
the
stack
and
TOC
set
up
with
the
regs
*/
/
*
pointing
to
the
real
addr
of
the
kernel
stack
.
This
is
*/
/
*
pointing
to
the
real
addr
of
the
kernel
stack
.
This
is
*/
/
*
all
done
to
support
the
C
function
call
below
which
sets
*/
/
*
all
done
to
support
the
C
function
call
below
which
sets
*/
...
@@ -1945,77 +1917,8 @@ _STATIC(start_here_common)
...
@@ -1945,77 +1917,8 @@ _STATIC(start_here_common)
bl
.
start_kernel
bl
.
start_kernel
_GLOBAL
(
hmt_init
)
/
*
Not
reached
*/
#ifdef CONFIG_HMT
BUG_OPCODE
LOAD_REG_IMMEDIATE
(
r5
,
hmt_thread_data
)
mfspr
r7
,
SPRN_PVR
srwi
r7
,
r7
,
16
cmpwi
r7
,
0x34
/*
Pulsar
*/
beq
90
f
cmpwi
r7
,
0x36
/*
Icestar
*/
beq
91
f
cmpwi
r7
,
0x37
/*
SStar
*/
beq
91
f
b
101
f
90
:
mfspr
r6
,
SPRN_PIR
andi
.
r6
,
r6
,
0x1f
b
92
f
91
:
mfspr
r6
,
SPRN_PIR
andi
.
r6
,
r6
,
0x3ff
92
:
sldi
r4
,
r24
,
3
stwx
r6
,
r5
,
r4
bl
.
hmt_start_secondary
b
101
f
__hmt_secondary_hold
:
LOAD_REG_IMMEDIATE
(
r5
,
hmt_thread_data
)
clrldi
r5
,
r5
,
4
li
r7
,
0
mfspr
r6
,
SPRN_PIR
mfspr
r8
,
SPRN_PVR
srwi
r8
,
r8
,
16
cmpwi
r8
,
0x34
bne
93
f
andi
.
r6
,
r6
,
0x1f
b
103
f
93
:
andi
.
r6
,
r6
,
0x3f
103
:
lwzx
r8
,
r5
,
r7
cmpw
r8
,
r6
beq
104
f
addi
r7
,
r7
,
8
b
103
b
104
:
addi
r7
,
r7
,
4
lwzx
r9
,
r5
,
r7
mr
r24
,
r9
101
:
#endif
mr
r3
,
r24
b
.
pSeries_secondary_smp_init
#ifdef CONFIG_HMT
_GLOBAL
(
hmt_start_secondary
)
LOAD_REG_IMMEDIATE
(
r4
,
__hmt_secondary_hold
)
clrldi
r4
,
r4
,
4
mtspr
SPRN_NIADORM
,
r4
mfspr
r4
,
SPRN_MSRDORM
li
r5
,
-
65
and
r4
,
r4
,
r5
mtspr
SPRN_MSRDORM
,
r4
lis
r4
,
0xffef
ori
r4
,
r4
,
0x7403
mtspr
SPRN_TSC
,
r4
li
r4
,
0x1f4
mtspr
SPRN_TST
,
r4
mfspr
r4
,
SPRN_HID0
ori
r4
,
r4
,
0x1
mtspr
SPRN_HID0
,
r4
mfspr
r4
,
SPRN_CTRLF
oris
r4
,
r4
,
0x40
mtspr
SPRN_CTRLT
,
r4
blr
#endif
/*
/*
*
We
put
a
few
things
here
that
have
to
be
page
-
aligned
.
*
We
put
a
few
things
here
that
have
to
be
page
-
aligned
.
...
...
arch/powerpc/kernel/machine_kexec_64.c
View file @
adb9c9ac
...
@@ -26,8 +26,6 @@
...
@@ -26,8 +26,6 @@
#include <asm/prom.h>
#include <asm/prom.h>
#include <asm/smp.h>
#include <asm/smp.h>
#define HASH_GROUP_SIZE 0x80
/* size of each hash group, asm/mmu.h */
int
default_machine_kexec_prepare
(
struct
kimage
*
image
)
int
default_machine_kexec_prepare
(
struct
kimage
*
image
)
{
{
int
i
;
int
i
;
...
@@ -61,7 +59,7 @@ int default_machine_kexec_prepare(struct kimage *image)
...
@@ -61,7 +59,7 @@ int default_machine_kexec_prepare(struct kimage *image)
*/
*/
if
(
htab_address
)
{
if
(
htab_address
)
{
low
=
__pa
(
htab_address
);
low
=
__pa
(
htab_address
);
high
=
low
+
(
htab_hash_mask
+
1
)
*
HASH_GROUP_SIZE
;
high
=
low
+
htab_size_bytes
;
for
(
i
=
0
;
i
<
image
->
nr_segments
;
i
++
)
{
for
(
i
=
0
;
i
<
image
->
nr_segments
;
i
++
)
{
begin
=
image
->
segment
[
i
].
mem
;
begin
=
image
->
segment
[
i
].
mem
;
...
@@ -294,7 +292,7 @@ void default_machine_kexec(struct kimage *image)
...
@@ -294,7 +292,7 @@ void default_machine_kexec(struct kimage *image)
}
}
/* Values we need to export to the second kernel via the device tree. */
/* Values we need to export to the second kernel via the device tree. */
static
unsigned
long
htab_base
,
htab_size
,
kernel_end
;
static
unsigned
long
htab_base
,
kernel_end
;
static
struct
property
htab_base_prop
=
{
static
struct
property
htab_base_prop
=
{
.
name
=
"linux,htab-base"
,
.
name
=
"linux,htab-base"
,
...
@@ -305,7 +303,7 @@ static struct property htab_base_prop = {
...
@@ -305,7 +303,7 @@ static struct property htab_base_prop = {
static
struct
property
htab_size_prop
=
{
static
struct
property
htab_size_prop
=
{
.
name
=
"linux,htab-size"
,
.
name
=
"linux,htab-size"
,
.
length
=
sizeof
(
unsigned
long
),
.
length
=
sizeof
(
unsigned
long
),
.
value
=
(
unsigned
char
*
)
&
htab_size
,
.
value
=
(
unsigned
char
*
)
&
htab_size
_bytes
,
};
};
static
struct
property
kernel_end_prop
=
{
static
struct
property
kernel_end_prop
=
{
...
@@ -331,8 +329,6 @@ static void __init export_htab_values(void)
...
@@ -331,8 +329,6 @@ static void __init export_htab_values(void)
htab_base
=
__pa
(
htab_address
);
htab_base
=
__pa
(
htab_address
);
prom_add_property
(
node
,
&
htab_base_prop
);
prom_add_property
(
node
,
&
htab_base_prop
);
htab_size
=
1UL
<<
ppc64_pft_size
;
prom_add_property
(
node
,
&
htab_size_prop
);
prom_add_property
(
node
,
&
htab_size_prop
);
out:
out:
...
...
arch/powerpc/kernel/process.c
View file @
adb9c9ac
...
@@ -888,3 +888,35 @@ void dump_stack(void)
...
@@ -888,3 +888,35 @@ void dump_stack(void)
show_stack
(
current
,
NULL
);
show_stack
(
current
,
NULL
);
}
}
EXPORT_SYMBOL
(
dump_stack
);
EXPORT_SYMBOL
(
dump_stack
);
#ifdef CONFIG_PPC64
void
ppc64_runlatch_on
(
void
)
{
unsigned
long
ctrl
;
if
(
cpu_has_feature
(
CPU_FTR_CTRL
)
&&
!
test_thread_flag
(
TIF_RUNLATCH
))
{
HMT_medium
();
ctrl
=
mfspr
(
SPRN_CTRLF
);
ctrl
|=
CTRL_RUNLATCH
;
mtspr
(
SPRN_CTRLT
,
ctrl
);
set_thread_flag
(
TIF_RUNLATCH
);
}
}
void
ppc64_runlatch_off
(
void
)
{
unsigned
long
ctrl
;
if
(
cpu_has_feature
(
CPU_FTR_CTRL
)
&&
test_thread_flag
(
TIF_RUNLATCH
))
{
HMT_medium
();
clear_thread_flag
(
TIF_RUNLATCH
);
ctrl
=
mfspr
(
SPRN_CTRLF
);
ctrl
&=
~
CTRL_RUNLATCH
;
mtspr
(
SPRN_CTRLT
,
ctrl
);
}
}
#endif
arch/powerpc/kernel/prom_init.c
View file @
adb9c9ac
...
@@ -205,14 +205,6 @@ static cell_t __initdata regbuf[1024];
...
@@ -205,14 +205,6 @@ static cell_t __initdata regbuf[1024];
#define MAX_CPU_THREADS 2
#define MAX_CPU_THREADS 2
/* TO GO */
#ifdef CONFIG_HMT
struct
{
unsigned
int
pir
;
unsigned
int
threadid
;
}
hmt_thread_data
[
NR_CPUS
];
#endif
/* CONFIG_HMT */
/*
/*
* Error results ... some OF calls will return "-1" on error, some
* Error results ... some OF calls will return "-1" on error, some
* will return 0, some will return either. To simplify, here are
* will return 0, some will return either. To simplify, here are
...
@@ -1319,10 +1311,6 @@ static void __init prom_hold_cpus(void)
...
@@ -1319,10 +1311,6 @@ static void __init prom_hold_cpus(void)
*/
*/
*
spinloop
=
0
;
*
spinloop
=
0
;
#ifdef CONFIG_HMT
for
(
i
=
0
;
i
<
NR_CPUS
;
i
++
)
RELOC
(
hmt_thread_data
)[
i
].
pir
=
0xdeadbeef
;
#endif
/* look for cpus */
/* look for cpus */
for
(
node
=
0
;
prom_next_node
(
&
node
);
)
{
for
(
node
=
0
;
prom_next_node
(
&
node
);
)
{
type
[
0
]
=
0
;
type
[
0
]
=
0
;
...
@@ -1389,32 +1377,6 @@ static void __init prom_hold_cpus(void)
...
@@ -1389,32 +1377,6 @@ static void __init prom_hold_cpus(void)
/* Reserve cpu #s for secondary threads. They start later. */
/* Reserve cpu #s for secondary threads. They start later. */
cpuid
+=
cpu_threads
;
cpuid
+=
cpu_threads
;
}
}
#ifdef CONFIG_HMT
/* Only enable HMT on processors that provide support. */
if
(
__is_processor
(
PV_PULSAR
)
||
__is_processor
(
PV_ICESTAR
)
||
__is_processor
(
PV_SSTAR
))
{
prom_printf
(
" starting secondary threads
\n
"
);
for
(
i
=
0
;
i
<
NR_CPUS
;
i
+=
2
)
{
if
(
!
cpu_online
(
i
))
continue
;
if
(
i
==
0
)
{
unsigned
long
pir
=
mfspr
(
SPRN_PIR
);
if
(
__is_processor
(
PV_PULSAR
))
{
RELOC
(
hmt_thread_data
)[
i
].
pir
=
pir
&
0x1f
;
}
else
{
RELOC
(
hmt_thread_data
)[
i
].
pir
=
pir
&
0x3ff
;
}
}
}
}
else
{
prom_printf
(
"Processor is not HMT capable
\n
"
);
}
#endif
if
(
cpuid
>
NR_CPUS
)
if
(
cpuid
>
NR_CPUS
)
prom_printf
(
"WARNING: maximum CPUs ("
__stringify
(
NR_CPUS
)
prom_printf
(
"WARNING: maximum CPUs ("
__stringify
(
NR_CPUS
)
...
...
arch/powerpc/mm/hash_native_64.c
View file @
adb9c9ac
...
@@ -403,12 +403,17 @@ static void native_hpte_clear(void)
...
@@ -403,12 +403,17 @@ static void native_hpte_clear(void)
*/
*/
hpte_v
=
hptep
->
v
;
hpte_v
=
hptep
->
v
;
/*
* Call __tlbie() here rather than tlbie() since we
* already hold the native_tlbie_lock.
*/
if
(
hpte_v
&
HPTE_V_VALID
)
{
if
(
hpte_v
&
HPTE_V_VALID
)
{
hptep
->
v
=
0
;
hptep
->
v
=
0
;
tlbie
(
slot2va
(
hpte_v
,
slot
),
MMU_PAGE_4K
,
0
);
__tlbie
(
slot2va
(
hpte_v
,
slot
),
MMU_PAGE_4K
);
}
}
}
}
asm
volatile
(
"eieio; tlbsync; ptesync"
:::
"memory"
);
spin_unlock
(
&
native_tlbie_lock
);
spin_unlock
(
&
native_tlbie_lock
);
local_irq_restore
(
flags
);
local_irq_restore
(
flags
);
}
}
...
...
arch/powerpc/mm/hash_utils_64.c
View file @
adb9c9ac
...
@@ -88,6 +88,7 @@ static unsigned long _SDR1;
...
@@ -88,6 +88,7 @@ static unsigned long _SDR1;
struct
mmu_psize_def
mmu_psize_defs
[
MMU_PAGE_COUNT
];
struct
mmu_psize_def
mmu_psize_defs
[
MMU_PAGE_COUNT
];
hpte_t
*
htab_address
;
hpte_t
*
htab_address
;
unsigned
long
htab_size_bytes
;
unsigned
long
htab_hash_mask
;
unsigned
long
htab_hash_mask
;
int
mmu_linear_psize
=
MMU_PAGE_4K
;
int
mmu_linear_psize
=
MMU_PAGE_4K
;
int
mmu_virtual_psize
=
MMU_PAGE_4K
;
int
mmu_virtual_psize
=
MMU_PAGE_4K
;
...
@@ -399,7 +400,7 @@ void create_section_mapping(unsigned long start, unsigned long end)
...
@@ -399,7 +400,7 @@ void create_section_mapping(unsigned long start, unsigned long end)
void
__init
htab_initialize
(
void
)
void
__init
htab_initialize
(
void
)
{
{
unsigned
long
table
,
htab_size_bytes
;
unsigned
long
table
;
unsigned
long
pteg_count
;
unsigned
long
pteg_count
;
unsigned
long
mode_rw
;
unsigned
long
mode_rw
;
unsigned
long
base
=
0
,
size
=
0
;
unsigned
long
base
=
0
,
size
=
0
;
...
...
arch/powerpc/oprofile/Kconfig
View file @
adb9c9ac
config PROFILING
config PROFILING
depends on !PPC_ISERIES
bool "Profiling support (EXPERIMENTAL)"
bool "Profiling support (EXPERIMENTAL)"
help
help
Say Y here to enable the extended profiling support mechanisms used
Say Y here to enable the extended profiling support mechanisms used
...
...
arch/powerpc/platforms/iseries/lpevents.c
View file @
adb9c9ac
...
@@ -184,6 +184,8 @@ void setup_hvlpevent_queue(void)
...
@@ -184,6 +184,8 @@ void setup_hvlpevent_queue(void)
{
{
void
*
eventStack
;
void
*
eventStack
;
spin_lock_init
(
&
hvlpevent_queue
.
lock
);
/* Allocate a page for the Event Stack. */
/* Allocate a page for the Event Stack. */
eventStack
=
alloc_bootmem_pages
(
LpEventStackSize
);
eventStack
=
alloc_bootmem_pages
(
LpEventStackSize
);
memset
(
eventStack
,
0
,
LpEventStackSize
);
memset
(
eventStack
,
0
,
LpEventStackSize
);
...
...
arch/powerpc/platforms/iseries/setup.c
View file @
adb9c9ac
...
@@ -648,6 +648,7 @@ static void yield_shared_processor(void)
...
@@ -648,6 +648,7 @@ static void yield_shared_processor(void)
* here and let the timer_interrupt code sort out the actual time.
* here and let the timer_interrupt code sort out the actual time.
*/
*/
get_lppaca
()
->
int_dword
.
fields
.
decr_int
=
1
;
get_lppaca
()
->
int_dword
.
fields
.
decr_int
=
1
;
ppc64_runlatch_on
();
process_iSeries_events
();
process_iSeries_events
();
}
}
...
...
arch/powerpc/platforms/maple/pci.c
View file @
adb9c9ac
...
@@ -435,8 +435,8 @@ void __init maple_pci_init(void)
...
@@ -435,8 +435,8 @@ void __init maple_pci_init(void)
PCI_DN
(
np
)
->
busno
=
0xf0
;
PCI_DN
(
np
)
->
busno
=
0xf0
;
}
}
/* Tell pci.c to
use the common resource allocation mecanism
*/
/* Tell pci.c to
not change any resource allocations.
*/
pci_probe_only
=
0
;
pci_probe_only
=
1
;
/* Allow all IO */
/* Allow all IO */
io_page_mask
=
-
1
;
io_page_mask
=
-
1
;
...
...
arch/powerpc/platforms/pseries/Kconfig
View file @
adb9c9ac
...
@@ -9,13 +9,6 @@ config PPC_SPLPAR
...
@@ -9,13 +9,6 @@ config PPC_SPLPAR
processors, that is, which share physical processors between
processors, that is, which share physical processors between
two or more partitions.
two or more partitions.
config HMT
bool "Hardware multithreading"
depends on SMP && PPC_PSERIES && BROKEN
help
This option enables hardware multithreading on RS64 cpus.
pSeries systems p620 and p660 have such a cpu type.
config EEH
config EEH
bool "PCI Extended Error Handling (EEH)" if EMBEDDED
bool "PCI Extended Error Handling (EEH)" if EMBEDDED
depends on PPC_PSERIES
depends on PPC_PSERIES
...
...
arch/powerpc/sysdev/mpic.c
View file @
adb9c9ac
...
@@ -234,7 +234,7 @@ static void mpic_shutdown_ht_interrupt(struct mpic *mpic, unsigned int source,
...
@@ -234,7 +234,7 @@ static void mpic_shutdown_ht_interrupt(struct mpic *mpic, unsigned int source,
spin_lock_irqsave
(
&
mpic
->
fixup_lock
,
flags
);
spin_lock_irqsave
(
&
mpic
->
fixup_lock
,
flags
);
writeb
(
0x10
+
2
*
fixup
->
index
,
fixup
->
base
+
2
);
writeb
(
0x10
+
2
*
fixup
->
index
,
fixup
->
base
+
2
);
tmp
=
readl
(
fixup
->
base
+
4
);
tmp
=
readl
(
fixup
->
base
+
4
);
tmp
&=
~
1U
;
tmp
|=
1
;
writel
(
tmp
,
fixup
->
base
+
4
);
writel
(
tmp
,
fixup
->
base
+
4
);
spin_unlock_irqrestore
(
&
mpic
->
fixup_lock
,
flags
);
spin_unlock_irqrestore
(
&
mpic
->
fixup_lock
,
flags
);
}
}
...
@@ -446,14 +446,15 @@ static unsigned int mpic_startup_irq(unsigned int irq)
...
@@ -446,14 +446,15 @@ static unsigned int mpic_startup_irq(unsigned int irq)
#ifdef CONFIG_MPIC_BROKEN_U3
#ifdef CONFIG_MPIC_BROKEN_U3
struct
mpic
*
mpic
=
mpic_from_irq
(
irq
);
struct
mpic
*
mpic
=
mpic_from_irq
(
irq
);
unsigned
int
src
=
irq
-
mpic
->
irq_offset
;
unsigned
int
src
=
irq
-
mpic
->
irq_offset
;
#endif
/* CONFIG_MPIC_BROKEN_U3 */
mpic_enable_irq
(
irq
);
#ifdef CONFIG_MPIC_BROKEN_U3
if
(
mpic_is_ht_interrupt
(
mpic
,
src
))
if
(
mpic_is_ht_interrupt
(
mpic
,
src
))
mpic_startup_ht_interrupt
(
mpic
,
src
,
irq_desc
[
irq
].
status
);
mpic_startup_ht_interrupt
(
mpic
,
src
,
irq_desc
[
irq
].
status
);
#endif
/* CONFIG_MPIC_BROKEN_U3 */
#endif
/* CONFIG_MPIC_BROKEN_U3 */
mpic_enable_irq
(
irq
);
return
0
;
return
0
;
}
}
...
...
arch/ppc/kernel/head.S
View file @
adb9c9ac
...
@@ -751,6 +751,7 @@ AltiVecUnavailable:
...
@@ -751,6 +751,7 @@ AltiVecUnavailable:
#ifdef CONFIG_ALTIVEC
#ifdef CONFIG_ALTIVEC
bne
load_up_altivec
/*
if
from
user
,
just
load
it
up
*/
bne
load_up_altivec
/*
if
from
user
,
just
load
it
up
*/
#endif /* CONFIG_ALTIVEC */
#endif /* CONFIG_ALTIVEC */
addi
r3
,
r1
,
STACK_FRAME_OVERHEAD
EXC_XFER_EE_LITE
(0
xf20
,
altivec_unavailable_exception
)
EXC_XFER_EE_LITE
(0
xf20
,
altivec_unavailable_exception
)
#ifdef CONFIG_PPC64BRIDGE
#ifdef CONFIG_PPC64BRIDGE
...
...
arch/ppc/xmon/adb.c
deleted
100644 → 0
View file @
a80614d1
/*
* Copyright (C) 1996 Paul Mackerras.
*/
#include "nonstdio.h"
#include "privinst.h"
#define scanhex xmon_scanhex
#define skipbl xmon_skipbl
#define ADB_B (*(volatile unsigned char *)0xf3016000)
#define ADB_SR (*(volatile unsigned char *)0xf3017400)
#define ADB_ACR (*(volatile unsigned char *)0xf3017600)
#define ADB_IFR (*(volatile unsigned char *)0xf3017a00)
static
inline
void
eieio
(
void
)
{
asm
volatile
(
"eieio"
:
:
);
}
#define N_ADB_LOG 1000
struct
adb_log
{
unsigned
char
b
;
unsigned
char
ifr
;
unsigned
char
acr
;
unsigned
int
time
;
}
adb_log
[
N_ADB_LOG
];
int
n_adb_log
;
void
init_adb_log
(
void
)
{
adb_log
[
0
].
b
=
ADB_B
;
adb_log
[
0
].
ifr
=
ADB_IFR
;
adb_log
[
0
].
acr
=
ADB_ACR
;
adb_log
[
0
].
time
=
get_dec
();
n_adb_log
=
0
;
}
void
dump_adb_log
(
void
)
{
unsigned
t
,
t0
;
struct
adb_log
*
ap
;
int
i
;
ap
=
adb_log
;
t0
=
ap
->
time
;
for
(
i
=
0
;
i
<=
n_adb_log
;
++
i
,
++
ap
)
{
t
=
t0
-
ap
->
time
;
printf
(
"b=%x ifr=%x acr=%x at %d.%.7d
\n
"
,
ap
->
b
,
ap
->
ifr
,
ap
->
acr
,
t
/
1000000000
,
(
t
%
1000000000
)
/
100
);
}
}
void
adb_chklog
(
void
)
{
struct
adb_log
*
ap
=
&
adb_log
[
n_adb_log
+
1
];
ap
->
b
=
ADB_B
;
ap
->
ifr
=
ADB_IFR
;
ap
->
acr
=
ADB_ACR
;
if
(
ap
->
b
!=
ap
[
-
1
].
b
||
(
ap
->
ifr
&
4
)
!=
(
ap
[
-
1
].
ifr
&
4
)
||
ap
->
acr
!=
ap
[
-
1
].
acr
)
{
ap
->
time
=
get_dec
();
++
n_adb_log
;
}
}
int
adb_bitwait
(
int
bmask
,
int
bval
,
int
fmask
,
int
fval
)
{
int
i
;
struct
adb_log
*
ap
;
for
(
i
=
10000
;
i
>
0
;
--
i
)
{
adb_chklog
();
ap
=
&
adb_log
[
n_adb_log
];
if
((
ap
->
b
&
bmask
)
==
bval
&&
(
ap
->
ifr
&
fmask
)
==
fval
)
return
0
;
}
return
-
1
;
}
int
adb_wait
(
void
)
{
if
(
adb_bitwait
(
0
,
0
,
4
,
4
)
<
0
)
{
printf
(
"adb: ready wait timeout
\n
"
);
return
-
1
;
}
return
0
;
}
void
adb_readin
(
void
)
{
int
i
,
j
;
unsigned
char
d
[
64
];
if
(
ADB_B
&
8
)
{
printf
(
"ADB_B: %x
\n
"
,
ADB_B
);
return
;
}
i
=
0
;
adb_wait
();
j
=
ADB_SR
;
eieio
();
ADB_B
&=
~
0x20
;
eieio
();
for
(;;)
{
if
(
adb_wait
()
<
0
)
break
;
d
[
i
++
]
=
ADB_SR
;
eieio
();
if
(
ADB_B
&
8
)
break
;
ADB_B
^=
0x10
;
eieio
();
}
ADB_B
|=
0x30
;
if
(
adb_wait
()
==
0
)
j
=
ADB_SR
;
for
(
j
=
0
;
j
<
i
;
++
j
)
printf
(
"%.2x "
,
d
[
j
]);
printf
(
"
\n
"
);
}
int
adb_write
(
unsigned
char
*
d
,
int
i
)
{
int
j
;
unsigned
x
;
if
((
ADB_B
&
8
)
==
0
)
{
printf
(
"r: "
);
adb_readin
();
}
for
(;;)
{
ADB_ACR
=
0x1c
;
eieio
();
ADB_SR
=
d
[
0
];
eieio
();
ADB_B
&=
~
0x20
;
eieio
();
if
(
ADB_B
&
8
)
break
;
ADB_ACR
=
0xc
;
eieio
();
ADB_B
|=
0x20
;
eieio
();
adb_readin
();
}
adb_wait
();
for
(
j
=
1
;
j
<
i
;
++
j
)
{
ADB_SR
=
d
[
j
];
eieio
();
ADB_B
^=
0x10
;
eieio
();
if
(
adb_wait
()
<
0
)
break
;
}
ADB_ACR
=
0xc
;
eieio
();
x
=
ADB_SR
;
eieio
();
ADB_B
|=
0x30
;
return
j
;
}
void
adbcmds
(
void
)
{
char
cmd
;
unsigned
rtcu
,
rtcl
,
dec
,
pdec
,
x
;
int
i
,
j
;
unsigned
char
d
[
64
];
cmd
=
skipbl
();
switch
(
cmd
)
{
case
't'
:
for
(;;)
{
rtcl
=
get_rtcl
();
rtcu
=
get_rtcu
();
dec
=
get_dec
();
printf
(
"rtc u=%u l=%u dec=%x (%d = %d.%.7d)
\n
"
,
rtcu
,
rtcl
,
dec
,
pdec
-
dec
,
(
pdec
-
dec
)
/
1000000000
,
((
pdec
-
dec
)
%
1000000000
)
/
100
);
pdec
=
dec
;
if
(
cmd
==
'x'
)
break
;
while
(
xmon_read
(
stdin
,
&
cmd
,
1
)
!=
1
)
;
}
break
;
case
'r'
:
init_adb_log
();
while
(
adb_bitwait
(
8
,
0
,
0
,
0
)
==
0
)
adb_readin
();
break
;
case
'w'
:
i
=
0
;
while
(
scanhex
(
&
x
))
d
[
i
++
]
=
x
;
init_adb_log
();
j
=
adb_write
(
d
,
i
);
printf
(
"sent %d bytes
\n
"
,
j
);
while
(
adb_bitwait
(
8
,
0
,
0
,
0
)
==
0
)
adb_readin
();
break
;
case
'l'
:
dump_adb_log
();
break
;
}
}
arch/ppc/xmon/start.c
View file @
adb9c9ac
...
@@ -6,16 +6,11 @@
...
@@ -6,16 +6,11 @@
#include <asm/machdep.h>
#include <asm/machdep.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/page.h>
#include <asm/page.h>
#include <linux/adb.h>
#include <linux/pmu.h>
#include <linux/cuda.h>
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/errno.h>
#include <linux/sysrq.h>
#include <linux/sysrq.h>
#include <linux/bitops.h>
#include <linux/bitops.h>
#include <asm/xmon.h>
#include <asm/xmon.h>
#include <asm/prom.h>
#include <asm/bootx.h>
#include <asm/machdep.h>
#include <asm/machdep.h>
#include <asm/errno.h>
#include <asm/errno.h>
#include <asm/processor.h>
#include <asm/processor.h>
...
@@ -26,9 +21,7 @@ static volatile unsigned char *sccc, *sccd;
...
@@ -26,9 +21,7 @@ static volatile unsigned char *sccc, *sccd;
unsigned
int
TXRDY
,
RXRDY
,
DLAB
;
unsigned
int
TXRDY
,
RXRDY
,
DLAB
;
static
int
xmon_expect
(
const
char
*
str
,
unsigned
int
timeout
);
static
int
xmon_expect
(
const
char
*
str
,
unsigned
int
timeout
);
static
int
use_screen
;
static
int
via_modem
;
static
int
via_modem
;
static
int
xmon_use_sccb
;
#define TB_SPEED 25000000
#define TB_SPEED 25000000
...
@@ -46,47 +39,6 @@ void buf_access(void)
...
@@ -46,47 +39,6 @@ void buf_access(void)
sccd
[
3
]
&=
~
DLAB
;
/* reset DLAB */
sccd
[
3
]
&=
~
DLAB
;
/* reset DLAB */
}
}
extern
int
adb_init
(
void
);
#ifdef CONFIG_PPC_CHRP
/*
* This looks in the "ranges" property for the primary PCI host bridge
* to find the physical address of the start of PCI/ISA I/O space.
* It is basically a cut-down version of pci_process_bridge_OF_ranges.
*/
static
unsigned
long
chrp_find_phys_io_base
(
void
)
{
struct
device_node
*
node
;
unsigned
int
*
ranges
;
unsigned
long
base
=
CHRP_ISA_IO_BASE
;
int
rlen
=
0
;
int
np
;
node
=
find_devices
(
"isa"
);
if
(
node
!=
NULL
)
{
node
=
node
->
parent
;
if
(
node
==
NULL
||
node
->
type
==
NULL
||
strcmp
(
node
->
type
,
"pci"
)
!=
0
)
node
=
NULL
;
}
if
(
node
==
NULL
)
node
=
find_devices
(
"pci"
);
if
(
node
==
NULL
)
return
base
;
ranges
=
(
unsigned
int
*
)
get_property
(
node
,
"ranges"
,
&
rlen
);
np
=
prom_n_addr_cells
(
node
)
+
5
;
while
((
rlen
-=
np
*
sizeof
(
unsigned
int
))
>=
0
)
{
if
((
ranges
[
0
]
>>
24
)
==
1
&&
ranges
[
2
]
==
0
)
{
/* I/O space starting at 0, grab the phys base */
base
=
ranges
[
np
-
3
];
break
;
}
ranges
+=
np
;
}
return
base
;
}
#endif
/* CONFIG_PPC_CHRP */
#ifdef CONFIG_MAGIC_SYSRQ
#ifdef CONFIG_MAGIC_SYSRQ
static
void
sysrq_handle_xmon
(
int
key
,
struct
pt_regs
*
regs
,
static
void
sysrq_handle_xmon
(
int
key
,
struct
pt_regs
*
regs
,
...
@@ -109,22 +61,6 @@ xmon_map_scc(void)
...
@@ -109,22 +61,6 @@ xmon_map_scc(void)
#ifdef CONFIG_PPC_MULTIPLATFORM
#ifdef CONFIG_PPC_MULTIPLATFORM
volatile
unsigned
char
*
base
;
volatile
unsigned
char
*
base
;
#ifdef CONFIG_PPC_CHRP
base
=
(
volatile
unsigned
char
*
)
isa_io_base
;
if
(
_machine
==
_MACH_chrp
)
base
=
(
volatile
unsigned
char
*
)
ioremap
(
chrp_find_phys_io_base
(),
0x1000
);
sccc
=
base
+
0x3fd
;
sccd
=
base
+
0x3f8
;
if
(
xmon_use_sccb
)
{
sccc
-=
0x100
;
sccd
-=
0x100
;
}
TXRDY
=
0x20
;
RXRDY
=
1
;
DLAB
=
0x80
;
#endif
/* CONFIG_PPC_CHRP */
#elif defined(CONFIG_GEMINI)
#elif defined(CONFIG_GEMINI)
/* should already be mapped by the kernel boot */
/* should already be mapped by the kernel boot */
sccc
=
(
volatile
unsigned
char
*
)
0xffeffb0d
;
sccc
=
(
volatile
unsigned
char
*
)
0xffeffb0d
;
...
@@ -143,7 +79,7 @@ xmon_map_scc(void)
...
@@ -143,7 +79,7 @@ xmon_map_scc(void)
register_sysrq_key
(
'x'
,
&
sysrq_xmon_op
);
register_sysrq_key
(
'x'
,
&
sysrq_xmon_op
);
}
}
static
int
scc_initialized
=
0
;
static
int
scc_initialized
;
void
xmon_init_scc
(
void
);
void
xmon_init_scc
(
void
);
...
@@ -163,14 +99,6 @@ xmon_write(void *handle, void *ptr, int nb)
...
@@ -163,14 +99,6 @@ xmon_write(void *handle, void *ptr, int nb)
break
;
break
;
#endif
#endif
#ifdef CONFIG_BOOTX_TEXT
if
(
use_screen
)
{
/* write it on the screen */
for
(
i
=
0
;
i
<
nb
;
++
i
)
btext_drawchar
(
*
p
++
);
goto
out
;
}
#endif
if
(
!
scc_initialized
)
if
(
!
scc_initialized
)
xmon_init_scc
();
xmon_init_scc
();
ct
=
0
;
ct
=
0
;
...
@@ -190,7 +118,6 @@ xmon_write(void *handle, void *ptr, int nb)
...
@@ -190,7 +118,6 @@ xmon_write(void *handle, void *ptr, int nb)
eieio
();
eieio
();
}
}
out:
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
if
(
!
locked
)
if
(
!
locked
)
clear_bit
(
0
,
&
xmon_write_lock
);
clear_bit
(
0
,
&
xmon_write_lock
);
...
@@ -199,65 +126,7 @@ xmon_write(void *handle, void *ptr, int nb)
...
@@ -199,65 +126,7 @@ xmon_write(void *handle, void *ptr, int nb)
}
}
int
xmon_wants_key
;
int
xmon_wants_key
;
int
xmon_adb_keycode
;
#ifdef CONFIG_BOOTX_TEXT
static
int
xmon_adb_shiftstate
;
static
unsigned
char
xmon_keytab
[
128
]
=
"asdfhgzxcv
\000
bqwer"
/* 0x00 - 0x0f */
"yt123465=97-80]o"
/* 0x10 - 0x1f */
"u[ip
\r
lj'k;
\\
,/nm."
/* 0x20 - 0x2f */
"
\t
`
\177\0\033\0\0\0\0\0\0\0\0\0\0
"
/* 0x30 - 0x3f */
"
\0
.
\0
*
\0
+
\0\0\0\0\0
/
\r\0
-
\0
"
/* 0x40 - 0x4f */
"
\0\000
0123456789
\0\0\0
"
;
/* 0x50 - 0x5f */
static
unsigned
char
xmon_shift_keytab
[
128
]
=
"ASDFHGZXCV
\000
BQWER"
/* 0x00 - 0x0f */
"YT!@#$^%+(&_*)}O"
/* 0x10 - 0x1f */
"U{IP
\r
LJ
\"
K:|<?NM>"
/* 0x20 - 0x2f */
"
\t
~
\177\0\033\0\0\0\0\0\0\0\0\0\0
"
/* 0x30 - 0x3f */
"
\0
.
\0
*
\0
+
\0\0\0\0\0
/
\r\0
-
\0
"
/* 0x40 - 0x4f */
"
\0\000
0123456789
\0\0\0
"
;
/* 0x50 - 0x5f */
static
int
xmon_get_adb_key
(
void
)
{
int
k
,
t
,
on
;
xmon_wants_key
=
1
;
for
(;;)
{
xmon_adb_keycode
=
-
1
;
t
=
0
;
on
=
0
;
do
{
if
(
--
t
<
0
)
{
on
=
1
-
on
;
btext_drawchar
(
on
?
0xdb
:
0x20
);
btext_drawchar
(
'\b'
);
t
=
200000
;
}
do_poll_adb
();
}
while
(
xmon_adb_keycode
==
-
1
);
k
=
xmon_adb_keycode
;
if
(
on
)
btext_drawstring
(
"
\b
"
);
/* test for shift keys */
if
((
k
&
0x7f
)
==
0x38
||
(
k
&
0x7f
)
==
0x7b
)
{
xmon_adb_shiftstate
=
(
k
&
0x80
)
==
0
;
continue
;
}
if
(
k
>=
0x80
)
continue
;
/* ignore up transitions */
k
=
(
xmon_adb_shiftstate
?
xmon_shift_keytab
:
xmon_keytab
)[
k
];
if
(
k
!=
0
)
break
;
}
xmon_wants_key
=
0
;
return
k
;
}
#endif
/* CONFIG_BOOTX_TEXT */
int
int
xmon_read
(
void
*
handle
,
void
*
ptr
,
int
nb
)
xmon_read
(
void
*
handle
,
void
*
ptr
,
int
nb
)
...
@@ -265,18 +134,11 @@ xmon_read(void *handle, void *ptr, int nb)
...
@@ -265,18 +134,11 @@ xmon_read(void *handle, void *ptr, int nb)
char
*
p
=
ptr
;
char
*
p
=
ptr
;
int
i
;
int
i
;
#ifdef CONFIG_BOOTX_TEXT
if
(
use_screen
)
{
for
(
i
=
0
;
i
<
nb
;
++
i
)
*
p
++
=
xmon_get_adb_key
();
return
i
;
}
#endif
if
(
!
scc_initialized
)
if
(
!
scc_initialized
)
xmon_init_scc
();
xmon_init_scc
();
for
(
i
=
0
;
i
<
nb
;
++
i
)
{
for
(
i
=
0
;
i
<
nb
;
++
i
)
{
while
((
*
sccc
&
RXRDY
)
==
0
)
while
((
*
sccc
&
RXRDY
)
==
0
)
do_poll_adb
()
;
;
buf_access
();
buf_access
();
*
p
++
=
*
sccd
;
*
p
++
=
*
sccd
;
}
}
...
@@ -287,7 +149,7 @@ int
...
@@ -287,7 +149,7 @@ int
xmon_read_poll
(
void
)
xmon_read_poll
(
void
)
{
{
if
((
*
sccc
&
RXRDY
)
==
0
)
{
if
((
*
sccc
&
RXRDY
)
==
0
)
{
do_poll_adb
()
;
;
return
-
1
;
return
-
1
;
}
}
buf_access
();
buf_access
();
...
@@ -297,15 +159,6 @@ xmon_read_poll(void)
...
@@ -297,15 +159,6 @@ xmon_read_poll(void)
void
void
xmon_init_scc
(
void
)
xmon_init_scc
(
void
)
{
{
if
(
_machine
==
_MACH_chrp
)
{
sccd
[
3
]
=
0x83
;
eieio
();
/* LCR = 8N1 + DLAB */
sccd
[
0
]
=
12
;
eieio
();
/* DLL = 9600 baud */
sccd
[
1
]
=
0
;
eieio
();
sccd
[
2
]
=
0
;
eieio
();
/* FCR = 0 */
sccd
[
3
]
=
3
;
eieio
();
/* LCR = 8N1 */
sccd
[
1
]
=
0
;
eieio
();
/* IER = 0 */
}
scc_initialized
=
1
;
scc_initialized
=
1
;
if
(
via_modem
)
{
if
(
via_modem
)
{
for
(;;)
{
for
(;;)
{
...
@@ -321,22 +174,6 @@ xmon_init_scc(void)
...
@@ -321,22 +174,6 @@ xmon_init_scc(void)
}
}
}
}
#if 0
extern int (*prom_entry)(void *);
int
xmon_exit(void)
{
struct prom_args {
char *service;
} args;
for (;;) {
args.service = "exit";
(*prom_entry)(&args);
}
}
#endif
void
*
xmon_stdin
;
void
*
xmon_stdin
;
void
*
xmon_stdout
;
void
*
xmon_stdout
;
...
...
arch/ppc/xmon/xmon.c
View file @
adb9c9ac
...
@@ -12,8 +12,6 @@
...
@@ -12,8 +12,6 @@
#include <linux/kallsyms.h>
#include <linux/kallsyms.h>
#include <asm/ptrace.h>
#include <asm/ptrace.h>
#include <asm/string.h>
#include <asm/string.h>
#include <asm/prom.h>
#include <asm/bootx.h>
#include <asm/machdep.h>
#include <asm/machdep.h>
#include <asm/xmon.h>
#include <asm/xmon.h>
#include "nonstdio.h"
#include "nonstdio.h"
...
@@ -101,9 +99,6 @@ void cacheflush(void);
...
@@ -101,9 +99,6 @@ void cacheflush(void);
static
void
cpu_cmd
(
void
);
static
void
cpu_cmd
(
void
);
#endif
/* CONFIG_SMP */
#endif
/* CONFIG_SMP */
static
void
csum
(
void
);
static
void
csum
(
void
);
#ifdef CONFIG_BOOTX_TEXT
static
void
vidcmds
(
void
);
#endif
static
void
bootcmds
(
void
);
static
void
bootcmds
(
void
);
static
void
proccall
(
void
);
static
void
proccall
(
void
);
static
void
printtime
(
void
);
static
void
printtime
(
void
);
...
@@ -522,11 +517,6 @@ cmds(struct pt_regs *excp)
...
@@ -522,11 +517,6 @@ cmds(struct pt_regs *excp)
cpu_cmd
();
cpu_cmd
();
break
;
break
;
#endif
/* CONFIG_SMP */
#endif
/* CONFIG_SMP */
#ifdef CONFIG_BOOTX_TEXT
case
'v'
:
vidcmds
();
break
;
#endif
case
'z'
:
case
'z'
:
bootcmds
();
bootcmds
();
break
;
break
;
...
@@ -618,43 +608,6 @@ static void cpu_cmd(void)
...
@@ -618,43 +608,6 @@ static void cpu_cmd(void)
}
}
#endif
/* CONFIG_SMP */
#endif
/* CONFIG_SMP */
#ifdef CONFIG_BOOTX_TEXT
extern
boot_infos_t
disp_bi
;
static
void
vidcmds
(
void
)
{
int
c
=
inchar
();
unsigned
int
val
,
w
;
extern
int
boot_text_mapped
;
if
(
!
boot_text_mapped
)
return
;
if
(
c
!=
'\n'
&&
scanhex
(
&
val
))
{
switch
(
c
)
{
case
'd'
:
w
=
disp_bi
.
dispDeviceRowBytes
/
(
disp_bi
.
dispDeviceDepth
>>
3
);
disp_bi
.
dispDeviceDepth
=
val
;
disp_bi
.
dispDeviceRowBytes
=
w
*
(
val
>>
3
);
return
;
case
'p'
:
disp_bi
.
dispDeviceRowBytes
=
val
;
return
;
case
'w'
:
disp_bi
.
dispDeviceRect
[
2
]
=
val
;
return
;
case
'h'
:
disp_bi
.
dispDeviceRect
[
3
]
=
val
;
return
;
}
}
printf
(
"W = %d (0x%x) H = %d (0x%x) D = %d (0x%x) P = %d (0x%x)
\n
"
,
disp_bi
.
dispDeviceRect
[
2
],
disp_bi
.
dispDeviceRect
[
2
],
disp_bi
.
dispDeviceRect
[
3
],
disp_bi
.
dispDeviceRect
[
3
],
disp_bi
.
dispDeviceDepth
,
disp_bi
.
dispDeviceDepth
,
disp_bi
.
dispDeviceRowBytes
,
disp_bi
.
dispDeviceRowBytes
);
}
#endif
/* CONFIG_BOOTX_TEXT */
static
unsigned
short
fcstab
[
256
]
=
{
static
unsigned
short
fcstab
[
256
]
=
{
0x0000
,
0x1189
,
0x2312
,
0x329b
,
0x4624
,
0x57ad
,
0x6536
,
0x74bf
,
0x0000
,
0x1189
,
0x2312
,
0x329b
,
0x4624
,
0x57ad
,
0x6536
,
0x74bf
,
...
@@ -1020,7 +973,6 @@ dump_hash_table(void)
...
@@ -1020,7 +973,6 @@ dump_hash_table(void)
}
}
#else
#else
#ifndef CONFIG_PPC64BRIDGE
static
void
static
void
dump_hash_table_seg
(
unsigned
seg
,
unsigned
start
,
unsigned
end
)
dump_hash_table_seg
(
unsigned
seg
,
unsigned
start
,
unsigned
end
)
{
{
...
@@ -1079,66 +1031,6 @@ dump_hash_table_seg(unsigned seg, unsigned start, unsigned end)
...
@@ -1079,66 +1031,6 @@ dump_hash_table_seg(unsigned seg, unsigned start, unsigned end)
printf
(
" ... %x
\n
"
,
last_va
);
printf
(
" ... %x
\n
"
,
last_va
);
}
}
#else
/* CONFIG_PPC64BRIDGE */
static
void
dump_hash_table_seg
(
unsigned
seg
,
unsigned
start
,
unsigned
end
)
{
extern
void
*
Hash
;
extern
unsigned
long
Hash_size
;
unsigned
*
htab
=
Hash
;
unsigned
hsize
=
Hash_size
;
unsigned
v
,
hmask
,
va
,
last_va
;
int
found
,
last_found
,
i
;
unsigned
*
hg
,
w1
,
last_w2
,
last_va0
;
last_found
=
0
;
hmask
=
hsize
/
128
-
1
;
va
=
start
;
start
=
(
start
>>
12
)
&
0xffff
;
end
=
(
end
>>
12
)
&
0xffff
;
for
(
v
=
start
;
v
<
end
;
++
v
)
{
found
=
0
;
hg
=
htab
+
(((
v
^
seg
)
&
hmask
)
*
32
);
w1
=
1
|
(
seg
<<
12
)
|
((
v
&
0xf800
)
>>
4
);
for
(
i
=
0
;
i
<
8
;
++
i
,
hg
+=
4
)
{
if
(
hg
[
1
]
==
w1
)
{
found
=
1
;
break
;
}
}
if
(
!
found
)
{
w1
^=
2
;
hg
=
htab
+
((
~
(
v
^
seg
)
&
hmask
)
*
32
);
for
(
i
=
0
;
i
<
8
;
++
i
,
hg
+=
4
)
{
if
(
hg
[
1
]
==
w1
)
{
found
=
1
;
break
;
}
}
}
if
(
!
(
last_found
&&
found
&&
(
hg
[
3
]
&
~
0x180
)
==
last_w2
+
4096
))
{
if
(
last_found
)
{
if
(
last_va
!=
last_va0
)
printf
(
" ... %x"
,
last_va
);
printf
(
"
\n
"
);
}
if
(
found
)
{
printf
(
"%x to %x"
,
va
,
hg
[
3
]);
last_va0
=
va
;
}
last_found
=
found
;
}
if
(
found
)
{
last_w2
=
hg
[
3
]
&
~
0x180
;
last_va
=
va
;
}
va
+=
4096
;
}
if
(
last_found
)
printf
(
" ... %x
\n
"
,
last_va
);
}
#endif
/* CONFIG_PPC64BRIDGE */
static
unsigned
hash_ctx
;
static
unsigned
hash_ctx
;
static
unsigned
hash_start
;
static
unsigned
hash_start
;
static
unsigned
hash_end
;
static
unsigned
hash_end
;
...
...
drivers/char/hvc_console.c
View file @
adb9c9ac
...
@@ -335,6 +335,8 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
...
@@ -335,6 +335,8 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
}
/* else count == 0 */
}
/* else count == 0 */
tty
->
driver_data
=
hp
;
tty
->
driver_data
=
hp
;
tty
->
low_latency
=
1
;
/* Makes flushes to ldisc synchronous. */
hp
->
tty
=
tty
;
hp
->
tty
=
tty
;
/* Save for request_irq outside of spin_lock. */
/* Save for request_irq outside of spin_lock. */
irq
=
hp
->
irq
;
irq
=
hp
->
irq
;
...
@@ -633,9 +635,6 @@ static int hvc_poll(struct hvc_struct *hp)
...
@@ -633,9 +635,6 @@ static int hvc_poll(struct hvc_struct *hp)
tty_insert_flip_char
(
tty
,
buf
[
i
],
0
);
tty_insert_flip_char
(
tty
,
buf
[
i
],
0
);
}
}
if
(
count
)
tty_schedule_flip
(
tty
);
/*
/*
* Account for the total amount read in one loop, and if above
* Account for the total amount read in one loop, and if above
* 64 bytes, we do a quick schedule loop to let the tty grok
* 64 bytes, we do a quick schedule loop to let the tty grok
...
@@ -656,6 +655,9 @@ static int hvc_poll(struct hvc_struct *hp)
...
@@ -656,6 +655,9 @@ static int hvc_poll(struct hvc_struct *hp)
bail:
bail:
spin_unlock_irqrestore
(
&
hp
->
lock
,
flags
);
spin_unlock_irqrestore
(
&
hp
->
lock
,
flags
);
if
(
read_total
)
tty_flip_buffer_push
(
tty
);
return
poll_mask
;
return
poll_mask
;
}
}
...
...
include/asm-powerpc/cputable.h
View file @
adb9c9ac
...
@@ -159,9 +159,11 @@ extern void do_cpu_ftr_fixups(unsigned long offset);
...
@@ -159,9 +159,11 @@ extern void do_cpu_ftr_fixups(unsigned long offset);
#endif
#endif
/* We need to mark all pages as being coherent if we're SMP or we
/* We need to mark all pages as being coherent if we're SMP or we
* have a 74[45]x and an MPC107 host bridge.
* have a 74[45]x and an MPC107 host bridge. Also 83xx requires
* it for PCI "streaming/prefetch" to work properly.
*/
*/
#if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE)
#if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE) \
|| defined(CONFIG_PPC_83xx)
#define CPU_FTR_COMMON CPU_FTR_NEED_COHERENT
#define CPU_FTR_COMMON CPU_FTR_NEED_COHERENT
#else
#else
#define CPU_FTR_COMMON 0
#define CPU_FTR_COMMON 0
...
@@ -277,7 +279,8 @@ enum {
...
@@ -277,7 +279,8 @@ enum {
CPU_FTRS_G2_LE
=
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTR_MAYBE_CAN_DOZE
|
CPU_FTRS_G2_LE
=
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTR_MAYBE_CAN_DOZE
|
CPU_FTR_USE_TB
|
CPU_FTR_MAYBE_CAN_NAP
|
CPU_FTR_HAS_HIGH_BATS
,
CPU_FTR_USE_TB
|
CPU_FTR_MAYBE_CAN_NAP
|
CPU_FTR_HAS_HIGH_BATS
,
CPU_FTRS_E300
=
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTR_MAYBE_CAN_DOZE
|
CPU_FTRS_E300
=
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTR_MAYBE_CAN_DOZE
|
CPU_FTR_USE_TB
|
CPU_FTR_MAYBE_CAN_NAP
|
CPU_FTR_HAS_HIGH_BATS
,
CPU_FTR_USE_TB
|
CPU_FTR_MAYBE_CAN_NAP
|
CPU_FTR_HAS_HIGH_BATS
|
CPU_FTR_COMMON
,
CPU_FTRS_CLASSIC32
=
CPU_FTR_COMMON
|
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTRS_CLASSIC32
=
CPU_FTR_COMMON
|
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTR_USE_TB
|
CPU_FTR_HPTE_TABLE
,
CPU_FTR_USE_TB
|
CPU_FTR_HPTE_TABLE
,
CPU_FTRS_POWER3_32
=
CPU_FTR_COMMON
|
CPU_FTR_SPLIT_ID_CACHE
|
CPU_FTRS_POWER3_32
=
CPU_FTR_COMMON
|
CPU_FTR_SPLIT_ID_CACHE
|
...
...
include/asm-powerpc/mmu.h
View file @
adb9c9ac
...
@@ -112,6 +112,7 @@ typedef struct {
...
@@ -112,6 +112,7 @@ typedef struct {
}
hpte_t
;
}
hpte_t
;
extern
hpte_t
*
htab_address
;
extern
hpte_t
*
htab_address
;
extern
unsigned
long
htab_size_bytes
;
extern
unsigned
long
htab_hash_mask
;
extern
unsigned
long
htab_hash_mask
;
/*
/*
...
...
include/asm-powerpc/reg.h
View file @
adb9c9ac
...
@@ -615,27 +615,9 @@
...
@@ -615,27 +615,9 @@
#define proc_trap() asm volatile("trap")
#define proc_trap() asm volatile("trap")
#ifdef CONFIG_PPC64
#ifdef CONFIG_PPC64
static
inline
void
ppc64_runlatch_on
(
void
)
{
extern
void
ppc64_runlatch_on
(
void
);
unsigned
long
ctrl
;
extern
void
ppc64_runlatch_off
(
void
);
if
(
cpu_has_feature
(
CPU_FTR_CTRL
))
{
ctrl
=
mfspr
(
SPRN_CTRLF
);
ctrl
|=
CTRL_RUNLATCH
;
mtspr
(
SPRN_CTRLT
,
ctrl
);
}
}
static
inline
void
ppc64_runlatch_off
(
void
)
{
unsigned
long
ctrl
;
if
(
cpu_has_feature
(
CPU_FTR_CTRL
))
{
ctrl
=
mfspr
(
SPRN_CTRLF
);
ctrl
&=
~
CTRL_RUNLATCH
;
mtspr
(
SPRN_CTRLT
,
ctrl
);
}
}
extern
unsigned
long
scom970_read
(
unsigned
int
address
);
extern
unsigned
long
scom970_read
(
unsigned
int
address
);
extern
void
scom970_write
(
unsigned
int
address
,
unsigned
long
value
);
extern
void
scom970_write
(
unsigned
int
address
,
unsigned
long
value
);
...
@@ -645,15 +627,6 @@ extern void scom970_write(unsigned int address, unsigned long value);
...
@@ -645,15 +627,6 @@ extern void scom970_write(unsigned int address, unsigned long value);
#define __get_SP() ({unsigned long sp; \
#define __get_SP() ({unsigned long sp; \
asm volatile("mr %0,1": "=r" (sp)); sp;})
asm volatile("mr %0,1": "=r" (sp)); sp;})
#else
/* __ASSEMBLY__ */
#define RUNLATCH_ON(REG) \
BEGIN_FTR_SECTION \
mfspr (REG),SPRN_CTRLF; \
ori (REG),(REG),CTRL_RUNLATCH; \
mtspr SPRN_CTRLT,(REG); \
END_FTR_SECTION_IFSET(CPU_FTR_CTRL)
#endif
/* __ASSEMBLY__ */
#endif
/* __ASSEMBLY__ */
#endif
/* __KERNEL__ */
#endif
/* __KERNEL__ */
#endif
/* _ASM_POWERPC_REG_H */
#endif
/* _ASM_POWERPC_REG_H */
include/asm-powerpc/thread_info.h
View file @
adb9c9ac
...
@@ -113,7 +113,7 @@ static inline struct thread_info *current_thread_info(void)
...
@@ -113,7 +113,7 @@ static inline struct thread_info *current_thread_info(void)
#define TIF_POLLING_NRFLAG 4
/* true if poll_idle() is polling
#define TIF_POLLING_NRFLAG 4
/* true if poll_idle() is polling
TIF_NEED_RESCHED */
TIF_NEED_RESCHED */
#define TIF_32BIT 5
/* 32 bit binary */
#define TIF_32BIT 5
/* 32 bit binary */
/* #define SPARE 6
*/
#define TIF_RUNLATCH 6
/* Is the runlatch enabled?
*/
#define TIF_ABI_PENDING 7
/* 32/64 bit switch needed */
#define TIF_ABI_PENDING 7
/* 32/64 bit switch needed */
#define TIF_SYSCALL_AUDIT 8
/* syscall auditing active */
#define TIF_SYSCALL_AUDIT 8
/* syscall auditing active */
#define TIF_SINGLESTEP 9
/* singlestepping active */
#define TIF_SINGLESTEP 9
/* singlestepping active */
...
@@ -131,7 +131,7 @@ static inline struct thread_info *current_thread_info(void)
...
@@ -131,7 +131,7 @@ static inline struct thread_info *current_thread_info(void)
#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
#define _TIF_32BIT (1<<TIF_32BIT)
#define _TIF_32BIT (1<<TIF_32BIT)
/* #define _SPARE (1<<SPARE) */
#define _TIF_RUNLATCH (1<<TIF_RUNLATCH)
#define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING)
#define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING)
#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
#define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP)
#define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP)
...
...
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