Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'merge'

+1739 -457
+5 -5
Documentation/powerpc/booting-without-of.txt
··· 1196 1196 - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC" 1197 1197 - compatible : Should be "gianfar" 1198 1198 - reg : Offset and length of the register set for the device 1199 - - address : List of bytes representing the ethernet address of 1199 + - mac-address : List of bytes representing the ethernet address of 1200 1200 this controller 1201 1201 - interrupts : <a b> where a is the interrupt number and b is a 1202 1202 field that represents an encoding of the sense and level ··· 1216 1216 model = "TSEC"; 1217 1217 compatible = "gianfar"; 1218 1218 reg = <24000 1000>; 1219 - address = [ 00 E0 0C 00 73 00 ]; 1219 + mac-address = [ 00 E0 0C 00 73 00 ]; 1220 1220 interrupts = <d 3 e 3 12 3>; 1221 1221 interrupt-parent = <40000>; 1222 1222 phy-handle = <2452000> ··· 1498 1498 model = "TSEC"; 1499 1499 compatible = "gianfar"; 1500 1500 reg = <24000 1000>; 1501 - address = [ 00 E0 0C 00 73 00 ]; 1501 + mac-address = [ 00 E0 0C 00 73 00 ]; 1502 1502 interrupts = <d 3 e 3 12 3>; 1503 1503 interrupt-parent = <40000>; 1504 1504 phy-handle = <2452000>; ··· 1511 1511 model = "TSEC"; 1512 1512 compatible = "gianfar"; 1513 1513 reg = <25000 1000>; 1514 - address = [ 00 E0 0C 00 73 01 ]; 1514 + mac-address = [ 00 E0 0C 00 73 01 ]; 1515 1515 interrupts = <13 3 14 3 18 3>; 1516 1516 interrupt-parent = <40000>; 1517 1517 phy-handle = <2452001>; ··· 1524 1524 model = "FEC"; 1525 1525 compatible = "gianfar"; 1526 1526 reg = <26000 1000>; 1527 - address = [ 00 E0 0C 00 73 02 ]; 1527 + mac-address = [ 00 E0 0C 00 73 02 ]; 1528 1528 interrupts = <19 3>; 1529 1529 interrupt-parent = <40000>; 1530 1530 phy-handle = <2452002>;
+4 -3
arch/powerpc/Kconfig
··· 837 837 bool 838 838 839 839 config PCI 840 - bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) \ 841 - || MPC7448HPC2 842 - default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !PPC_85xx && !PPC_86xx 840 + bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \ 841 + || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 842 + default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \ 843 + && !PPC_85xx && !PPC_86xx 843 844 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS 844 845 default PCI_QSPAN if !4xx && !CPM2 && 8xx 845 846 help
+257
arch/powerpc/boot/dts/mpc8540ads.dts
··· 1 + /* 2 + * MPC8540 ADS Device Tree Source 3 + * 4 + * Copyright 2006 Freescale Semiconductor Inc. 5 + * 6 + * This program is free software; you can redistribute it and/or modify it 7 + * under the terms of the GNU General Public License as published by the 8 + * Free Software Foundation; either version 2 of the License, or (at your 9 + * option) any later version. 10 + */ 11 + 12 + 13 + / { 14 + model = "MPC8540ADS"; 15 + compatible = "MPC85xxADS"; 16 + #address-cells = <1>; 17 + #size-cells = <1>; 18 + linux,phandle = <100>; 19 + 20 + cpus { 21 + #cpus = <1>; 22 + #address-cells = <1>; 23 + #size-cells = <0>; 24 + linux,phandle = <200>; 25 + 26 + PowerPC,8540@0 { 27 + device_type = "cpu"; 28 + reg = <0>; 29 + d-cache-line-size = <20>; // 32 bytes 30 + i-cache-line-size = <20>; // 32 bytes 31 + d-cache-size = <8000>; // L1, 32K 32 + i-cache-size = <8000>; // L1, 32K 33 + timebase-frequency = <0>; // 33 MHz, from uboot 34 + bus-frequency = <0>; // 166 MHz 35 + clock-frequency = <0>; // 825 MHz, from uboot 36 + 32-bit; 37 + linux,phandle = <201>; 38 + }; 39 + }; 40 + 41 + memory { 42 + device_type = "memory"; 43 + linux,phandle = <300>; 44 + reg = <00000000 08000000>; // 128M at 0x0 45 + }; 46 + 47 + soc8540@e0000000 { 48 + #address-cells = <1>; 49 + #size-cells = <1>; 50 + #interrupt-cells = <2>; 51 + device_type = "soc"; 52 + ranges = <0 e0000000 00100000>; 53 + reg = <e0000000 00100000>; // CCSRBAR 1M 54 + bus-frequency = <0>; 55 + 56 + i2c@3000 { 57 + device_type = "i2c"; 58 + compatible = "fsl-i2c"; 59 + reg = <3000 100>; 60 + interrupts = <1b 2>; 61 + interrupt-parent = <40000>; 62 + dfsrr; 63 + }; 64 + 65 + mdio@24520 { 66 + #address-cells = <1>; 67 + #size-cells = <0>; 68 + device_type = "mdio"; 69 + compatible = "gianfar"; 70 + reg = <24520 20>; 71 + linux,phandle = <24520>; 72 + ethernet-phy@0 { 73 + linux,phandle = <2452000>; 74 + interrupt-parent = <40000>; 75 + interrupts = <35 1>; 76 + reg = <0>; 77 + device_type = "ethernet-phy"; 78 + }; 79 + ethernet-phy@1 { 80 + linux,phandle = <2452001>; 81 + interrupt-parent = <40000>; 82 + interrupts = <35 1>; 83 + reg = <1>; 84 + device_type = "ethernet-phy"; 85 + }; 86 + ethernet-phy@3 { 87 + linux,phandle = <2452003>; 88 + interrupt-parent = <40000>; 89 + interrupts = <37 1>; 90 + reg = <3>; 91 + device_type = "ethernet-phy"; 92 + }; 93 + }; 94 + 95 + ethernet@24000 { 96 + #address-cells = <1>; 97 + #size-cells = <0>; 98 + device_type = "network"; 99 + model = "TSEC"; 100 + compatible = "gianfar"; 101 + reg = <24000 1000>; 102 + address = [ 00 E0 0C 00 73 00 ]; 103 + local-mac-address = [ 00 E0 0C 00 73 00 ]; 104 + interrupts = <d 2 e 2 12 2>; 105 + interrupt-parent = <40000>; 106 + phy-handle = <2452000>; 107 + }; 108 + 109 + ethernet@25000 { 110 + #address-cells = <1>; 111 + #size-cells = <0>; 112 + device_type = "network"; 113 + model = "TSEC"; 114 + compatible = "gianfar"; 115 + reg = <25000 1000>; 116 + address = [ 00 E0 0C 00 73 01 ]; 117 + local-mac-address = [ 00 E0 0C 00 73 01 ]; 118 + interrupts = <13 2 14 2 18 2>; 119 + interrupt-parent = <40000>; 120 + phy-handle = <2452001>; 121 + }; 122 + 123 + ethernet@26000 { 124 + #address-cells = <1>; 125 + #size-cells = <0>; 126 + device_type = "network"; 127 + model = "FEC"; 128 + compatible = "gianfar"; 129 + reg = <26000 1000>; 130 + address = [ 00 E0 0C 00 73 02 ]; 131 + local-mac-address = [ 00 E0 0C 00 73 02 ]; 132 + interrupts = <19 2>; 133 + interrupt-parent = <40000>; 134 + phy-handle = <2452003>; 135 + }; 136 + 137 + serial@4500 { 138 + device_type = "serial"; 139 + compatible = "ns16550"; 140 + reg = <4500 100>; // reg base, size 141 + clock-frequency = <0>; // should we fill in in uboot? 142 + interrupts = <1a 2>; 143 + interrupt-parent = <40000>; 144 + }; 145 + 146 + serial@4600 { 147 + device_type = "serial"; 148 + compatible = "ns16550"; 149 + reg = <4600 100>; // reg base, size 150 + clock-frequency = <0>; // should we fill in in uboot? 151 + interrupts = <1a 2>; 152 + interrupt-parent = <40000>; 153 + }; 154 + pci@8000 { 155 + linux,phandle = <8000>; 156 + interrupt-map-mask = <f800 0 0 7>; 157 + interrupt-map = < 158 + 159 + /* IDSEL 0x02 */ 160 + 1000 0 0 1 40000 31 1 161 + 1000 0 0 2 40000 32 1 162 + 1000 0 0 3 40000 33 1 163 + 1000 0 0 4 40000 34 1 164 + 165 + /* IDSEL 0x03 */ 166 + 1800 0 0 1 40000 34 1 167 + 1800 0 0 2 40000 31 1 168 + 1800 0 0 3 40000 32 1 169 + 1800 0 0 4 40000 33 1 170 + 171 + /* IDSEL 0x04 */ 172 + 2000 0 0 1 40000 33 1 173 + 2000 0 0 2 40000 34 1 174 + 2000 0 0 3 40000 31 1 175 + 2000 0 0 4 40000 32 1 176 + 177 + /* IDSEL 0x05 */ 178 + 2800 0 0 1 40000 32 1 179 + 2800 0 0 2 40000 33 1 180 + 2800 0 0 3 40000 34 1 181 + 2800 0 0 4 40000 31 1 182 + 183 + /* IDSEL 0x0c */ 184 + 6000 0 0 1 40000 31 1 185 + 6000 0 0 2 40000 32 1 186 + 6000 0 0 3 40000 33 1 187 + 6000 0 0 4 40000 34 1 188 + 189 + /* IDSEL 0x0d */ 190 + 6800 0 0 1 40000 34 1 191 + 6800 0 0 2 40000 31 1 192 + 6800 0 0 3 40000 32 1 193 + 6800 0 0 4 40000 33 1 194 + 195 + /* IDSEL 0x0e */ 196 + 7000 0 0 1 40000 33 1 197 + 7000 0 0 2 40000 34 1 198 + 7000 0 0 3 40000 31 1 199 + 7000 0 0 4 40000 32 1 200 + 201 + /* IDSEL 0x0f */ 202 + 7800 0 0 1 40000 32 1 203 + 7800 0 0 2 40000 33 1 204 + 7800 0 0 3 40000 34 1 205 + 7800 0 0 4 40000 31 1 206 + 207 + /* IDSEL 0x12 */ 208 + 9000 0 0 1 40000 31 1 209 + 9000 0 0 2 40000 32 1 210 + 9000 0 0 3 40000 33 1 211 + 9000 0 0 4 40000 34 1 212 + 213 + /* IDSEL 0x13 */ 214 + 9800 0 0 1 40000 34 1 215 + 9800 0 0 2 40000 31 1 216 + 9800 0 0 3 40000 32 1 217 + 9800 0 0 4 40000 33 1 218 + 219 + /* IDSEL 0x14 */ 220 + a000 0 0 1 40000 33 1 221 + a000 0 0 2 40000 34 1 222 + a000 0 0 3 40000 31 1 223 + a000 0 0 4 40000 32 1 224 + 225 + /* IDSEL 0x15 */ 226 + a800 0 0 1 40000 32 1 227 + a800 0 0 2 40000 33 1 228 + a800 0 0 3 40000 34 1 229 + a800 0 0 4 40000 31 1>; 230 + interrupt-parent = <40000>; 231 + interrupts = <08 2>; 232 + bus-range = <0 0>; 233 + ranges = <02000000 0 80000000 80000000 0 20000000 234 + 01000000 0 00000000 e2000000 0 00100000>; 235 + clock-frequency = <3f940aa>; 236 + #interrupt-cells = <1>; 237 + #size-cells = <2>; 238 + #address-cells = <3>; 239 + reg = <8000 1000>; 240 + compatible = "85xx"; 241 + device_type = "pci"; 242 + }; 243 + 244 + pic@40000 { 245 + linux,phandle = <40000>; 246 + clock-frequency = <0>; 247 + interrupt-controller; 248 + #address-cells = <0>; 249 + #interrupt-cells = <2>; 250 + reg = <40000 40000>; 251 + built-in; 252 + compatible = "chrp,open-pic"; 253 + device_type = "open-pic"; 254 + big-endian; 255 + }; 256 + }; 257 + };
+244
arch/powerpc/boot/dts/mpc8541cds.dts
··· 1 + /* 2 + * MPC8541 CDS Device Tree Source 3 + * 4 + * Copyright 2006 Freescale Semiconductor Inc. 5 + * 6 + * This program is free software; you can redistribute it and/or modify it 7 + * under the terms of the GNU General Public License as published by the 8 + * Free Software Foundation; either version 2 of the License, or (at your 9 + * option) any later version. 10 + */ 11 + 12 + 13 + / { 14 + model = "MPC8541CDS"; 15 + compatible = "MPC85xxCDS"; 16 + #address-cells = <1>; 17 + #size-cells = <1>; 18 + linux,phandle = <100>; 19 + 20 + cpus { 21 + #cpus = <1>; 22 + #address-cells = <1>; 23 + #size-cells = <0>; 24 + linux,phandle = <200>; 25 + 26 + PowerPC,8541@0 { 27 + device_type = "cpu"; 28 + reg = <0>; 29 + d-cache-line-size = <20>; // 32 bytes 30 + i-cache-line-size = <20>; // 32 bytes 31 + d-cache-size = <8000>; // L1, 32K 32 + i-cache-size = <8000>; // L1, 32K 33 + timebase-frequency = <0>; // 33 MHz, from uboot 34 + bus-frequency = <0>; // 166 MHz 35 + clock-frequency = <0>; // 825 MHz, from uboot 36 + 32-bit; 37 + linux,phandle = <201>; 38 + }; 39 + }; 40 + 41 + memory { 42 + device_type = "memory"; 43 + linux,phandle = <300>; 44 + reg = <00000000 08000000>; // 128M at 0x0 45 + }; 46 + 47 + soc8541@e0000000 { 48 + #address-cells = <1>; 49 + #size-cells = <1>; 50 + #interrupt-cells = <2>; 51 + device_type = "soc"; 52 + ranges = <0 e0000000 00100000>; 53 + reg = <e0000000 00100000>; // CCSRBAR 1M 54 + bus-frequency = <0>; 55 + 56 + i2c@3000 { 57 + device_type = "i2c"; 58 + compatible = "fsl-i2c"; 59 + reg = <3000 100>; 60 + interrupts = <1b 2>; 61 + interrupt-parent = <40000>; 62 + dfsrr; 63 + }; 64 + 65 + mdio@24520 { 66 + #address-cells = <1>; 67 + #size-cells = <0>; 68 + device_type = "mdio"; 69 + compatible = "gianfar"; 70 + reg = <24520 20>; 71 + linux,phandle = <24520>; 72 + ethernet-phy@0 { 73 + linux,phandle = <2452000>; 74 + interrupt-parent = <40000>; 75 + interrupts = <35 0>; 76 + reg = <0>; 77 + device_type = "ethernet-phy"; 78 + }; 79 + ethernet-phy@1 { 80 + linux,phandle = <2452001>; 81 + interrupt-parent = <40000>; 82 + interrupts = <35 0>; 83 + reg = <1>; 84 + device_type = "ethernet-phy"; 85 + }; 86 + }; 87 + 88 + ethernet@24000 { 89 + #address-cells = <1>; 90 + #size-cells = <0>; 91 + device_type = "network"; 92 + model = "TSEC"; 93 + compatible = "gianfar"; 94 + reg = <24000 1000>; 95 + local-mac-address = [ 00 E0 0C 00 73 00 ]; 96 + interrupts = <d 2 e 2 12 2>; 97 + interrupt-parent = <40000>; 98 + phy-handle = <2452000>; 99 + }; 100 + 101 + ethernet@25000 { 102 + #address-cells = <1>; 103 + #size-cells = <0>; 104 + device_type = "network"; 105 + model = "TSEC"; 106 + compatible = "gianfar"; 107 + reg = <25000 1000>; 108 + local-mac-address = [ 00 E0 0C 00 73 01 ]; 109 + interrupts = <13 2 14 2 18 2>; 110 + interrupt-parent = <40000>; 111 + phy-handle = <2452001>; 112 + }; 113 + 114 + serial@4500 { 115 + device_type = "serial"; 116 + compatible = "ns16550"; 117 + reg = <4500 100>; // reg base, size 118 + clock-frequency = <0>; // should we fill in in uboot? 119 + interrupts = <1a 2>; 120 + interrupt-parent = <40000>; 121 + }; 122 + 123 + serial@4600 { 124 + device_type = "serial"; 125 + compatible = "ns16550"; 126 + reg = <4600 100>; // reg base, size 127 + clock-frequency = <0>; // should we fill in in uboot? 128 + interrupts = <1a 2>; 129 + interrupt-parent = <40000>; 130 + }; 131 + 132 + pci@8000 { 133 + linux,phandle = <8000>; 134 + interrupt-map-mask = <1f800 0 0 7>; 135 + interrupt-map = < 136 + 137 + /* IDSEL 0x10 */ 138 + 08000 0 0 1 40000 30 1 139 + 08000 0 0 2 40000 31 1 140 + 08000 0 0 3 40000 32 1 141 + 08000 0 0 4 40000 33 1 142 + 143 + /* IDSEL 0x11 */ 144 + 08800 0 0 1 40000 30 1 145 + 08800 0 0 2 40000 31 1 146 + 08800 0 0 3 40000 32 1 147 + 08800 0 0 4 40000 33 1 148 + 149 + /* IDSEL 0x12 (Slot 1) */ 150 + 09000 0 0 1 40000 30 1 151 + 09000 0 0 2 40000 31 1 152 + 09000 0 0 3 40000 32 1 153 + 09000 0 0 4 40000 33 1 154 + 155 + /* IDSEL 0x13 (Slot 2) */ 156 + 09800 0 0 1 40000 31 1 157 + 09800 0 0 2 40000 32 1 158 + 09800 0 0 3 40000 33 1 159 + 09800 0 0 4 40000 30 1 160 + 161 + /* IDSEL 0x14 (Slot 3) */ 162 + 0a000 0 0 1 40000 32 1 163 + 0a000 0 0 2 40000 33 1 164 + 0a000 0 0 3 40000 30 1 165 + 0a000 0 0 4 40000 31 1 166 + 167 + /* IDSEL 0x15 (Slot 4) */ 168 + 0a800 0 0 1 40000 33 1 169 + 0a800 0 0 2 40000 30 1 170 + 0a800 0 0 3 40000 31 1 171 + 0a800 0 0 4 40000 32 1 172 + 173 + /* Bus 1 (Tundra Bridge) */ 174 + /* IDSEL 0x12 (ISA bridge) */ 175 + 19000 0 0 1 40000 30 1 176 + 19000 0 0 2 40000 31 1 177 + 19000 0 0 3 40000 32 1 178 + 19000 0 0 4 40000 33 1>; 179 + interrupt-parent = <40000>; 180 + interrupts = <08 2>; 181 + bus-range = <0 0>; 182 + ranges = <02000000 0 80000000 80000000 0 20000000 183 + 01000000 0 00000000 e2000000 0 00100000>; 184 + clock-frequency = <3f940aa>; 185 + #interrupt-cells = <1>; 186 + #size-cells = <2>; 187 + #address-cells = <3>; 188 + reg = <8000 1000>; 189 + compatible = "85xx"; 190 + device_type = "pci"; 191 + 192 + i8259@19000 { 193 + clock-frequency = <0>; 194 + interrupt-controller; 195 + device_type = "interrupt-controller"; 196 + reg = <19000 0 0 0 1>; 197 + #address-cells = <0>; 198 + #interrupt-cells = <2>; 199 + built-in; 200 + compatible = "chrp,iic"; 201 + big-endian; 202 + interrupts = <1>; 203 + interrupt-parent = <8000>; 204 + }; 205 + }; 206 + 207 + pci@9000 { 208 + linux,phandle = <9000>; 209 + interrupt-map-mask = <f800 0 0 7>; 210 + interrupt-map = < 211 + 212 + /* IDSEL 0x15 */ 213 + a800 0 0 1 40000 3b 1 214 + a800 0 0 2 40000 3b 1 215 + a800 0 0 3 40000 3b 1 216 + a800 0 0 4 40000 3b 1>; 217 + interrupt-parent = <40000>; 218 + interrupts = <09 2>; 219 + bus-range = <0 0>; 220 + ranges = <02000000 0 a0000000 a0000000 0 20000000 221 + 01000000 0 00000000 e3000000 0 00100000>; 222 + clock-frequency = <3f940aa>; 223 + #interrupt-cells = <1>; 224 + #size-cells = <2>; 225 + #address-cells = <3>; 226 + reg = <9000 1000>; 227 + compatible = "85xx"; 228 + device_type = "pci"; 229 + }; 230 + 231 + pic@40000 { 232 + linux,phandle = <40000>; 233 + clock-frequency = <0>; 234 + interrupt-controller; 235 + #address-cells = <0>; 236 + #interrupt-cells = <2>; 237 + reg = <40000 40000>; 238 + built-in; 239 + compatible = "chrp,open-pic"; 240 + device_type = "open-pic"; 241 + big-endian; 242 + }; 243 + }; 244 + };
+287
arch/powerpc/boot/dts/mpc8548cds.dts
··· 1 + /* 2 + * MPC8555 CDS Device Tree Source 3 + * 4 + * Copyright 2006 Freescale Semiconductor Inc. 5 + * 6 + * This program is free software; you can redistribute it and/or modify it 7 + * under the terms of the GNU General Public License as published by the 8 + * Free Software Foundation; either version 2 of the License, or (at your 9 + * option) any later version. 10 + */ 11 + 12 + 13 + / { 14 + model = "MPC8548CDS"; 15 + compatible = "MPC85xxCDS"; 16 + #address-cells = <1>; 17 + #size-cells = <1>; 18 + linux,phandle = <100>; 19 + 20 + cpus { 21 + #cpus = <1>; 22 + #address-cells = <1>; 23 + #size-cells = <0>; 24 + linux,phandle = <200>; 25 + 26 + PowerPC,8548@0 { 27 + device_type = "cpu"; 28 + reg = <0>; 29 + d-cache-line-size = <20>; // 32 bytes 30 + i-cache-line-size = <20>; // 32 bytes 31 + d-cache-size = <8000>; // L1, 32K 32 + i-cache-size = <8000>; // L1, 32K 33 + timebase-frequency = <0>; // 33 MHz, from uboot 34 + bus-frequency = <0>; // 166 MHz 35 + clock-frequency = <0>; // 825 MHz, from uboot 36 + 32-bit; 37 + linux,phandle = <201>; 38 + }; 39 + }; 40 + 41 + memory { 42 + device_type = "memory"; 43 + linux,phandle = <300>; 44 + reg = <00000000 08000000>; // 128M at 0x0 45 + }; 46 + 47 + soc8548@e0000000 { 48 + #address-cells = <1>; 49 + #size-cells = <1>; 50 + #interrupt-cells = <2>; 51 + device_type = "soc"; 52 + ranges = <0 e0000000 00100000>; 53 + reg = <e0000000 00100000>; // CCSRBAR 1M 54 + bus-frequency = <0>; 55 + 56 + i2c@3000 { 57 + device_type = "i2c"; 58 + compatible = "fsl-i2c"; 59 + reg = <3000 100>; 60 + interrupts = <1b 2>; 61 + interrupt-parent = <40000>; 62 + dfsrr; 63 + }; 64 + 65 + mdio@24520 { 66 + #address-cells = <1>; 67 + #size-cells = <0>; 68 + device_type = "mdio"; 69 + compatible = "gianfar"; 70 + reg = <24520 20>; 71 + linux,phandle = <24520>; 72 + ethernet-phy@0 { 73 + linux,phandle = <2452000>; 74 + interrupt-parent = <40000>; 75 + interrupts = <35 0>; 76 + reg = <0>; 77 + device_type = "ethernet-phy"; 78 + }; 79 + ethernet-phy@1 { 80 + linux,phandle = <2452001>; 81 + interrupt-parent = <40000>; 82 + interrupts = <35 0>; 83 + reg = <1>; 84 + device_type = "ethernet-phy"; 85 + }; 86 + 87 + ethernet-phy@2 { 88 + linux,phandle = <2452002>; 89 + interrupt-parent = <40000>; 90 + interrupts = <35 0>; 91 + reg = <2>; 92 + device_type = "ethernet-phy"; 93 + }; 94 + ethernet-phy@3 { 95 + linux,phandle = <2452003>; 96 + interrupt-parent = <40000>; 97 + interrupts = <35 0>; 98 + reg = <3>; 99 + device_type = "ethernet-phy"; 100 + }; 101 + }; 102 + 103 + ethernet@24000 { 104 + #address-cells = <1>; 105 + #size-cells = <0>; 106 + device_type = "network"; 107 + model = "eTSEC"; 108 + compatible = "gianfar"; 109 + reg = <24000 1000>; 110 + local-mac-address = [ 00 E0 0C 00 73 00 ]; 111 + interrupts = <d 2 e 2 12 2>; 112 + interrupt-parent = <40000>; 113 + phy-handle = <2452000>; 114 + }; 115 + 116 + ethernet@25000 { 117 + #address-cells = <1>; 118 + #size-cells = <0>; 119 + device_type = "network"; 120 + model = "eTSEC"; 121 + compatible = "gianfar"; 122 + reg = <25000 1000>; 123 + local-mac-address = [ 00 E0 0C 00 73 01 ]; 124 + interrupts = <13 2 14 2 18 2>; 125 + interrupt-parent = <40000>; 126 + phy-handle = <2452001>; 127 + }; 128 + 129 + ethernet@26000 { 130 + #address-cells = <1>; 131 + #size-cells = <0>; 132 + device_type = "network"; 133 + model = "eTSEC"; 134 + compatible = "gianfar"; 135 + reg = <26000 1000>; 136 + local-mac-address = [ 00 E0 0C 00 73 02 ]; 137 + interrupts = <f 2 10 2 11 2>; 138 + interrupt-parent = <40000>; 139 + phy-handle = <2452001>; 140 + }; 141 + 142 + /* eTSEC 4 is currently broken 143 + ethernet@27000 { 144 + #address-cells = <1>; 145 + #size-cells = <0>; 146 + device_type = "network"; 147 + model = "eTSEC"; 148 + compatible = "gianfar"; 149 + reg = <27000 1000>; 150 + local-mac-address = [ 00 E0 0C 00 73 03 ]; 151 + interrupts = <15 2 16 2 17 2>; 152 + interrupt-parent = <40000>; 153 + phy-handle = <2452001>; 154 + }; 155 + */ 156 + 157 + serial@4500 { 158 + device_type = "serial"; 159 + compatible = "ns16550"; 160 + reg = <4500 100>; // reg base, size 161 + clock-frequency = <0>; // should we fill in in uboot? 162 + interrupts = <1a 2>; 163 + interrupt-parent = <40000>; 164 + }; 165 + 166 + serial@4600 { 167 + device_type = "serial"; 168 + compatible = "ns16550"; 169 + reg = <4600 100>; // reg base, size 170 + clock-frequency = <0>; // should we fill in in uboot? 171 + interrupts = <1a 2>; 172 + interrupt-parent = <40000>; 173 + }; 174 + 175 + pci@8000 { 176 + linux,phandle = <8000>; 177 + interrupt-map-mask = <1f800 0 0 7>; 178 + interrupt-map = < 179 + 180 + /* IDSEL 0x10 */ 181 + 08000 0 0 1 40000 30 1 182 + 08000 0 0 2 40000 31 1 183 + 08000 0 0 3 40000 32 1 184 + 08000 0 0 4 40000 33 1 185 + 186 + /* IDSEL 0x11 */ 187 + 08800 0 0 1 40000 30 1 188 + 08800 0 0 2 40000 31 1 189 + 08800 0 0 3 40000 32 1 190 + 08800 0 0 4 40000 33 1 191 + 192 + /* IDSEL 0x12 (Slot 1) */ 193 + 09000 0 0 1 40000 30 1 194 + 09000 0 0 2 40000 31 1 195 + 09000 0 0 3 40000 32 1 196 + 09000 0 0 4 40000 33 1 197 + 198 + /* IDSEL 0x13 (Slot 2) */ 199 + 09800 0 0 1 40000 31 1 200 + 09800 0 0 2 40000 32 1 201 + 09800 0 0 3 40000 33 1 202 + 09800 0 0 4 40000 30 1 203 + 204 + /* IDSEL 0x14 (Slot 3) */ 205 + 0a000 0 0 1 40000 32 1 206 + 0a000 0 0 2 40000 33 1 207 + 0a000 0 0 3 40000 30 1 208 + 0a000 0 0 4 40000 31 1 209 + 210 + /* IDSEL 0x15 (Slot 4) */ 211 + 0a800 0 0 1 40000 33 1 212 + 0a800 0 0 2 40000 30 1 213 + 0a800 0 0 3 40000 31 1 214 + 0a800 0 0 4 40000 32 1 215 + 216 + /* Bus 1 (Tundra Bridge) */ 217 + /* IDSEL 0x12 (ISA bridge) */ 218 + 19000 0 0 1 40000 30 1 219 + 19000 0 0 2 40000 31 1 220 + 19000 0 0 3 40000 32 1 221 + 19000 0 0 4 40000 33 1>; 222 + interrupt-parent = <40000>; 223 + interrupts = <08 2>; 224 + bus-range = <0 0>; 225 + ranges = <02000000 0 80000000 80000000 0 20000000 226 + 01000000 0 00000000 e2000000 0 00100000>; 227 + clock-frequency = <3f940aa>; 228 + #interrupt-cells = <1>; 229 + #size-cells = <2>; 230 + #address-cells = <3>; 231 + reg = <8000 1000>; 232 + compatible = "85xx"; 233 + device_type = "pci"; 234 + 235 + i8259@19000 { 236 + clock-frequency = <0>; 237 + interrupt-controller; 238 + device_type = "interrupt-controller"; 239 + reg = <19000 0 0 0 1>; 240 + #address-cells = <0>; 241 + #interrupt-cells = <2>; 242 + built-in; 243 + compatible = "chrp,iic"; 244 + big-endian; 245 + interrupts = <1>; 246 + interrupt-parent = <8000>; 247 + }; 248 + }; 249 + 250 + pci@9000 { 251 + linux,phandle = <9000>; 252 + interrupt-map-mask = <f800 0 0 7>; 253 + interrupt-map = < 254 + 255 + /* IDSEL 0x15 */ 256 + a800 0 0 1 40000 3b 1 257 + a800 0 0 2 40000 3b 1 258 + a800 0 0 3 40000 3b 1 259 + a800 0 0 4 40000 3b 1>; 260 + interrupt-parent = <40000>; 261 + interrupts = <09 2>; 262 + bus-range = <0 0>; 263 + ranges = <02000000 0 a0000000 a0000000 0 20000000 264 + 01000000 0 00000000 e3000000 0 00100000>; 265 + clock-frequency = <3f940aa>; 266 + #interrupt-cells = <1>; 267 + #size-cells = <2>; 268 + #address-cells = <3>; 269 + reg = <9000 1000>; 270 + compatible = "85xx"; 271 + device_type = "pci"; 272 + }; 273 + 274 + pic@40000 { 275 + linux,phandle = <40000>; 276 + clock-frequency = <0>; 277 + interrupt-controller; 278 + #address-cells = <0>; 279 + #interrupt-cells = <2>; 280 + reg = <40000 40000>; 281 + built-in; 282 + compatible = "chrp,open-pic"; 283 + device_type = "open-pic"; 284 + big-endian; 285 + }; 286 + }; 287 + };
+244
arch/powerpc/boot/dts/mpc8555cds.dts
··· 1 + /* 2 + * MPC8555 CDS Device Tree Source 3 + * 4 + * Copyright 2006 Freescale Semiconductor Inc. 5 + * 6 + * This program is free software; you can redistribute it and/or modify it 7 + * under the terms of the GNU General Public License as published by the 8 + * Free Software Foundation; either version 2 of the License, or (at your 9 + * option) any later version. 10 + */ 11 + 12 + 13 + / { 14 + model = "MPC8555CDS"; 15 + compatible = "MPC85xxCDS"; 16 + #address-cells = <1>; 17 + #size-cells = <1>; 18 + linux,phandle = <100>; 19 + 20 + cpus { 21 + #cpus = <1>; 22 + #address-cells = <1>; 23 + #size-cells = <0>; 24 + linux,phandle = <200>; 25 + 26 + PowerPC,8555@0 { 27 + device_type = "cpu"; 28 + reg = <0>; 29 + d-cache-line-size = <20>; // 32 bytes 30 + i-cache-line-size = <20>; // 32 bytes 31 + d-cache-size = <8000>; // L1, 32K 32 + i-cache-size = <8000>; // L1, 32K 33 + timebase-frequency = <0>; // 33 MHz, from uboot 34 + bus-frequency = <0>; // 166 MHz 35 + clock-frequency = <0>; // 825 MHz, from uboot 36 + 32-bit; 37 + linux,phandle = <201>; 38 + }; 39 + }; 40 + 41 + memory { 42 + device_type = "memory"; 43 + linux,phandle = <300>; 44 + reg = <00000000 08000000>; // 128M at 0x0 45 + }; 46 + 47 + soc8555@e0000000 { 48 + #address-cells = <1>; 49 + #size-cells = <1>; 50 + #interrupt-cells = <2>; 51 + device_type = "soc"; 52 + ranges = <0 e0000000 00100000>; 53 + reg = <e0000000 00100000>; // CCSRBAR 1M 54 + bus-frequency = <0>; 55 + 56 + i2c@3000 { 57 + device_type = "i2c"; 58 + compatible = "fsl-i2c"; 59 + reg = <3000 100>; 60 + interrupts = <1b 2>; 61 + interrupt-parent = <40000>; 62 + dfsrr; 63 + }; 64 + 65 + mdio@24520 { 66 + #address-cells = <1>; 67 + #size-cells = <0>; 68 + device_type = "mdio"; 69 + compatible = "gianfar"; 70 + reg = <24520 20>; 71 + linux,phandle = <24520>; 72 + ethernet-phy@0 { 73 + linux,phandle = <2452000>; 74 + interrupt-parent = <40000>; 75 + interrupts = <35 0>; 76 + reg = <0>; 77 + device_type = "ethernet-phy"; 78 + }; 79 + ethernet-phy@1 { 80 + linux,phandle = <2452001>; 81 + interrupt-parent = <40000>; 82 + interrupts = <35 0>; 83 + reg = <1>; 84 + device_type = "ethernet-phy"; 85 + }; 86 + }; 87 + 88 + ethernet@24000 { 89 + #address-cells = <1>; 90 + #size-cells = <0>; 91 + device_type = "network"; 92 + model = "TSEC"; 93 + compatible = "gianfar"; 94 + reg = <24000 1000>; 95 + local-mac-address = [ 00 E0 0C 00 73 00 ]; 96 + interrupts = <0d 2 0e 2 12 2>; 97 + interrupt-parent = <40000>; 98 + phy-handle = <2452000>; 99 + }; 100 + 101 + ethernet@25000 { 102 + #address-cells = <1>; 103 + #size-cells = <0>; 104 + device_type = "network"; 105 + model = "TSEC"; 106 + compatible = "gianfar"; 107 + reg = <25000 1000>; 108 + local-mac-address = [ 00 E0 0C 00 73 01 ]; 109 + interrupts = <13 2 14 2 18 2>; 110 + interrupt-parent = <40000>; 111 + phy-handle = <2452001>; 112 + }; 113 + 114 + serial@4500 { 115 + device_type = "serial"; 116 + compatible = "ns16550"; 117 + reg = <4500 100>; // reg base, size 118 + clock-frequency = <0>; // should we fill in in uboot? 119 + interrupts = <1a 2>; 120 + interrupt-parent = <40000>; 121 + }; 122 + 123 + serial@4600 { 124 + device_type = "serial"; 125 + compatible = "ns16550"; 126 + reg = <4600 100>; // reg base, size 127 + clock-frequency = <0>; // should we fill in in uboot? 128 + interrupts = <1a 2>; 129 + interrupt-parent = <40000>; 130 + }; 131 + 132 + pci@8000 { 133 + linux,phandle = <8000>; 134 + interrupt-map-mask = <1f800 0 0 7>; 135 + interrupt-map = < 136 + 137 + /* IDSEL 0x10 */ 138 + 08000 0 0 1 40000 30 1 139 + 08000 0 0 2 40000 31 1 140 + 08000 0 0 3 40000 32 1 141 + 08000 0 0 4 40000 33 1 142 + 143 + /* IDSEL 0x11 */ 144 + 08800 0 0 1 40000 30 1 145 + 08800 0 0 2 40000 31 1 146 + 08800 0 0 3 40000 32 1 147 + 08800 0 0 4 40000 33 1 148 + 149 + /* IDSEL 0x12 (Slot 1) */ 150 + 09000 0 0 1 40000 30 1 151 + 09000 0 0 2 40000 31 1 152 + 09000 0 0 3 40000 32 1 153 + 09000 0 0 4 40000 33 1 154 + 155 + /* IDSEL 0x13 (Slot 2) */ 156 + 09800 0 0 1 40000 31 1 157 + 09800 0 0 2 40000 32 1 158 + 09800 0 0 3 40000 33 1 159 + 09800 0 0 4 40000 30 1 160 + 161 + /* IDSEL 0x14 (Slot 3) */ 162 + 0a000 0 0 1 40000 32 1 163 + 0a000 0 0 2 40000 33 1 164 + 0a000 0 0 3 40000 30 1 165 + 0a000 0 0 4 40000 31 1 166 + 167 + /* IDSEL 0x15 (Slot 4) */ 168 + 0a800 0 0 1 40000 33 1 169 + 0a800 0 0 2 40000 30 1 170 + 0a800 0 0 3 40000 31 1 171 + 0a800 0 0 4 40000 32 1 172 + 173 + /* Bus 1 (Tundra Bridge) */ 174 + /* IDSEL 0x12 (ISA bridge) */ 175 + 19000 0 0 1 40000 30 1 176 + 19000 0 0 2 40000 31 1 177 + 19000 0 0 3 40000 32 1 178 + 19000 0 0 4 40000 33 1>; 179 + interrupt-parent = <40000>; 180 + interrupts = <08 2>; 181 + bus-range = <0 0>; 182 + ranges = <02000000 0 80000000 80000000 0 20000000 183 + 01000000 0 00000000 e2000000 0 00100000>; 184 + clock-frequency = <3f940aa>; 185 + #interrupt-cells = <1>; 186 + #size-cells = <2>; 187 + #address-cells = <3>; 188 + reg = <8000 1000>; 189 + compatible = "85xx"; 190 + device_type = "pci"; 191 + 192 + i8259@19000 { 193 + clock-frequency = <0>; 194 + interrupt-controller; 195 + device_type = "interrupt-controller"; 196 + reg = <19000 0 0 0 1>; 197 + #address-cells = <0>; 198 + #interrupt-cells = <2>; 199 + built-in; 200 + compatible = "chrp,iic"; 201 + big-endian; 202 + interrupts = <1>; 203 + interrupt-parent = <8000>; 204 + }; 205 + }; 206 + 207 + pci@9000 { 208 + linux,phandle = <9000>; 209 + interrupt-map-mask = <f800 0 0 7>; 210 + interrupt-map = < 211 + 212 + /* IDSEL 0x15 */ 213 + a800 0 0 1 40000 3b 1 214 + a800 0 0 2 40000 3b 1 215 + a800 0 0 3 40000 3b 1 216 + a800 0 0 4 40000 3b 1>; 217 + interrupt-parent = <40000>; 218 + interrupts = <09 2>; 219 + bus-range = <0 0>; 220 + ranges = <02000000 0 a0000000 a0000000 0 20000000 221 + 01000000 0 00000000 e3000000 0 00100000>; 222 + clock-frequency = <3f940aa>; 223 + #interrupt-cells = <1>; 224 + #size-cells = <2>; 225 + #address-cells = <3>; 226 + reg = <9000 1000>; 227 + compatible = "85xx"; 228 + device_type = "pci"; 229 + }; 230 + 231 + pic@40000 { 232 + linux,phandle = <40000>; 233 + clock-frequency = <0>; 234 + interrupt-controller; 235 + #address-cells = <0>; 236 + #interrupt-cells = <2>; 237 + reg = <40000 40000>; 238 + built-in; 239 + compatible = "chrp,open-pic"; 240 + device_type = "open-pic"; 241 + big-endian; 242 + }; 243 + }; 244 + };
+1
arch/powerpc/boot/dts/mpc8641_hpcn.dts
··· 293 293 f800 0 0 4 4d0 0 0 294 294 >; 295 295 i8259@4d0 { 296 + linux,phandle = <4d0>; 296 297 clock-frequency = <0>; 297 298 interrupt-controller; 298 299 device_type = "interrupt-controller";
+98 -24
arch/powerpc/configs/g5_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.17-rc1 4 - # Wed Apr 19 13:24:37 2006 3 + # Linux kernel version: 2.6.18-rc3 4 + # Tue Aug 8 09:12:29 2006 5 5 # 6 6 CONFIG_PPC64=y 7 7 CONFIG_64BIT=y 8 8 CONFIG_PPC_MERGE=y 9 9 CONFIG_MMU=y 10 10 CONFIG_GENERIC_HARDIRQS=y 11 + CONFIG_IRQ_PER_CPU=y 11 12 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12 13 CONFIG_GENERIC_HWEIGHT=y 13 14 CONFIG_GENERIC_CALIBRATE_DELAY=y 15 + CONFIG_GENERIC_FIND_NEXT_BIT=y 14 16 CONFIG_PPC=y 15 17 CONFIG_EARLY_PRINTK=y 16 18 CONFIG_COMPAT=y ··· 35 33 CONFIG_VIRT_CPU_ACCOUNTING=y 36 34 CONFIG_SMP=y 37 35 CONFIG_NR_CPUS=4 36 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 38 37 39 38 # 40 39 # Code maturity level options ··· 53 50 CONFIG_SYSVIPC=y 54 51 CONFIG_POSIX_MQUEUE=y 55 52 # CONFIG_BSD_PROCESS_ACCT is not set 53 + # CONFIG_TASKSTATS is not set 56 54 CONFIG_SYSCTL=y 57 55 # CONFIG_AUDIT is not set 58 56 CONFIG_IKCONFIG=y ··· 71 67 CONFIG_BUG=y 72 68 CONFIG_ELF_CORE=y 73 69 CONFIG_BASE_FULL=y 70 + CONFIG_RT_MUTEXES=y 74 71 CONFIG_FUTEX=y 75 72 CONFIG_EPOLL=y 76 73 CONFIG_SHMEM=y 77 74 CONFIG_SLAB=y 75 + CONFIG_VM_EVENT_COUNTERS=y 78 76 # CONFIG_TINY_SHMEM is not set 79 77 CONFIG_BASE_SMALL=0 80 78 # CONFIG_SLOB is not set ··· 122 116 CONFIG_PPC_PMAC64=y 123 117 # CONFIG_PPC_MAPLE is not set 124 118 # CONFIG_PPC_CELL is not set 119 + # CONFIG_PPC_CELL_NATIVE is not set 120 + # CONFIG_PPC_IBM_CELL_BLADE is not set 121 + # CONFIG_UDBG_RTAS_CONSOLE is not set 125 122 CONFIG_U3_DART=y 126 123 CONFIG_MPIC=y 127 124 # CONFIG_PPC_RTAS is not set 128 125 # CONFIG_MMIO_NVRAM is not set 129 126 CONFIG_MPIC_BROKEN_U3=y 130 127 # CONFIG_PPC_MPC106 is not set 128 + CONFIG_PPC_970_NAP=y 131 129 CONFIG_CPU_FREQ=y 132 130 CONFIG_CPU_FREQ_TABLE=y 133 131 # CONFIG_CPU_FREQ_DEBUG is not set ··· 163 153 CONFIG_FORCE_MAX_ZONEORDER=13 164 154 CONFIG_IOMMU_VMERGE=y 165 155 # CONFIG_HOTPLUG_CPU is not set 156 + CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 166 157 CONFIG_KEXEC=y 167 158 # CONFIG_CRASH_DUMP is not set 168 159 CONFIG_IRQ_ALL_CPUS=y ··· 179 168 CONFIG_FLAT_NODE_MEM_MAP=y 180 169 # CONFIG_SPARSEMEM_STATIC is not set 181 170 CONFIG_SPLIT_PTLOCK_CPUS=4 171 + CONFIG_RESOURCES_64BIT=y 182 172 # CONFIG_PPC_64K_PAGES is not set 183 173 # CONFIG_SCHED_SMT is not set 184 174 CONFIG_PROC_DEVICETREE=y ··· 196 184 # CONFIG_PPC_INDIRECT_PCI is not set 197 185 CONFIG_PCI=y 198 186 CONFIG_PCI_DOMAINS=y 187 + # CONFIG_PCIEPORTBUS is not set 199 188 # CONFIG_PCI_DEBUG is not set 200 189 201 190 # ··· 240 227 CONFIG_INET_IPCOMP=m 241 228 CONFIG_INET_XFRM_TUNNEL=m 242 229 CONFIG_INET_TUNNEL=y 230 + CONFIG_INET_XFRM_MODE_TRANSPORT=y 231 + CONFIG_INET_XFRM_MODE_TUNNEL=y 243 232 CONFIG_INET_DIAG=y 244 233 CONFIG_INET_TCP_DIAG=y 245 234 # CONFIG_TCP_CONG_ADVANCED is not set ··· 254 239 # CONFIG_IPV6 is not set 255 240 # CONFIG_INET6_XFRM_TUNNEL is not set 256 241 # CONFIG_INET6_TUNNEL is not set 242 + # CONFIG_NETWORK_SECMARK is not set 257 243 CONFIG_NETFILTER=y 258 244 # CONFIG_NETFILTER_DEBUG is not set 259 245 ··· 279 263 CONFIG_IP_NF_AMANDA=m 280 264 # CONFIG_IP_NF_PPTP is not set 281 265 # CONFIG_IP_NF_H323 is not set 266 + # CONFIG_IP_NF_SIP is not set 282 267 CONFIG_IP_NF_QUEUE=m 283 268 284 269 # ··· 335 318 CONFIG_PREVENT_FIRMWARE_BUILD=y 336 319 CONFIG_FW_LOADER=y 337 320 # CONFIG_DEBUG_DRIVER is not set 321 + # CONFIG_SYS_HYPERVISOR is not set 338 322 339 323 # 340 324 # Connector - unified userspace <-> kernelspace linker ··· 373 355 CONFIG_BLK_DEV_RAM=y 374 356 CONFIG_BLK_DEV_RAM_COUNT=16 375 357 CONFIG_BLK_DEV_RAM_SIZE=65536 358 + CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 376 359 CONFIG_BLK_DEV_INITRD=y 377 360 CONFIG_CDROM_PKTCDVD=m 378 361 CONFIG_CDROM_PKTCDVD_BUFFERS=8 ··· 436 417 CONFIG_BLK_DEV_IDE_PMAC=y 437 418 CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 438 419 CONFIG_BLK_DEV_IDEDMA_PMAC=y 439 - # CONFIG_BLK_DEV_IDE_PMAC_BLINK is not set 440 420 # CONFIG_IDE_ARM is not set 441 421 CONFIG_BLK_DEV_IDEDMA=y 442 422 # CONFIG_IDEDMA_IVB is not set ··· 496 478 # CONFIG_SCSI_SATA_MV is not set 497 479 # CONFIG_SCSI_SATA_NV is not set 498 480 # CONFIG_SCSI_PDC_ADMA is not set 481 + # CONFIG_SCSI_HPTIOP is not set 499 482 # CONFIG_SCSI_SATA_QSTOR is not set 500 483 # CONFIG_SCSI_SATA_PROMISE is not set 501 484 # CONFIG_SCSI_SATA_SX4 is not set ··· 516 497 # CONFIG_SCSI_INIA100 is not set 517 498 # CONFIG_SCSI_SYM53C8XX_2 is not set 518 499 # CONFIG_SCSI_IPR is not set 519 - # CONFIG_SCSI_QLOGIC_FC is not set 520 500 # CONFIG_SCSI_QLOGIC_1280 is not set 521 501 # CONFIG_SCSI_QLA_FC is not set 522 502 # CONFIG_SCSI_LPFC is not set ··· 532 514 CONFIG_MD_RAID0=y 533 515 CONFIG_MD_RAID1=y 534 516 CONFIG_MD_RAID10=m 535 - CONFIG_MD_RAID5=y 536 - # CONFIG_MD_RAID5_RESHAPE is not set 537 - CONFIG_MD_RAID6=m 517 + # CONFIG_MD_RAID456 is not set 538 518 CONFIG_MD_MULTIPATH=m 539 519 CONFIG_MD_FAULTY=m 540 520 CONFIG_BLK_DEV_DM=y ··· 575 559 # 576 560 CONFIG_IEEE1394_VIDEO1394=m 577 561 CONFIG_IEEE1394_SBP2=m 578 - # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set 579 562 CONFIG_IEEE1394_ETH1394=m 580 563 CONFIG_IEEE1394_DV1394=m 581 564 CONFIG_IEEE1394_RAWIO=y ··· 588 573 # Macintosh device drivers 589 574 # 590 575 CONFIG_ADB_PMU=y 576 + # CONFIG_ADB_PMU_LED is not set 591 577 CONFIG_PMAC_SMU=y 592 578 CONFIG_THERM_PM72=y 593 579 CONFIG_WINDFARM=y ··· 659 643 # CONFIG_CHELSIO_T1 is not set 660 644 # CONFIG_IXGB is not set 661 645 # CONFIG_S2IO is not set 646 + # CONFIG_MYRI10GE is not set 662 647 663 648 # 664 649 # Token Ring devices ··· 756 739 CONFIG_VT=y 757 740 CONFIG_VT_CONSOLE=y 758 741 CONFIG_HW_CONSOLE=y 742 + # CONFIG_VT_HW_CONSOLE_BINDING is not set 759 743 # CONFIG_SERIAL_NONSTANDARD is not set 760 744 761 745 # ··· 772 754 CONFIG_UNIX98_PTYS=y 773 755 CONFIG_LEGACY_PTYS=y 774 756 CONFIG_LEGACY_PTY_COUNT=256 757 + # CONFIG_BRIQ_PANEL is not set 775 758 776 759 # 777 760 # IPMI ··· 783 764 # Watchdog Cards 784 765 # 785 766 # CONFIG_WATCHDOG is not set 767 + # CONFIG_HW_RANDOM is not set 786 768 CONFIG_GEN_RTC=y 787 769 # CONFIG_GEN_RTC_X is not set 788 770 # CONFIG_DTLK is not set ··· 794 774 # Ftape, the floppy tape device driver 795 775 # 796 776 CONFIG_AGP=m 777 + # CONFIG_AGP_SIS is not set 797 778 # CONFIG_AGP_VIA is not set 798 779 CONFIG_AGP_UNINORTH=m 799 780 # CONFIG_DRM is not set ··· 834 813 # CONFIG_I2C_PIIX4 is not set 835 814 CONFIG_I2C_POWERMAC=y 836 815 # CONFIG_I2C_NFORCE2 is not set 816 + # CONFIG_I2C_OCORES is not set 837 817 # CONFIG_I2C_PARPORT_LIGHT is not set 838 818 # CONFIG_I2C_PROSAVAGE is not set 839 819 # CONFIG_I2C_SAVAGE4 is not set ··· 871 849 # 872 850 # Dallas's 1-wire bus 873 851 # 874 - # CONFIG_W1 is not set 875 852 876 853 # 877 854 # Hardware Monitoring support ··· 886 865 # Multimedia devices 887 866 # 888 867 # CONFIG_VIDEO_DEV is not set 868 + CONFIG_VIDEO_V4L2=y 889 869 890 870 # 891 871 # Digital Video Broadcasting Devices ··· 897 875 # 898 876 # Graphics support 899 877 # 878 + CONFIG_FIRMWARE_EDID=y 900 879 CONFIG_FB=y 901 880 CONFIG_FB_CFB_FILLRECT=y 902 881 CONFIG_FB_CFB_COPYAREA=y 903 882 CONFIG_FB_CFB_IMAGEBLIT=y 904 883 CONFIG_FB_MACMODES=y 905 - CONFIG_FB_FIRMWARE_EDID=y 884 + # CONFIG_FB_BACKLIGHT is not set 906 885 CONFIG_FB_MODE_HELPERS=y 907 886 CONFIG_FB_TILEBLITTING=y 908 887 # CONFIG_FB_CIRRUS is not set 909 888 # CONFIG_FB_PM2 is not set 910 889 # CONFIG_FB_CYBER2000 is not set 911 890 CONFIG_FB_OF=y 912 - # CONFIG_FB_CONTROL is not set 913 - # CONFIG_FB_PLATINUM is not set 914 - # CONFIG_FB_VALKYRIE is not set 915 - # CONFIG_FB_CT65550 is not set 916 891 # CONFIG_FB_ASILIANT is not set 917 892 # CONFIG_FB_IMSTT is not set 918 893 # CONFIG_FB_VGA16 is not set ··· 1009 990 # CONFIG_SND_CMIPCI is not set 1010 991 # CONFIG_SND_CS4281 is not set 1011 992 # CONFIG_SND_CS46XX is not set 993 + # CONFIG_SND_DARLA20 is not set 994 + # CONFIG_SND_GINA20 is not set 995 + # CONFIG_SND_LAYLA20 is not set 996 + # CONFIG_SND_DARLA24 is not set 997 + # CONFIG_SND_GINA24 is not set 998 + # CONFIG_SND_LAYLA24 is not set 999 + # CONFIG_SND_MONA is not set 1000 + # CONFIG_SND_MIA is not set 1001 + # CONFIG_SND_ECHO3G is not set 1002 + # CONFIG_SND_INDIGO is not set 1003 + # CONFIG_SND_INDIGOIO is not set 1004 + # CONFIG_SND_INDIGODJ is not set 1012 1005 # CONFIG_SND_EMU10K1 is not set 1013 1006 # CONFIG_SND_EMU10K1X is not set 1014 1007 # CONFIG_SND_ENS1370 is not set ··· 1058 1027 CONFIG_SND_POWERMAC_AUTO_DRC=y 1059 1028 1060 1029 # 1030 + # Apple Onboard Audio driver 1031 + # 1032 + CONFIG_SND_AOA=m 1033 + CONFIG_SND_AOA_FABRIC_LAYOUT=m 1034 + CONFIG_SND_AOA_ONYX=m 1035 + CONFIG_SND_AOA_TAS=m 1036 + CONFIG_SND_AOA_TOONIE=m 1037 + CONFIG_SND_AOA_SOUNDBUS=m 1038 + CONFIG_SND_AOA_SOUNDBUS_I2S=m 1039 + 1040 + # 1061 1041 # USB devices 1062 1042 # 1063 1043 CONFIG_SND_USB_AUDIO=m ··· 1102 1060 CONFIG_USB_EHCI_HCD=y 1103 1061 # CONFIG_USB_EHCI_SPLIT_ISO is not set 1104 1062 # CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1063 + # CONFIG_USB_EHCI_TT_NEWSCHED is not set 1105 1064 # CONFIG_USB_ISP116X_HCD is not set 1106 1065 CONFIG_USB_OHCI_HCD=y 1107 1066 # CONFIG_USB_OHCI_BIG_ENDIAN is not set ··· 1153 1110 # CONFIG_USB_ACECAD is not set 1154 1111 # CONFIG_USB_KBTAB is not set 1155 1112 # CONFIG_USB_POWERMATE is not set 1156 - # CONFIG_USB_MTOUCH is not set 1157 - # CONFIG_USB_ITMTOUCH is not set 1158 - # CONFIG_USB_EGALAX is not set 1113 + # CONFIG_USB_TOUCHSCREEN is not set 1159 1114 # CONFIG_USB_YEALINK is not set 1160 1115 # CONFIG_USB_XPAD is not set 1161 1116 # CONFIG_USB_ATI_REMOTE is not set ··· 1196 1155 CONFIG_USB_SERIAL_GENERIC=y 1197 1156 # CONFIG_USB_SERIAL_AIRPRIME is not set 1198 1157 # CONFIG_USB_SERIAL_ANYDATA is not set 1158 + # CONFIG_USB_SERIAL_ARK3116 is not set 1199 1159 CONFIG_USB_SERIAL_BELKIN=m 1200 1160 # CONFIG_USB_SERIAL_WHITEHEAT is not set 1201 1161 CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m ··· 1204 1162 CONFIG_USB_SERIAL_CYPRESS_M8=m 1205 1163 CONFIG_USB_SERIAL_EMPEG=m 1206 1164 CONFIG_USB_SERIAL_FTDI_SIO=m 1165 + # CONFIG_USB_SERIAL_FUNSOFT is not set 1207 1166 CONFIG_USB_SERIAL_VISOR=m 1208 1167 CONFIG_USB_SERIAL_IPAQ=m 1209 1168 CONFIG_USB_SERIAL_IR=m ··· 1234 1191 # CONFIG_USB_SERIAL_HP4X is not set 1235 1192 CONFIG_USB_SERIAL_SAFE=m 1236 1193 CONFIG_USB_SERIAL_SAFE_PADDED=y 1194 + # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set 1237 1195 CONFIG_USB_SERIAL_TI=m 1238 1196 CONFIG_USB_SERIAL_CYBERJACK=m 1239 1197 CONFIG_USB_SERIAL_XIRCOM=m 1198 + # CONFIG_USB_SERIAL_OPTION is not set 1240 1199 CONFIG_USB_SERIAL_OMNINET=m 1241 1200 CONFIG_USB_EZUSB=y 1242 1201 ··· 1252 1207 # CONFIG_USB_LEGOTOWER is not set 1253 1208 # CONFIG_USB_LCD is not set 1254 1209 # CONFIG_USB_LED is not set 1210 + # CONFIG_USB_CYPRESS_CY7C63 is not set 1255 1211 # CONFIG_USB_CYTHERM is not set 1256 1212 # CONFIG_USB_PHIDGETKIT is not set 1257 1213 # CONFIG_USB_PHIDGETSERVO is not set 1258 1214 # CONFIG_USB_IDMOUSE is not set 1215 + CONFIG_USB_APPLEDISPLAY=m 1259 1216 # CONFIG_USB_SISUSBVGA is not set 1260 1217 # CONFIG_USB_LD is not set 1261 1218 # CONFIG_USB_TEST is not set ··· 1282 1235 # CONFIG_NEW_LEDS is not set 1283 1236 1284 1237 # 1238 + # LED drivers 1239 + # 1240 + 1241 + # 1242 + # LED Triggers 1243 + # 1244 + 1245 + # 1285 1246 # InfiniBand support 1286 1247 # 1287 1248 # CONFIG_INFINIBAND is not set ··· 1302 1247 # Real Time Clock 1303 1248 # 1304 1249 # CONFIG_RTC_CLASS is not set 1250 + 1251 + # 1252 + # DMA Engine support 1253 + # 1254 + # CONFIG_DMA_ENGINE is not set 1255 + 1256 + # 1257 + # DMA Clients 1258 + # 1259 + 1260 + # 1261 + # DMA Devices 1262 + # 1305 1263 1306 1264 # 1307 1265 # File systems ··· 1341 1273 # CONFIG_JFS_FS is not set 1342 1274 CONFIG_FS_POSIX_ACL=y 1343 1275 CONFIG_XFS_FS=m 1344 - CONFIG_XFS_EXPORT=y 1345 1276 # CONFIG_XFS_QUOTA is not set 1346 1277 CONFIG_XFS_SECURITY=y 1347 1278 CONFIG_XFS_POSIX_ACL=y ··· 1349 1282 # CONFIG_MINIX_FS is not set 1350 1283 # CONFIG_ROMFS_FS is not set 1351 1284 CONFIG_INOTIFY=y 1285 + CONFIG_INOTIFY_USER=y 1352 1286 # CONFIG_QUOTA is not set 1353 1287 CONFIG_DNOTIFY=y 1354 1288 CONFIG_AUTOFS_FS=m ··· 1431 1363 # CONFIG_SMB_FS is not set 1432 1364 CONFIG_CIFS=m 1433 1365 # CONFIG_CIFS_STATS is not set 1366 + # CONFIG_CIFS_WEAK_PW_HASH is not set 1434 1367 # CONFIG_CIFS_XATTR is not set 1368 + # CONFIG_CIFS_DEBUG2 is not set 1435 1369 # CONFIG_CIFS_EXPERIMENTAL is not set 1436 1370 # CONFIG_NCP_FS is not set 1437 1371 # CONFIG_CODA_FS is not set ··· 1514 1444 CONFIG_LIBCRC32C=m 1515 1445 CONFIG_ZLIB_INFLATE=y 1516 1446 CONFIG_ZLIB_DEFLATE=m 1447 + CONFIG_TEXTSEARCH=y 1448 + CONFIG_TEXTSEARCH_KMP=m 1449 + CONFIG_PLIST=y 1517 1450 1518 1451 # 1519 1452 # Instrumentation Support ··· 1530 1457 # 1531 1458 # CONFIG_PRINTK_TIME is not set 1532 1459 CONFIG_MAGIC_SYSRQ=y 1460 + # CONFIG_UNUSED_SYMBOLS is not set 1533 1461 CONFIG_DEBUG_KERNEL=y 1534 1462 CONFIG_LOG_BUF_SHIFT=17 1535 1463 CONFIG_DETECT_SOFTLOCKUP=y 1536 1464 # CONFIG_SCHEDSTATS is not set 1537 1465 # CONFIG_DEBUG_SLAB is not set 1538 - CONFIG_DEBUG_MUTEXES=y 1466 + # CONFIG_DEBUG_RT_MUTEXES is not set 1467 + # CONFIG_RT_MUTEX_TESTER is not set 1539 1468 # CONFIG_DEBUG_SPINLOCK is not set 1469 + CONFIG_DEBUG_MUTEXES=y 1470 + # CONFIG_DEBUG_RWSEMS is not set 1540 1471 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1472 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1541 1473 # CONFIG_DEBUG_KOBJECT is not set 1542 1474 # CONFIG_DEBUG_INFO is not set 1543 1475 CONFIG_DEBUG_FS=y ··· 1554 1476 # CONFIG_DEBUGGER is not set 1555 1477 CONFIG_IRQSTACKS=y 1556 1478 CONFIG_BOOTX_TEXT=y 1557 - # CONFIG_PPC_EARLY_DEBUG_LPAR is not set 1558 - # CONFIG_PPC_EARLY_DEBUG_G5 is not set 1559 - # CONFIG_PPC_EARLY_DEBUG_RTAS is not set 1560 - # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set 1561 - # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 1479 + # CONFIG_PPC_EARLY_DEBUG is not set 1562 1480 1563 1481 # 1564 1482 # Security options
+64 -14
arch/powerpc/configs/iseries_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.17-rc1 4 - # Wed Apr 19 11:46:44 2006 3 + # Linux kernel version: 2.6.18-rc3 4 + # Tue Aug 8 09:15:46 2006 5 5 # 6 6 CONFIG_PPC64=y 7 7 CONFIG_64BIT=y 8 8 CONFIG_PPC_MERGE=y 9 9 CONFIG_MMU=y 10 10 CONFIG_GENERIC_HARDIRQS=y 11 + CONFIG_IRQ_PER_CPU=y 11 12 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12 13 CONFIG_GENERIC_HWEIGHT=y 13 14 CONFIG_GENERIC_CALIBRATE_DELAY=y 15 + CONFIG_GENERIC_FIND_NEXT_BIT=y 14 16 CONFIG_PPC=y 15 17 CONFIG_EARLY_PRINTK=y 16 18 CONFIG_COMPAT=y ··· 36 34 CONFIG_VIRT_CPU_ACCOUNTING=y 37 35 CONFIG_SMP=y 38 36 CONFIG_NR_CPUS=32 37 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 39 38 40 39 # 41 40 # Code maturity level options ··· 54 51 CONFIG_SYSVIPC=y 55 52 CONFIG_POSIX_MQUEUE=y 56 53 # CONFIG_BSD_PROCESS_ACCT is not set 54 + # CONFIG_TASKSTATS is not set 57 55 CONFIG_SYSCTL=y 58 56 CONFIG_AUDIT=y 59 57 CONFIG_AUDITSYSCALL=y ··· 73 69 CONFIG_BUG=y 74 70 CONFIG_ELF_CORE=y 75 71 CONFIG_BASE_FULL=y 72 + CONFIG_RT_MUTEXES=y 76 73 CONFIG_FUTEX=y 77 74 CONFIG_EPOLL=y 78 75 CONFIG_SHMEM=y 79 76 CONFIG_SLAB=y 77 + CONFIG_VM_EVENT_COUNTERS=y 80 78 # CONFIG_TINY_SHMEM is not set 81 79 CONFIG_BASE_SMALL=0 82 80 # CONFIG_SLOB is not set ··· 119 113 CONFIG_PPC_ISERIES=y 120 114 # CONFIG_EMBEDDED6xx is not set 121 115 # CONFIG_APUS is not set 116 + # CONFIG_PPC_CELL is not set 117 + # CONFIG_PPC_CELL_NATIVE is not set 118 + # CONFIG_UDBG_RTAS_CONSOLE is not set 122 119 # CONFIG_PPC_RTAS is not set 123 120 # CONFIG_MMIO_NVRAM is not set 124 121 CONFIG_IBMVIO=y 125 122 # CONFIG_PPC_MPC106 is not set 123 + # CONFIG_PPC_970_NAP is not set 126 124 # CONFIG_CPU_FREQ is not set 127 125 # CONFIG_WANT_EARLY_SERIAL is not set 128 126 ··· 145 135 # CONFIG_BINFMT_MISC is not set 146 136 CONFIG_FORCE_MAX_ZONEORDER=13 147 137 CONFIG_IOMMU_VMERGE=y 138 + CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 148 139 CONFIG_IRQ_ALL_CPUS=y 149 140 CONFIG_LPARCFG=y 150 141 # CONFIG_NUMA is not set ··· 160 149 CONFIG_FLAT_NODE_MEM_MAP=y 161 150 # CONFIG_SPARSEMEM_STATIC is not set 162 151 CONFIG_SPLIT_PTLOCK_CPUS=4 152 + CONFIG_RESOURCES_64BIT=y 163 153 # CONFIG_PPC_64K_PAGES is not set 164 154 # CONFIG_SCHED_SMT is not set 165 155 CONFIG_PROC_DEVICETREE=y ··· 176 164 # CONFIG_PPC_INDIRECT_PCI is not set 177 165 CONFIG_PCI=y 178 166 CONFIG_PCI_DOMAINS=y 167 + # CONFIG_PCIEPORTBUS is not set 179 168 # CONFIG_PCI_DEBUG is not set 180 169 181 170 # ··· 220 207 CONFIG_INET_IPCOMP=m 221 208 CONFIG_INET_XFRM_TUNNEL=m 222 209 CONFIG_INET_TUNNEL=y 210 + CONFIG_INET_XFRM_MODE_TRANSPORT=y 211 + CONFIG_INET_XFRM_MODE_TUNNEL=y 223 212 CONFIG_INET_DIAG=y 224 213 CONFIG_INET_TCP_DIAG=y 225 214 # CONFIG_TCP_CONG_ADVANCED is not set ··· 234 219 # CONFIG_IPV6 is not set 235 220 # CONFIG_INET6_XFRM_TUNNEL is not set 236 221 # CONFIG_INET6_TUNNEL is not set 222 + # CONFIG_NETWORK_SECMARK is not set 237 223 CONFIG_NETFILTER=y 238 224 # CONFIG_NETFILTER_DEBUG is not set 239 225 ··· 262 246 # CONFIG_NETFILTER_XT_MATCH_POLICY is not set 263 247 # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set 264 248 CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 249 + # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 265 250 CONFIG_NETFILTER_XT_MATCH_REALM=m 266 251 CONFIG_NETFILTER_XT_MATCH_SCTP=m 267 252 CONFIG_NETFILTER_XT_MATCH_STATE=m 253 + # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 268 254 CONFIG_NETFILTER_XT_MATCH_STRING=m 269 255 CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 270 256 ··· 285 267 CONFIG_IP_NF_AMANDA=m 286 268 # CONFIG_IP_NF_PPTP is not set 287 269 # CONFIG_IP_NF_H323 is not set 270 + # CONFIG_IP_NF_SIP is not set 288 271 CONFIG_IP_NF_QUEUE=m 289 272 CONFIG_IP_NF_IPTABLES=m 290 273 CONFIG_IP_NF_MATCH_IPRANGE=m ··· 379 360 CONFIG_PREVENT_FIRMWARE_BUILD=y 380 361 CONFIG_FW_LOADER=m 381 362 # CONFIG_DEBUG_DRIVER is not set 363 + # CONFIG_SYS_HYPERVISOR is not set 382 364 383 365 # 384 366 # Connector - unified userspace <-> kernelspace linker ··· 416 396 CONFIG_BLK_DEV_RAM=y 417 397 CONFIG_BLK_DEV_RAM_COUNT=16 418 398 CONFIG_BLK_DEV_RAM_SIZE=65536 399 + CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 419 400 CONFIG_BLK_DEV_INITRD=y 420 401 # CONFIG_CDROM_PKTCDVD is not set 421 402 # CONFIG_ATA_OVER_ETH is not set ··· 474 453 # CONFIG_MEGARAID_LEGACY is not set 475 454 # CONFIG_MEGARAID_SAS is not set 476 455 # CONFIG_SCSI_SATA is not set 456 + # CONFIG_SCSI_HPTIOP is not set 477 457 # CONFIG_SCSI_BUSLOGIC is not set 478 458 # CONFIG_SCSI_DMX3191D is not set 479 459 # CONFIG_SCSI_EATA is not set ··· 486 464 # CONFIG_SCSI_INIA100 is not set 487 465 # CONFIG_SCSI_SYM53C8XX_2 is not set 488 466 # CONFIG_SCSI_IPR is not set 489 - # CONFIG_SCSI_QLOGIC_FC is not set 490 467 # CONFIG_SCSI_QLOGIC_1280 is not set 491 468 # CONFIG_SCSI_QLA_FC is not set 492 469 # CONFIG_SCSI_LPFC is not set ··· 502 481 CONFIG_MD_RAID0=y 503 482 CONFIG_MD_RAID1=y 504 483 CONFIG_MD_RAID10=m 505 - CONFIG_MD_RAID5=y 506 - # CONFIG_MD_RAID5_RESHAPE is not set 507 - CONFIG_MD_RAID6=m 484 + # CONFIG_MD_RAID456 is not set 508 485 CONFIG_MD_MULTIPATH=m 509 486 CONFIG_MD_FAULTY=m 510 487 CONFIG_BLK_DEV_DM=y ··· 615 596 # CONFIG_CHELSIO_T1 is not set 616 597 # CONFIG_IXGB is not set 617 598 # CONFIG_S2IO is not set 599 + # CONFIG_MYRI10GE is not set 618 600 619 601 # 620 602 # Token Ring devices ··· 716 696 CONFIG_UNIX98_PTYS=y 717 697 CONFIG_LEGACY_PTYS=y 718 698 CONFIG_LEGACY_PTY_COUNT=256 699 + # CONFIG_BRIQ_PANEL is not set 719 700 720 701 # 721 702 # IPMI ··· 727 706 # Watchdog Cards 728 707 # 729 708 # CONFIG_WATCHDOG is not set 709 + # CONFIG_HW_RANDOM is not set 730 710 CONFIG_GEN_RTC=y 731 711 # CONFIG_GEN_RTC_X is not set 732 712 # CONFIG_DTLK is not set ··· 763 741 # 764 742 # Dallas's 1-wire bus 765 743 # 766 - # CONFIG_W1 is not set 767 744 768 745 # 769 746 # Hardware Monitoring support ··· 778 757 # Multimedia devices 779 758 # 780 759 # CONFIG_VIDEO_DEV is not set 760 + CONFIG_VIDEO_V4L2=y 781 761 782 762 # 783 763 # Digital Video Broadcasting Devices ··· 788 766 # 789 767 # Graphics support 790 768 # 769 + CONFIG_FIRMWARE_EDID=y 791 770 # CONFIG_FB is not set 771 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 792 772 793 773 # 794 774 # Sound ··· 825 801 # CONFIG_NEW_LEDS is not set 826 802 827 803 # 804 + # LED drivers 805 + # 806 + 807 + # 808 + # LED Triggers 809 + # 810 + 811 + # 828 812 # InfiniBand support 829 813 # 830 814 # CONFIG_INFINIBAND is not set ··· 845 813 # Real Time Clock 846 814 # 847 815 # CONFIG_RTC_CLASS is not set 816 + 817 + # 818 + # DMA Engine support 819 + # 820 + # CONFIG_DMA_ENGINE is not set 821 + 822 + # 823 + # DMA Clients 824 + # 825 + 826 + # 827 + # DMA Devices 828 + # 848 829 849 830 # 850 831 # File systems ··· 888 843 # CONFIG_JFS_STATISTICS is not set 889 844 CONFIG_FS_POSIX_ACL=y 890 845 CONFIG_XFS_FS=m 891 - CONFIG_XFS_EXPORT=y 892 846 # CONFIG_XFS_QUOTA is not set 893 847 CONFIG_XFS_SECURITY=y 894 848 CONFIG_XFS_POSIX_ACL=y ··· 896 852 # CONFIG_MINIX_FS is not set 897 853 # CONFIG_ROMFS_FS is not set 898 854 CONFIG_INOTIFY=y 855 + CONFIG_INOTIFY_USER=y 899 856 # CONFIG_QUOTA is not set 900 857 CONFIG_DNOTIFY=y 901 858 CONFIG_AUTOFS_FS=m ··· 978 933 # CONFIG_SMB_FS is not set 979 934 CONFIG_CIFS=m 980 935 # CONFIG_CIFS_STATS is not set 936 + # CONFIG_CIFS_WEAK_PW_HASH is not set 981 937 CONFIG_CIFS_XATTR=y 982 938 CONFIG_CIFS_POSIX=y 939 + # CONFIG_CIFS_DEBUG2 is not set 983 940 # CONFIG_CIFS_EXPERIMENTAL is not set 984 941 # CONFIG_NCP_FS is not set 985 942 # CONFIG_CODA_FS is not set ··· 1060 1013 CONFIG_TEXTSEARCH_KMP=m 1061 1014 CONFIG_TEXTSEARCH_BM=m 1062 1015 CONFIG_TEXTSEARCH_FSM=m 1016 + CONFIG_PLIST=y 1063 1017 1064 1018 # 1065 1019 # Instrumentation Support 1066 1020 # 1021 + # CONFIG_PROFILING is not set 1067 1022 # CONFIG_KPROBES is not set 1068 1023 1069 1024 # ··· 1073 1024 # 1074 1025 # CONFIG_PRINTK_TIME is not set 1075 1026 CONFIG_MAGIC_SYSRQ=y 1027 + # CONFIG_UNUSED_SYMBOLS is not set 1076 1028 CONFIG_DEBUG_KERNEL=y 1077 1029 CONFIG_LOG_BUF_SHIFT=17 1078 1030 CONFIG_DETECT_SOFTLOCKUP=y 1079 1031 # CONFIG_SCHEDSTATS is not set 1080 1032 # CONFIG_DEBUG_SLAB is not set 1081 - # CONFIG_DEBUG_MUTEXES is not set 1033 + # CONFIG_DEBUG_RT_MUTEXES is not set 1034 + # CONFIG_RT_MUTEX_TESTER is not set 1082 1035 # CONFIG_DEBUG_SPINLOCK is not set 1036 + # CONFIG_DEBUG_MUTEXES is not set 1037 + # CONFIG_DEBUG_RWSEMS is not set 1083 1038 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1039 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1084 1040 # CONFIG_DEBUG_KOBJECT is not set 1085 1041 # CONFIG_DEBUG_INFO is not set 1086 1042 CONFIG_DEBUG_FS=y ··· 1096 1042 CONFIG_DEBUG_STACK_USAGE=y 1097 1043 # CONFIG_DEBUGGER is not set 1098 1044 CONFIG_IRQSTACKS=y 1099 - # CONFIG_PPC_EARLY_DEBUG_LPAR is not set 1100 - # CONFIG_PPC_EARLY_DEBUG_G5 is not set 1101 - # CONFIG_PPC_EARLY_DEBUG_RTAS is not set 1102 - # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set 1103 - # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 1045 + # CONFIG_PPC_EARLY_DEBUG is not set 1104 1046 1105 1047 # 1106 1048 # Security options
+62 -16
arch/powerpc/configs/pseries_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.17-rc4 4 - # Sun May 28 07:26:56 2006 3 + # Linux kernel version: 2.6.18-rc3 4 + # Tue Aug 8 09:14:48 2006 5 5 # 6 6 CONFIG_PPC64=y 7 7 CONFIG_64BIT=y 8 8 CONFIG_PPC_MERGE=y 9 9 CONFIG_MMU=y 10 10 CONFIG_GENERIC_HARDIRQS=y 11 + CONFIG_IRQ_PER_CPU=y 11 12 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12 13 CONFIG_GENERIC_HWEIGHT=y 13 14 CONFIG_GENERIC_CALIBRATE_DELAY=y ··· 36 35 CONFIG_VIRT_CPU_ACCOUNTING=y 37 36 CONFIG_SMP=y 38 37 CONFIG_NR_CPUS=128 38 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 39 39 40 40 # 41 41 # Code maturity level options ··· 54 52 CONFIG_SYSVIPC=y 55 53 CONFIG_POSIX_MQUEUE=y 56 54 # CONFIG_BSD_PROCESS_ACCT is not set 55 + # CONFIG_TASKSTATS is not set 57 56 CONFIG_SYSCTL=y 58 57 CONFIG_AUDIT=y 59 58 CONFIG_AUDITSYSCALL=y ··· 73 70 CONFIG_BUG=y 74 71 CONFIG_ELF_CORE=y 75 72 CONFIG_BASE_FULL=y 73 + CONFIG_RT_MUTEXES=y 76 74 CONFIG_FUTEX=y 77 75 CONFIG_EPOLL=y 78 76 CONFIG_SHMEM=y 79 77 CONFIG_SLAB=y 78 + CONFIG_VM_EVENT_COUNTERS=y 80 79 # CONFIG_TINY_SHMEM is not set 81 80 CONFIG_BASE_SMALL=0 82 81 # CONFIG_SLOB is not set ··· 123 118 # CONFIG_PPC_PMAC is not set 124 119 # CONFIG_PPC_MAPLE is not set 125 120 # CONFIG_PPC_CELL is not set 121 + # CONFIG_PPC_CELL_NATIVE is not set 122 + # CONFIG_PPC_IBM_CELL_BLADE is not set 123 + # CONFIG_UDBG_RTAS_CONSOLE is not set 126 124 CONFIG_XICS=y 127 125 # CONFIG_U3_DART is not set 128 126 CONFIG_MPIC=y ··· 157 149 CONFIG_FORCE_MAX_ZONEORDER=13 158 150 CONFIG_IOMMU_VMERGE=y 159 151 CONFIG_HOTPLUG_CPU=y 152 + CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 160 153 CONFIG_KEXEC=y 161 154 # CONFIG_CRASH_DUMP is not set 162 155 CONFIG_IRQ_ALL_CPUS=y ··· 182 173 # CONFIG_MEMORY_HOTPLUG is not set 183 174 CONFIG_SPLIT_PTLOCK_CPUS=4 184 175 CONFIG_MIGRATION=y 176 + CONFIG_RESOURCES_64BIT=y 185 177 CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y 186 178 # CONFIG_PPC_64K_PAGES is not set 187 179 CONFIG_SCHED_SMT=y ··· 200 190 # CONFIG_PPC_INDIRECT_PCI is not set 201 191 CONFIG_PCI=y 202 192 CONFIG_PCI_DOMAINS=y 193 + # CONFIG_PCIEPORTBUS is not set 203 194 # CONFIG_PCI_DEBUG is not set 204 195 205 196 # ··· 249 238 CONFIG_INET_IPCOMP=m 250 239 CONFIG_INET_XFRM_TUNNEL=m 251 240 CONFIG_INET_TUNNEL=y 241 + CONFIG_INET_XFRM_MODE_TRANSPORT=y 242 + CONFIG_INET_XFRM_MODE_TUNNEL=y 252 243 CONFIG_INET_DIAG=y 253 244 CONFIG_INET_TCP_DIAG=y 254 245 # CONFIG_TCP_CONG_ADVANCED is not set ··· 263 250 # CONFIG_IPV6 is not set 264 251 # CONFIG_INET6_XFRM_TUNNEL is not set 265 252 # CONFIG_INET6_TUNNEL is not set 253 + # CONFIG_NETWORK_SECMARK is not set 266 254 CONFIG_NETFILTER=y 267 255 # CONFIG_NETFILTER_DEBUG is not set 268 256 ··· 291 277 CONFIG_IP_NF_AMANDA=m 292 278 # CONFIG_IP_NF_PPTP is not set 293 279 # CONFIG_IP_NF_H323 is not set 280 + # CONFIG_IP_NF_SIP is not set 294 281 CONFIG_IP_NF_QUEUE=m 295 282 296 283 # ··· 331 316 # Network testing 332 317 # 333 318 # CONFIG_NET_PKTGEN is not set 319 + # CONFIG_NET_TCPPROBE is not set 334 320 # CONFIG_HAMRADIO is not set 335 321 # CONFIG_IRDA is not set 336 322 # CONFIG_BT is not set ··· 348 332 CONFIG_PREVENT_FIRMWARE_BUILD=y 349 333 CONFIG_FW_LOADER=y 350 334 # CONFIG_DEBUG_DRIVER is not set 335 + # CONFIG_SYS_HYPERVISOR is not set 351 336 352 337 # 353 338 # Connector - unified userspace <-> kernelspace linker ··· 369 352 # CONFIG_PARPORT_PC_FIFO is not set 370 353 # CONFIG_PARPORT_PC_SUPERIO is not set 371 354 # CONFIG_PARPORT_GSC is not set 355 + # CONFIG_PARPORT_AX88796 is not set 372 356 # CONFIG_PARPORT_1284 is not set 373 357 374 358 # ··· 394 376 CONFIG_BLK_DEV_RAM=y 395 377 CONFIG_BLK_DEV_RAM_COUNT=16 396 378 CONFIG_BLK_DEV_RAM_SIZE=65536 379 + CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 397 380 CONFIG_BLK_DEV_INITRD=y 398 381 # CONFIG_CDROM_PKTCDVD is not set 399 382 # CONFIG_ATA_OVER_ETH is not set ··· 506 487 # CONFIG_MEGARAID_LEGACY is not set 507 488 # CONFIG_MEGARAID_SAS is not set 508 489 # CONFIG_SCSI_SATA is not set 490 + # CONFIG_SCSI_HPTIOP is not set 509 491 # CONFIG_SCSI_BUSLOGIC is not set 510 492 # CONFIG_SCSI_DMX3191D is not set 511 493 # CONFIG_SCSI_EATA is not set ··· 528 508 CONFIG_SCSI_IPR_DUMP=y 529 509 # CONFIG_SCSI_QLOGIC_1280 is not set 530 510 CONFIG_SCSI_QLA_FC=m 531 - CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE=y 532 - CONFIG_SCSI_QLA21XX=m 533 - CONFIG_SCSI_QLA22XX=m 534 - CONFIG_SCSI_QLA2300=m 535 - CONFIG_SCSI_QLA2322=m 536 - CONFIG_SCSI_QLA24XX=m 537 511 CONFIG_SCSI_LPFC=m 538 512 # CONFIG_SCSI_DC395x is not set 539 513 # CONFIG_SCSI_DC390T is not set ··· 542 528 CONFIG_MD_RAID0=y 543 529 CONFIG_MD_RAID1=y 544 530 CONFIG_MD_RAID10=m 545 - CONFIG_MD_RAID5=y 546 - CONFIG_MD_RAID5_RESHAPE=y 547 - CONFIG_MD_RAID6=m 531 + # CONFIG_MD_RAID456 is not set 548 532 CONFIG_MD_MULTIPATH=m 549 533 CONFIG_MD_FAULTY=m 550 534 CONFIG_BLK_DEV_DM=y ··· 663 651 # CONFIG_IXGB_NAPI is not set 664 652 CONFIG_S2IO=m 665 653 # CONFIG_S2IO_NAPI is not set 654 + # CONFIG_MYRI10GE is not set 666 655 667 656 # 668 657 # Token Ring devices ··· 767 754 CONFIG_VT=y 768 755 CONFIG_VT_CONSOLE=y 769 756 CONFIG_HW_CONSOLE=y 757 + # CONFIG_VT_HW_CONSOLE_BINDING is not set 770 758 # CONFIG_SERIAL_NONSTANDARD is not set 771 759 772 760 # ··· 790 776 CONFIG_UNIX98_PTYS=y 791 777 CONFIG_LEGACY_PTYS=y 792 778 CONFIG_LEGACY_PTY_COUNT=256 779 + # CONFIG_BRIQ_PANEL is not set 793 780 # CONFIG_PRINTER is not set 794 781 # CONFIG_PPDEV is not set 795 782 # CONFIG_TIPAR is not set ··· 808 793 # Watchdog Cards 809 794 # 810 795 # CONFIG_WATCHDOG is not set 796 + # CONFIG_HW_RANDOM is not set 811 797 CONFIG_GEN_RTC=y 812 798 # CONFIG_GEN_RTC_X is not set 813 799 # CONFIG_DTLK is not set ··· 855 839 # CONFIG_I2C_I810 is not set 856 840 # CONFIG_I2C_PIIX4 is not set 857 841 # CONFIG_I2C_NFORCE2 is not set 842 + # CONFIG_I2C_OCORES is not set 858 843 # CONFIG_I2C_PARPORT is not set 859 844 # CONFIG_I2C_PARPORT_LIGHT is not set 860 845 # CONFIG_I2C_PROSAVAGE is not set ··· 893 876 # 894 877 # Dallas's 1-wire bus 895 878 # 896 - # CONFIG_W1 is not set 897 879 898 880 # 899 881 # Hardware Monitoring support ··· 908 892 # Multimedia devices 909 893 # 910 894 # CONFIG_VIDEO_DEV is not set 895 + CONFIG_VIDEO_V4L2=y 911 896 912 897 # 913 898 # Digital Video Broadcasting Devices ··· 919 902 # 920 903 # Graphics support 921 904 # 905 + CONFIG_FIRMWARE_EDID=y 922 906 CONFIG_FB=y 923 907 CONFIG_FB_CFB_FILLRECT=y 924 908 CONFIG_FB_CFB_COPYAREA=y 925 909 CONFIG_FB_CFB_IMAGEBLIT=y 926 910 CONFIG_FB_MACMODES=y 927 - CONFIG_FB_FIRMWARE_EDID=y 911 + # CONFIG_FB_BACKLIGHT is not set 928 912 CONFIG_FB_MODE_HELPERS=y 929 913 CONFIG_FB_TILEBLITTING=y 930 914 # CONFIG_FB_CIRRUS is not set 931 915 # CONFIG_FB_PM2 is not set 932 916 # CONFIG_FB_CYBER2000 is not set 933 917 CONFIG_FB_OF=y 934 - # CONFIG_FB_CT65550 is not set 935 918 # CONFIG_FB_ASILIANT is not set 936 919 # CONFIG_FB_IMSTT is not set 937 920 # CONFIG_FB_VGA16 is not set ··· 1010 993 CONFIG_USB_EHCI_HCD=y 1011 994 # CONFIG_USB_EHCI_SPLIT_ISO is not set 1012 995 # CONFIG_USB_EHCI_ROOT_HUB_TT is not set 996 + # CONFIG_USB_EHCI_TT_NEWSCHED is not set 1013 997 # CONFIG_USB_ISP116X_HCD is not set 1014 998 CONFIG_USB_OHCI_HCD=y 1015 999 # CONFIG_USB_OHCI_BIG_ENDIAN is not set ··· 1101 1083 # CONFIG_USB_LEGOTOWER is not set 1102 1084 # CONFIG_USB_LCD is not set 1103 1085 # CONFIG_USB_LED is not set 1086 + # CONFIG_USB_CYPRESS_CY7C63 is not set 1104 1087 # CONFIG_USB_CYTHERM is not set 1105 1088 # CONFIG_USB_PHIDGETKIT is not set 1106 1089 # CONFIG_USB_PHIDGETSERVO is not set 1107 1090 # CONFIG_USB_IDMOUSE is not set 1091 + # CONFIG_USB_APPLEDISPLAY is not set 1108 1092 # CONFIG_USB_SISUSBVGA is not set 1109 1093 # CONFIG_USB_LD is not set 1110 1094 # CONFIG_USB_TEST is not set ··· 1144 1124 CONFIG_INFINIBAND=m 1145 1125 CONFIG_INFINIBAND_USER_MAD=m 1146 1126 CONFIG_INFINIBAND_USER_ACCESS=m 1127 + CONFIG_INFINIBAND_ADDR_TRANS=y 1147 1128 CONFIG_INFINIBAND_MTHCA=m 1148 1129 CONFIG_INFINIBAND_MTHCA_DEBUG=y 1149 1130 CONFIG_INFINIBAND_IPOIB=m 1150 1131 CONFIG_INFINIBAND_IPOIB_DEBUG=y 1151 1132 # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set 1152 1133 CONFIG_INFINIBAND_SRP=m 1134 + # CONFIG_INFINIBAND_ISER is not set 1153 1135 1154 1136 # 1155 1137 # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) ··· 1161 1139 # Real Time Clock 1162 1140 # 1163 1141 # CONFIG_RTC_CLASS is not set 1142 + 1143 + # 1144 + # DMA Engine support 1145 + # 1146 + # CONFIG_DMA_ENGINE is not set 1147 + 1148 + # 1149 + # DMA Clients 1150 + # 1151 + 1152 + # 1153 + # DMA Devices 1154 + # 1164 1155 1165 1156 # 1166 1157 # File systems ··· 1204 1169 # CONFIG_JFS_STATISTICS is not set 1205 1170 CONFIG_FS_POSIX_ACL=y 1206 1171 CONFIG_XFS_FS=m 1207 - CONFIG_XFS_EXPORT=y 1208 1172 # CONFIG_XFS_QUOTA is not set 1209 1173 CONFIG_XFS_SECURITY=y 1210 1174 CONFIG_XFS_POSIX_ACL=y 1211 1175 # CONFIG_XFS_RT is not set 1212 1176 CONFIG_OCFS2_FS=m 1177 + CONFIG_OCFS2_DEBUG_MASKLOG=y 1213 1178 # CONFIG_MINIX_FS is not set 1214 1179 # CONFIG_ROMFS_FS is not set 1215 1180 CONFIG_INOTIFY=y 1181 + CONFIG_INOTIFY_USER=y 1216 1182 # CONFIG_QUOTA is not set 1217 1183 CONFIG_DNOTIFY=y 1218 1184 # CONFIG_AUTOFS_FS is not set ··· 1295 1259 # CONFIG_SMB_FS is not set 1296 1260 CONFIG_CIFS=m 1297 1261 # CONFIG_CIFS_STATS is not set 1262 + # CONFIG_CIFS_WEAK_PW_HASH is not set 1298 1263 CONFIG_CIFS_XATTR=y 1299 1264 CONFIG_CIFS_POSIX=y 1265 + # CONFIG_CIFS_DEBUG2 is not set 1300 1266 # CONFIG_CIFS_EXPERIMENTAL is not set 1301 1267 # CONFIG_NCP_FS is not set 1302 1268 # CONFIG_CODA_FS is not set ··· 1364 1326 CONFIG_LIBCRC32C=m 1365 1327 CONFIG_ZLIB_INFLATE=y 1366 1328 CONFIG_ZLIB_DEFLATE=m 1329 + CONFIG_TEXTSEARCH=y 1330 + CONFIG_TEXTSEARCH_KMP=m 1331 + CONFIG_PLIST=y 1367 1332 1368 1333 # 1369 1334 # Instrumentation Support ··· 1380 1339 # 1381 1340 # CONFIG_PRINTK_TIME is not set 1382 1341 CONFIG_MAGIC_SYSRQ=y 1342 + # CONFIG_UNUSED_SYMBOLS is not set 1383 1343 CONFIG_DEBUG_KERNEL=y 1384 1344 CONFIG_LOG_BUF_SHIFT=17 1385 1345 CONFIG_DETECT_SOFTLOCKUP=y 1386 1346 # CONFIG_SCHEDSTATS is not set 1387 1347 # CONFIG_DEBUG_SLAB is not set 1388 - # CONFIG_DEBUG_MUTEXES is not set 1348 + # CONFIG_DEBUG_RT_MUTEXES is not set 1349 + # CONFIG_RT_MUTEX_TESTER is not set 1389 1350 # CONFIG_DEBUG_SPINLOCK is not set 1351 + # CONFIG_DEBUG_MUTEXES is not set 1352 + # CONFIG_DEBUG_RWSEMS is not set 1390 1353 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1354 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1391 1355 # CONFIG_DEBUG_KOBJECT is not set 1392 1356 # CONFIG_DEBUG_INFO is not set 1393 1357 CONFIG_DEBUG_FS=y
+2 -2
arch/powerpc/kernel/Makefile
··· 67 67 pci_direct_iommu.o iomap.o 68 68 pci32-$(CONFIG_PPC32) := pci_32.o 69 69 obj-$(CONFIG_PCI) += $(pci64-y) $(pci32-y) 70 - kexec-$(CONFIG_PPC64) := machine_kexec_64.o crash.o 70 + kexec-$(CONFIG_PPC64) := machine_kexec_64.o 71 71 kexec-$(CONFIG_PPC32) := machine_kexec_32.o 72 - obj-$(CONFIG_KEXEC) += machine_kexec.o $(kexec-y) 72 + obj-$(CONFIG_KEXEC) += machine_kexec.o crash.o $(kexec-y) 73 73 74 74 ifeq ($(CONFIG_PPC_ISERIES),y) 75 75 $(obj)/head_64.o: $(obj)/lparmap.s
+2
arch/powerpc/kernel/cpu_setup_ppc970.S
··· 81 81 mfspr r0,SPRN_HID0 82 82 li r11,5 /* clear DOZE and SLEEP */ 83 83 rldimi r0,r11,52,8 /* set NAP and DPM */ 84 + li r11,0 85 + rldimi r0,r11,32,31 /* clear EN_ATTN */ 84 86 mtspr SPRN_HID0,r0 85 87 mfspr r0,SPRN_HID0 86 88 mfspr r0,SPRN_HID0
+11
arch/powerpc/kernel/crash.c
··· 44 44 /* This keeps a track of which one is crashing cpu. */ 45 45 int crashing_cpu = -1; 46 46 static cpumask_t cpus_in_crash = CPU_MASK_NONE; 47 + cpumask_t cpus_in_sr = CPU_MASK_NONE; 47 48 48 49 static u32 *append_elf_note(u32 *buf, char *name, unsigned type, void *data, 49 50 size_t data_len) ··· 140 139 141 140 if (ppc_md.kexec_cpu_down) 142 141 ppc_md.kexec_cpu_down(1, 1); 142 + 143 + #ifdef CONFIG_PPC64 143 144 kexec_smp_wait(); 145 + #else 146 + for (;;); /* FIXME */ 147 + #endif 148 + 144 149 /* NOTREACHED */ 145 150 } 146 151 ··· 262 255 * 263 256 * do this if kexec in setup.c ? 264 257 */ 258 + #ifdef CONFIG_PPC64 265 259 smp_release_cpus(); 260 + #else 261 + /* FIXME */ 262 + #endif 266 263 } 267 264 268 265 void crash_kexec_secondary(struct pt_regs *regs)
+1 -1
arch/powerpc/kernel/irq.c
··· 694 694 /* If not there, try to insert it */ 695 695 virq = irq_find_mapping(host, hwirq); 696 696 if (virq != NO_IRQ) 697 - radix_tree_insert(tree, virq, &irq_map[virq]); 697 + radix_tree_insert(tree, hwirq, &irq_map[virq]); 698 698 bail: 699 699 spin_unlock_irqrestore(&irq_big_lock, flags); 700 700 return virq;
+2
arch/powerpc/kernel/kprobes.c
··· 61 61 if (!ret) { 62 62 memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); 63 63 p->opcode = *p->addr; 64 + flush_icache_range((unsigned long)p->ainsn.insn, 65 + (unsigned long)p->ainsn.insn + sizeof(kprobe_opcode_t)); 64 66 } 65 67 66 68 return ret;
+6 -2
arch/powerpc/kernel/legacy_serial.c
··· 116 116 u64 addr; 117 117 const u32 *addrp; 118 118 upf_t flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_SHARE_IRQ; 119 + struct device_node *tsi = of_get_parent(np); 119 120 120 121 /* We only support ports that have a clock frequency properly 121 122 * encoded in the device-tree. ··· 136 135 /* Add port, irq will be dealt with later. We passed a translated 137 136 * IO port value. It will be fixed up later along with the irq 138 137 */ 139 - return add_legacy_port(np, -1, UPIO_MEM, addr, addr, NO_IRQ, flags, 0); 138 + if (tsi && !strcmp(tsi->type, "tsi-bridge")) 139 + return add_legacy_port(np, -1, UPIO_TSI, addr, addr, NO_IRQ, flags, 0); 140 + else 141 + return add_legacy_port(np, -1, UPIO_MEM, addr, addr, NO_IRQ, flags, 0); 140 142 } 141 143 142 144 static int __init add_legacy_isa_port(struct device_node *np, ··· 469 465 fixup_port_irq(i, np, port); 470 466 if (port->iotype == UPIO_PORT) 471 467 fixup_port_pio(i, np, port); 472 - if (port->iotype == UPIO_MEM) 468 + if ((port->iotype == UPIO_MEM) || (port->iotype == UPIO_TSI)) 473 469 fixup_port_mmio(i, np, port); 474 470 } 475 471
+56
arch/powerpc/kernel/machine_kexec.c
··· 13 13 #include <linux/reboot.h> 14 14 #include <linux/threads.h> 15 15 #include <asm/machdep.h> 16 + #include <asm/lmb.h> 16 17 17 18 void machine_crash_shutdown(struct pt_regs *regs) 18 19 { ··· 59 58 machine_restart(NULL); 60 59 } 61 60 for(;;); 61 + } 62 + 63 + static int __init early_parse_crashk(char *p) 64 + { 65 + unsigned long size; 66 + 67 + if (!p) 68 + return 1; 69 + 70 + size = memparse(p, &p); 71 + 72 + if (*p == '@') 73 + crashk_res.start = memparse(p + 1, &p); 74 + else 75 + crashk_res.start = KDUMP_KERNELBASE; 76 + 77 + crashk_res.end = crashk_res.start + size - 1; 78 + 79 + return 0; 80 + } 81 + early_param("crashkernel", early_parse_crashk); 82 + 83 + void __init reserve_crashkernel(void) 84 + { 85 + unsigned long size; 86 + 87 + if (crashk_res.start == 0) 88 + return; 89 + 90 + /* We might have got these values via the command line or the 91 + * device tree, either way sanitise them now. */ 92 + 93 + size = crashk_res.end - crashk_res.start + 1; 94 + 95 + if (crashk_res.start != KDUMP_KERNELBASE) 96 + printk("Crash kernel location must be 0x%x\n", 97 + KDUMP_KERNELBASE); 98 + 99 + crashk_res.start = KDUMP_KERNELBASE; 100 + size = PAGE_ALIGN(size); 101 + crashk_res.end = crashk_res.start + size - 1; 102 + 103 + /* Crash kernel trumps memory limit */ 104 + if (memory_limit && memory_limit <= crashk_res.end) { 105 + memory_limit = crashk_res.end + 1; 106 + printk("Adjusted memory limit for crashkernel, now 0x%lx\n", 107 + memory_limit); 108 + } 109 + 110 + lmb_reserve(crashk_res.start, size); 111 + } 112 + 113 + int overlaps_crashkernel(unsigned long start, unsigned long size) 114 + { 115 + return (start + size) > crashk_res.start && start <= crashk_res.end; 62 116 }
-57
arch/powerpc/kernel/machine_kexec_64.c
··· 10 10 */ 11 11 12 12 13 - #include <linux/cpumask.h> 14 13 #include <linux/kexec.h> 15 14 #include <linux/smp.h> 16 15 #include <linux/thread_info.h> ··· 20 21 #include <asm/machdep.h> 21 22 #include <asm/cacheflush.h> 22 23 #include <asm/paca.h> 23 - #include <asm/lmb.h> 24 24 #include <asm/mmu.h> 25 25 #include <asm/sections.h> /* _end */ 26 26 #include <asm/prom.h> ··· 381 383 return 0; 382 384 } 383 385 __initcall(kexec_setup); 384 - 385 - static int __init early_parse_crashk(char *p) 386 - { 387 - unsigned long size; 388 - 389 - if (!p) 390 - return 1; 391 - 392 - size = memparse(p, &p); 393 - 394 - if (*p == '@') 395 - crashk_res.start = memparse(p + 1, &p); 396 - else 397 - crashk_res.start = KDUMP_KERNELBASE; 398 - 399 - crashk_res.end = crashk_res.start + size - 1; 400 - 401 - return 0; 402 - } 403 - early_param("crashkernel", early_parse_crashk); 404 - 405 - void __init reserve_crashkernel(void) 406 - { 407 - unsigned long size; 408 - 409 - if (crashk_res.start == 0) 410 - return; 411 - 412 - /* We might have got these values via the command line or the 413 - * device tree, either way sanitise them now. */ 414 - 415 - size = crashk_res.end - crashk_res.start + 1; 416 - 417 - if (crashk_res.start != KDUMP_KERNELBASE) 418 - printk("Crash kernel location must be 0x%x\n", 419 - KDUMP_KERNELBASE); 420 - 421 - crashk_res.start = KDUMP_KERNELBASE; 422 - size = PAGE_ALIGN(size); 423 - crashk_res.end = crashk_res.start + size - 1; 424 - 425 - /* Crash kernel trumps memory limit */ 426 - if (memory_limit && memory_limit <= crashk_res.end) { 427 - memory_limit = crashk_res.end + 1; 428 - printk("Adjusted memory limit for crashkernel, now 0x%lx\n", 429 - memory_limit); 430 - } 431 - 432 - lmb_reserve(crashk_res.start, size); 433 - } 434 - 435 - int overlaps_crashkernel(unsigned long start, unsigned long size) 436 - { 437 - return (start + size) > crashk_res.start && start <= crashk_res.end; 438 - }
+7 -6
arch/powerpc/kernel/prom_parse.c
··· 601 601 return p; 602 602 } 603 603 604 - static u8 of_irq_pci_swizzle(u8 slot, u8 pin) 605 - { 606 - return (((pin - 1) + slot) % 4) + 1; 607 - } 608 - 609 604 /* This doesn't need to be called if you don't have any special workaround 610 605 * flags to pass 611 606 */ ··· 890 895 } 891 896 EXPORT_SYMBOL_GPL(of_irq_map_one); 892 897 898 + #ifdef CONFIG_PCI 899 + static u8 of_irq_pci_swizzle(u8 slot, u8 pin) 900 + { 901 + return (((pin - 1) + slot) % 4) + 1; 902 + } 903 + 893 904 int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq) 894 905 { 895 906 struct device_node *dn, *ppnode; ··· 972 971 return of_irq_map_raw(ppnode, &lspec, laddr, out_irq); 973 972 } 974 973 EXPORT_SYMBOL_GPL(of_irq_map_pci); 975 - 974 + #endif /* CONFIG_PCI */
+17 -8
arch/powerpc/kernel/time.c
··· 417 417 /* 418 418 * This version of gettimeofday has microsecond resolution. 419 419 */ 420 - static inline void __do_gettimeofday(struct timeval *tv, u64 tb_val) 420 + static inline void __do_gettimeofday(struct timeval *tv) 421 421 { 422 422 unsigned long sec, usec; 423 423 u64 tb_ticks, xsec; ··· 431 431 * without a divide (and in fact, without a multiply) 432 432 */ 433 433 temp_varp = do_gtod.varp; 434 - tb_ticks = tb_val - temp_varp->tb_orig_stamp; 434 + 435 + /* Sampling the time base must be done after loading 436 + * do_gtod.varp in order to avoid racing with update_gtod. 437 + */ 438 + data_barrier(temp_varp); 439 + tb_ticks = get_tb() - temp_varp->tb_orig_stamp; 435 440 temp_tb_to_xs = temp_varp->tb_to_xs; 436 441 temp_stamp_xsec = temp_varp->stamp_xsec; 437 442 xsec = temp_stamp_xsec + mulhdu(tb_ticks, temp_tb_to_xs); ··· 469 464 tv->tv_usec = usec; 470 465 return; 471 466 } 472 - __do_gettimeofday(tv, get_tb()); 467 + __do_gettimeofday(tv); 473 468 } 474 469 475 470 EXPORT_SYMBOL(do_gettimeofday); ··· 655 650 int next_dec; 656 651 int cpu = smp_processor_id(); 657 652 unsigned long ticks; 653 + u64 tb_next_jiffy; 658 654 659 655 #ifdef CONFIG_PPC32 660 656 if (atomic_read(&ppc_n_lost_interrupts) != 0) ··· 697 691 continue; 698 692 699 693 write_seqlock(&xtime_lock); 700 - tb_last_jiffy += tb_ticks_per_jiffy; 701 - tb_last_stamp = per_cpu(last_jiffy, cpu); 702 - do_timer(regs); 703 - timer_recalc_offset(tb_last_jiffy); 704 - timer_check_rtc(); 694 + tb_next_jiffy = tb_last_jiffy + tb_ticks_per_jiffy; 695 + if (per_cpu(last_jiffy, cpu) >= tb_next_jiffy) { 696 + tb_last_jiffy = tb_next_jiffy; 697 + tb_last_stamp = per_cpu(last_jiffy, cpu); 698 + do_timer(regs); 699 + timer_recalc_offset(tb_last_jiffy); 700 + timer_check_rtc(); 701 + } 705 702 write_sequnlock(&xtime_lock); 706 703 } 707 704
+17 -7
arch/powerpc/kernel/traps.c
··· 55 55 56 56 #ifdef CONFIG_PPC64 /* XXX */ 57 57 #define _IO_BASE pci_io_base 58 - #ifdef CONFIG_KEXEC 59 - cpumask_t cpus_in_sr = CPU_MASK_NONE; 60 - #endif 61 58 #endif 62 59 63 60 #ifdef CONFIG_DEBUGGER ··· 207 210 #endif 208 211 209 212 die("System Reset", regs, SIGABRT); 213 + 214 + /* 215 + * Some CPUs when released from the debugger will execute this path. 216 + * These CPUs entered the debugger via a soft-reset. If the CPU was 217 + * hung before entering the debugger it will return to the hung 218 + * state when exiting this function. This causes a problem in 219 + * kdump since the hung CPU(s) will not respond to the IPI sent 220 + * from kdump. To prevent the problem we call crash_kexec_secondary() 221 + * here. If a kdump had not been initiated or we exit the debugger 222 + * with the "exit and recover" command (x) crash_kexec_secondary() 223 + * will return after 5ms and the CPU returns to its previous state. 224 + */ 225 + crash_kexec_secondary(regs); 210 226 211 227 /* Must die if the interrupt is not recoverable */ 212 228 if (!(regs->msr & MSR_RI)) ··· 585 575 #define INST_MFSPR_PVR_MASK 0xfc1fffff 586 576 587 577 #define INST_DCBA 0x7c0005ec 588 - #define INST_DCBA_MASK 0x7c0007fe 578 + #define INST_DCBA_MASK 0xfc0007fe 589 579 590 580 #define INST_MCRXR 0x7c000400 591 - #define INST_MCRXR_MASK 0x7c0007fe 581 + #define INST_MCRXR_MASK 0xfc0007fe 592 582 593 583 #define INST_STRING 0x7c00042a 594 - #define INST_STRING_MASK 0x7c0007fe 595 - #define INST_STRING_GEN_MASK 0x7c00067e 584 + #define INST_STRING_MASK 0xfc0007fe 585 + #define INST_STRING_GEN_MASK 0xfc00067e 596 586 #define INST_LSWI 0x7c0004aa 597 587 #define INST_LSWX 0x7c00042a 598 588 #define INST_STSWI 0x7c0005aa
+1 -1
arch/powerpc/mm/hugetlbpage.c
··· 153 153 hpdp->pd = 0; 154 154 tlb->need_flush = 1; 155 155 pgtable_free_tlb(tlb, pgtable_free_cache(hugepte, HUGEPTE_CACHE_NUM, 156 - HUGEPTE_TABLE_SIZE-1)); 156 + PGF_CACHENUM_MASK)); 157 157 } 158 158 159 159 #ifdef CONFIG_PPC_64K_PAGES
-1
arch/powerpc/platforms/85xx/Kconfig
··· 14 14 config MPC85xx_CDS 15 15 bool "Freescale MPC85xx CDS" 16 16 select DEFAULT_UIMAGE 17 - select PPC_I8259 if PCI 18 17 help 19 18 This option enables support for the MPC85xx CDS board 20 19
+51 -103
arch/powerpc/platforms/85xx/mpc85xx_ads.c
··· 37 37 unsigned long isa_mem_base = 0; 38 38 #endif 39 39 40 - /* 41 - * Internal interrupts are all Level Sensitive, and Positive Polarity 42 - * 43 - * Note: Likely, this table and the following function should be 44 - * obtained and derived from the OF Device Tree. 45 - */ 46 - static u_char mpc85xx_ads_openpic_initsenses[] __initdata = { 47 - MPC85XX_INTERNAL_IRQ_SENSES, 48 - 0x0, /* External 0: */ 49 - #if defined(CONFIG_PCI) 50 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 1: PCI slot 0 */ 51 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 2: PCI slot 1 */ 52 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 3: PCI slot 2 */ 53 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 4: PCI slot 3 */ 54 - #else 55 - 0x0, /* External 1: */ 56 - 0x0, /* External 2: */ 57 - 0x0, /* External 3: */ 58 - 0x0, /* External 4: */ 59 - #endif 60 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 5: PHY */ 61 - 0x0, /* External 6: */ 62 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 7: PHY */ 63 - 0x0, /* External 8: */ 64 - 0x0, /* External 9: */ 65 - 0x0, /* External 10: */ 66 - 0x0, /* External 11: */ 67 - }; 68 - 69 40 #ifdef CONFIG_PCI 70 - /* 71 - * interrupt routing 72 - */ 73 - 74 - int 75 - mpc85xx_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) 76 - { 77 - static char pci_irq_table[][4] = 78 - /* 79 - * This is little evil, but works around the fact 80 - * that revA boards have IDSEL starting at 18 81 - * and others boards (older) start at 12 82 - * 83 - * PCI IDSEL/INTPIN->INTLINE 84 - * A B C D 85 - */ 86 - { 87 - {PIRQA, PIRQB, PIRQC, PIRQD}, /* IDSEL 2 */ 88 - {PIRQD, PIRQA, PIRQB, PIRQC}, 89 - {PIRQC, PIRQD, PIRQA, PIRQB}, 90 - {PIRQB, PIRQC, PIRQD, PIRQA}, /* IDSEL 5 */ 91 - {0, 0, 0, 0}, /* -- */ 92 - {0, 0, 0, 0}, /* -- */ 93 - {0, 0, 0, 0}, /* -- */ 94 - {0, 0, 0, 0}, /* -- */ 95 - {0, 0, 0, 0}, /* -- */ 96 - {0, 0, 0, 0}, /* -- */ 97 - {PIRQA, PIRQB, PIRQC, PIRQD}, /* IDSEL 12 */ 98 - {PIRQD, PIRQA, PIRQB, PIRQC}, 99 - {PIRQC, PIRQD, PIRQA, PIRQB}, 100 - {PIRQB, PIRQC, PIRQD, PIRQA}, /* IDSEL 15 */ 101 - {0, 0, 0, 0}, /* -- */ 102 - {0, 0, 0, 0}, /* -- */ 103 - {PIRQA, PIRQB, PIRQC, PIRQD}, /* IDSEL 18 */ 104 - {PIRQD, PIRQA, PIRQB, PIRQC}, 105 - {PIRQC, PIRQD, PIRQA, PIRQB}, 106 - {PIRQB, PIRQC, PIRQD, PIRQA}, /* IDSEL 21 */ 107 - }; 108 - 109 - const long min_idsel = 2, max_idsel = 21, irqs_per_slot = 4; 110 - return PCI_IRQ_TABLE_LOOKUP; 111 - } 112 - 113 41 int 114 42 mpc85xx_exclude_device(u_char bus, u_char devfn) 115 43 { ··· 47 119 return PCIBIOS_SUCCESSFUL; 48 120 } 49 121 122 + void __init 123 + mpc85xx_pcibios_fixup(void) 124 + { 125 + struct pci_dev *dev = NULL; 126 + 127 + for_each_pci_dev(dev) 128 + pci_read_irq_line(dev); 129 + } 50 130 #endif /* CONFIG_PCI */ 51 131 52 132 53 133 void __init mpc85xx_ads_pic_init(void) 54 134 { 55 - struct mpic *mpic1; 56 - phys_addr_t OpenPIC_PAddr; 135 + struct mpic *mpic; 136 + struct resource r; 137 + struct device_node *np = NULL; 57 138 58 - /* Determine the Physical Address of the OpenPIC regs */ 59 - OpenPIC_PAddr = get_immrbase() + MPC85xx_OPENPIC_OFFSET; 139 + np = of_find_node_by_type(np, "open-pic"); 60 140 61 - mpic1 = mpic_alloc(OpenPIC_PAddr, 62 - MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN, 63 - 4, MPC85xx_OPENPIC_IRQ_OFFSET, 0, 250, 64 - mpc85xx_ads_openpic_initsenses, 65 - sizeof(mpc85xx_ads_openpic_initsenses), 66 - " OpenPIC "); 67 - BUG_ON(mpic1 == NULL); 68 - mpic_assign_isu(mpic1, 0, OpenPIC_PAddr + 0x10200); 69 - mpic_assign_isu(mpic1, 1, OpenPIC_PAddr + 0x10280); 70 - mpic_assign_isu(mpic1, 2, OpenPIC_PAddr + 0x10300); 71 - mpic_assign_isu(mpic1, 3, OpenPIC_PAddr + 0x10380); 72 - mpic_assign_isu(mpic1, 4, OpenPIC_PAddr + 0x10400); 73 - mpic_assign_isu(mpic1, 5, OpenPIC_PAddr + 0x10480); 74 - mpic_assign_isu(mpic1, 6, OpenPIC_PAddr + 0x10500); 75 - mpic_assign_isu(mpic1, 7, OpenPIC_PAddr + 0x10580); 141 + if (np == NULL) { 142 + printk(KERN_ERR "Could not find open-pic node\n"); 143 + return; 144 + } 76 145 77 - /* dummy mappings to get to 48 */ 78 - mpic_assign_isu(mpic1, 8, OpenPIC_PAddr + 0x10600); 79 - mpic_assign_isu(mpic1, 9, OpenPIC_PAddr + 0x10680); 80 - mpic_assign_isu(mpic1, 10, OpenPIC_PAddr + 0x10700); 81 - mpic_assign_isu(mpic1, 11, OpenPIC_PAddr + 0x10780); 146 + if(of_address_to_resource(np, 0, &r)) { 147 + printk(KERN_ERR "Could not map mpic register space\n"); 148 + of_node_put(np); 149 + return; 150 + } 82 151 83 - /* External ints */ 84 - mpic_assign_isu(mpic1, 12, OpenPIC_PAddr + 0x10000); 85 - mpic_assign_isu(mpic1, 13, OpenPIC_PAddr + 0x10080); 86 - mpic_assign_isu(mpic1, 14, OpenPIC_PAddr + 0x10100); 87 - mpic_init(mpic1); 152 + mpic = mpic_alloc(np, r.start, 153 + MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN, 154 + 4, 0, " OpenPIC "); 155 + BUG_ON(mpic == NULL); 156 + of_node_put(np); 157 + 158 + mpic_assign_isu(mpic, 0, r.start + 0x10200); 159 + mpic_assign_isu(mpic, 1, r.start + 0x10280); 160 + mpic_assign_isu(mpic, 2, r.start + 0x10300); 161 + mpic_assign_isu(mpic, 3, r.start + 0x10380); 162 + mpic_assign_isu(mpic, 4, r.start + 0x10400); 163 + mpic_assign_isu(mpic, 5, r.start + 0x10480); 164 + mpic_assign_isu(mpic, 6, r.start + 0x10500); 165 + mpic_assign_isu(mpic, 7, r.start + 0x10580); 166 + 167 + /* Unused on this platform (leave room for 8548) */ 168 + mpic_assign_isu(mpic, 8, r.start + 0x10600); 169 + mpic_assign_isu(mpic, 9, r.start + 0x10680); 170 + mpic_assign_isu(mpic, 10, r.start + 0x10700); 171 + mpic_assign_isu(mpic, 11, r.start + 0x10780); 172 + 173 + /* External Interrupts */ 174 + mpic_assign_isu(mpic, 12, r.start + 0x10000); 175 + mpic_assign_isu(mpic, 13, r.start + 0x10080); 176 + mpic_assign_isu(mpic, 14, r.start + 0x10100); 177 + 178 + mpic_init(mpic); 88 179 } 89 180 90 181 /* ··· 112 165 static void __init mpc85xx_ads_setup_arch(void) 113 166 { 114 167 struct device_node *cpu; 168 + #ifdef CONFIG_PCI 115 169 struct device_node *np; 170 + #endif 116 171 117 172 if (ppc_md.progress) 118 173 ppc_md.progress("mpc85xx_ads_setup_arch()", 0); ··· 135 186 for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) 136 187 add_bridge(np); 137 188 138 - ppc_md.pci_swizzle = common_swizzle; 139 - ppc_md.pci_map_irq = mpc85xx_map_irq; 189 + ppc_md.pcibios_fixup = mpc85xx_pcibios_fixup; 140 190 ppc_md.pci_exclude_device = mpc85xx_exclude_device; 141 191 #endif 142 192
+85 -119
arch/powerpc/platforms/85xx/mpc85xx_cds.c
··· 57 57 static int cds_pci_slot = 2; 58 58 static volatile u8 *cadmus; 59 59 60 - /* 61 - * Internal interrupts are all Level Sensitive, and Positive Polarity 62 - * 63 - * Note: Likely, this table and the following function should be 64 - * obtained and derived from the OF Device Tree. 65 - */ 66 - static u_char mpc85xx_cds_openpic_initsenses[] __initdata = { 67 - MPC85XX_INTERNAL_IRQ_SENSES, 68 - #if defined(CONFIG_PCI) 69 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Ext 0: PCI slot 0 */ 70 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 1: PCI slot 1 */ 71 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 2: PCI slot 2 */ 72 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 3: PCI slot 3 */ 73 - #else 74 - 0x0, /* External 0: */ 75 - 0x0, /* External 1: */ 76 - 0x0, /* External 2: */ 77 - 0x0, /* External 3: */ 78 - #endif 79 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 5: PHY */ 80 - 0x0, /* External 6: */ 81 - 0x0, /* External 7: */ 82 - 0x0, /* External 8: */ 83 - 0x0, /* External 9: */ 84 - 0x0, /* External 10: */ 85 - #ifdef CONFIG_PCI 86 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* Ext 11: PCI2 slot 0 */ 87 - #else 88 - 0x0, /* External 11: */ 89 - #endif 90 - }; 91 - 92 60 93 61 #ifdef CONFIG_PCI 94 - /* 95 - * interrupt routing 96 - */ 97 - int 98 - mpc85xx_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) 99 - { 100 - struct pci_controller *hose = pci_bus_to_hose(dev->bus->number); 101 - 102 - if (!hose->index) 103 - { 104 - /* Handle PCI1 interrupts */ 105 - char pci_irq_table[][4] = 106 - /* 107 - * PCI IDSEL/INTPIN->INTLINE 108 - * A B C D 109 - */ 110 - 111 - /* Note IRQ assignment for slots is based on which slot the elysium is 112 - * in -- in this setup elysium is in slot #2 (this PIRQA as first 113 - * interrupt on slot */ 114 - { 115 - { 0, 1, 2, 3 }, /* 16 - PMC */ 116 - { 0, 1, 2, 3 }, /* 17 P2P (Tsi320) */ 117 - { 0, 1, 2, 3 }, /* 18 - Slot 1 */ 118 - { 1, 2, 3, 0 }, /* 19 - Slot 2 */ 119 - { 2, 3, 0, 1 }, /* 20 - Slot 3 */ 120 - { 3, 0, 1, 2 }, /* 21 - Slot 4 */ 121 - }; 122 - 123 - const long min_idsel = 16, max_idsel = 21, irqs_per_slot = 4; 124 - int i, j; 125 - 126 - for (i = 0; i < 6; i++) 127 - for (j = 0; j < 4; j++) 128 - pci_irq_table[i][j] = 129 - ((pci_irq_table[i][j] + 5 - 130 - cds_pci_slot) & 0x3) + PIRQ0A; 131 - 132 - return PCI_IRQ_TABLE_LOOKUP; 133 - } else { 134 - /* Handle PCI2 interrupts (if we have one) */ 135 - char pci_irq_table[][4] = 136 - { 137 - /* 138 - * We only have one slot and one interrupt 139 - * going to PIRQA - PIRQD */ 140 - { PIRQ1A, PIRQ1A, PIRQ1A, PIRQ1A }, /* 21 - slot 0 */ 141 - }; 142 - 143 - const long min_idsel = 21, max_idsel = 21, irqs_per_slot = 4; 144 - 145 - return PCI_IRQ_TABLE_LOOKUP; 146 - } 147 - } 148 62 149 63 #define ARCADIA_HOST_BRIDGE_IDSEL 17 150 64 #define ARCADIA_2ND_BRIDGE_IDSEL 3 ··· 124 210 pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 11); 125 211 pci_dev_put(dev); 126 212 } 213 + 214 + /* Now map all the PCI irqs */ 215 + dev = NULL; 216 + for_each_pci_dev(dev) 217 + pci_read_irq_line(dev); 127 218 } 219 + 220 + #ifdef CONFIG_PPC_I8259 221 + #warning The i8259 PIC support is currently broken 222 + static void mpc85xx_8259_cascade(unsigned int irq, struct 223 + irq_desc *desc, struct pt_regs *regs) 224 + { 225 + unsigned int cascade_irq = i8259_irq(regs); 226 + 227 + if (cascade_irq != NO_IRQ) 228 + generic_handle_irq(cascade_irq, regs); 229 + 230 + desc->chip->eoi(irq); 231 + } 232 + #endif /* PPC_I8259 */ 128 233 #endif /* CONFIG_PCI */ 129 234 130 235 void __init mpc85xx_cds_pic_init(void) 131 236 { 132 - struct mpic *mpic1; 133 - phys_addr_t OpenPIC_PAddr; 237 + struct mpic *mpic; 238 + struct resource r; 239 + struct device_node *np = NULL; 240 + struct device_node *cascade_node = NULL; 241 + int cascade_irq; 134 242 135 - /* Determine the Physical Address of the OpenPIC regs */ 136 - OpenPIC_PAddr = get_immrbase() + MPC85xx_OPENPIC_OFFSET; 243 + np = of_find_node_by_type(np, "open-pic"); 137 244 138 - mpic1 = mpic_alloc(OpenPIC_PAddr, 245 + if (np == NULL) { 246 + printk(KERN_ERR "Could not find open-pic node\n"); 247 + return; 248 + } 249 + 250 + if (of_address_to_resource(np, 0, &r)) { 251 + printk(KERN_ERR "Failed to map mpic register space\n"); 252 + of_node_put(np); 253 + return; 254 + } 255 + 256 + mpic = mpic_alloc(np, r.start, 139 257 MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN, 140 - 4, MPC85xx_OPENPIC_IRQ_OFFSET, 0, 250, 141 - mpc85xx_cds_openpic_initsenses, 142 - sizeof(mpc85xx_cds_openpic_initsenses), " OpenPIC "); 143 - BUG_ON(mpic1 == NULL); 144 - mpic_assign_isu(mpic1, 0, OpenPIC_PAddr + 0x10200); 145 - mpic_assign_isu(mpic1, 1, OpenPIC_PAddr + 0x10280); 146 - mpic_assign_isu(mpic1, 2, OpenPIC_PAddr + 0x10300); 147 - mpic_assign_isu(mpic1, 3, OpenPIC_PAddr + 0x10380); 148 - mpic_assign_isu(mpic1, 4, OpenPIC_PAddr + 0x10400); 149 - mpic_assign_isu(mpic1, 5, OpenPIC_PAddr + 0x10480); 150 - mpic_assign_isu(mpic1, 6, OpenPIC_PAddr + 0x10500); 151 - mpic_assign_isu(mpic1, 7, OpenPIC_PAddr + 0x10580); 258 + 4, 0, " OpenPIC "); 259 + BUG_ON(mpic == NULL); 152 260 153 - /* dummy mappings to get to 48 */ 154 - mpic_assign_isu(mpic1, 8, OpenPIC_PAddr + 0x10600); 155 - mpic_assign_isu(mpic1, 9, OpenPIC_PAddr + 0x10680); 156 - mpic_assign_isu(mpic1, 10, OpenPIC_PAddr + 0x10700); 157 - mpic_assign_isu(mpic1, 11, OpenPIC_PAddr + 0x10780); 261 + /* Return the mpic node */ 262 + of_node_put(np); 158 263 159 - /* External ints */ 160 - mpic_assign_isu(mpic1, 12, OpenPIC_PAddr + 0x10000); 161 - mpic_assign_isu(mpic1, 13, OpenPIC_PAddr + 0x10080); 162 - mpic_assign_isu(mpic1, 14, OpenPIC_PAddr + 0x10100); 264 + mpic_assign_isu(mpic, 0, r.start + 0x10200); 265 + mpic_assign_isu(mpic, 1, r.start + 0x10280); 266 + mpic_assign_isu(mpic, 2, r.start + 0x10300); 267 + mpic_assign_isu(mpic, 3, r.start + 0x10380); 268 + mpic_assign_isu(mpic, 4, r.start + 0x10400); 269 + mpic_assign_isu(mpic, 5, r.start + 0x10480); 270 + mpic_assign_isu(mpic, 6, r.start + 0x10500); 271 + mpic_assign_isu(mpic, 7, r.start + 0x10580); 163 272 164 - mpic_init(mpic1); 273 + /* Used only for 8548 so far, but no harm in 274 + * allocating them for everyone */ 275 + mpic_assign_isu(mpic, 8, r.start + 0x10600); 276 + mpic_assign_isu(mpic, 9, r.start + 0x10680); 277 + mpic_assign_isu(mpic, 10, r.start + 0x10700); 278 + mpic_assign_isu(mpic, 11, r.start + 0x10780); 165 279 166 - #ifdef CONFIG_PCI 167 - mpic_setup_cascade(PIRQ0A, i8259_irq_cascade, NULL); 280 + /* External Interrupts */ 281 + mpic_assign_isu(mpic, 12, r.start + 0x10000); 282 + mpic_assign_isu(mpic, 13, r.start + 0x10080); 283 + mpic_assign_isu(mpic, 14, r.start + 0x10100); 168 284 169 - i8259_init(0,0); 170 - #endif 285 + mpic_init(mpic); 286 + 287 + #ifdef CONFIG_PPC_I8259 288 + /* Initialize the i8259 controller */ 289 + for_each_node_by_type(np, "interrupt-controller") 290 + if (device_is_compatible(np, "chrp,iic")) { 291 + cascade_node = np; 292 + break; 293 + } 294 + 295 + if (cascade_node == NULL) { 296 + printk(KERN_DEBUG "Could not find i8259 PIC\n"); 297 + return; 298 + } 299 + 300 + cascade_irq = irq_of_parse_and_map(cascade_node, 0); 301 + if (cascade_irq == NO_IRQ) { 302 + printk(KERN_ERR "Failed to map cascade interrupt\n"); 303 + return; 304 + } 305 + 306 + i8259_init(cascade_node, 0); 307 + of_node_put(cascade_node); 308 + 309 + set_irq_chained_handler(cascade_irq, mpc85xx_8259_cascade); 310 + #endif /* CONFIG_PPC_I8259 */ 171 311 } 172 312 173 313 ··· 266 298 add_bridge(np); 267 299 268 300 ppc_md.pcibios_fixup = mpc85xx_cds_pcibios_fixup; 269 - ppc_md.pci_swizzle = common_swizzle; 270 - ppc_md.pci_map_irq = mpc85xx_map_irq; 271 301 ppc_md.pci_exclude_device = mpc85xx_exclude_device; 272 302 #endif 273 303
+9 -10
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
··· 68 68 { 69 69 struct mpic *mpic1; 70 70 struct device_node *np; 71 - phys_addr_t openpic_paddr; 71 + struct resource res; 72 72 #ifdef CONFIG_PCI 73 73 struct device_node *cascade_node = NULL; 74 74 int cascade_irq; 75 75 #endif 76 76 77 + /* Determine PIC address. */ 77 78 np = of_find_node_by_type(NULL, "open-pic"); 78 79 if (np == NULL) 79 80 return; 80 - 81 - /* Determine the Physical Address of the OpenPIC regs */ 82 - openpic_paddr = get_immrbase() + MPC86xx_OPENPIC_OFFSET; 81 + of_address_to_resource(np, 0, &res); 83 82 84 83 /* Alloc mpic structure and per isu has 16 INT entries. */ 85 - mpic1 = mpic_alloc(np, openpic_paddr, 84 + mpic1 = mpic_alloc(np, res.start, 86 85 MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN, 87 86 16, NR_IRQS - 4, 88 87 " MPIC "); 89 88 BUG_ON(mpic1 == NULL); 90 89 91 - mpic_assign_isu(mpic1, 0, openpic_paddr + 0x10000); 90 + mpic_assign_isu(mpic1, 0, res.start + 0x10000); 92 91 93 92 /* 48 Internal Interrupts */ 94 - mpic_assign_isu(mpic1, 1, openpic_paddr + 0x10200); 95 - mpic_assign_isu(mpic1, 2, openpic_paddr + 0x10400); 96 - mpic_assign_isu(mpic1, 3, openpic_paddr + 0x10600); 93 + mpic_assign_isu(mpic1, 1, res.start + 0x10200); 94 + mpic_assign_isu(mpic1, 2, res.start + 0x10400); 95 + mpic_assign_isu(mpic1, 3, res.start + 0x10600); 97 96 98 97 /* 16 External interrupts 99 98 * Moving them from [0 - 15] to [64 - 79] 100 99 */ 101 - mpic_assign_isu(mpic1, 4, openpic_paddr + 0x10000); 100 + mpic_assign_isu(mpic1, 4, res.start + 0x10000); 102 101 103 102 mpic_init(mpic1); 104 103
+24 -49
arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
··· 1 1 /* 2 2 * mpc7448_hpc2.c 3 3 * 4 - * Board setup routines for the Freescale Taiga platform 4 + * Board setup routines for the Freescale mpc7448hpc2(taiga) platform 5 5 * 6 6 * Author: Jacob Pan 7 7 * jacob.pan@freescale.com ··· 12 12 * 13 13 * Copyright 2004-2006 Freescale Semiconductor, Inc. 14 14 * 15 - * This file is licensed under 16 - * the terms of the GNU General Public License version 2. This program 17 - * is licensed "as is" without any warranty of any kind, whether express 18 - * or implied. 15 + * This program is free software; you can redistribute it and/or 16 + * modify it under the terms of the GNU General Public License 17 + * as published by the Free Software Foundation; either version 18 + * 2 of the License, or (at your option) any later version. 19 19 */ 20 20 21 21 #include <linux/config.h> ··· 62 62 extern int tsi108_setup_pci(struct device_node *dev); 63 63 extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val); 64 64 extern void tsi108_pci_int_init(void); 65 - extern int tsi108_irq_cascade(struct pt_regs *regs, void *unused); 66 - 67 - /* 68 - * Define all of the IRQ senses and polarities. Taken from the 69 - * mpc7448hpc manual. 70 - * Note: Likely, this table and the following function should be 71 - * obtained and derived from the OF Device Tree. 72 - */ 73 - 74 - static u_char mpc7448_hpc2_pic_initsenses[] __initdata = { 75 - /* External on-board sources */ 76 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* INT[0] XINT0 from FPGA */ 77 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* INT[1] XINT1 from FPGA */ 78 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* INT[2] PHY_INT from both GIGE */ 79 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* INT[3] RESERVED */ 80 - /* Internal Tsi108/109 interrupt sources */ 81 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* Reserved IRQ */ 82 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* Reserved IRQ */ 83 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* Reserved IRQ */ 84 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* Reserved IRQ */ 85 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* DMA0 */ 86 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* DMA1 */ 87 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* DMA2 */ 88 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* DMA3 */ 89 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* UART0 */ 90 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* UART1 */ 91 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* I2C */ 92 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* GPIO */ 93 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* GIGE0 */ 94 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* GIGE1 */ 95 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* Reserved IRQ */ 96 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* HLP */ 97 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* SDC */ 98 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* Processor IF */ 99 - (IRQ_SENSE_EDGE | IRQ_POLARITY_POSITIVE), /* Reserved IRQ */ 100 - (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* PCI/X block */ 101 - }; 65 + extern void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc, 66 + struct pt_regs *regs); 102 67 103 68 int mpc7448_hpc2_exclude_device(u_char bus, u_char devfn) 104 69 { ··· 194 229 { 195 230 struct mpic *mpic; 196 231 phys_addr_t mpic_paddr = 0; 232 + unsigned int cascade_pci_irq; 233 + struct device_node *tsi_pci; 197 234 struct device_node *tsi_pic; 198 235 199 236 tsi_pic = of_find_node_by_type(NULL, "open-pic"); ··· 213 246 DBG("%s: tsi108pic phys_addr = 0x%x\n", __FUNCTION__, 214 247 (u32) mpic_paddr); 215 248 216 - mpic = mpic_alloc(mpic_paddr, 249 + mpic = mpic_alloc(tsi_pic, mpic_paddr, 217 250 MPIC_PRIMARY | MPIC_BIG_ENDIAN | MPIC_WANTS_RESET | 218 251 MPIC_SPV_EOI | MPIC_MOD_ID(MPIC_ID_TSI108), 219 252 0, /* num_sources used */ 220 - TSI108_IRQ_BASE, 221 253 0, /* num_sources used */ 222 - NR_IRQS - 4 /* XXXX */, 223 - mpc7448_hpc2_pic_initsenses, 224 - sizeof(mpc7448_hpc2_pic_initsenses), "Tsi108_PIC"); 254 + "Tsi108_PIC"); 225 255 226 256 BUG_ON(mpic == NULL); /* XXXX */ 227 - 228 257 mpic_init(mpic); 229 - mpic_setup_cascade(IRQ_TSI108_PCI, tsi108_irq_cascade, mpic); 258 + 259 + tsi_pci = of_find_node_by_type(NULL, "pci"); 260 + if (tsi_pci == 0) { 261 + printk("%s: No tsi108 pci node found !\n", __FUNCTION__); 262 + return; 263 + } 264 + 265 + cascade_pci_irq = irq_of_parse_and_map(tsi_pci, 0); 266 + set_irq_data(cascade_pci_irq, mpic); 267 + set_irq_chained_handler(cascade_pci_irq, tsi108_irq_cascade); 268 + 230 269 tsi108_pci_int_init(); 231 270 232 271 /* Configure MPIC outputs to CPU0 */ 233 272 tsi108_write_reg(TSI108_MPIC_OFFSET + 0x30c, 0); 273 + of_node_put(tsi_pic); 234 274 } 235 275 236 276 void mpc7448_hpc2_show_cpuinfo(struct seq_file *m) ··· 294 320 return 0; 295 321 296 322 } 323 + 297 324 define_machine(mpc7448_hpc2){ 298 325 .name = "MPC7448 HPC2", 299 326 .probe = mpc7448_hpc2_probe,
+11 -4
arch/powerpc/platforms/powermac/bootx_init.c
··· 411 411 DBG("End of boot params: %x\n", mem_end); 412 412 rsvmap[0] = mem_start; 413 413 rsvmap[1] = mem_end; 414 - rsvmap[2] = 0; 415 - rsvmap[3] = 0; 414 + if (bootx_info->ramDisk) { 415 + rsvmap[2] = ((unsigned long)bootx_info) + bootx_info->ramDisk; 416 + rsvmap[3] = rsvmap[2] + bootx_info->ramDiskSize; 417 + rsvmap[4] = 0; 418 + rsvmap[5] = 0; 419 + } else { 420 + rsvmap[2] = 0; 421 + rsvmap[3] = 0; 422 + } 416 423 417 424 return (unsigned long)hdr; 418 425 } ··· 550 543 */ 551 544 if (bi->version < 5) { 552 545 space = bi->deviceTreeOffset + bi->deviceTreeSize; 553 - if (bi->ramDisk) 546 + if (bi->ramDisk >= space) 554 547 space = bi->ramDisk + bi->ramDiskSize; 555 548 } else 556 549 space = bi->totalParamsSize; 557 550 558 - bootx_printf("Total space used by parameters & ramdisk: %x \n", space); 551 + bootx_printf("Total space used by parameters & ramdisk: 0x%x \n", space); 559 552 560 553 /* New BootX will have flushed all TLBs and enters kernel with 561 554 * MMU switched OFF, so this should not be useful anymore.
+10 -2
arch/powerpc/sysdev/fsl_soc.c
··· 166 166 goto err; 167 167 } 168 168 169 - mac_addr = get_property(np, "address", NULL); 170 - memcpy(gfar_data.mac_addr, mac_addr, 6); 169 + mac_addr = get_property(np, "local-mac-address", NULL); 170 + if (mac_addr == NULL) 171 + mac_addr = get_property(np, "mac-address", NULL); 172 + if (mac_addr == NULL) { 173 + /* Obsolete */ 174 + mac_addr = get_property(np, "address", NULL); 175 + } 176 + 177 + if (mac_addr) 178 + memcpy(gfar_data.mac_addr, mac_addr, 6); 171 179 172 180 if (model && !strcasecmp(model, "TSEC")) 173 181 gfar_data.device_flags =
+6 -4
arch/powerpc/sysdev/tsi108_dev.c
··· 93 93 goto err; 94 94 95 95 r[1].name = "tx"; 96 - r[1].start = np->intrs[0].line; 97 - r[1].end = np->intrs[0].line; 96 + r[1].start = irq_of_parse_and_map(np, 0); 97 + r[1].end = irq_of_parse_and_map(np, 0); 98 98 r[1].flags = IORESOURCE_IRQ; 99 + DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n", 100 + __FUNCTION__,r[1].name, r[1].start, r[1].end); 99 101 100 102 tsi_eth_dev = 101 103 platform_device_register_simple("tsi-ethernet", i, &r[0], 102 - np->n_intrs + 1); 104 + 1); 103 105 104 106 if (IS_ERR(tsi_eth_dev)) { 105 107 ret = PTR_ERR(tsi_eth_dev); ··· 129 127 tsi_eth_data.regs = r[0].start; 130 128 tsi_eth_data.phyregs = res.start; 131 129 tsi_eth_data.phy = *phy_id; 132 - tsi_eth_data.irq_num = np->intrs[0].line; 130 + tsi_eth_data.irq_num = irq_of_parse_and_map(np, 0); 133 131 of_node_put(phy); 134 132 ret = 135 133 platform_device_add_data(tsi_eth_dev, &tsi_eth_data,
+12 -9
arch/powerpc/sysdev/tsi108_pci.c
··· 26 26 #include <linux/irq.h> 27 27 #include <linux/interrupt.h> 28 28 29 - 30 29 #include <asm/byteorder.h> 31 30 #include <asm/io.h> 32 31 #include <asm/irq.h> ··· 227 228 228 229 (hose)->ops = &tsi108_direct_pci_ops; 229 230 230 - printk(KERN_INFO "Found tsi108 PCI host bridge at 0x%08lx. " 231 + printk(KERN_INFO "Found tsi108 PCI host bridge at 0x%08x. " 231 232 "Firmware bus number: %d->%d\n", 232 233 rsrc.start, hose->first_busno, hose->last_busno); 233 234 ··· 277 278 mb(); 278 279 } 279 280 280 - static inline int get_pci_source(void) 281 + static inline unsigned int get_pci_source(void) 281 282 { 282 283 u_int temp = 0; 283 284 int irq = -1; ··· 370 371 * Interrupt controller descriptor for cascaded PCI interrupt controller. 371 372 */ 372 373 373 - struct hw_interrupt_type tsi108_pci_irq = { 374 + static struct irq_chip tsi108_pci_irq = { 374 375 .typename = "tsi108_PCI_int", 375 - .enable = tsi108_pci_irq_enable, 376 - .disable = tsi108_pci_irq_disable, 376 + .mask = tsi108_pci_irq_disable, 377 377 .ack = tsi108_pci_irq_ack, 378 378 .end = tsi108_pci_irq_end, 379 + .unmask = tsi108_pci_irq_enable, 379 380 }; 380 381 381 382 /* ··· 398 399 DBG("Tsi108_pci_int_init: initializing PCI interrupts\n"); 399 400 400 401 for (i = 0; i < NUM_PCI_IRQS; i++) { 401 - irq_desc[i + IRQ_PCI_INTAD_BASE].handler = &tsi108_pci_irq; 402 + irq_desc[i + IRQ_PCI_INTAD_BASE].chip = &tsi108_pci_irq; 402 403 irq_desc[i + IRQ_PCI_INTAD_BASE].status |= IRQ_LEVEL; 403 404 } 404 405 405 406 init_pci_source(); 406 407 } 407 408 408 - int tsi108_irq_cascade(struct pt_regs *regs, void *unused) 409 + void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc, 410 + struct pt_regs *regs) 409 411 { 410 - return get_pci_source(); 412 + unsigned int cascade_irq = get_pci_source(); 413 + if (cascade_irq != NO_IRQ) 414 + generic_handle_irq(cascade_irq, regs); 415 + desc->chip->eoi(irq); 411 416 }
+1 -2
include/asm-powerpc/kexec.h
··· 32 32 #endif 33 33 34 34 #ifndef __ASSEMBLY__ 35 + #include <linux/cpumask.h> 35 36 36 37 #ifdef CONFIG_KEXEC 37 38 ··· 110 109 111 110 #define MAX_NOTE_BYTES 1024 112 111 113 - #ifdef __powerpc64__ 114 112 extern void kexec_smp_wait(void); /* get and clear naca physid, wait for 115 113 master to copy new code to 0 */ 116 114 extern int crashing_cpu; ··· 119 119 { 120 120 return cpu_isset(cpu,cpus_in_sr); 121 121 } 122 - #endif /* __powerpc64 __ */ 123 122 124 123 struct kimage; 125 124 struct pt_regs;
-1
include/asm-powerpc/mpc86xx.h
··· 31 31 #define MCM_PORT_CONFIG_OFFSET 0x1010 32 32 33 33 /* Offset from CCSRBAR */ 34 - #define MPC86xx_OPENPIC_OFFSET (0x40000) 35 34 #define MPC86xx_MCM_OFFSET (0x00000) 36 35 #define MPC86xx_MCM_SIZE (0x02000) 37 36
+1 -1
include/asm-powerpc/pgalloc.h
··· 117 117 pte_free_kernel(page_address(ptepage)); 118 118 } 119 119 120 - #define PGF_CACHENUM_MASK 0xf 120 + #define PGF_CACHENUM_MASK 0x3 121 121 122 122 typedef struct pgtable_free { 123 123 unsigned long val;
+9
include/asm-powerpc/system.h
··· 53 53 #define smp_read_barrier_depends() do { } while(0) 54 54 #endif /* CONFIG_SMP */ 55 55 56 + /* 57 + * This is a barrier which prevents following instructions from being 58 + * started until the value of the argument x is known. For example, if 59 + * x is a variable loaded from memory, this prevents following 60 + * instructions from being executed until the load has been performed. 61 + */ 62 + #define data_barrier(x) \ 63 + asm volatile("twi 0,%0,0; isync" : : "r" (x) : "memory"); 64 + 56 65 struct task_struct; 57 66 struct pt_regs; 58 67
+8 -6
include/asm-powerpc/tsi108.h
··· 1 1 /* 2 - * include/asm-ppc/tsi108.h 3 - * 4 2 * common routine and memory layout for Tundra TSI108(Grendel) host bridge 5 3 * memory controller. 6 4 * 7 5 * Author: Jacob Pan (jacob.pan@freescale.com) 8 6 * Alex Bounine (alexandreb@tundra.com) 9 - * 2004 (c) Freescale Semiconductor Inc. This file is licensed under 10 - * the terms of the GNU General Public License version 2. This program 11 - * is licensed "as is" without any warranty of any kind, whether express 12 - * or implied. 7 + * 8 + * Copyright 2004-2006 Freescale Semiconductor, Inc. 9 + * 10 + * This program is free software; you can redistribute it and/or 11 + * modify it under the terms of the GNU General Public License 12 + * as published by the Free Software Foundation; either version 13 + * 2 of the License, or (at your option) any later version. 13 14 */ 15 + 14 16 #ifndef __PPC_KERNEL_TSI108_H 15 17 #define __PPC_KERNEL_TSI108_H 16 18
+124
include/asm-powerpc/tsi108_irq.h
··· 1 + /* 2 + * (C) Copyright 2005 Tundra Semiconductor Corp. 3 + * Alex Bounine, <alexandreb at tundra.com). 4 + * 5 + * See file CREDITS for list of people who contributed to this 6 + * project. 7 + * 8 + * This program is free software; you can redistribute it and/or 9 + * modify it under the terms of the GNU General Public License as 10 + * published by the Free Software Foundation; either version 2 of 11 + * the License, or (at your option) any later version. 12 + * 13 + * This program is distributed in the hope that it will be useful, 14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 + * GNU General Public License for more details. 17 + * 18 + * You should have received a copy of the GNU General Public License 19 + * along with this program; if not, write to the Free Software 20 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21 + * MA 02111-1307 USA 22 + */ 23 + 24 + /* 25 + * definitions for interrupt controller initialization and external interrupt 26 + * demultiplexing on TSI108EMU/SVB boards. 27 + */ 28 + 29 + #ifndef _ASM_PPC_TSI108_IRQ_H 30 + #define _ASM_PPC_TSI108_IRQ_H 31 + 32 + /* 33 + * Tsi108 interrupts 34 + */ 35 + #ifndef TSI108_IRQ_REG_BASE 36 + #define TSI108_IRQ_REG_BASE 0 37 + #endif 38 + 39 + #define TSI108_IRQ(x) (TSI108_IRQ_REG_BASE + (x)) 40 + 41 + #define TSI108_MAX_VECTORS (36 + 4) /* 36 sources + PCI INT demux */ 42 + #define MAX_TASK_PRIO 0xF 43 + 44 + #define TSI108_IRQ_SPURIOUS (TSI108_MAX_VECTORS) 45 + 46 + #define DEFAULT_PRIO_LVL 10 /* initial priority level */ 47 + 48 + /* Interrupt vectors assignment to external and internal 49 + * sources of requests. */ 50 + 51 + /* EXTERNAL INTERRUPT SOURCES */ 52 + 53 + #define IRQ_TSI108_EXT_INT0 TSI108_IRQ(0) /* External Source at INT[0] */ 54 + #define IRQ_TSI108_EXT_INT1 TSI108_IRQ(1) /* External Source at INT[1] */ 55 + #define IRQ_TSI108_EXT_INT2 TSI108_IRQ(2) /* External Source at INT[2] */ 56 + #define IRQ_TSI108_EXT_INT3 TSI108_IRQ(3) /* External Source at INT[3] */ 57 + 58 + /* INTERNAL INTERRUPT SOURCES */ 59 + 60 + #define IRQ_TSI108_RESERVED0 TSI108_IRQ(4) /* Reserved IRQ */ 61 + #define IRQ_TSI108_RESERVED1 TSI108_IRQ(5) /* Reserved IRQ */ 62 + #define IRQ_TSI108_RESERVED2 TSI108_IRQ(6) /* Reserved IRQ */ 63 + #define IRQ_TSI108_RESERVED3 TSI108_IRQ(7) /* Reserved IRQ */ 64 + #define IRQ_TSI108_DMA0 TSI108_IRQ(8) /* DMA0 */ 65 + #define IRQ_TSI108_DMA1 TSI108_IRQ(9) /* DMA1 */ 66 + #define IRQ_TSI108_DMA2 TSI108_IRQ(10) /* DMA2 */ 67 + #define IRQ_TSI108_DMA3 TSI108_IRQ(11) /* DMA3 */ 68 + #define IRQ_TSI108_UART0 TSI108_IRQ(12) /* UART0 */ 69 + #define IRQ_TSI108_UART1 TSI108_IRQ(13) /* UART1 */ 70 + #define IRQ_TSI108_I2C TSI108_IRQ(14) /* I2C */ 71 + #define IRQ_TSI108_GPIO TSI108_IRQ(15) /* GPIO */ 72 + #define IRQ_TSI108_GIGE0 TSI108_IRQ(16) /* GIGE0 */ 73 + #define IRQ_TSI108_GIGE1 TSI108_IRQ(17) /* GIGE1 */ 74 + #define IRQ_TSI108_RESERVED4 TSI108_IRQ(18) /* Reserved IRQ */ 75 + #define IRQ_TSI108_HLP TSI108_IRQ(19) /* HLP */ 76 + #define IRQ_TSI108_SDRAM TSI108_IRQ(20) /* SDC */ 77 + #define IRQ_TSI108_PROC_IF TSI108_IRQ(21) /* Processor IF */ 78 + #define IRQ_TSI108_RESERVED5 TSI108_IRQ(22) /* Reserved IRQ */ 79 + #define IRQ_TSI108_PCI TSI108_IRQ(23) /* PCI/X block */ 80 + 81 + #define IRQ_TSI108_MBOX0 TSI108_IRQ(24) /* Mailbox 0 register */ 82 + #define IRQ_TSI108_MBOX1 TSI108_IRQ(25) /* Mailbox 1 register */ 83 + #define IRQ_TSI108_MBOX2 TSI108_IRQ(26) /* Mailbox 2 register */ 84 + #define IRQ_TSI108_MBOX3 TSI108_IRQ(27) /* Mailbox 3 register */ 85 + 86 + #define IRQ_TSI108_DBELL0 TSI108_IRQ(28) /* Doorbell 0 */ 87 + #define IRQ_TSI108_DBELL1 TSI108_IRQ(29) /* Doorbell 1 */ 88 + #define IRQ_TSI108_DBELL2 TSI108_IRQ(30) /* Doorbell 2 */ 89 + #define IRQ_TSI108_DBELL3 TSI108_IRQ(31) /* Doorbell 3 */ 90 + 91 + #define IRQ_TSI108_TIMER0 TSI108_IRQ(32) /* Global Timer 0 */ 92 + #define IRQ_TSI108_TIMER1 TSI108_IRQ(33) /* Global Timer 1 */ 93 + #define IRQ_TSI108_TIMER2 TSI108_IRQ(34) /* Global Timer 2 */ 94 + #define IRQ_TSI108_TIMER3 TSI108_IRQ(35) /* Global Timer 3 */ 95 + 96 + /* 97 + * PCI bus INTA# - INTD# lines demultiplexor 98 + */ 99 + #define IRQ_PCI_INTAD_BASE TSI108_IRQ(36) 100 + #define IRQ_PCI_INTA (IRQ_PCI_INTAD_BASE + 0) 101 + #define IRQ_PCI_INTB (IRQ_PCI_INTAD_BASE + 1) 102 + #define IRQ_PCI_INTC (IRQ_PCI_INTAD_BASE + 2) 103 + #define IRQ_PCI_INTD (IRQ_PCI_INTAD_BASE + 3) 104 + #define NUM_PCI_IRQS (4) 105 + 106 + /* number of entries in vector dispatch table */ 107 + #define IRQ_TSI108_TAB_SIZE (TSI108_MAX_VECTORS + 1) 108 + 109 + /* Mapping of MPIC outputs to processors' interrupt pins */ 110 + 111 + #define IDIR_INT_OUT0 0x1 112 + #define IDIR_INT_OUT1 0x2 113 + #define IDIR_INT_OUT2 0x4 114 + #define IDIR_INT_OUT3 0x8 115 + 116 + /*--------------------------------------------------------------- 117 + * IRQ line configuration parameters */ 118 + 119 + /* Interrupt delivery modes */ 120 + typedef enum { 121 + TSI108_IRQ_DIRECTED, 122 + TSI108_IRQ_DISTRIBUTED, 123 + } TSI108_IRQ_MODE; 124 + #endif /* _ASM_PPC_TSI108_IRQ_H */