diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-10 19:16:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-10 19:16:33 -0400 |
commit | 3c693024cffa5c96a20b969f4efd058675e7700f (patch) | |
tree | 2e49a90c3e67a898770fe0ea735d00326dbe3f69 /arch/powerpc | |
parent | 107c3a73e0ee037322efa00fa3cb45b3b7eb6069 (diff) | |
parent | 10270613fb4d5a44c335cfa13e9626bf5743c01d (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Fix windfarm platform device usage
[POWERPC] Fix i2c-powermac platform device usage
[POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs
[POWERPC] ARCH=ppc pt_regs fixes
[POWERPC] Update maple defconfig
[POWERPC] Fix Maple secondary IDE interrupt
[POWERPC] Make U4 PCIe work on maple
[POWERPC] cell: fix default zImage build target
[POWERPC] Fix boot wrapper invocation if CROSS_COMPILE contains spaces
[POWERPC] Fix xmon IRQ handler for pt_regs removal
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/boot/Makefile | 16 | ||||
-rw-r--r-- | arch/powerpc/configs/maple_defconfig | 56 | ||||
-rw-r--r-- | arch/powerpc/platforms/maple/pci.c | 187 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/smp.c | 7 | ||||
-rw-r--r-- | arch/powerpc/xmon/xmon.c | 6 |
5 files changed, 241 insertions, 31 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 003520b56303..37ddfcab0003 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -105,10 +105,10 @@ wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff) | |||
105 | # Bits for building various flavours of zImage | 105 | # Bits for building various flavours of zImage |
106 | 106 | ||
107 | ifneq ($(CROSS32_COMPILE),) | 107 | ifneq ($(CROSS32_COMPILE),) |
108 | CROSSWRAP := -C $(CROSS32_COMPILE) | 108 | CROSSWRAP := -C "$(CROSS32_COMPILE)" |
109 | else | 109 | else |
110 | ifneq ($(CROSS_COMPILE),) | 110 | ifneq ($(CROSS_COMPILE),) |
111 | CROSSWRAP := -C $(CROSS_COMPILE) | 111 | CROSSWRAP := -C "$(CROSS_COMPILE)" |
112 | endif | 112 | endif |
113 | endif | 113 | endif |
114 | 114 | ||
@@ -151,12 +151,12 @@ $(obj)/zImage.initrd.miboot: vmlinux $(wrapperbits) | |||
151 | $(obj)/uImage: vmlinux $(wrapperbits) | 151 | $(obj)/uImage: vmlinux $(wrapperbits) |
152 | $(call cmd,wrap,uboot) | 152 | $(call cmd,wrap,uboot) |
153 | 153 | ||
154 | image-$(CONFIG_PPC_PSERIES) += zImage.pseries | 154 | image-$(CONFIG_PPC_PSERIES) += zImage.pseries |
155 | image-$(CONFIG_PPC_MAPLE) += zImage.pseries | 155 | image-$(CONFIG_PPC_MAPLE) += zImage.pseries |
156 | image-$(CONFIG_PPC_CELL) += zImage.pseries | 156 | image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries |
157 | image-$(CONFIG_PPC_CHRP) += zImage.chrp | 157 | image-$(CONFIG_PPC_CHRP) += zImage.chrp |
158 | image-$(CONFIG_PPC_PMAC) += zImage.pmac | 158 | image-$(CONFIG_PPC_PMAC) += zImage.pmac |
159 | image-$(CONFIG_DEFAULT_UIMAGE) += uImage | 159 | image-$(CONFIG_DEFAULT_UIMAGE) += uImage |
160 | 160 | ||
161 | # For 32-bit powermacs, build the COFF and miboot images | 161 | # For 32-bit powermacs, build the COFF and miboot images |
162 | # as well as the ELF images. | 162 | # as well as the ELF images. |
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig index 62ba66091a13..ae96a5b2f00d 100644 --- a/arch/powerpc/configs/maple_defconfig +++ b/arch/powerpc/configs/maple_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18-rc6 | 3 | # Linux kernel version: 2.6.18 |
4 | # Sun Sep 10 10:24:55 2006 | 4 | # Mon Oct 9 11:59:34 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -22,6 +22,7 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y | |||
22 | CONFIG_PPC_OF=y | 22 | CONFIG_PPC_OF=y |
23 | CONFIG_PPC_UDBG_16550=y | 23 | CONFIG_PPC_UDBG_16550=y |
24 | CONFIG_GENERIC_TBSYNC=y | 24 | CONFIG_GENERIC_TBSYNC=y |
25 | CONFIG_AUDIT_ARCH=y | ||
25 | # CONFIG_DEFAULT_UIMAGE is not set | 26 | # CONFIG_DEFAULT_UIMAGE is not set |
26 | 27 | ||
27 | # | 28 | # |
@@ -34,7 +35,7 @@ CONFIG_PPC_FPU=y | |||
34 | CONFIG_PPC_STD_MMU=y | 35 | CONFIG_PPC_STD_MMU=y |
35 | CONFIG_VIRT_CPU_ACCOUNTING=y | 36 | CONFIG_VIRT_CPU_ACCOUNTING=y |
36 | CONFIG_SMP=y | 37 | CONFIG_SMP=y |
37 | CONFIG_NR_CPUS=2 | 38 | CONFIG_NR_CPUS=4 |
38 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 39 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
39 | 40 | ||
40 | # | 41 | # |
@@ -51,10 +52,11 @@ CONFIG_LOCALVERSION="" | |||
51 | CONFIG_LOCALVERSION_AUTO=y | 52 | CONFIG_LOCALVERSION_AUTO=y |
52 | CONFIG_SWAP=y | 53 | CONFIG_SWAP=y |
53 | CONFIG_SYSVIPC=y | 54 | CONFIG_SYSVIPC=y |
55 | # CONFIG_IPC_NS is not set | ||
54 | CONFIG_POSIX_MQUEUE=y | 56 | CONFIG_POSIX_MQUEUE=y |
55 | # CONFIG_BSD_PROCESS_ACCT is not set | 57 | # CONFIG_BSD_PROCESS_ACCT is not set |
56 | # CONFIG_TASKSTATS is not set | 58 | # CONFIG_TASKSTATS is not set |
57 | CONFIG_SYSCTL=y | 59 | # CONFIG_UTS_NS is not set |
58 | # CONFIG_AUDIT is not set | 60 | # CONFIG_AUDIT is not set |
59 | CONFIG_IKCONFIG=y | 61 | CONFIG_IKCONFIG=y |
60 | CONFIG_IKCONFIG_PROC=y | 62 | CONFIG_IKCONFIG_PROC=y |
@@ -62,7 +64,9 @@ CONFIG_IKCONFIG_PROC=y | |||
62 | # CONFIG_RELAY is not set | 64 | # CONFIG_RELAY is not set |
63 | CONFIG_INITRAMFS_SOURCE="" | 65 | CONFIG_INITRAMFS_SOURCE="" |
64 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
67 | CONFIG_SYSCTL=y | ||
65 | # CONFIG_EMBEDDED is not set | 68 | # CONFIG_EMBEDDED is not set |
69 | # CONFIG_SYSCTL_SYSCALL is not set | ||
66 | CONFIG_KALLSYMS=y | 70 | CONFIG_KALLSYMS=y |
67 | CONFIG_KALLSYMS_ALL=y | 71 | CONFIG_KALLSYMS_ALL=y |
68 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 72 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -71,12 +75,12 @@ CONFIG_PRINTK=y | |||
71 | CONFIG_BUG=y | 75 | CONFIG_BUG=y |
72 | CONFIG_ELF_CORE=y | 76 | CONFIG_ELF_CORE=y |
73 | CONFIG_BASE_FULL=y | 77 | CONFIG_BASE_FULL=y |
74 | CONFIG_RT_MUTEXES=y | ||
75 | CONFIG_FUTEX=y | 78 | CONFIG_FUTEX=y |
76 | CONFIG_EPOLL=y | 79 | CONFIG_EPOLL=y |
77 | CONFIG_SHMEM=y | 80 | CONFIG_SHMEM=y |
78 | CONFIG_SLAB=y | 81 | CONFIG_SLAB=y |
79 | CONFIG_VM_EVENT_COUNTERS=y | 82 | CONFIG_VM_EVENT_COUNTERS=y |
83 | CONFIG_RT_MUTEXES=y | ||
80 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
81 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
82 | # CONFIG_SLOB is not set | 86 | # CONFIG_SLOB is not set |
@@ -95,6 +99,7 @@ CONFIG_STOP_MACHINE=y | |||
95 | # | 99 | # |
96 | # Block layer | 100 | # Block layer |
97 | # | 101 | # |
102 | CONFIG_BLOCK=y | ||
98 | # CONFIG_BLK_DEV_IO_TRACE is not set | 103 | # CONFIG_BLK_DEV_IO_TRACE is not set |
99 | 104 | ||
100 | # | 105 | # |
@@ -114,16 +119,16 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
114 | # Platform support | 119 | # Platform support |
115 | # | 120 | # |
116 | CONFIG_PPC_MULTIPLATFORM=y | 121 | CONFIG_PPC_MULTIPLATFORM=y |
117 | # CONFIG_PPC_ISERIES is not set | ||
118 | # CONFIG_EMBEDDED6xx is not set | 122 | # CONFIG_EMBEDDED6xx is not set |
119 | # CONFIG_APUS is not set | 123 | # CONFIG_APUS is not set |
120 | # CONFIG_PPC_PSERIES is not set | 124 | # CONFIG_PPC_PSERIES is not set |
125 | # CONFIG_PPC_ISERIES is not set | ||
121 | # CONFIG_PPC_PMAC is not set | 126 | # CONFIG_PPC_PMAC is not set |
122 | CONFIG_PPC_MAPLE=y | 127 | CONFIG_PPC_MAPLE=y |
128 | # CONFIG_PPC_PASEMI is not set | ||
123 | # CONFIG_PPC_CELL is not set | 129 | # CONFIG_PPC_CELL is not set |
124 | # CONFIG_PPC_CELL_NATIVE is not set | 130 | # CONFIG_PPC_CELL_NATIVE is not set |
125 | # CONFIG_PPC_IBM_CELL_BLADE is not set | 131 | # CONFIG_PPC_IBM_CELL_BLADE is not set |
126 | # CONFIG_UDBG_RTAS_CONSOLE is not set | ||
127 | CONFIG_U3_DART=y | 132 | CONFIG_U3_DART=y |
128 | # CONFIG_PPC_RTAS is not set | 133 | # CONFIG_PPC_RTAS is not set |
129 | # CONFIG_MMIO_NVRAM is not set | 134 | # CONFIG_MMIO_NVRAM is not set |
@@ -157,6 +162,7 @@ CONFIG_IRQ_ALL_CPUS=y | |||
157 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 162 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y |
158 | CONFIG_ARCH_FLATMEM_ENABLE=y | 163 | CONFIG_ARCH_FLATMEM_ENABLE=y |
159 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 164 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
165 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
160 | CONFIG_SELECT_MEMORY_MODEL=y | 166 | CONFIG_SELECT_MEMORY_MODEL=y |
161 | CONFIG_FLATMEM_MANUAL=y | 167 | CONFIG_FLATMEM_MANUAL=y |
162 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 168 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
@@ -184,6 +190,7 @@ CONFIG_GENERIC_ISA_DMA=y | |||
184 | CONFIG_PCI=y | 190 | CONFIG_PCI=y |
185 | CONFIG_PCI_DOMAINS=y | 191 | CONFIG_PCI_DOMAINS=y |
186 | # CONFIG_PCIEPORTBUS is not set | 192 | # CONFIG_PCIEPORTBUS is not set |
193 | # CONFIG_PCI_MULTITHREAD_PROBE is not set | ||
187 | # CONFIG_PCI_DEBUG is not set | 194 | # CONFIG_PCI_DEBUG is not set |
188 | 195 | ||
189 | # | 196 | # |
@@ -211,6 +218,7 @@ CONFIG_PACKET_MMAP=y | |||
211 | CONFIG_UNIX=y | 218 | CONFIG_UNIX=y |
212 | CONFIG_XFRM=y | 219 | CONFIG_XFRM=y |
213 | CONFIG_XFRM_USER=m | 220 | CONFIG_XFRM_USER=m |
221 | # CONFIG_XFRM_SUB_POLICY is not set | ||
214 | # CONFIG_NET_KEY is not set | 222 | # CONFIG_NET_KEY is not set |
215 | CONFIG_INET=y | 223 | CONFIG_INET=y |
216 | CONFIG_IP_MULTICAST=y | 224 | CONFIG_IP_MULTICAST=y |
@@ -232,10 +240,12 @@ CONFIG_IP_PNP_DHCP=y | |||
232 | # CONFIG_INET_TUNNEL is not set | 240 | # CONFIG_INET_TUNNEL is not set |
233 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 241 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
234 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 242 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
243 | CONFIG_INET_XFRM_MODE_BEET=y | ||
235 | CONFIG_INET_DIAG=y | 244 | CONFIG_INET_DIAG=y |
236 | CONFIG_INET_TCP_DIAG=y | 245 | CONFIG_INET_TCP_DIAG=y |
237 | # CONFIG_TCP_CONG_ADVANCED is not set | 246 | # CONFIG_TCP_CONG_ADVANCED is not set |
238 | CONFIG_TCP_CONG_BIC=y | 247 | CONFIG_TCP_CONG_CUBIC=y |
248 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
239 | # CONFIG_IPV6 is not set | 249 | # CONFIG_IPV6 is not set |
240 | # CONFIG_INET6_XFRM_TUNNEL is not set | 250 | # CONFIG_INET6_XFRM_TUNNEL is not set |
241 | # CONFIG_INET6_TUNNEL is not set | 251 | # CONFIG_INET6_TUNNEL is not set |
@@ -265,7 +275,6 @@ CONFIG_TCP_CONG_BIC=y | |||
265 | # CONFIG_ATALK is not set | 275 | # CONFIG_ATALK is not set |
266 | # CONFIG_X25 is not set | 276 | # CONFIG_X25 is not set |
267 | # CONFIG_LAPB is not set | 277 | # CONFIG_LAPB is not set |
268 | # CONFIG_NET_DIVERT is not set | ||
269 | # CONFIG_ECONET is not set | 278 | # CONFIG_ECONET is not set |
270 | # CONFIG_WAN_ROUTER is not set | 279 | # CONFIG_WAN_ROUTER is not set |
271 | 280 | ||
@@ -377,6 +386,7 @@ CONFIG_BLK_DEV_AMD74XX=y | |||
377 | # CONFIG_BLK_DEV_CS5530 is not set | 386 | # CONFIG_BLK_DEV_CS5530 is not set |
378 | # CONFIG_BLK_DEV_HPT34X is not set | 387 | # CONFIG_BLK_DEV_HPT34X is not set |
379 | # CONFIG_BLK_DEV_HPT366 is not set | 388 | # CONFIG_BLK_DEV_HPT366 is not set |
389 | # CONFIG_BLK_DEV_JMICRON is not set | ||
380 | # CONFIG_BLK_DEV_SC1200 is not set | 390 | # CONFIG_BLK_DEV_SC1200 is not set |
381 | # CONFIG_BLK_DEV_PIIX is not set | 391 | # CONFIG_BLK_DEV_PIIX is not set |
382 | # CONFIG_BLK_DEV_IT821X is not set | 392 | # CONFIG_BLK_DEV_IT821X is not set |
@@ -399,6 +409,12 @@ CONFIG_IDEDMA_AUTO=y | |||
399 | # | 409 | # |
400 | # CONFIG_RAID_ATTRS is not set | 410 | # CONFIG_RAID_ATTRS is not set |
401 | # CONFIG_SCSI is not set | 411 | # CONFIG_SCSI is not set |
412 | # CONFIG_SCSI_NETLINK is not set | ||
413 | |||
414 | # | ||
415 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
416 | # | ||
417 | # CONFIG_ATA is not set | ||
402 | 418 | ||
403 | # | 419 | # |
404 | # Multi-device support (RAID and LVM) | 420 | # Multi-device support (RAID and LVM) |
@@ -498,7 +514,7 @@ CONFIG_E1000=y | |||
498 | # CONFIG_VIA_VELOCITY is not set | 514 | # CONFIG_VIA_VELOCITY is not set |
499 | CONFIG_TIGON3=y | 515 | CONFIG_TIGON3=y |
500 | # CONFIG_BNX2 is not set | 516 | # CONFIG_BNX2 is not set |
501 | # CONFIG_MV643XX_ETH is not set | 517 | # CONFIG_QLA3XXX is not set |
502 | 518 | ||
503 | # | 519 | # |
504 | # Ethernet (10000 Mbit) | 520 | # Ethernet (10000 Mbit) |
@@ -545,6 +561,7 @@ CONFIG_TIGON3=y | |||
545 | # Input device support | 561 | # Input device support |
546 | # | 562 | # |
547 | CONFIG_INPUT=y | 563 | CONFIG_INPUT=y |
564 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
548 | 565 | ||
549 | # | 566 | # |
550 | # Userland interfaces | 567 | # Userland interfaces |
@@ -704,6 +721,7 @@ CONFIG_I2C_AMD8111=y | |||
704 | # | 721 | # |
705 | # Misc devices | 722 | # Misc devices |
706 | # | 723 | # |
724 | # CONFIG_TIFM_CORE is not set | ||
707 | 725 | ||
708 | # | 726 | # |
709 | # Multimedia devices | 727 | # Multimedia devices |
@@ -779,7 +797,6 @@ CONFIG_USB_UHCI_HCD=y | |||
779 | # | 797 | # |
780 | # may also be needed; see USB_STORAGE Help for more information | 798 | # may also be needed; see USB_STORAGE Help for more information |
781 | # | 799 | # |
782 | # CONFIG_USB_STORAGE is not set | ||
783 | # CONFIG_USB_LIBUSUAL is not set | 800 | # CONFIG_USB_LIBUSUAL is not set |
784 | 801 | ||
785 | # | 802 | # |
@@ -802,6 +819,7 @@ CONFIG_USB_HIDINPUT=y | |||
802 | # CONFIG_USB_ATI_REMOTE2 is not set | 819 | # CONFIG_USB_ATI_REMOTE2 is not set |
803 | # CONFIG_USB_KEYSPAN_REMOTE is not set | 820 | # CONFIG_USB_KEYSPAN_REMOTE is not set |
804 | # CONFIG_USB_APPLETOUCH is not set | 821 | # CONFIG_USB_APPLETOUCH is not set |
822 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
805 | 823 | ||
806 | # | 824 | # |
807 | # USB Imaging devices | 825 | # USB Imaging devices |
@@ -828,6 +846,7 @@ CONFIG_USB_MON=y | |||
828 | CONFIG_USB_SERIAL=y | 846 | CONFIG_USB_SERIAL=y |
829 | # CONFIG_USB_SERIAL_CONSOLE is not set | 847 | # CONFIG_USB_SERIAL_CONSOLE is not set |
830 | CONFIG_USB_SERIAL_GENERIC=y | 848 | CONFIG_USB_SERIAL_GENERIC=y |
849 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
831 | # CONFIG_USB_SERIAL_AIRPRIME is not set | 850 | # CONFIG_USB_SERIAL_AIRPRIME is not set |
832 | # CONFIG_USB_SERIAL_ARK3116 is not set | 851 | # CONFIG_USB_SERIAL_ARK3116 is not set |
833 | # CONFIG_USB_SERIAL_BELKIN is not set | 852 | # CONFIG_USB_SERIAL_BELKIN is not set |
@@ -862,6 +881,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
862 | # CONFIG_USB_SERIAL_KLSI is not set | 881 | # CONFIG_USB_SERIAL_KLSI is not set |
863 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | 882 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set |
864 | # CONFIG_USB_SERIAL_MCT_U232 is not set | 883 | # CONFIG_USB_SERIAL_MCT_U232 is not set |
884 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
865 | # CONFIG_USB_SERIAL_NAVMAN is not set | 885 | # CONFIG_USB_SERIAL_NAVMAN is not set |
866 | # CONFIG_USB_SERIAL_PL2303 is not set | 886 | # CONFIG_USB_SERIAL_PL2303 is not set |
867 | # CONFIG_USB_SERIAL_HP4X is not set | 887 | # CONFIG_USB_SERIAL_HP4X is not set |
@@ -879,6 +899,7 @@ CONFIG_USB_EZUSB=y | |||
879 | # | 899 | # |
880 | # CONFIG_USB_EMI62 is not set | 900 | # CONFIG_USB_EMI62 is not set |
881 | # CONFIG_USB_EMI26 is not set | 901 | # CONFIG_USB_EMI26 is not set |
902 | # CONFIG_USB_ADUTUX is not set | ||
882 | # CONFIG_USB_AUERSWALD is not set | 903 | # CONFIG_USB_AUERSWALD is not set |
883 | # CONFIG_USB_RIO500 is not set | 904 | # CONFIG_USB_RIO500 is not set |
884 | # CONFIG_USB_LEGOTOWER is not set | 905 | # CONFIG_USB_LEGOTOWER is not set |
@@ -886,9 +907,9 @@ CONFIG_USB_EZUSB=y | |||
886 | # CONFIG_USB_LED is not set | 907 | # CONFIG_USB_LED is not set |
887 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 908 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
888 | # CONFIG_USB_CYTHERM is not set | 909 | # CONFIG_USB_CYTHERM is not set |
889 | # CONFIG_USB_PHIDGETKIT is not set | 910 | # CONFIG_USB_PHIDGET is not set |
890 | # CONFIG_USB_PHIDGETSERVO is not set | ||
891 | # CONFIG_USB_IDMOUSE is not set | 911 | # CONFIG_USB_IDMOUSE is not set |
912 | # CONFIG_USB_FTDI_ELAN is not set | ||
892 | # CONFIG_USB_APPLEDISPLAY is not set | 913 | # CONFIG_USB_APPLEDISPLAY is not set |
893 | # CONFIG_USB_SISUSBVGA is not set | 914 | # CONFIG_USB_SISUSBVGA is not set |
894 | # CONFIG_USB_LD is not set | 915 | # CONFIG_USB_LD is not set |
@@ -995,8 +1016,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
995 | # | 1016 | # |
996 | CONFIG_PROC_FS=y | 1017 | CONFIG_PROC_FS=y |
997 | CONFIG_PROC_KCORE=y | 1018 | CONFIG_PROC_KCORE=y |
1019 | CONFIG_PROC_SYSCTL=y | ||
998 | CONFIG_SYSFS=y | 1020 | CONFIG_SYSFS=y |
999 | CONFIG_TMPFS=y | 1021 | CONFIG_TMPFS=y |
1022 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1000 | CONFIG_HUGETLBFS=y | 1023 | CONFIG_HUGETLBFS=y |
1001 | CONFIG_HUGETLB_PAGE=y | 1024 | CONFIG_HUGETLB_PAGE=y |
1002 | CONFIG_RAMFS=y | 1025 | CONFIG_RAMFS=y |
@@ -1129,6 +1152,7 @@ CONFIG_PLIST=y | |||
1129 | # Kernel hacking | 1152 | # Kernel hacking |
1130 | # | 1153 | # |
1131 | # CONFIG_PRINTK_TIME is not set | 1154 | # CONFIG_PRINTK_TIME is not set |
1155 | CONFIG_ENABLE_MUST_CHECK=y | ||
1132 | CONFIG_MAGIC_SYSRQ=y | 1156 | CONFIG_MAGIC_SYSRQ=y |
1133 | # CONFIG_UNUSED_SYMBOLS is not set | 1157 | # CONFIG_UNUSED_SYMBOLS is not set |
1134 | CONFIG_DEBUG_KERNEL=y | 1158 | CONFIG_DEBUG_KERNEL=y |
@@ -1148,6 +1172,7 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y | |||
1148 | # CONFIG_DEBUG_INFO is not set | 1172 | # CONFIG_DEBUG_INFO is not set |
1149 | CONFIG_DEBUG_FS=y | 1173 | CONFIG_DEBUG_FS=y |
1150 | # CONFIG_DEBUG_VM is not set | 1174 | # CONFIG_DEBUG_VM is not set |
1175 | # CONFIG_DEBUG_LIST is not set | ||
1151 | # CONFIG_FORCED_INLINING is not set | 1176 | # CONFIG_FORCED_INLINING is not set |
1152 | # CONFIG_RCU_TORTURE_TEST is not set | 1177 | # CONFIG_RCU_TORTURE_TEST is not set |
1153 | CONFIG_DEBUG_STACKOVERFLOW=y | 1178 | CONFIG_DEBUG_STACKOVERFLOW=y |
@@ -1169,6 +1194,9 @@ CONFIG_BOOTX_TEXT=y | |||
1169 | # Cryptographic options | 1194 | # Cryptographic options |
1170 | # | 1195 | # |
1171 | CONFIG_CRYPTO=y | 1196 | CONFIG_CRYPTO=y |
1197 | CONFIG_CRYPTO_ALGAPI=y | ||
1198 | CONFIG_CRYPTO_BLKCIPHER=m | ||
1199 | CONFIG_CRYPTO_MANAGER=m | ||
1172 | # CONFIG_CRYPTO_HMAC is not set | 1200 | # CONFIG_CRYPTO_HMAC is not set |
1173 | # CONFIG_CRYPTO_NULL is not set | 1201 | # CONFIG_CRYPTO_NULL is not set |
1174 | # CONFIG_CRYPTO_MD4 is not set | 1202 | # CONFIG_CRYPTO_MD4 is not set |
@@ -1178,6 +1206,8 @@ CONFIG_CRYPTO_MD5=y | |||
1178 | # CONFIG_CRYPTO_SHA512 is not set | 1206 | # CONFIG_CRYPTO_SHA512 is not set |
1179 | # CONFIG_CRYPTO_WP512 is not set | 1207 | # CONFIG_CRYPTO_WP512 is not set |
1180 | # CONFIG_CRYPTO_TGR192 is not set | 1208 | # CONFIG_CRYPTO_TGR192 is not set |
1209 | CONFIG_CRYPTO_ECB=m | ||
1210 | CONFIG_CRYPTO_CBC=m | ||
1181 | CONFIG_CRYPTO_DES=y | 1211 | CONFIG_CRYPTO_DES=y |
1182 | # CONFIG_CRYPTO_BLOWFISH is not set | 1212 | # CONFIG_CRYPTO_BLOWFISH is not set |
1183 | # CONFIG_CRYPTO_TWOFISH is not set | 1213 | # CONFIG_CRYPTO_TWOFISH is not set |
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 1b827618e05f..63b4d1bff359 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -8,7 +8,7 @@ | |||
8 | * 2 of the License, or (at your option) any later version. | 8 | * 2 of the License, or (at your option) any later version. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #define DEBUG | 11 | #undef DEBUG |
12 | 12 | ||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/pci.h> | 14 | #include <linux/pci.h> |
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/string.h> | 16 | #include <linux/string.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/bootmem.h> | 18 | #include <linux/bootmem.h> |
19 | #include <linux/irq.h> | ||
19 | 20 | ||
20 | #include <asm/sections.h> | 21 | #include <asm/sections.h> |
21 | #include <asm/io.h> | 22 | #include <asm/io.h> |
@@ -33,7 +34,7 @@ | |||
33 | #define DBG(x...) | 34 | #define DBG(x...) |
34 | #endif | 35 | #endif |
35 | 36 | ||
36 | static struct pci_controller *u3_agp, *u3_ht; | 37 | static struct pci_controller *u3_agp, *u3_ht, *u4_pcie; |
37 | 38 | ||
38 | static int __init fixup_one_level_bus_range(struct device_node *node, int higher) | 39 | static int __init fixup_one_level_bus_range(struct device_node *node, int higher) |
39 | { | 40 | { |
@@ -287,6 +288,114 @@ static struct pci_ops u3_ht_pci_ops = | |||
287 | u3_ht_write_config | 288 | u3_ht_write_config |
288 | }; | 289 | }; |
289 | 290 | ||
291 | static unsigned int u4_pcie_cfa0(unsigned int devfn, unsigned int off) | ||
292 | { | ||
293 | return (1 << PCI_SLOT(devfn)) | | ||
294 | (PCI_FUNC(devfn) << 8) | | ||
295 | ((off >> 8) << 28) | | ||
296 | (off & 0xfcu); | ||
297 | } | ||
298 | |||
299 | static unsigned int u4_pcie_cfa1(unsigned int bus, unsigned int devfn, | ||
300 | unsigned int off) | ||
301 | { | ||
302 | return (bus << 16) | | ||
303 | (devfn << 8) | | ||
304 | ((off >> 8) << 28) | | ||
305 | (off & 0xfcu) | 1u; | ||
306 | } | ||
307 | |||
308 | static volatile void __iomem *u4_pcie_cfg_access(struct pci_controller* hose, | ||
309 | u8 bus, u8 dev_fn, int offset) | ||
310 | { | ||
311 | unsigned int caddr; | ||
312 | |||
313 | if (bus == hose->first_busno) | ||
314 | caddr = u4_pcie_cfa0(dev_fn, offset); | ||
315 | else | ||
316 | caddr = u4_pcie_cfa1(bus, dev_fn, offset); | ||
317 | |||
318 | /* Uninorth will return garbage if we don't read back the value ! */ | ||
319 | do { | ||
320 | out_le32(hose->cfg_addr, caddr); | ||
321 | } while (in_le32(hose->cfg_addr) != caddr); | ||
322 | |||
323 | offset &= 0x03; | ||
324 | return hose->cfg_data + offset; | ||
325 | } | ||
326 | |||
327 | static int u4_pcie_read_config(struct pci_bus *bus, unsigned int devfn, | ||
328 | int offset, int len, u32 *val) | ||
329 | { | ||
330 | struct pci_controller *hose; | ||
331 | volatile void __iomem *addr; | ||
332 | |||
333 | hose = pci_bus_to_host(bus); | ||
334 | if (hose == NULL) | ||
335 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
336 | if (offset >= 0x1000) | ||
337 | return PCIBIOS_BAD_REGISTER_NUMBER; | ||
338 | addr = u4_pcie_cfg_access(hose, bus->number, devfn, offset); | ||
339 | if (!addr) | ||
340 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
341 | /* | ||
342 | * Note: the caller has already checked that offset is | ||
343 | * suitably aligned and that len is 1, 2 or 4. | ||
344 | */ | ||
345 | switch (len) { | ||
346 | case 1: | ||
347 | *val = in_8(addr); | ||
348 | break; | ||
349 | case 2: | ||
350 | *val = in_le16(addr); | ||
351 | break; | ||
352 | default: | ||
353 | *val = in_le32(addr); | ||
354 | break; | ||
355 | } | ||
356 | return PCIBIOS_SUCCESSFUL; | ||
357 | } | ||
358 | static int u4_pcie_write_config(struct pci_bus *bus, unsigned int devfn, | ||
359 | int offset, int len, u32 val) | ||
360 | { | ||
361 | struct pci_controller *hose; | ||
362 | volatile void __iomem *addr; | ||
363 | |||
364 | hose = pci_bus_to_host(bus); | ||
365 | if (hose == NULL) | ||
366 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
367 | if (offset >= 0x1000) | ||
368 | return PCIBIOS_BAD_REGISTER_NUMBER; | ||
369 | addr = u4_pcie_cfg_access(hose, bus->number, devfn, offset); | ||
370 | if (!addr) | ||
371 | return PCIBIOS_DEVICE_NOT_FOUND; | ||
372 | /* | ||
373 | * Note: the caller has already checked that offset is | ||
374 | * suitably aligned and that len is 1, 2 or 4. | ||
375 | */ | ||
376 | switch (len) { | ||
377 | case 1: | ||
378 | out_8(addr, val); | ||
379 | (void) in_8(addr); | ||
380 | break; | ||
381 | case 2: | ||
382 | out_le16(addr, val); | ||
383 | (void) in_le16(addr); | ||
384 | break; | ||
385 | default: | ||
386 | out_le32(addr, val); | ||
387 | (void) in_le32(addr); | ||
388 | break; | ||
389 | } | ||
390 | return PCIBIOS_SUCCESSFUL; | ||
391 | } | ||
392 | |||
393 | static struct pci_ops u4_pcie_pci_ops = | ||
394 | { | ||
395 | u4_pcie_read_config, | ||
396 | u4_pcie_write_config | ||
397 | }; | ||
398 | |||
290 | static void __init setup_u3_agp(struct pci_controller* hose) | 399 | static void __init setup_u3_agp(struct pci_controller* hose) |
291 | { | 400 | { |
292 | /* On G5, we move AGP up to high bus number so we don't need | 401 | /* On G5, we move AGP up to high bus number so we don't need |
@@ -307,6 +416,26 @@ static void __init setup_u3_agp(struct pci_controller* hose) | |||
307 | u3_agp = hose; | 416 | u3_agp = hose; |
308 | } | 417 | } |
309 | 418 | ||
419 | static void __init setup_u4_pcie(struct pci_controller* hose) | ||
420 | { | ||
421 | /* We currently only implement the "non-atomic" config space, to | ||
422 | * be optimised later. | ||
423 | */ | ||
424 | hose->ops = &u4_pcie_pci_ops; | ||
425 | hose->cfg_addr = ioremap(0xf0000000 + 0x800000, 0x1000); | ||
426 | hose->cfg_data = ioremap(0xf0000000 + 0xc00000, 0x1000); | ||
427 | |||
428 | /* The bus contains a bridge from root -> device, we need to | ||
429 | * make it visible on bus 0 so that we pick the right type | ||
430 | * of config cycles. If we didn't, we would have to force all | ||
431 | * config cycles to be type 1. So we override the "bus-range" | ||
432 | * property here | ||
433 | */ | ||
434 | hose->first_busno = 0x00; | ||
435 | hose->last_busno = 0xff; | ||
436 | u4_pcie = hose; | ||
437 | } | ||
438 | |||
310 | static void __init setup_u3_ht(struct pci_controller* hose) | 439 | static void __init setup_u3_ht(struct pci_controller* hose) |
311 | { | 440 | { |
312 | hose->ops = &u3_ht_pci_ops; | 441 | hose->ops = &u3_ht_pci_ops; |
@@ -354,6 +483,10 @@ static int __init add_bridge(struct device_node *dev) | |||
354 | setup_u3_ht(hose); | 483 | setup_u3_ht(hose); |
355 | disp_name = "U3-HT"; | 484 | disp_name = "U3-HT"; |
356 | primary = 1; | 485 | primary = 1; |
486 | } else if (device_is_compatible(dev, "u4-pcie")) { | ||
487 | setup_u4_pcie(hose); | ||
488 | disp_name = "U4-PCIE"; | ||
489 | primary = 0; | ||
357 | } | 490 | } |
358 | printk(KERN_INFO "Found %s PCI host bridge. Firmware bus number: %d->%d\n", | 491 | printk(KERN_INFO "Found %s PCI host bridge. Firmware bus number: %d->%d\n", |
359 | disp_name, hose->first_busno, hose->last_busno); | 492 | disp_name, hose->first_busno, hose->last_busno); |
@@ -361,7 +494,6 @@ static int __init add_bridge(struct device_node *dev) | |||
361 | /* Interpret the "ranges" property */ | 494 | /* Interpret the "ranges" property */ |
362 | /* This also maps the I/O region and sets isa_io/mem_base */ | 495 | /* This also maps the I/O region and sets isa_io/mem_base */ |
363 | pci_process_bridge_OF_ranges(hose, dev, primary); | 496 | pci_process_bridge_OF_ranges(hose, dev, primary); |
364 | pci_setup_phb_io(hose, primary); | ||
365 | 497 | ||
366 | /* Fixup "bus-range" OF property */ | 498 | /* Fixup "bus-range" OF property */ |
367 | fixup_bus_range(dev); | 499 | fixup_bus_range(dev); |
@@ -376,8 +508,30 @@ void __init maple_pcibios_fixup(void) | |||
376 | 508 | ||
377 | DBG(" -> maple_pcibios_fixup\n"); | 509 | DBG(" -> maple_pcibios_fixup\n"); |
378 | 510 | ||
379 | for_each_pci_dev(dev) | 511 | for_each_pci_dev(dev) { |
512 | /* Fixup IRQ for PCIe host */ | ||
513 | if (u4_pcie != NULL && dev->bus->number == 0 && | ||
514 | pci_bus_to_host(dev->bus) == u4_pcie) { | ||
515 | printk(KERN_DEBUG "Fixup U4 PCIe IRQ\n"); | ||
516 | dev->irq = irq_create_mapping(NULL, 1); | ||
517 | if (dev->irq != NO_IRQ) | ||
518 | set_irq_type(dev->irq, IRQ_TYPE_LEVEL_LOW); | ||
519 | continue; | ||
520 | } | ||
521 | |||
522 | /* Hide AMD8111 IDE interrupt when in legacy mode so | ||
523 | * the driver calls pci_get_legacy_ide_irq() | ||
524 | */ | ||
525 | if (dev->vendor == PCI_VENDOR_ID_AMD && | ||
526 | dev->device == PCI_DEVICE_ID_AMD_8111_IDE && | ||
527 | (dev->class & 5) != 5) { | ||
528 | dev->irq = NO_IRQ; | ||
529 | continue; | ||
530 | } | ||
531 | |||
532 | /* For all others, map the interrupt from the device-tree */ | ||
380 | pci_read_irq_line(dev); | 533 | pci_read_irq_line(dev); |
534 | } | ||
381 | 535 | ||
382 | DBG(" <- maple_pcibios_fixup\n"); | 536 | DBG(" <- maple_pcibios_fixup\n"); |
383 | } | 537 | } |
@@ -388,8 +542,10 @@ static void __init maple_fixup_phb_resources(void) | |||
388 | 542 | ||
389 | list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { | 543 | list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { |
390 | unsigned long offset = (unsigned long)hose->io_base_virt - pci_io_base; | 544 | unsigned long offset = (unsigned long)hose->io_base_virt - pci_io_base; |
545 | |||
391 | hose->io_resource.start += offset; | 546 | hose->io_resource.start += offset; |
392 | hose->io_resource.end += offset; | 547 | hose->io_resource.end += offset; |
548 | |||
393 | printk(KERN_INFO "PCI Host %d, io start: %llx; io end: %llx\n", | 549 | printk(KERN_INFO "PCI Host %d, io start: %llx; io end: %llx\n", |
394 | hose->global_number, | 550 | hose->global_number, |
395 | (unsigned long long)hose->io_resource.start, | 551 | (unsigned long long)hose->io_resource.start, |
@@ -431,6 +587,19 @@ void __init maple_pci_init(void) | |||
431 | if (ht && add_bridge(ht) != 0) | 587 | if (ht && add_bridge(ht) != 0) |
432 | of_node_put(ht); | 588 | of_node_put(ht); |
433 | 589 | ||
590 | /* | ||
591 | * We need to call pci_setup_phb_io for the HT bridge first | ||
592 | * so it gets the I/O port numbers starting at 0, and we | ||
593 | * need to call it for the AGP bridge after that so it gets | ||
594 | * small positive I/O port numbers. | ||
595 | */ | ||
596 | if (u3_ht) | ||
597 | pci_setup_phb_io(u3_ht, 1); | ||
598 | if (u3_agp) | ||
599 | pci_setup_phb_io(u3_agp, 0); | ||
600 | if (u4_pcie) | ||
601 | pci_setup_phb_io(u4_pcie, 0); | ||
602 | |||
434 | /* Fixup the IO resources on our host bridges as the common code | 603 | /* Fixup the IO resources on our host bridges as the common code |
435 | * does it only for childs of the host bridges | 604 | * does it only for childs of the host bridges |
436 | */ | 605 | */ |
@@ -465,8 +634,11 @@ int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel) | |||
465 | return defirq; | 634 | return defirq; |
466 | 635 | ||
467 | np = pci_device_to_OF_node(pdev); | 636 | np = pci_device_to_OF_node(pdev); |
468 | if (np == NULL) | 637 | if (np == NULL) { |
638 | printk("Failed to locate OF node for IDE %s\n", | ||
639 | pci_name(pdev)); | ||
469 | return defirq; | 640 | return defirq; |
641 | } | ||
470 | irq = irq_of_parse_and_map(np, channel & 0x1); | 642 | irq = irq_of_parse_and_map(np, channel & 0x1); |
471 | if (irq == NO_IRQ) { | 643 | if (irq == NO_IRQ) { |
472 | printk("Failed to map onboard IDE interrupt for channel %d\n", | 644 | printk("Failed to map onboard IDE interrupt for channel %d\n", |
@@ -479,6 +651,9 @@ int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel) | |||
479 | /* XXX: To remove once all firmwares are ok */ | 651 | /* XXX: To remove once all firmwares are ok */ |
480 | static void fixup_maple_ide(struct pci_dev* dev) | 652 | static void fixup_maple_ide(struct pci_dev* dev) |
481 | { | 653 | { |
654 | if (!machine_is(maple)) | ||
655 | return; | ||
656 | |||
482 | #if 0 /* Enable this to enable IDE port 0 */ | 657 | #if 0 /* Enable this to enable IDE port 0 */ |
483 | { | 658 | { |
484 | u8 v; | 659 | u8 v; |
@@ -495,7 +670,7 @@ static void fixup_maple_ide(struct pci_dev* dev) | |||
495 | dev->resource[4].start = 0xcc00; | 670 | dev->resource[4].start = 0xcc00; |
496 | dev->resource[4].end = 0xcc10; | 671 | dev->resource[4].end = 0xcc10; |
497 | #endif | 672 | #endif |
498 | #if 1 /* Enable this to fixup IDE sense/polarity of irqs in IO-APICs */ | 673 | #if 0 /* Enable this to fixup IDE sense/polarity of irqs in IO-APICs */ |
499 | { | 674 | { |
500 | struct pci_dev *apicdev; | 675 | struct pci_dev *apicdev; |
501 | u32 v; | 676 | u32 v; |
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index 574cd205b302..eeb2ae5ffc58 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -328,6 +328,7 @@ static void __init smp_psurge_kick_cpu(int nr) | |||
328 | { | 328 | { |
329 | unsigned long start = __pa(__secondary_start_pmac_0) + nr * 8; | 329 | unsigned long start = __pa(__secondary_start_pmac_0) + nr * 8; |
330 | unsigned long a; | 330 | unsigned long a; |
331 | int i; | ||
331 | 332 | ||
332 | /* may need to flush here if secondary bats aren't setup */ | 333 | /* may need to flush here if secondary bats aren't setup */ |
333 | for (a = KERNELBASE; a < KERNELBASE + 0x800000; a += 32) | 334 | for (a = KERNELBASE; a < KERNELBASE + 0x800000; a += 32) |
@@ -340,7 +341,11 @@ static void __init smp_psurge_kick_cpu(int nr) | |||
340 | mb(); | 341 | mb(); |
341 | 342 | ||
342 | psurge_set_ipi(nr); | 343 | psurge_set_ipi(nr); |
343 | udelay(10); | 344 | /* |
345 | * We can't use udelay here because the timebase is now frozen. | ||
346 | */ | ||
347 | for (i = 0; i < 2000; ++i) | ||
348 | barrier(); | ||
344 | psurge_clr_ipi(nr); | 349 | psurge_clr_ipi(nr); |
345 | 350 | ||
346 | if (ppc_md.progress) ppc_md.progress("smp_psurge_kick_cpu - done", 0x354); | 351 | if (ppc_md.progress) ppc_md.progress("smp_psurge_kick_cpu - done", 0x354); |
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 5a854f36383c..f56ffef4defa 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <asm/rtas.h> | 36 | #include <asm/rtas.h> |
37 | #include <asm/sstep.h> | 37 | #include <asm/sstep.h> |
38 | #include <asm/bug.h> | 38 | #include <asm/bug.h> |
39 | #include <asm/irq_regs.h> | ||
39 | 40 | ||
40 | #ifdef CONFIG_PPC64 | 41 | #ifdef CONFIG_PPC64 |
41 | #include <asm/hvcall.h> | 42 | #include <asm/hvcall.h> |
@@ -521,13 +522,12 @@ int xmon(struct pt_regs *excp) | |||
521 | } | 522 | } |
522 | EXPORT_SYMBOL(xmon); | 523 | EXPORT_SYMBOL(xmon); |
523 | 524 | ||
524 | irqreturn_t | 525 | irqreturn_t xmon_irq(int irq, void *d) |
525 | xmon_irq(int irq, void *d, struct pt_regs *regs) | ||
526 | { | 526 | { |
527 | unsigned long flags; | 527 | unsigned long flags; |
528 | local_irq_save(flags); | 528 | local_irq_save(flags); |
529 | printf("Keyboard interrupt\n"); | 529 | printf("Keyboard interrupt\n"); |
530 | xmon(regs); | 530 | xmon(get_irq_regs()); |
531 | local_irq_restore(flags); | 531 | local_irq_restore(flags); |
532 | return IRQ_HANDLED; | 532 | return IRQ_HANDLED; |
533 | } | 533 | } |