diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-27 11:35:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-27 11:35:26 -0400 |
commit | b387e41e523c1aa347cff055455d0dd129357df4 (patch) | |
tree | 736b8f4ff0c683031d2f642c182fd01ed73be5d1 /arch/powerpc | |
parent | 43a1141b9f4fd9453b43ba5e8f136e7d47220dde (diff) | |
parent | bac821a6e3404330d509fd3a245bf7701f210c7c (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_defconfig | 103 | ||||
-rw-r--r-- | arch/powerpc/configs/ppc64_defconfig | 6 | ||||
-rw-r--r-- | arch/powerpc/configs/pseries_defconfig | 6 | ||||
-rw-r--r-- | arch/powerpc/kernel/entry_32.S | 12 | ||||
-rw-r--r-- | arch/powerpc/kernel/ftrace.c | 11 | ||||
-rw-r--r-- | arch/powerpc/kernel/rtas_flash.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kvm/bookehv_interrupts.S | 77 |
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 @@ | |||
1 | CONFIG_PPC64=y | ||
2 | CONFIG_ALTIVEC=y | ||
3 | CONFIG_SMP=y | ||
4 | CONFIG_NR_CPUS=4 | ||
5 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
6 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
7 | CONFIG_POSIX_MQUEUE=y | 3 | CONFIG_POSIX_MQUEUE=y |
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_HIGH_RES_TIMERS=y | ||
8 | CONFIG_IKCONFIG=y | 6 | CONFIG_IKCONFIG=y |
9 | CONFIG_IKCONFIG_PROC=y | 7 | CONFIG_IKCONFIG_PROC=y |
10 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
@@ -15,16 +13,15 @@ CONFIG_MODULES=y | |||
15 | CONFIG_MODULE_UNLOAD=y | 13 | CONFIG_MODULE_UNLOAD=y |
16 | CONFIG_MODVERSIONS=y | 14 | CONFIG_MODVERSIONS=y |
17 | CONFIG_MODULE_SRCVERSION_ALL=y | 15 | CONFIG_MODULE_SRCVERSION_ALL=y |
18 | # CONFIG_PPC_PSERIES is not set | 16 | CONFIG_PARTITION_ADVANCED=y |
17 | CONFIG_MAC_PARTITION=y | ||
18 | CONFIG_SMP=y | ||
19 | CONFIG_NR_CPUS=4 | ||
20 | CONFIG_KEXEC=y | ||
21 | # CONFIG_RELOCATABLE is not set | ||
19 | CONFIG_CPU_FREQ=y | 22 | CONFIG_CPU_FREQ=y |
20 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y | 23 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y |
21 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | 24 | CONFIG_CPU_FREQ_GOV_USERSPACE=y |
22 | CONFIG_CPU_FREQ_PMAC64=y | ||
23 | CONFIG_NO_HZ=y | ||
24 | CONFIG_HIGH_RES_TIMERS=y | ||
25 | CONFIG_KEXEC=y | ||
26 | CONFIG_IRQ_ALL_CPUS=y | ||
27 | # CONFIG_MIGRATION is not set | ||
28 | CONFIG_PCI_MSI=y | 25 | CONFIG_PCI_MSI=y |
29 | CONFIG_NET=y | 26 | CONFIG_NET=y |
30 | CONFIG_PACKET=y | 27 | CONFIG_PACKET=y |
@@ -52,7 +49,6 @@ CONFIG_NF_CT_NETLINK=m | |||
52 | CONFIG_NF_CONNTRACK_IPV4=m | 49 | CONFIG_NF_CONNTRACK_IPV4=m |
53 | CONFIG_IP_NF_QUEUE=m | 50 | CONFIG_IP_NF_QUEUE=m |
54 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 51 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
55 | CONFIG_PROC_DEVICETREE=y | ||
56 | CONFIG_BLK_DEV_LOOP=y | 52 | CONFIG_BLK_DEV_LOOP=y |
57 | CONFIG_BLK_DEV_NBD=m | 53 | CONFIG_BLK_DEV_NBD=m |
58 | CONFIG_BLK_DEV_RAM=y | 54 | CONFIG_BLK_DEV_RAM=y |
@@ -60,8 +56,6 @@ CONFIG_BLK_DEV_RAM_SIZE=65536 | |||
60 | CONFIG_CDROM_PKTCDVD=m | 56 | CONFIG_CDROM_PKTCDVD=m |
61 | CONFIG_IDE=y | 57 | CONFIG_IDE=y |
62 | CONFIG_BLK_DEV_IDECD=y | 58 | CONFIG_BLK_DEV_IDECD=y |
63 | CONFIG_BLK_DEV_IDE_PMAC=y | ||
64 | CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y | ||
65 | CONFIG_BLK_DEV_SD=y | 59 | CONFIG_BLK_DEV_SD=y |
66 | CONFIG_CHR_DEV_ST=y | 60 | CONFIG_CHR_DEV_ST=y |
67 | CONFIG_BLK_DEV_SR=y | 61 | CONFIG_BLK_DEV_SR=y |
@@ -85,33 +79,24 @@ CONFIG_DM_CRYPT=m | |||
85 | CONFIG_DM_SNAPSHOT=m | 79 | CONFIG_DM_SNAPSHOT=m |
86 | CONFIG_DM_MIRROR=m | 80 | CONFIG_DM_MIRROR=m |
87 | CONFIG_DM_ZERO=m | 81 | CONFIG_DM_ZERO=m |
88 | CONFIG_IEEE1394=y | 82 | CONFIG_MACINTOSH_DRIVERS=y |
89 | CONFIG_IEEE1394_OHCI1394=y | ||
90 | CONFIG_IEEE1394_SBP2=m | ||
91 | CONFIG_IEEE1394_ETH1394=m | ||
92 | CONFIG_IEEE1394_RAWIO=y | ||
93 | CONFIG_IEEE1394_VIDEO1394=m | ||
94 | CONFIG_IEEE1394_DV1394=m | ||
95 | CONFIG_ADB_PMU=y | ||
96 | CONFIG_PMAC_SMU=y | ||
97 | CONFIG_MAC_EMUMOUSEBTN=y | 83 | CONFIG_MAC_EMUMOUSEBTN=y |
98 | CONFIG_THERM_PM72=y | ||
99 | CONFIG_WINDFARM=y | ||
100 | CONFIG_WINDFARM_PM81=y | ||
101 | CONFIG_WINDFARM_PM91=y | ||
102 | CONFIG_WINDFARM_PM112=y | ||
103 | CONFIG_WINDFARM_PM121=y | ||
104 | CONFIG_NETDEVICES=y | 84 | CONFIG_NETDEVICES=y |
105 | CONFIG_DUMMY=m | ||
106 | CONFIG_BONDING=m | 85 | CONFIG_BONDING=m |
107 | CONFIG_TUN=m | 86 | CONFIG_DUMMY=m |
108 | CONFIG_NET_ETHERNET=y | ||
109 | CONFIG_MII=y | 87 | CONFIG_MII=y |
110 | CONFIG_SUNGEM=y | 88 | CONFIG_TUN=m |
111 | CONFIG_ACENIC=m | 89 | CONFIG_ACENIC=m |
112 | CONFIG_ACENIC_OMIT_TIGON_I=y | 90 | CONFIG_ACENIC_OMIT_TIGON_I=y |
113 | CONFIG_E1000=y | ||
114 | CONFIG_TIGON3=y | 91 | CONFIG_TIGON3=y |
92 | CONFIG_E1000=y | ||
93 | CONFIG_SUNGEM=y | ||
94 | CONFIG_PPP=m | ||
95 | CONFIG_PPP_BSDCOMP=m | ||
96 | CONFIG_PPP_DEFLATE=m | ||
97 | CONFIG_PPPOE=m | ||
98 | CONFIG_PPP_ASYNC=m | ||
99 | CONFIG_PPP_SYNC_TTY=m | ||
115 | CONFIG_USB_CATC=m | 100 | CONFIG_USB_CATC=m |
116 | CONFIG_USB_KAWETH=m | 101 | CONFIG_USB_KAWETH=m |
117 | CONFIG_USB_PEGASUS=m | 102 | CONFIG_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 |
124 | CONFIG_PPP=m | ||
125 | CONFIG_PPP_ASYNC=m | ||
126 | CONFIG_PPP_SYNC_TTY=m | ||
127 | CONFIG_PPP_DEFLATE=m | ||
128 | CONFIG_PPP_BSDCOMP=m | ||
129 | CONFIG_PPPOE=m | ||
130 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | 109 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set |
131 | CONFIG_INPUT_JOYDEV=m | 110 | CONFIG_INPUT_JOYDEV=m |
132 | CONFIG_INPUT_EVDEV=y | 111 | CONFIG_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 |
114 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
137 | # CONFIG_HW_RANDOM is not set | 115 | # CONFIG_HW_RANDOM is not set |
138 | CONFIG_GEN_RTC=y | 116 | CONFIG_GEN_RTC=y |
139 | CONFIG_RAW_DRIVER=y | 117 | CONFIG_RAW_DRIVER=y |
140 | CONFIG_I2C_CHARDEV=y | 118 | CONFIG_I2C_CHARDEV=y |
141 | # CONFIG_HWMON is not set | 119 | # CONFIG_HWMON is not set |
142 | CONFIG_AGP=m | 120 | CONFIG_AGP=y |
143 | CONFIG_AGP_UNINORTH=m | 121 | CONFIG_DRM=y |
122 | CONFIG_DRM_NOUVEAU=y | ||
144 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 123 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
145 | CONFIG_FB=y | ||
146 | CONFIG_FIRMWARE_EDID=y | 124 | CONFIG_FIRMWARE_EDID=y |
147 | CONFIG_FB_TILEBLITTING=y | 125 | CONFIG_FB_TILEBLITTING=y |
148 | CONFIG_FB_OF=y | ||
149 | CONFIG_FB_NVIDIA=y | ||
150 | CONFIG_FB_NVIDIA_I2C=y | ||
151 | CONFIG_FB_RADEON=y | 126 | CONFIG_FB_RADEON=y |
152 | # CONFIG_VGA_CONSOLE is not set | ||
153 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
154 | CONFIG_LOGO=y | 127 | CONFIG_LOGO=y |
155 | CONFIG_SOUND=m | 128 | CONFIG_SOUND=m |
156 | CONFIG_SND=m | 129 | CONFIG_SND=m |
@@ -158,15 +131,7 @@ CONFIG_SND_SEQUENCER=m | |||
158 | CONFIG_SND_MIXER_OSS=m | 131 | CONFIG_SND_MIXER_OSS=m |
159 | CONFIG_SND_PCM_OSS=m | 132 | CONFIG_SND_PCM_OSS=m |
160 | CONFIG_SND_SEQUENCER_OSS=y | 133 | CONFIG_SND_SEQUENCER_OSS=y |
161 | CONFIG_SND_POWERMAC=m | ||
162 | CONFIG_SND_AOA=m | ||
163 | CONFIG_SND_AOA_FABRIC_LAYOUT=m | ||
164 | CONFIG_SND_AOA_ONYX=m | ||
165 | CONFIG_SND_AOA_TAS=m | ||
166 | CONFIG_SND_AOA_TOONIE=m | ||
167 | CONFIG_SND_USB_AUDIO=m | 134 | CONFIG_SND_USB_AUDIO=m |
168 | CONFIG_HID_PID=y | ||
169 | CONFIG_USB_HIDDEV=y | ||
170 | CONFIG_HID_GYRATION=y | 135 | CONFIG_HID_GYRATION=y |
171 | CONFIG_LOGITECH_FF=y | 136 | CONFIG_LOGITECH_FF=y |
172 | CONFIG_HID_PANTHERLORD=y | 137 | CONFIG_HID_PANTHERLORD=y |
@@ -174,13 +139,12 @@ CONFIG_HID_PETALYNX=y | |||
174 | CONFIG_HID_SAMSUNG=y | 139 | CONFIG_HID_SAMSUNG=y |
175 | CONFIG_HID_SONY=y | 140 | CONFIG_HID_SONY=y |
176 | CONFIG_HID_SUNPLUS=y | 141 | CONFIG_HID_SUNPLUS=y |
142 | CONFIG_HID_PID=y | ||
143 | CONFIG_USB_HIDDEV=y | ||
177 | CONFIG_USB=y | 144 | CONFIG_USB=y |
178 | CONFIG_USB_DEVICEFS=y | ||
179 | CONFIG_USB_MON=y | 145 | CONFIG_USB_MON=y |
180 | CONFIG_USB_EHCI_HCD=y | 146 | CONFIG_USB_EHCI_HCD=y |
181 | # CONFIG_USB_EHCI_HCD_PPC_OF is not set | ||
182 | CONFIG_USB_OHCI_HCD=y | 147 | CONFIG_USB_OHCI_HCD=y |
183 | CONFIG_USB_OHCI_HCD_PPC_OF_BE=y | ||
184 | CONFIG_USB_ACM=m | 148 | CONFIG_USB_ACM=m |
185 | CONFIG_USB_PRINTER=y | 149 | CONFIG_USB_PRINTER=y |
186 | CONFIG_USB_STORAGE=y | 150 | CONFIG_USB_STORAGE=y |
@@ -244,8 +208,6 @@ CONFIG_REISERFS_FS_POSIX_ACL=y | |||
244 | CONFIG_REISERFS_FS_SECURITY=y | 208 | CONFIG_REISERFS_FS_SECURITY=y |
245 | CONFIG_XFS_FS=m | 209 | CONFIG_XFS_FS=m |
246 | CONFIG_XFS_POSIX_ACL=y | 210 | CONFIG_XFS_POSIX_ACL=y |
247 | CONFIG_INOTIFY=y | ||
248 | CONFIG_AUTOFS_FS=m | ||
249 | CONFIG_ISO9660_FS=y | 211 | CONFIG_ISO9660_FS=y |
250 | CONFIG_JOLIET=y | 212 | CONFIG_JOLIET=y |
251 | CONFIG_ZISOFS=y | 213 | CONFIG_ZISOFS=y |
@@ -259,14 +221,12 @@ CONFIG_HFS_FS=m | |||
259 | CONFIG_HFSPLUS_FS=m | 221 | CONFIG_HFSPLUS_FS=m |
260 | CONFIG_CRAMFS=y | 222 | CONFIG_CRAMFS=y |
261 | CONFIG_NFS_FS=y | 223 | CONFIG_NFS_FS=y |
262 | CONFIG_NFS_V3=y | ||
263 | CONFIG_NFS_V3_ACL=y | 224 | CONFIG_NFS_V3_ACL=y |
264 | CONFIG_NFS_V4=y | 225 | CONFIG_NFS_V4=y |
265 | CONFIG_NFSD=y | 226 | CONFIG_NFSD=y |
266 | CONFIG_NFSD_V3_ACL=y | 227 | CONFIG_NFSD_V3_ACL=y |
267 | CONFIG_NFSD_V4=y | 228 | CONFIG_NFSD_V4=y |
268 | CONFIG_CIFS=m | 229 | CONFIG_CIFS=m |
269 | CONFIG_PARTITION_ADVANCED=y | ||
270 | CONFIG_NLS_CODEPAGE_437=y | 230 | CONFIG_NLS_CODEPAGE_437=y |
271 | CONFIG_NLS_CODEPAGE_1250=y | 231 | CONFIG_NLS_CODEPAGE_1250=y |
272 | CONFIG_NLS_CODEPAGE_1251=y | 232 | CONFIG_NLS_CODEPAGE_1251=y |
@@ -274,29 +234,23 @@ CONFIG_NLS_ASCII=y | |||
274 | CONFIG_NLS_ISO8859_1=y | 234 | CONFIG_NLS_ISO8859_1=y |
275 | CONFIG_NLS_ISO8859_15=y | 235 | CONFIG_NLS_ISO8859_15=y |
276 | CONFIG_NLS_UTF8=y | 236 | CONFIG_NLS_UTF8=y |
277 | CONFIG_CRC_T10DIF=y | ||
278 | CONFIG_LIBCRC32C=m | ||
279 | CONFIG_MAGIC_SYSRQ=y | 237 | CONFIG_MAGIC_SYSRQ=y |
238 | # CONFIG_UNUSED_SYMBOLS is not set | ||
280 | CONFIG_DEBUG_FS=y | 239 | CONFIG_DEBUG_FS=y |
281 | CONFIG_DEBUG_KERNEL=y | 240 | CONFIG_DEBUG_KERNEL=y |
282 | CONFIG_DEBUG_MUTEXES=y | 241 | CONFIG_DEBUG_MUTEXES=y |
283 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
284 | CONFIG_LATENCYTOP=y | 242 | CONFIG_LATENCYTOP=y |
285 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 243 | CONFIG_STRICT_DEVMEM=y |
286 | CONFIG_BOOTX_TEXT=y | ||
287 | CONFIG_CRYPTO_NULL=m | 244 | CONFIG_CRYPTO_NULL=m |
288 | CONFIG_CRYPTO_TEST=m | 245 | CONFIG_CRYPTO_TEST=m |
289 | CONFIG_CRYPTO_ECB=m | ||
290 | CONFIG_CRYPTO_PCBC=m | 246 | CONFIG_CRYPTO_PCBC=m |
291 | CONFIG_CRYPTO_HMAC=y | 247 | CONFIG_CRYPTO_HMAC=y |
292 | CONFIG_CRYPTO_MD4=m | ||
293 | CONFIG_CRYPTO_MICHAEL_MIC=m | 248 | CONFIG_CRYPTO_MICHAEL_MIC=m |
294 | CONFIG_CRYPTO_SHA256=m | 249 | CONFIG_CRYPTO_SHA256=m |
295 | CONFIG_CRYPTO_SHA512=m | 250 | CONFIG_CRYPTO_SHA512=m |
296 | CONFIG_CRYPTO_WP512=m | 251 | CONFIG_CRYPTO_WP512=m |
297 | CONFIG_CRYPTO_AES=m | 252 | CONFIG_CRYPTO_AES=m |
298 | CONFIG_CRYPTO_ANUBIS=m | 253 | CONFIG_CRYPTO_ANUBIS=m |
299 | CONFIG_CRYPTO_ARC4=m | ||
300 | CONFIG_CRYPTO_BLOWFISH=m | 254 | CONFIG_CRYPTO_BLOWFISH=m |
301 | CONFIG_CRYPTO_CAST5=m | 255 | CONFIG_CRYPTO_CAST5=m |
302 | CONFIG_CRYPTO_CAST6=m | 256 | CONFIG_CRYPTO_CAST6=m |
@@ -306,3 +260,6 @@ CONFIG_CRYPTO_TEA=m | |||
306 | CONFIG_CRYPTO_TWOFISH=m | 260 | CONFIG_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 | ||
264 | CONFIG_CRC_T10DIF=y | ||
265 | CONFIG_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 | |||
279 | CONFIG_HVC_BEAT=y | 279 | CONFIG_HVC_BEAT=y |
280 | CONFIG_HVCS=m | 280 | CONFIG_HVCS=m |
281 | CONFIG_IBM_BSR=m | 281 | CONFIG_IBM_BSR=m |
282 | # CONFIG_HW_RANDOM is not set | 282 | CONFIG_HW_RANDOM=m |
283 | CONFIG_HW_RANDOM_PSERIES=m | ||
283 | CONFIG_RAW_DRIVER=y | 284 | CONFIG_RAW_DRIVER=y |
284 | CONFIG_I2C_CHARDEV=y | 285 | CONFIG_I2C_CHARDEV=y |
285 | CONFIG_I2C_AMD8111=y | 286 | CONFIG_I2C_AMD8111=y |
@@ -485,7 +486,8 @@ CONFIG_CRYPTO_TEA=m | |||
485 | CONFIG_CRYPTO_TWOFISH=m | 486 | CONFIG_CRYPTO_TWOFISH=m |
486 | CONFIG_CRYPTO_LZO=m | 487 | CONFIG_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 | 489 | CONFIG_CRYPTO_HW=y |
490 | CONFIG_CRYPTO_DEV_NX=m | ||
489 | CONFIG_VIRTUALIZATION=y | 491 | CONFIG_VIRTUALIZATION=y |
490 | CONFIG_KVM_BOOK3S_64=m | 492 | CONFIG_KVM_BOOK3S_64=m |
491 | CONFIG_KVM_BOOK3S_64_HV=y | 493 | CONFIG_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 | |||
226 | CONFIG_HVC_RTAS=y | 226 | CONFIG_HVC_RTAS=y |
227 | CONFIG_HVCS=m | 227 | CONFIG_HVCS=m |
228 | CONFIG_IBM_BSR=m | 228 | CONFIG_IBM_BSR=m |
229 | # CONFIG_HW_RANDOM is not set | 229 | CONFIG_HW_RANDOM=m |
230 | CONFIG_HW_RANDOM_PSERIES=m | ||
230 | CONFIG_GEN_RTC=y | 231 | CONFIG_GEN_RTC=y |
231 | CONFIG_RAW_DRIVER=y | 232 | CONFIG_RAW_DRIVER=y |
232 | CONFIG_MAX_RAW_DEVS=1024 | 233 | CONFIG_MAX_RAW_DEVS=1024 |
@@ -367,7 +368,8 @@ CONFIG_CRYPTO_TEA=m | |||
367 | CONFIG_CRYPTO_TWOFISH=m | 368 | CONFIG_CRYPTO_TWOFISH=m |
368 | CONFIG_CRYPTO_LZO=m | 369 | CONFIG_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 | 371 | CONFIG_CRYPTO_HW=y |
372 | CONFIG_CRYPTO_DEV_NX=m | ||
371 | CONFIG_VIRTUALIZATION=y | 373 | CONFIG_VIRTUALIZATION=y |
372 | CONFIG_KVM_BOOK3S_64=m | 374 | CONFIG_KVM_BOOK3S_64=m |
373 | CONFIG_KVM_BOOK3S_64_HV=y | 375 | CONFIG_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) |