aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-07-27 11:35:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-07-27 11:35:26 -0400
commitb387e41e523c1aa347cff055455d0dd129357df4 (patch)
tree736b8f4ff0c683031d2f642c182fd01ed73be5d1 /arch/powerpc
parent43a1141b9f4fd9453b43ba5e8f136e7d47220dde (diff)
parentbac821a6e3404330d509fd3a245bf7701f210c7c (diff)
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Pull powerpc fixes from Benjamin Herrenschmidt: "Here's a handful of powerpc patches, a couple of regression fixes for problems introduced in the main batch in this merge window, a couple of defconfig updates, and some trivials. The radeonfb one is something that was long standing in SLES which I forgot to pickup earlier." * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/ftrace: Trace function graph entry before updating index radeonfb: Add quirk for the graphics adapter in some JSxx powerpc: Lack of firmware flash support is not an error powerpc: Enable pseries hardware RNG and crypto modules powerpc: Update g5_defconfig powerpc/kvm/bookehv: Fix build regression powerpc: Set stack limit properly in crit_transfer_to_handler
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/configs/g5_defconfig103
-rw-r--r--arch/powerpc/configs/ppc64_defconfig6
-rw-r--r--arch/powerpc/configs/pseries_defconfig6
-rw-r--r--arch/powerpc/kernel/entry_32.S12
-rw-r--r--arch/powerpc/kernel/ftrace.c11
-rw-r--r--arch/powerpc/kernel/rtas_flash.c2
-rw-r--r--arch/powerpc/kvm/bookehv_interrupts.S77
7 files changed, 93 insertions, 124 deletions
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index 07b7f2af2dca..15130066e5e2 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_defconfig
@@ -1,10 +1,8 @@
1CONFIG_PPC64=y
2CONFIG_ALTIVEC=y
3CONFIG_SMP=y
4CONFIG_NR_CPUS=4
5CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
6CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
7CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
4CONFIG_NO_HZ=y
5CONFIG_HIGH_RES_TIMERS=y
8CONFIG_IKCONFIG=y 6CONFIG_IKCONFIG=y
9CONFIG_IKCONFIG_PROC=y 7CONFIG_IKCONFIG_PROC=y
10CONFIG_BLK_DEV_INITRD=y 8CONFIG_BLK_DEV_INITRD=y
@@ -15,16 +13,15 @@ CONFIG_MODULES=y
15CONFIG_MODULE_UNLOAD=y 13CONFIG_MODULE_UNLOAD=y
16CONFIG_MODVERSIONS=y 14CONFIG_MODVERSIONS=y
17CONFIG_MODULE_SRCVERSION_ALL=y 15CONFIG_MODULE_SRCVERSION_ALL=y
18# CONFIG_PPC_PSERIES is not set 16CONFIG_PARTITION_ADVANCED=y
17CONFIG_MAC_PARTITION=y
18CONFIG_SMP=y
19CONFIG_NR_CPUS=4
20CONFIG_KEXEC=y
21# CONFIG_RELOCATABLE is not set
19CONFIG_CPU_FREQ=y 22CONFIG_CPU_FREQ=y
20CONFIG_CPU_FREQ_GOV_POWERSAVE=y 23CONFIG_CPU_FREQ_GOV_POWERSAVE=y
21CONFIG_CPU_FREQ_GOV_USERSPACE=y 24CONFIG_CPU_FREQ_GOV_USERSPACE=y
22CONFIG_CPU_FREQ_PMAC64=y
23CONFIG_NO_HZ=y
24CONFIG_HIGH_RES_TIMERS=y
25CONFIG_KEXEC=y
26CONFIG_IRQ_ALL_CPUS=y
27# CONFIG_MIGRATION is not set
28CONFIG_PCI_MSI=y 25CONFIG_PCI_MSI=y
29CONFIG_NET=y 26CONFIG_NET=y
30CONFIG_PACKET=y 27CONFIG_PACKET=y
@@ -52,7 +49,6 @@ CONFIG_NF_CT_NETLINK=m
52CONFIG_NF_CONNTRACK_IPV4=m 49CONFIG_NF_CONNTRACK_IPV4=m
53CONFIG_IP_NF_QUEUE=m 50CONFIG_IP_NF_QUEUE=m
54CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 51CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
55CONFIG_PROC_DEVICETREE=y
56CONFIG_BLK_DEV_LOOP=y 52CONFIG_BLK_DEV_LOOP=y
57CONFIG_BLK_DEV_NBD=m 53CONFIG_BLK_DEV_NBD=m
58CONFIG_BLK_DEV_RAM=y 54CONFIG_BLK_DEV_RAM=y
@@ -60,8 +56,6 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
60CONFIG_CDROM_PKTCDVD=m 56CONFIG_CDROM_PKTCDVD=m
61CONFIG_IDE=y 57CONFIG_IDE=y
62CONFIG_BLK_DEV_IDECD=y 58CONFIG_BLK_DEV_IDECD=y
63CONFIG_BLK_DEV_IDE_PMAC=y
64CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
65CONFIG_BLK_DEV_SD=y 59CONFIG_BLK_DEV_SD=y
66CONFIG_CHR_DEV_ST=y 60CONFIG_CHR_DEV_ST=y
67CONFIG_BLK_DEV_SR=y 61CONFIG_BLK_DEV_SR=y
@@ -85,33 +79,24 @@ CONFIG_DM_CRYPT=m
85CONFIG_DM_SNAPSHOT=m 79CONFIG_DM_SNAPSHOT=m
86CONFIG_DM_MIRROR=m 80CONFIG_DM_MIRROR=m
87CONFIG_DM_ZERO=m 81CONFIG_DM_ZERO=m
88CONFIG_IEEE1394=y 82CONFIG_MACINTOSH_DRIVERS=y
89CONFIG_IEEE1394_OHCI1394=y
90CONFIG_IEEE1394_SBP2=m
91CONFIG_IEEE1394_ETH1394=m
92CONFIG_IEEE1394_RAWIO=y
93CONFIG_IEEE1394_VIDEO1394=m
94CONFIG_IEEE1394_DV1394=m
95CONFIG_ADB_PMU=y
96CONFIG_PMAC_SMU=y
97CONFIG_MAC_EMUMOUSEBTN=y 83CONFIG_MAC_EMUMOUSEBTN=y
98CONFIG_THERM_PM72=y
99CONFIG_WINDFARM=y
100CONFIG_WINDFARM_PM81=y
101CONFIG_WINDFARM_PM91=y
102CONFIG_WINDFARM_PM112=y
103CONFIG_WINDFARM_PM121=y
104CONFIG_NETDEVICES=y 84CONFIG_NETDEVICES=y
105CONFIG_DUMMY=m
106CONFIG_BONDING=m 85CONFIG_BONDING=m
107CONFIG_TUN=m 86CONFIG_DUMMY=m
108CONFIG_NET_ETHERNET=y
109CONFIG_MII=y 87CONFIG_MII=y
110CONFIG_SUNGEM=y 88CONFIG_TUN=m
111CONFIG_ACENIC=m 89CONFIG_ACENIC=m
112CONFIG_ACENIC_OMIT_TIGON_I=y 90CONFIG_ACENIC_OMIT_TIGON_I=y
113CONFIG_E1000=y
114CONFIG_TIGON3=y 91CONFIG_TIGON3=y
92CONFIG_E1000=y
93CONFIG_SUNGEM=y
94CONFIG_PPP=m
95CONFIG_PPP_BSDCOMP=m
96CONFIG_PPP_DEFLATE=m
97CONFIG_PPPOE=m
98CONFIG_PPP_ASYNC=m
99CONFIG_PPP_SYNC_TTY=m
115CONFIG_USB_CATC=m 100CONFIG_USB_CATC=m
116CONFIG_USB_KAWETH=m 101CONFIG_USB_KAWETH=m
117CONFIG_USB_PEGASUS=m 102CONFIG_USB_PEGASUS=m
@@ -121,36 +106,24 @@ CONFIG_USB_USBNET=m
121# CONFIG_USB_NET_NET1080 is not set 106# CONFIG_USB_NET_NET1080 is not set
122# CONFIG_USB_NET_CDC_SUBSET is not set 107# CONFIG_USB_NET_CDC_SUBSET is not set
123# CONFIG_USB_NET_ZAURUS is not set 108# CONFIG_USB_NET_ZAURUS is not set
124CONFIG_PPP=m
125CONFIG_PPP_ASYNC=m
126CONFIG_PPP_SYNC_TTY=m
127CONFIG_PPP_DEFLATE=m
128CONFIG_PPP_BSDCOMP=m
129CONFIG_PPPOE=m
130# CONFIG_INPUT_MOUSEDEV_PSAUX is not set 109# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
131CONFIG_INPUT_JOYDEV=m 110CONFIG_INPUT_JOYDEV=m
132CONFIG_INPUT_EVDEV=y 111CONFIG_INPUT_EVDEV=y
133# CONFIG_KEYBOARD_ATKBD is not set
134# CONFIG_MOUSE_PS2 is not set 112# CONFIG_MOUSE_PS2 is not set
135# CONFIG_SERIO_I8042 is not set
136# CONFIG_SERIO_SERPORT is not set 113# CONFIG_SERIO_SERPORT is not set
114CONFIG_VT_HW_CONSOLE_BINDING=y
137# CONFIG_HW_RANDOM is not set 115# CONFIG_HW_RANDOM is not set
138CONFIG_GEN_RTC=y 116CONFIG_GEN_RTC=y
139CONFIG_RAW_DRIVER=y 117CONFIG_RAW_DRIVER=y
140CONFIG_I2C_CHARDEV=y 118CONFIG_I2C_CHARDEV=y
141# CONFIG_HWMON is not set 119# CONFIG_HWMON is not set
142CONFIG_AGP=m 120CONFIG_AGP=y
143CONFIG_AGP_UNINORTH=m 121CONFIG_DRM=y
122CONFIG_DRM_NOUVEAU=y
144CONFIG_VIDEO_OUTPUT_CONTROL=m 123CONFIG_VIDEO_OUTPUT_CONTROL=m
145CONFIG_FB=y
146CONFIG_FIRMWARE_EDID=y 124CONFIG_FIRMWARE_EDID=y
147CONFIG_FB_TILEBLITTING=y 125CONFIG_FB_TILEBLITTING=y
148CONFIG_FB_OF=y
149CONFIG_FB_NVIDIA=y
150CONFIG_FB_NVIDIA_I2C=y
151CONFIG_FB_RADEON=y 126CONFIG_FB_RADEON=y
152# CONFIG_VGA_CONSOLE is not set
153CONFIG_FRAMEBUFFER_CONSOLE=y
154CONFIG_LOGO=y 127CONFIG_LOGO=y
155CONFIG_SOUND=m 128CONFIG_SOUND=m
156CONFIG_SND=m 129CONFIG_SND=m
@@ -158,15 +131,7 @@ CONFIG_SND_SEQUENCER=m
158CONFIG_SND_MIXER_OSS=m 131CONFIG_SND_MIXER_OSS=m
159CONFIG_SND_PCM_OSS=m 132CONFIG_SND_PCM_OSS=m
160CONFIG_SND_SEQUENCER_OSS=y 133CONFIG_SND_SEQUENCER_OSS=y
161CONFIG_SND_POWERMAC=m
162CONFIG_SND_AOA=m
163CONFIG_SND_AOA_FABRIC_LAYOUT=m
164CONFIG_SND_AOA_ONYX=m
165CONFIG_SND_AOA_TAS=m
166CONFIG_SND_AOA_TOONIE=m
167CONFIG_SND_USB_AUDIO=m 134CONFIG_SND_USB_AUDIO=m
168CONFIG_HID_PID=y
169CONFIG_USB_HIDDEV=y
170CONFIG_HID_GYRATION=y 135CONFIG_HID_GYRATION=y
171CONFIG_LOGITECH_FF=y 136CONFIG_LOGITECH_FF=y
172CONFIG_HID_PANTHERLORD=y 137CONFIG_HID_PANTHERLORD=y
@@ -174,13 +139,12 @@ CONFIG_HID_PETALYNX=y
174CONFIG_HID_SAMSUNG=y 139CONFIG_HID_SAMSUNG=y
175CONFIG_HID_SONY=y 140CONFIG_HID_SONY=y
176CONFIG_HID_SUNPLUS=y 141CONFIG_HID_SUNPLUS=y
142CONFIG_HID_PID=y
143CONFIG_USB_HIDDEV=y
177CONFIG_USB=y 144CONFIG_USB=y
178CONFIG_USB_DEVICEFS=y
179CONFIG_USB_MON=y 145CONFIG_USB_MON=y
180CONFIG_USB_EHCI_HCD=y 146CONFIG_USB_EHCI_HCD=y
181# CONFIG_USB_EHCI_HCD_PPC_OF is not set
182CONFIG_USB_OHCI_HCD=y 147CONFIG_USB_OHCI_HCD=y
183CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
184CONFIG_USB_ACM=m 148CONFIG_USB_ACM=m
185CONFIG_USB_PRINTER=y 149CONFIG_USB_PRINTER=y
186CONFIG_USB_STORAGE=y 150CONFIG_USB_STORAGE=y
@@ -244,8 +208,6 @@ CONFIG_REISERFS_FS_POSIX_ACL=y
244CONFIG_REISERFS_FS_SECURITY=y 208CONFIG_REISERFS_FS_SECURITY=y
245CONFIG_XFS_FS=m 209CONFIG_XFS_FS=m
246CONFIG_XFS_POSIX_ACL=y 210CONFIG_XFS_POSIX_ACL=y
247CONFIG_INOTIFY=y
248CONFIG_AUTOFS_FS=m
249CONFIG_ISO9660_FS=y 211CONFIG_ISO9660_FS=y
250CONFIG_JOLIET=y 212CONFIG_JOLIET=y
251CONFIG_ZISOFS=y 213CONFIG_ZISOFS=y
@@ -259,14 +221,12 @@ CONFIG_HFS_FS=m
259CONFIG_HFSPLUS_FS=m 221CONFIG_HFSPLUS_FS=m
260CONFIG_CRAMFS=y 222CONFIG_CRAMFS=y
261CONFIG_NFS_FS=y 223CONFIG_NFS_FS=y
262CONFIG_NFS_V3=y
263CONFIG_NFS_V3_ACL=y 224CONFIG_NFS_V3_ACL=y
264CONFIG_NFS_V4=y 225CONFIG_NFS_V4=y
265CONFIG_NFSD=y 226CONFIG_NFSD=y
266CONFIG_NFSD_V3_ACL=y 227CONFIG_NFSD_V3_ACL=y
267CONFIG_NFSD_V4=y 228CONFIG_NFSD_V4=y
268CONFIG_CIFS=m 229CONFIG_CIFS=m
269CONFIG_PARTITION_ADVANCED=y
270CONFIG_NLS_CODEPAGE_437=y 230CONFIG_NLS_CODEPAGE_437=y
271CONFIG_NLS_CODEPAGE_1250=y 231CONFIG_NLS_CODEPAGE_1250=y
272CONFIG_NLS_CODEPAGE_1251=y 232CONFIG_NLS_CODEPAGE_1251=y
@@ -274,29 +234,23 @@ CONFIG_NLS_ASCII=y
274CONFIG_NLS_ISO8859_1=y 234CONFIG_NLS_ISO8859_1=y
275CONFIG_NLS_ISO8859_15=y 235CONFIG_NLS_ISO8859_15=y
276CONFIG_NLS_UTF8=y 236CONFIG_NLS_UTF8=y
277CONFIG_CRC_T10DIF=y
278CONFIG_LIBCRC32C=m
279CONFIG_MAGIC_SYSRQ=y 237CONFIG_MAGIC_SYSRQ=y
238# CONFIG_UNUSED_SYMBOLS is not set
280CONFIG_DEBUG_FS=y 239CONFIG_DEBUG_FS=y
281CONFIG_DEBUG_KERNEL=y 240CONFIG_DEBUG_KERNEL=y
282CONFIG_DEBUG_MUTEXES=y 241CONFIG_DEBUG_MUTEXES=y
283# CONFIG_RCU_CPU_STALL_DETECTOR is not set
284CONFIG_LATENCYTOP=y 242CONFIG_LATENCYTOP=y
285CONFIG_SYSCTL_SYSCALL_CHECK=y 243CONFIG_STRICT_DEVMEM=y
286CONFIG_BOOTX_TEXT=y
287CONFIG_CRYPTO_NULL=m 244CONFIG_CRYPTO_NULL=m
288CONFIG_CRYPTO_TEST=m 245CONFIG_CRYPTO_TEST=m
289CONFIG_CRYPTO_ECB=m
290CONFIG_CRYPTO_PCBC=m 246CONFIG_CRYPTO_PCBC=m
291CONFIG_CRYPTO_HMAC=y 247CONFIG_CRYPTO_HMAC=y
292CONFIG_CRYPTO_MD4=m
293CONFIG_CRYPTO_MICHAEL_MIC=m 248CONFIG_CRYPTO_MICHAEL_MIC=m
294CONFIG_CRYPTO_SHA256=m 249CONFIG_CRYPTO_SHA256=m
295CONFIG_CRYPTO_SHA512=m 250CONFIG_CRYPTO_SHA512=m
296CONFIG_CRYPTO_WP512=m 251CONFIG_CRYPTO_WP512=m
297CONFIG_CRYPTO_AES=m 252CONFIG_CRYPTO_AES=m
298CONFIG_CRYPTO_ANUBIS=m 253CONFIG_CRYPTO_ANUBIS=m
299CONFIG_CRYPTO_ARC4=m
300CONFIG_CRYPTO_BLOWFISH=m 254CONFIG_CRYPTO_BLOWFISH=m
301CONFIG_CRYPTO_CAST5=m 255CONFIG_CRYPTO_CAST5=m
302CONFIG_CRYPTO_CAST6=m 256CONFIG_CRYPTO_CAST6=m
@@ -306,3 +260,6 @@ CONFIG_CRYPTO_TEA=m
306CONFIG_CRYPTO_TWOFISH=m 260CONFIG_CRYPTO_TWOFISH=m
307# CONFIG_CRYPTO_ANSI_CPRNG is not set 261# CONFIG_CRYPTO_ANSI_CPRNG is not set
308# CONFIG_CRYPTO_HW is not set 262# CONFIG_CRYPTO_HW is not set
263# CONFIG_VIRTUALIZATION is not set
264CONFIG_CRC_T10DIF=y
265CONFIG_LIBCRC32C=m
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index f2fe0c2b41e4..db27c82e0542 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -279,7 +279,8 @@ CONFIG_HVC_RTAS=y
279CONFIG_HVC_BEAT=y 279CONFIG_HVC_BEAT=y
280CONFIG_HVCS=m 280CONFIG_HVCS=m
281CONFIG_IBM_BSR=m 281CONFIG_IBM_BSR=m
282# CONFIG_HW_RANDOM is not set 282CONFIG_HW_RANDOM=m
283CONFIG_HW_RANDOM_PSERIES=m
283CONFIG_RAW_DRIVER=y 284CONFIG_RAW_DRIVER=y
284CONFIG_I2C_CHARDEV=y 285CONFIG_I2C_CHARDEV=y
285CONFIG_I2C_AMD8111=y 286CONFIG_I2C_AMD8111=y
@@ -485,7 +486,8 @@ CONFIG_CRYPTO_TEA=m
485CONFIG_CRYPTO_TWOFISH=m 486CONFIG_CRYPTO_TWOFISH=m
486CONFIG_CRYPTO_LZO=m 487CONFIG_CRYPTO_LZO=m
487# CONFIG_CRYPTO_ANSI_CPRNG is not set 488# CONFIG_CRYPTO_ANSI_CPRNG is not set
488# CONFIG_CRYPTO_HW is not set 489CONFIG_CRYPTO_HW=y
490CONFIG_CRYPTO_DEV_NX=m
489CONFIG_VIRTUALIZATION=y 491CONFIG_VIRTUALIZATION=y
490CONFIG_KVM_BOOK3S_64=m 492CONFIG_KVM_BOOK3S_64=m
491CONFIG_KVM_BOOK3S_64_HV=y 493CONFIG_KVM_BOOK3S_64_HV=y
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 187fb8d53605..1f65b3c9b59a 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -226,7 +226,8 @@ CONFIG_HVC_CONSOLE=y
226CONFIG_HVC_RTAS=y 226CONFIG_HVC_RTAS=y
227CONFIG_HVCS=m 227CONFIG_HVCS=m
228CONFIG_IBM_BSR=m 228CONFIG_IBM_BSR=m
229# CONFIG_HW_RANDOM is not set 229CONFIG_HW_RANDOM=m
230CONFIG_HW_RANDOM_PSERIES=m
230CONFIG_GEN_RTC=y 231CONFIG_GEN_RTC=y
231CONFIG_RAW_DRIVER=y 232CONFIG_RAW_DRIVER=y
232CONFIG_MAX_RAW_DEVS=1024 233CONFIG_MAX_RAW_DEVS=1024
@@ -367,7 +368,8 @@ CONFIG_CRYPTO_TEA=m
367CONFIG_CRYPTO_TWOFISH=m 368CONFIG_CRYPTO_TWOFISH=m
368CONFIG_CRYPTO_LZO=m 369CONFIG_CRYPTO_LZO=m
369# CONFIG_CRYPTO_ANSI_CPRNG is not set 370# CONFIG_CRYPTO_ANSI_CPRNG is not set
370# CONFIG_CRYPTO_HW is not set 371CONFIG_CRYPTO_HW=y
372CONFIG_CRYPTO_DEV_NX=m
371CONFIG_VIRTUALIZATION=y 373CONFIG_VIRTUALIZATION=y
372CONFIG_KVM_BOOK3S_64=m 374CONFIG_KVM_BOOK3S_64=m
373CONFIG_KVM_BOOK3S_64_HV=y 375CONFIG_KVM_BOOK3S_64_HV=y
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 5207d5a405e2..ead5016b02d0 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -89,10 +89,14 @@ crit_transfer_to_handler:
89 mfspr r0,SPRN_SRR1 89 mfspr r0,SPRN_SRR1
90 stw r0,_SRR1(r11) 90 stw r0,_SRR1(r11)
91 91
92 /* set the stack limit to the current stack
93 * and set the limit to protect the thread_info
94 * struct
95 */
92 mfspr r8,SPRN_SPRG_THREAD 96 mfspr r8,SPRN_SPRG_THREAD
93 lwz r0,KSP_LIMIT(r8) 97 lwz r0,KSP_LIMIT(r8)
94 stw r0,SAVED_KSP_LIMIT(r11) 98 stw r0,SAVED_KSP_LIMIT(r11)
95 CURRENT_THREAD_INFO(r0, r1) 99 rlwimi r0,r1,0,0,(31-THREAD_SHIFT)
96 stw r0,KSP_LIMIT(r8) 100 stw r0,KSP_LIMIT(r8)
97 /* fall through */ 101 /* fall through */
98#endif 102#endif
@@ -109,10 +113,14 @@ crit_transfer_to_handler:
109 mfspr r0,SPRN_SRR1 113 mfspr r0,SPRN_SRR1
110 stw r0,crit_srr1@l(0) 114 stw r0,crit_srr1@l(0)
111 115
116 /* set the stack limit to the current stack
117 * and set the limit to protect the thread_info
118 * struct
119 */
112 mfspr r8,SPRN_SPRG_THREAD 120 mfspr r8,SPRN_SPRG_THREAD
113 lwz r0,KSP_LIMIT(r8) 121 lwz r0,KSP_LIMIT(r8)
114 stw r0,saved_ksp_limit@l(0) 122 stw r0,saved_ksp_limit@l(0)
115 CURRENT_THREAD_INFO(r0, r1) 123 rlwimi r0,r1,0,0,(31-THREAD_SHIFT)
116 stw r0,KSP_LIMIT(r8) 124 stw r0,KSP_LIMIT(r8)
117 /* fall through */ 125 /* fall through */
118#endif 126#endif
diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c
index 91b46b7f6f0d..1fb78561096a 100644
--- a/arch/powerpc/kernel/ftrace.c
+++ b/arch/powerpc/kernel/ftrace.c
@@ -630,18 +630,17 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
630 return; 630 return;
631 } 631 }
632 632
633 if (ftrace_push_return_trace(old, self_addr, &trace.depth, 0) == -EBUSY) {
634 *parent = old;
635 return;
636 }
637
638 trace.func = self_addr; 633 trace.func = self_addr;
634 trace.depth = current->curr_ret_stack + 1;
639 635
640 /* Only trace if the calling function expects to */ 636 /* Only trace if the calling function expects to */
641 if (!ftrace_graph_entry(&trace)) { 637 if (!ftrace_graph_entry(&trace)) {
642 current->curr_ret_stack--;
643 *parent = old; 638 *parent = old;
639 return;
644 } 640 }
641
642 if (ftrace_push_return_trace(old, self_addr, &trace.depth, 0) == -EBUSY)
643 *parent = old;
645} 644}
646#endif /* CONFIG_FUNCTION_GRAPH_TRACER */ 645#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
647 646
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c
index 4174b4b23246..2c0ee6405633 100644
--- a/arch/powerpc/kernel/rtas_flash.c
+++ b/arch/powerpc/kernel/rtas_flash.c
@@ -709,7 +709,7 @@ static int __init rtas_flash_init(void)
709 709
710 if (rtas_token("ibm,update-flash-64-and-reboot") == 710 if (rtas_token("ibm,update-flash-64-and-reboot") ==
711 RTAS_UNKNOWN_SERVICE) { 711 RTAS_UNKNOWN_SERVICE) {
712 printk(KERN_ERR "rtas_flash: no firmware flash support\n"); 712 pr_info("rtas_flash: no firmware flash support\n");
713 return 1; 713 return 1;
714 } 714 }
715 715
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S
index d28c2d43ac1b..099fe8272b57 100644
--- a/arch/powerpc/kvm/bookehv_interrupts.S
+++ b/arch/powerpc/kvm/bookehv_interrupts.S
@@ -50,8 +50,9 @@
50#define HOST_R2 (3 * LONGBYTES) 50#define HOST_R2 (3 * LONGBYTES)
51#define HOST_CR (4 * LONGBYTES) 51#define HOST_CR (4 * LONGBYTES)
52#define HOST_NV_GPRS (5 * LONGBYTES) 52#define HOST_NV_GPRS (5 * LONGBYTES)
53#define HOST_NV_GPR(n) (HOST_NV_GPRS + ((n - 14) * LONGBYTES)) 53#define __HOST_NV_GPR(n) (HOST_NV_GPRS + ((n - 14) * LONGBYTES))
54#define HOST_MIN_STACK_SIZE (HOST_NV_GPR(31) + LONGBYTES) 54#define HOST_NV_GPR(n) __HOST_NV_GPR(__REG_##n)
55#define HOST_MIN_STACK_SIZE (HOST_NV_GPR(R31) + LONGBYTES)
55#define HOST_STACK_SIZE ((HOST_MIN_STACK_SIZE + 15) & ~15) /* Align. */ 56#define HOST_STACK_SIZE ((HOST_MIN_STACK_SIZE + 15) & ~15) /* Align. */
56#define HOST_STACK_LR (HOST_STACK_SIZE + LONGBYTES) /* In caller stack frame. */ 57#define HOST_STACK_LR (HOST_STACK_SIZE + LONGBYTES) /* In caller stack frame. */
57 58
@@ -410,24 +411,24 @@ heavyweight_exit:
410 PPC_STL r31, VCPU_GPR(R31)(r4) 411 PPC_STL r31, VCPU_GPR(R31)(r4)
411 412
412 /* Load host non-volatile register state from host stack. */ 413 /* Load host non-volatile register state from host stack. */
413 PPC_LL r14, HOST_NV_GPR(r14)(r1) 414 PPC_LL r14, HOST_NV_GPR(R14)(r1)
414 PPC_LL r15, HOST_NV_GPR(r15)(r1) 415 PPC_LL r15, HOST_NV_GPR(R15)(r1)
415 PPC_LL r16, HOST_NV_GPR(r16)(r1) 416 PPC_LL r16, HOST_NV_GPR(R16)(r1)
416 PPC_LL r17, HOST_NV_GPR(r17)(r1) 417 PPC_LL r17, HOST_NV_GPR(R17)(r1)
417 PPC_LL r18, HOST_NV_GPR(r18)(r1) 418 PPC_LL r18, HOST_NV_GPR(R18)(r1)
418 PPC_LL r19, HOST_NV_GPR(r19)(r1) 419 PPC_LL r19, HOST_NV_GPR(R19)(r1)
419 PPC_LL r20, HOST_NV_GPR(r20)(r1) 420 PPC_LL r20, HOST_NV_GPR(R20)(r1)
420 PPC_LL r21, HOST_NV_GPR(r21)(r1) 421 PPC_LL r21, HOST_NV_GPR(R21)(r1)
421 PPC_LL r22, HOST_NV_GPR(r22)(r1) 422 PPC_LL r22, HOST_NV_GPR(R22)(r1)
422 PPC_LL r23, HOST_NV_GPR(r23)(r1) 423 PPC_LL r23, HOST_NV_GPR(R23)(r1)
423 PPC_LL r24, HOST_NV_GPR(r24)(r1) 424 PPC_LL r24, HOST_NV_GPR(R24)(r1)
424 PPC_LL r25, HOST_NV_GPR(r25)(r1) 425 PPC_LL r25, HOST_NV_GPR(R25)(r1)
425 PPC_LL r26, HOST_NV_GPR(r26)(r1) 426 PPC_LL r26, HOST_NV_GPR(R26)(r1)
426 PPC_LL r27, HOST_NV_GPR(r27)(r1) 427 PPC_LL r27, HOST_NV_GPR(R27)(r1)
427 PPC_LL r28, HOST_NV_GPR(r28)(r1) 428 PPC_LL r28, HOST_NV_GPR(R28)(r1)
428 PPC_LL r29, HOST_NV_GPR(r29)(r1) 429 PPC_LL r29, HOST_NV_GPR(R29)(r1)
429 PPC_LL r30, HOST_NV_GPR(r30)(r1) 430 PPC_LL r30, HOST_NV_GPR(R30)(r1)
430 PPC_LL r31, HOST_NV_GPR(r31)(r1) 431 PPC_LL r31, HOST_NV_GPR(R31)(r1)
431 432
432 /* Return to kvm_vcpu_run(). */ 433 /* Return to kvm_vcpu_run(). */
433 mtlr r5 434 mtlr r5
@@ -453,24 +454,24 @@ _GLOBAL(__kvmppc_vcpu_run)
453 stw r5, HOST_CR(r1) 454 stw r5, HOST_CR(r1)
454 455
455 /* Save host non-volatile register state to stack. */ 456 /* Save host non-volatile register state to stack. */
456 PPC_STL r14, HOST_NV_GPR(r14)(r1) 457 PPC_STL r14, HOST_NV_GPR(R14)(r1)
457 PPC_STL r15, HOST_NV_GPR(r15)(r1) 458 PPC_STL r15, HOST_NV_GPR(R15)(r1)
458 PPC_STL r16, HOST_NV_GPR(r16)(r1) 459 PPC_STL r16, HOST_NV_GPR(R16)(r1)
459 PPC_STL r17, HOST_NV_GPR(r17)(r1) 460 PPC_STL r17, HOST_NV_GPR(R17)(r1)
460 PPC_STL r18, HOST_NV_GPR(r18)(r1) 461 PPC_STL r18, HOST_NV_GPR(R18)(r1)
461 PPC_STL r19, HOST_NV_GPR(r19)(r1) 462 PPC_STL r19, HOST_NV_GPR(R19)(r1)
462 PPC_STL r20, HOST_NV_GPR(r20)(r1) 463 PPC_STL r20, HOST_NV_GPR(R20)(r1)
463 PPC_STL r21, HOST_NV_GPR(r21)(r1) 464 PPC_STL r21, HOST_NV_GPR(R21)(r1)
464 PPC_STL r22, HOST_NV_GPR(r22)(r1) 465 PPC_STL r22, HOST_NV_GPR(R22)(r1)
465 PPC_STL r23, HOST_NV_GPR(r23)(r1) 466 PPC_STL r23, HOST_NV_GPR(R23)(r1)
466 PPC_STL r24, HOST_NV_GPR(r24)(r1) 467 PPC_STL r24, HOST_NV_GPR(R24)(r1)
467 PPC_STL r25, HOST_NV_GPR(r25)(r1) 468 PPC_STL r25, HOST_NV_GPR(R25)(r1)
468 PPC_STL r26, HOST_NV_GPR(r26)(r1) 469 PPC_STL r26, HOST_NV_GPR(R26)(r1)
469 PPC_STL r27, HOST_NV_GPR(r27)(r1) 470 PPC_STL r27, HOST_NV_GPR(R27)(r1)
470 PPC_STL r28, HOST_NV_GPR(r28)(r1) 471 PPC_STL r28, HOST_NV_GPR(R28)(r1)
471 PPC_STL r29, HOST_NV_GPR(r29)(r1) 472 PPC_STL r29, HOST_NV_GPR(R29)(r1)
472 PPC_STL r30, HOST_NV_GPR(r30)(r1) 473 PPC_STL r30, HOST_NV_GPR(R30)(r1)
473 PPC_STL r31, HOST_NV_GPR(r31)(r1) 474 PPC_STL r31, HOST_NV_GPR(R31)(r1)
474 475
475 /* Load guest non-volatiles. */ 476 /* Load guest non-volatiles. */
476 PPC_LL r14, VCPU_GPR(R14)(r4) 477 PPC_LL r14, VCPU_GPR(R14)(r4)