diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-09 18:16:52 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-09 18:16:52 -0500 |
commit | c4888f9ffafe7db107b7eafb3a68eaeeff3779c3 (patch) | |
tree | d30da15f6b5d74c8c04fd92991af5e1615d95691 | |
parent | e36aeee65d4db050bd8713537416a0a0632db079 (diff) | |
parent | 688016f4e2028e3c2c27e959ad001536e10ee2c5 (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (37 commits)
[POWERPC] EEH: Make sure warning message is printed
[POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC
[POWERPC] windfarm: Fix windfarm thread freezer interaction
[POWERPC] Fix si_addr value on low level hash failures
[POWERPC] Refresh ppc64_defconfig and enable pasemi-related options
[POWERPC] pasemi: Update defconfig
[POWERPC] iSeries: Fix ref counting in vio setup
[POWERPC] ] Fix memset size error
[POWERPC] Fix link errors for allyesconfig
[POWERPC] iSeries_init_IRQ non-PCI tidy
[POWERPC] Change fallocate to match unistd.h on powerpc
[POWERPC] EEH: Avoid crash on null device
[POWERPC] EEH: Drivers that need reset trump others
[POWERPC] EEH: Clean up comments
[POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2)
[POWERPC] Fix switch_slb handling of 1T ESID values
[POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined
[POWERPC] Include udbg.h when using udbg_printf
[POWERPC] Fix cache line vs. block size confusion
[POWERPC] Fix sysctl table check failure on PowerMac
...
53 files changed, 996 insertions, 360 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index a96e85397eb7..ac1be25c1e25 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -52,6 +52,7 @@ Table of Contents | |||
52 | i) Freescale QUICC Engine module (QE) | 52 | i) Freescale QUICC Engine module (QE) |
53 | j) CFI or JEDEC memory-mapped NOR flash | 53 | j) CFI or JEDEC memory-mapped NOR flash |
54 | k) Global Utilities Block | 54 | k) Global Utilities Block |
55 | l) Xilinx IP cores | ||
55 | 56 | ||
56 | VII - Specifying interrupt information for devices | 57 | VII - Specifying interrupt information for devices |
57 | 1) interrupts property | 58 | 1) interrupts property |
@@ -851,12 +852,18 @@ address which can extend beyond that limit. | |||
851 | /cpus/PowerPC,970FX@0 | 852 | /cpus/PowerPC,970FX@0 |
852 | /cpus/PowerPC,970FX@1 | 853 | /cpus/PowerPC,970FX@1 |
853 | (unit addresses do not require leading zeroes) | 854 | (unit addresses do not require leading zeroes) |
854 | - d-cache-line-size : one cell, L1 data cache line size in bytes | 855 | - d-cache-block-size : one cell, L1 data cache block size in bytes (*) |
855 | - i-cache-line-size : one cell, L1 instruction cache line size in | 856 | - i-cache-block-size : one cell, L1 instruction cache block size in |
856 | bytes | 857 | bytes |
857 | - d-cache-size : one cell, size of L1 data cache in bytes | 858 | - d-cache-size : one cell, size of L1 data cache in bytes |
858 | - i-cache-size : one cell, size of L1 instruction cache in bytes | 859 | - i-cache-size : one cell, size of L1 instruction cache in bytes |
859 | 860 | ||
861 | (*) The cache "block" size is the size on which the cache management | ||
862 | instructions operate. Historically, this document used the cache | ||
863 | "line" size here which is incorrect. The kernel will prefer the cache | ||
864 | block size and will fallback to cache line size for backward | ||
865 | compatibility. | ||
866 | |||
860 | Recommended properties: | 867 | Recommended properties: |
861 | 868 | ||
862 | - timebase-frequency : a cell indicating the frequency of the | 869 | - timebase-frequency : a cell indicating the frequency of the |
@@ -870,6 +877,10 @@ address which can extend beyond that limit. | |||
870 | for the above, the common code doesn't use that property, but | 877 | for the above, the common code doesn't use that property, but |
871 | you are welcome to re-use the pSeries or Maple one. A future | 878 | you are welcome to re-use the pSeries or Maple one. A future |
872 | kernel version might provide a common function for this. | 879 | kernel version might provide a common function for this. |
880 | - d-cache-line-size : one cell, L1 data cache line size in bytes | ||
881 | if different from the block size | ||
882 | - i-cache-line-size : one cell, L1 instruction cache line size in | ||
883 | bytes if different from the block size | ||
873 | 884 | ||
874 | You are welcome to add any property you find relevant to your board, | 885 | You are welcome to add any property you find relevant to your board, |
875 | like some information about the mechanism used to soft-reset the | 886 | like some information about the mechanism used to soft-reset the |
@@ -2242,6 +2253,266 @@ platforms are moved over to use the flattened-device-tree model. | |||
2242 | available. | 2253 | available. |
2243 | For Axon: 0x0000012a | 2254 | For Axon: 0x0000012a |
2244 | 2255 | ||
2256 | l) Xilinx IP cores | ||
2257 | |||
2258 | The Xilinx EDK toolchain ships with a set of IP cores (devices) for use | ||
2259 | in Xilinx Spartan and Virtex FPGAs. The devices cover the whole range | ||
2260 | of standard device types (network, serial, etc.) and miscellanious | ||
2261 | devices (gpio, LCD, spi, etc). Also, since these devices are | ||
2262 | implemented within the fpga fabric every instance of the device can be | ||
2263 | synthesised with different options that change the behaviour. | ||
2264 | |||
2265 | Each IP-core has a set of parameters which the FPGA designer can use to | ||
2266 | control how the core is synthesized. Historically, the EDK tool would | ||
2267 | extract the device parameters relevant to device drivers and copy them | ||
2268 | into an 'xparameters.h' in the form of #define symbols. This tells the | ||
2269 | device drivers how the IP cores are configured, but it requres the kernel | ||
2270 | to be recompiled every time the FPGA bitstream is resynthesized. | ||
2271 | |||
2272 | The new approach is to export the parameters into the device tree and | ||
2273 | generate a new device tree each time the FPGA bitstream changes. The | ||
2274 | parameters which used to be exported as #defines will now become | ||
2275 | properties of the device node. In general, device nodes for IP-cores | ||
2276 | will take the following form: | ||
2277 | |||
2278 | (name)@(base-address) { | ||
2279 | compatible = "xlnx,(ip-core-name)-(HW_VER)" | ||
2280 | [, (list of compatible devices), ...]; | ||
2281 | reg = <(baseaddr) (size)>; | ||
2282 | interrupt-parent = <&interrupt-controller-phandle>; | ||
2283 | interrupts = < ... >; | ||
2284 | xlnx,(parameter1) = "(string-value)"; | ||
2285 | xlnx,(parameter2) = <(int-value)>; | ||
2286 | }; | ||
2287 | |||
2288 | (ip-core-name): the name of the ip block (given after the BEGIN | ||
2289 | directive in system.mhs). Should be in lowercase | ||
2290 | and all underscores '_' converted to dashes '-'. | ||
2291 | (name): is derived from the "PARAMETER INSTANCE" value. | ||
2292 | (parameter#): C_* parameters from system.mhs. The C_ prefix is | ||
2293 | dropped from the parameter name, the name is converted | ||
2294 | to lowercase and all underscore '_' characters are | ||
2295 | converted to dashes '-'. | ||
2296 | (baseaddr): the C_BASEADDR parameter. | ||
2297 | (HW_VER): from the HW_VER parameter. | ||
2298 | (size): equals C_HIGHADDR - C_BASEADDR + 1 | ||
2299 | |||
2300 | Typically, the compatible list will include the exact IP core version | ||
2301 | followed by an older IP core version which implements the same | ||
2302 | interface or any other device with the same interface. | ||
2303 | |||
2304 | 'reg', 'interrupt-parent' and 'interrupts' are all optional properties. | ||
2305 | |||
2306 | For example, the following block from system.mhs: | ||
2307 | |||
2308 | BEGIN opb_uartlite | ||
2309 | PARAMETER INSTANCE = opb_uartlite_0 | ||
2310 | PARAMETER HW_VER = 1.00.b | ||
2311 | PARAMETER C_BAUDRATE = 115200 | ||
2312 | PARAMETER C_DATA_BITS = 8 | ||
2313 | PARAMETER C_ODD_PARITY = 0 | ||
2314 | PARAMETER C_USE_PARITY = 0 | ||
2315 | PARAMETER C_CLK_FREQ = 50000000 | ||
2316 | PARAMETER C_BASEADDR = 0xEC100000 | ||
2317 | PARAMETER C_HIGHADDR = 0xEC10FFFF | ||
2318 | BUS_INTERFACE SOPB = opb_7 | ||
2319 | PORT OPB_Clk = CLK_50MHz | ||
2320 | PORT Interrupt = opb_uartlite_0_Interrupt | ||
2321 | PORT RX = opb_uartlite_0_RX | ||
2322 | PORT TX = opb_uartlite_0_TX | ||
2323 | PORT OPB_Rst = sys_bus_reset_0 | ||
2324 | END | ||
2325 | |||
2326 | becomes the following device tree node: | ||
2327 | |||
2328 | opb-uartlite-0@ec100000 { | ||
2329 | device_type = "serial"; | ||
2330 | compatible = "xlnx,opb-uartlite-1.00.b"; | ||
2331 | reg = <ec100000 10000>; | ||
2332 | interrupt-parent = <&opb-intc>; | ||
2333 | interrupts = <1 0>; // got this from the opb_intc parameters | ||
2334 | current-speed = <d#115200>; // standard serial device prop | ||
2335 | clock-frequency = <d#50000000>; // standard serial device prop | ||
2336 | xlnx,data-bits = <8>; | ||
2337 | xlnx,odd-parity = <0>; | ||
2338 | xlnx,use-parity = <0>; | ||
2339 | }; | ||
2340 | |||
2341 | Some IP cores actually implement 2 or more logical devices. In this case, | ||
2342 | the device should still describe the whole IP core with a single node | ||
2343 | and add a child node for each logical device. The ranges property can | ||
2344 | be used to translate from parent IP-core to the registers of each device. | ||
2345 | (Note: this makes the assumption that both logical devices have the same | ||
2346 | bus binding. If this is not true, then separate nodes should be used for | ||
2347 | each logical device). The 'cell-index' property can be used to enumerate | ||
2348 | logical devices within an IP core. For example, the following is the | ||
2349 | system.mhs entry for the dual ps2 controller found on the ml403 reference | ||
2350 | design. | ||
2351 | |||
2352 | BEGIN opb_ps2_dual_ref | ||
2353 | PARAMETER INSTANCE = opb_ps2_dual_ref_0 | ||
2354 | PARAMETER HW_VER = 1.00.a | ||
2355 | PARAMETER C_BASEADDR = 0xA9000000 | ||
2356 | PARAMETER C_HIGHADDR = 0xA9001FFF | ||
2357 | BUS_INTERFACE SOPB = opb_v20_0 | ||
2358 | PORT Sys_Intr1 = ps2_1_intr | ||
2359 | PORT Sys_Intr2 = ps2_2_intr | ||
2360 | PORT Clkin1 = ps2_clk_rx_1 | ||
2361 | PORT Clkin2 = ps2_clk_rx_2 | ||
2362 | PORT Clkpd1 = ps2_clk_tx_1 | ||
2363 | PORT Clkpd2 = ps2_clk_tx_2 | ||
2364 | PORT Rx1 = ps2_d_rx_1 | ||
2365 | PORT Rx2 = ps2_d_rx_2 | ||
2366 | PORT Txpd1 = ps2_d_tx_1 | ||
2367 | PORT Txpd2 = ps2_d_tx_2 | ||
2368 | END | ||
2369 | |||
2370 | It would result in the following device tree nodes: | ||
2371 | |||
2372 | opb_ps2_dual_ref_0@a9000000 { | ||
2373 | ranges = <0 a9000000 2000>; | ||
2374 | // If this device had extra parameters, then they would | ||
2375 | // go here. | ||
2376 | ps2@0 { | ||
2377 | compatible = "xlnx,opb-ps2-dual-ref-1.00.a"; | ||
2378 | reg = <0 40>; | ||
2379 | interrupt-parent = <&opb-intc>; | ||
2380 | interrupts = <3 0>; | ||
2381 | cell-index = <0>; | ||
2382 | }; | ||
2383 | ps2@1000 { | ||
2384 | compatible = "xlnx,opb-ps2-dual-ref-1.00.a"; | ||
2385 | reg = <1000 40>; | ||
2386 | interrupt-parent = <&opb-intc>; | ||
2387 | interrupts = <3 0>; | ||
2388 | cell-index = <0>; | ||
2389 | }; | ||
2390 | }; | ||
2391 | |||
2392 | Also, the system.mhs file defines bus attachments from the processor | ||
2393 | to the devices. The device tree structure should reflect the bus | ||
2394 | attachments. Again an example; this system.mhs fragment: | ||
2395 | |||
2396 | BEGIN ppc405_virtex4 | ||
2397 | PARAMETER INSTANCE = ppc405_0 | ||
2398 | PARAMETER HW_VER = 1.01.a | ||
2399 | BUS_INTERFACE DPLB = plb_v34_0 | ||
2400 | BUS_INTERFACE IPLB = plb_v34_0 | ||
2401 | END | ||
2402 | |||
2403 | BEGIN opb_intc | ||
2404 | PARAMETER INSTANCE = opb_intc_0 | ||
2405 | PARAMETER HW_VER = 1.00.c | ||
2406 | PARAMETER C_BASEADDR = 0xD1000FC0 | ||
2407 | PARAMETER C_HIGHADDR = 0xD1000FDF | ||
2408 | BUS_INTERFACE SOPB = opb_v20_0 | ||
2409 | END | ||
2410 | |||
2411 | BEGIN opb_uart16550 | ||
2412 | PARAMETER INSTANCE = opb_uart16550_0 | ||
2413 | PARAMETER HW_VER = 1.00.d | ||
2414 | PARAMETER C_BASEADDR = 0xa0000000 | ||
2415 | PARAMETER C_HIGHADDR = 0xa0001FFF | ||
2416 | BUS_INTERFACE SOPB = opb_v20_0 | ||
2417 | END | ||
2418 | |||
2419 | BEGIN plb_v34 | ||
2420 | PARAMETER INSTANCE = plb_v34_0 | ||
2421 | PARAMETER HW_VER = 1.02.a | ||
2422 | END | ||
2423 | |||
2424 | BEGIN plb_bram_if_cntlr | ||
2425 | PARAMETER INSTANCE = plb_bram_if_cntlr_0 | ||
2426 | PARAMETER HW_VER = 1.00.b | ||
2427 | PARAMETER C_BASEADDR = 0xFFFF0000 | ||
2428 | PARAMETER C_HIGHADDR = 0xFFFFFFFF | ||
2429 | BUS_INTERFACE SPLB = plb_v34_0 | ||
2430 | END | ||
2431 | |||
2432 | BEGIN plb2opb_bridge | ||
2433 | PARAMETER INSTANCE = plb2opb_bridge_0 | ||
2434 | PARAMETER HW_VER = 1.01.a | ||
2435 | PARAMETER C_RNG0_BASEADDR = 0x20000000 | ||
2436 | PARAMETER C_RNG0_HIGHADDR = 0x3FFFFFFF | ||
2437 | PARAMETER C_RNG1_BASEADDR = 0x60000000 | ||
2438 | PARAMETER C_RNG1_HIGHADDR = 0x7FFFFFFF | ||
2439 | PARAMETER C_RNG2_BASEADDR = 0x80000000 | ||
2440 | PARAMETER C_RNG2_HIGHADDR = 0xBFFFFFFF | ||
2441 | PARAMETER C_RNG3_BASEADDR = 0xC0000000 | ||
2442 | PARAMETER C_RNG3_HIGHADDR = 0xDFFFFFFF | ||
2443 | BUS_INTERFACE SPLB = plb_v34_0 | ||
2444 | BUS_INTERFACE MOPB = opb_v20_0 | ||
2445 | END | ||
2446 | |||
2447 | Gives this device tree (some properties removed for clarity): | ||
2448 | |||
2449 | plb-v34-0 { | ||
2450 | #address-cells = <1>; | ||
2451 | #size-cells = <1>; | ||
2452 | device_type = "ibm,plb"; | ||
2453 | ranges; // 1:1 translation | ||
2454 | |||
2455 | plb-bram-if-cntrl-0@ffff0000 { | ||
2456 | reg = <ffff0000 10000>; | ||
2457 | } | ||
2458 | |||
2459 | opb-v20-0 { | ||
2460 | #address-cells = <1>; | ||
2461 | #size-cells = <1>; | ||
2462 | ranges = <20000000 20000000 20000000 | ||
2463 | 60000000 60000000 20000000 | ||
2464 | 80000000 80000000 40000000 | ||
2465 | c0000000 c0000000 20000000>; | ||
2466 | |||
2467 | opb-uart16550-0@a0000000 { | ||
2468 | reg = <a00000000 2000>; | ||
2469 | }; | ||
2470 | |||
2471 | opb-intc-0@d1000fc0 { | ||
2472 | reg = <d1000fc0 20>; | ||
2473 | }; | ||
2474 | }; | ||
2475 | }; | ||
2476 | |||
2477 | That covers the general approach to binding xilinx IP cores into the | ||
2478 | device tree. The following are bindings for specific devices: | ||
2479 | |||
2480 | i) Xilinx ML300 Framebuffer | ||
2481 | |||
2482 | Simple framebuffer device from the ML300 reference design (also on the | ||
2483 | ML403 reference design as well as others). | ||
2484 | |||
2485 | Optional properties: | ||
2486 | - resolution = <xres yres> : pixel resolution of framebuffer. Some | ||
2487 | implementations use a different resolution. | ||
2488 | Default is <d#640 d#480> | ||
2489 | - virt-resolution = <xvirt yvirt> : Size of framebuffer in memory. | ||
2490 | Default is <d#1024 d#480>. | ||
2491 | - rotate-display (empty) : rotate display 180 degrees. | ||
2492 | |||
2493 | ii) Xilinx SystemACE | ||
2494 | |||
2495 | The Xilinx SystemACE device is used to program FPGAs from an FPGA | ||
2496 | bitstream stored on a CF card. It can also be used as a generic CF | ||
2497 | interface device. | ||
2498 | |||
2499 | Optional properties: | ||
2500 | - 8-bit (empty) : Set this property for SystemACE in 8 bit mode | ||
2501 | |||
2502 | iii) Xilinx EMAC and Xilinx TEMAC | ||
2503 | |||
2504 | Xilinx Ethernet devices. In addition to general xilinx properties | ||
2505 | listed above, nodes for these devices should include a phy-handle | ||
2506 | property, and may include other common network device properties | ||
2507 | like local-mac-address. | ||
2508 | |||
2509 | iv) Xilinx Uartlite | ||
2510 | |||
2511 | Xilinx uartlite devices are simple fixed speed serial ports. | ||
2512 | |||
2513 | Requred properties: | ||
2514 | - current-speed : Baud rate of uartlite | ||
2515 | |||
2245 | More devices will be defined as this spec matures. | 2516 | More devices will be defined as this spec matures. |
2246 | 2517 | ||
2247 | VII - Specifying interrupt information for devices | 2518 | VII - Specifying interrupt information for devices |
diff --git a/arch/powerpc/boot/dts/walnut.dts b/arch/powerpc/boot/dts/walnut.dts index fa681f5343fe..754fa3960f83 100644 --- a/arch/powerpc/boot/dts/walnut.dts +++ b/arch/powerpc/boot/dts/walnut.dts | |||
@@ -122,7 +122,9 @@ | |||
122 | device_type = "network"; | 122 | device_type = "network"; |
123 | compatible = "ibm,emac-405gp", "ibm,emac"; | 123 | compatible = "ibm,emac-405gp", "ibm,emac"; |
124 | interrupt-parent = <&UIC0>; | 124 | interrupt-parent = <&UIC0>; |
125 | interrupts = <9 4 f 4>; | 125 | interrupts = < |
126 | f 4 /* Ethernet */ | ||
127 | 9 4 /* Ethernet Wake Up */>; | ||
126 | local-mac-address = [000000000000]; /* Filled in by zImage */ | 128 | local-mac-address = [000000000000]; /* Filled in by zImage */ |
127 | reg = <ef600800 70>; | 129 | reg = <ef600800 70>; |
128 | mal-device = <&MAL>; | 130 | mal-device = <&MAL>; |
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 39b27e5ef6c1..31147a037728 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
@@ -21,6 +21,14 @@ | |||
21 | # (default ./arch/powerpc/boot) | 21 | # (default ./arch/powerpc/boot) |
22 | # -W dir specify working directory for temporary files (default .) | 22 | # -W dir specify working directory for temporary files (default .) |
23 | 23 | ||
24 | # Stop execution if any command fails | ||
25 | set -e | ||
26 | |||
27 | # Allow for verbose output | ||
28 | if [ "$V" = 1 ]; then | ||
29 | set -x | ||
30 | fi | ||
31 | |||
24 | # defaults | 32 | # defaults |
25 | kernel= | 33 | kernel= |
26 | ofile=zImage | 34 | ofile=zImage |
@@ -111,7 +119,7 @@ if [ -n "$dts" ]; then | |||
111 | if [ -z "$dtb" ]; then | 119 | if [ -z "$dtb" ]; then |
112 | dtb="$platform.dtb" | 120 | dtb="$platform.dtb" |
113 | fi | 121 | fi |
114 | dtc -O dtb -o "$dtb" -b 0 -V 16 "$dts" || exit 1 | 122 | dtc -O dtb -o "$dtb" -b 0 -V 16 "$dts" |
115 | fi | 123 | fi |
116 | 124 | ||
117 | if [ -z "$kernel" ]; then | 125 | if [ -z "$kernel" ]; then |
@@ -149,7 +157,6 @@ cuboot*) | |||
149 | ps3) | 157 | ps3) |
150 | platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o" | 158 | platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o" |
151 | lds=$object/zImage.ps3.lds | 159 | lds=$object/zImage.ps3.lds |
152 | binary=y | ||
153 | gzip= | 160 | gzip= |
154 | ext=bin | 161 | ext=bin |
155 | objflags="-O binary --set-section-flags=.bss=contents,alloc,load,data" | 162 | objflags="-O binary --set-section-flags=.bss=contents,alloc,load,data" |
@@ -233,7 +240,7 @@ entry=`${CROSS}objdump -f "$ofile" | grep '^start address ' | cut -d' ' -f3` | |||
233 | 240 | ||
234 | if [ -n "$binary" ]; then | 241 | if [ -n "$binary" ]; then |
235 | mv "$ofile" "$ofile".elf | 242 | mv "$ofile" "$ofile".elf |
236 | ${CROSS}objcopy -O binary "$ofile".elf "$ofile".bin | 243 | ${CROSS}objcopy -O binary "$ofile".elf "$ofile" |
237 | fi | 244 | fi |
238 | 245 | ||
239 | # post-processing needed for some platforms | 246 | # post-processing needed for some platforms |
@@ -246,9 +253,9 @@ coff) | |||
246 | $object/hack-coff "$ofile" | 253 | $object/hack-coff "$ofile" |
247 | ;; | 254 | ;; |
248 | cuboot*) | 255 | cuboot*) |
249 | gzip -f -9 "$ofile".bin | 256 | gzip -f -9 "$ofile" |
250 | mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ | 257 | mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ |
251 | $uboot_version -d "$ofile".bin.gz "$ofile" | 258 | $uboot_version -d "$ofile".gz "$ofile" |
252 | ;; | 259 | ;; |
253 | treeboot*) | 260 | treeboot*) |
254 | mv "$ofile" "$ofile.elf" | 261 | mv "$ofile" "$ofile.elf" |
@@ -269,11 +276,11 @@ ps3) | |||
269 | # then copied to offset 0x100. At runtime the bootwrapper program | 276 | # then copied to offset 0x100. At runtime the bootwrapper program |
270 | # copies the 0x100 bytes at __system_reset_kernel to addr 0x100. | 277 | # copies the 0x100 bytes at __system_reset_kernel to addr 0x100. |
271 | 278 | ||
272 | system_reset_overlay=0x`${CROSS}nm "$ofile".elf \ | 279 | system_reset_overlay=0x`${CROSS}nm "$ofile" \ |
273 | | grep ' __system_reset_overlay$' \ | 280 | | grep ' __system_reset_overlay$' \ |
274 | | cut -d' ' -f1` | 281 | | cut -d' ' -f1` |
275 | system_reset_overlay=`printf "%d" $system_reset_overlay` | 282 | system_reset_overlay=`printf "%d" $system_reset_overlay` |
276 | system_reset_kernel=0x`${CROSS}nm "$ofile".elf \ | 283 | system_reset_kernel=0x`${CROSS}nm "$ofile" \ |
277 | | grep ' __system_reset_kernel$' \ | 284 | | grep ' __system_reset_kernel$' \ |
278 | | cut -d' ' -f1` | 285 | | cut -d' ' -f1` |
279 | system_reset_kernel=`printf "%d" $system_reset_kernel` | 286 | system_reset_kernel=`printf "%d" $system_reset_kernel` |
@@ -282,23 +289,15 @@ ps3) | |||
282 | 289 | ||
283 | rm -f "$object/otheros.bld" | 290 | rm -f "$object/otheros.bld" |
284 | 291 | ||
285 | msg=$(dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \ | 292 | ${CROSS}objcopy -O binary "$ofile" "$ofile.bin" |
286 | skip=$overlay_dest seek=$system_reset_kernel \ | ||
287 | count=$overlay_size bs=1 2>&1) | ||
288 | 293 | ||
289 | if [ $? -ne "0" ]; then | 294 | dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \ |
290 | echo $msg | 295 | skip=$overlay_dest seek=$system_reset_kernel \ |
291 | exit 1 | 296 | count=$overlay_size bs=1 |
292 | fi | ||
293 | |||
294 | msg=$(dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \ | ||
295 | skip=$system_reset_overlay seek=$overlay_dest \ | ||
296 | count=$overlay_size bs=1 2>&1) | ||
297 | 297 | ||
298 | if [ $? -ne "0" ]; then | 298 | dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \ |
299 | echo $msg | 299 | skip=$system_reset_overlay seek=$overlay_dest \ |
300 | exit 2 | 300 | count=$overlay_size bs=1 |
301 | fi | ||
302 | 301 | ||
303 | gzip --force -9 --stdout "$ofile.bin" > "$object/otheros.bld" | 302 | gzip --force -9 --stdout "$ofile.bin" > "$object/otheros.bld" |
304 | ;; | 303 | ;; |
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig index 1ccf3ed7693e..78c968aade4e 100644 --- a/arch/powerpc/configs/pasemi_defconfig +++ b/arch/powerpc/configs/pasemi_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.23-rc4 | 3 | # Linux kernel version: 2.6.24-rc2 |
4 | # Thu Aug 30 16:40:47 2007 | 4 | # Tue Nov 6 23:23:50 2007 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | 7 | ||
@@ -10,6 +10,7 @@ CONFIG_PPC64=y | |||
10 | # | 10 | # |
11 | CONFIG_POWER4_ONLY=y | 11 | CONFIG_POWER4_ONLY=y |
12 | CONFIG_POWER4=y | 12 | CONFIG_POWER4=y |
13 | # CONFIG_TUNE_CELL is not set | ||
13 | CONFIG_PPC_FPU=y | 14 | CONFIG_PPC_FPU=y |
14 | CONFIG_ALTIVEC=y | 15 | CONFIG_ALTIVEC=y |
15 | CONFIG_PPC_STD_MMU=y | 16 | CONFIG_PPC_STD_MMU=y |
@@ -18,8 +19,13 @@ CONFIG_PPC_MM_SLICES=y | |||
18 | CONFIG_SMP=y | 19 | CONFIG_SMP=y |
19 | CONFIG_NR_CPUS=2 | 20 | CONFIG_NR_CPUS=2 |
20 | CONFIG_64BIT=y | 21 | CONFIG_64BIT=y |
22 | CONFIG_WORD_SIZE=64 | ||
21 | CONFIG_PPC_MERGE=y | 23 | CONFIG_PPC_MERGE=y |
22 | CONFIG_MMU=y | 24 | CONFIG_MMU=y |
25 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
26 | CONFIG_GENERIC_TIME=y | ||
27 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
28 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
23 | CONFIG_GENERIC_HARDIRQS=y | 29 | CONFIG_GENERIC_HARDIRQS=y |
24 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
25 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 31 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
@@ -65,7 +71,10 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
65 | # CONFIG_AUDIT is not set | 71 | # CONFIG_AUDIT is not set |
66 | # CONFIG_IKCONFIG is not set | 72 | # CONFIG_IKCONFIG is not set |
67 | CONFIG_LOG_BUF_SHIFT=17 | 73 | CONFIG_LOG_BUF_SHIFT=17 |
68 | # CONFIG_CPUSETS is not set | 74 | # CONFIG_CGROUPS is not set |
75 | CONFIG_FAIR_GROUP_SCHED=y | ||
76 | CONFIG_FAIR_USER_SCHED=y | ||
77 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
69 | CONFIG_SYSFS_DEPRECATED=y | 78 | CONFIG_SYSFS_DEPRECATED=y |
70 | # CONFIG_RELAY is not set | 79 | # CONFIG_RELAY is not set |
71 | CONFIG_BLK_DEV_INITRD=y | 80 | CONFIG_BLK_DEV_INITRD=y |
@@ -86,7 +95,6 @@ CONFIG_FUTEX=y | |||
86 | CONFIG_ANON_INODES=y | 95 | CONFIG_ANON_INODES=y |
87 | CONFIG_EPOLL=y | 96 | CONFIG_EPOLL=y |
88 | CONFIG_SIGNALFD=y | 97 | CONFIG_SIGNALFD=y |
89 | CONFIG_TIMERFD=y | ||
90 | CONFIG_EVENTFD=y | 98 | CONFIG_EVENTFD=y |
91 | CONFIG_SHMEM=y | 99 | CONFIG_SHMEM=y |
92 | CONFIG_VM_EVENT_COUNTERS=y | 100 | CONFIG_VM_EVENT_COUNTERS=y |
@@ -107,14 +115,15 @@ CONFIG_STOP_MACHINE=y | |||
107 | CONFIG_BLOCK=y | 115 | CONFIG_BLOCK=y |
108 | # CONFIG_BLK_DEV_IO_TRACE is not set | 116 | # CONFIG_BLK_DEV_IO_TRACE is not set |
109 | # CONFIG_BLK_DEV_BSG is not set | 117 | # CONFIG_BLK_DEV_BSG is not set |
118 | CONFIG_BLOCK_COMPAT=y | ||
110 | 119 | ||
111 | # | 120 | # |
112 | # IO Schedulers | 121 | # IO Schedulers |
113 | # | 122 | # |
114 | CONFIG_IOSCHED_NOOP=y | 123 | CONFIG_IOSCHED_NOOP=y |
115 | CONFIG_IOSCHED_AS=y | 124 | CONFIG_IOSCHED_AS=y |
116 | # CONFIG_IOSCHED_DEADLINE is not set | 125 | CONFIG_IOSCHED_DEADLINE=y |
117 | # CONFIG_IOSCHED_CFQ is not set | 126 | CONFIG_IOSCHED_CFQ=y |
118 | CONFIG_DEFAULT_AS=y | 127 | CONFIG_DEFAULT_AS=y |
119 | # CONFIG_DEFAULT_DEADLINE is not set | 128 | # CONFIG_DEFAULT_DEADLINE is not set |
120 | # CONFIG_DEFAULT_CFQ is not set | 129 | # CONFIG_DEFAULT_CFQ is not set |
@@ -125,7 +134,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
125 | # Platform support | 134 | # Platform support |
126 | # | 135 | # |
127 | CONFIG_PPC_MULTIPLATFORM=y | 136 | CONFIG_PPC_MULTIPLATFORM=y |
128 | # CONFIG_EMBEDDED6xx is not set | ||
129 | # CONFIG_PPC_82xx is not set | 137 | # CONFIG_PPC_82xx is not set |
130 | # CONFIG_PPC_83xx is not set | 138 | # CONFIG_PPC_83xx is not set |
131 | # CONFIG_PPC_86xx is not set | 139 | # CONFIG_PPC_86xx is not set |
@@ -141,6 +149,7 @@ CONFIG_PPC_PASEMI=y | |||
141 | # PA Semi PWRficient options | 149 | # PA Semi PWRficient options |
142 | # | 150 | # |
143 | CONFIG_PPC_PASEMI_IOMMU=y | 151 | CONFIG_PPC_PASEMI_IOMMU=y |
152 | # CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set | ||
144 | CONFIG_PPC_PASEMI_MDIO=y | 153 | CONFIG_PPC_PASEMI_MDIO=y |
145 | CONFIG_ELECTRA_IDE=y | 154 | CONFIG_ELECTRA_IDE=y |
146 | # CONFIG_PPC_CELLEB is not set | 155 | # CONFIG_PPC_CELLEB is not set |
@@ -156,29 +165,52 @@ CONFIG_MPIC=y | |||
156 | # CONFIG_U3_DART is not set | 165 | # CONFIG_U3_DART is not set |
157 | # CONFIG_PPC_RTAS is not set | 166 | # CONFIG_PPC_RTAS is not set |
158 | # CONFIG_MMIO_NVRAM is not set | 167 | # CONFIG_MMIO_NVRAM is not set |
168 | CONFIG_MPIC_BROKEN_REGREAD=y | ||
159 | # CONFIG_PPC_MPC106 is not set | 169 | # CONFIG_PPC_MPC106 is not set |
160 | # CONFIG_PPC_970_NAP is not set | 170 | # CONFIG_PPC_970_NAP is not set |
161 | # CONFIG_PPC_INDIRECT_IO is not set | 171 | # CONFIG_PPC_INDIRECT_IO is not set |
162 | # CONFIG_GENERIC_IOMAP is not set | 172 | # CONFIG_GENERIC_IOMAP is not set |
163 | # CONFIG_CPU_FREQ is not set | 173 | CONFIG_CPU_FREQ=y |
174 | CONFIG_CPU_FREQ_TABLE=y | ||
175 | CONFIG_CPU_FREQ_DEBUG=y | ||
176 | CONFIG_CPU_FREQ_STAT=y | ||
177 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
178 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
179 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
180 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
181 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
182 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
183 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y | ||
184 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
185 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
186 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
187 | |||
188 | # | ||
189 | # CPU Frequency drivers | ||
190 | # | ||
191 | CONFIG_PPC_PASEMI_CPUFREQ=y | ||
164 | # CONFIG_CPM2 is not set | 192 | # CONFIG_CPM2 is not set |
165 | # CONFIG_FSL_ULI1575 is not set | 193 | # CONFIG_FSL_ULI1575 is not set |
166 | 194 | ||
167 | # | 195 | # |
168 | # Kernel options | 196 | # Kernel options |
169 | # | 197 | # |
170 | CONFIG_HZ_100=y | 198 | CONFIG_TICK_ONESHOT=y |
199 | CONFIG_NO_HZ=y | ||
200 | CONFIG_HIGH_RES_TIMERS=y | ||
201 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
202 | # CONFIG_HZ_100 is not set | ||
171 | # CONFIG_HZ_250 is not set | 203 | # CONFIG_HZ_250 is not set |
172 | # CONFIG_HZ_300 is not set | 204 | # CONFIG_HZ_300 is not set |
173 | # CONFIG_HZ_1000 is not set | 205 | CONFIG_HZ_1000=y |
174 | CONFIG_HZ=100 | 206 | CONFIG_HZ=1000 |
175 | CONFIG_PREEMPT_NONE=y | 207 | CONFIG_PREEMPT_NONE=y |
176 | # CONFIG_PREEMPT_VOLUNTARY is not set | 208 | # CONFIG_PREEMPT_VOLUNTARY is not set |
177 | # CONFIG_PREEMPT is not set | 209 | # CONFIG_PREEMPT is not set |
178 | CONFIG_PREEMPT_BKL=y | 210 | # CONFIG_PREEMPT_BKL is not set |
179 | CONFIG_BINFMT_ELF=y | 211 | CONFIG_BINFMT_ELF=y |
180 | # CONFIG_BINFMT_MISC is not set | 212 | # CONFIG_BINFMT_MISC is not set |
181 | CONFIG_FORCE_MAX_ZONEORDER=13 | 213 | CONFIG_FORCE_MAX_ZONEORDER=9 |
182 | CONFIG_IOMMU_VMERGE=y | 214 | CONFIG_IOMMU_VMERGE=y |
183 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 215 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
184 | # CONFIG_KEXEC is not set | 216 | # CONFIG_KEXEC is not set |
@@ -196,12 +228,13 @@ CONFIG_FLATMEM_MANUAL=y | |||
196 | CONFIG_FLATMEM=y | 228 | CONFIG_FLATMEM=y |
197 | CONFIG_FLAT_NODE_MEM_MAP=y | 229 | CONFIG_FLAT_NODE_MEM_MAP=y |
198 | # CONFIG_SPARSEMEM_STATIC is not set | 230 | # CONFIG_SPARSEMEM_STATIC is not set |
231 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | ||
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 232 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
200 | CONFIG_RESOURCES_64BIT=y | 233 | CONFIG_RESOURCES_64BIT=y |
201 | CONFIG_ZONE_DMA_FLAG=1 | 234 | CONFIG_ZONE_DMA_FLAG=1 |
202 | CONFIG_BOUNCE=y | 235 | CONFIG_BOUNCE=y |
203 | # CONFIG_PPC_HAS_HASH_64K is not set | 236 | CONFIG_PPC_HAS_HASH_64K=y |
204 | # CONFIG_PPC_64K_PAGES is not set | 237 | CONFIG_PPC_64K_PAGES=y |
205 | # CONFIG_SCHED_SMT is not set | 238 | # CONFIG_SCHED_SMT is not set |
206 | CONFIG_PROC_DEVICETREE=y | 239 | CONFIG_PROC_DEVICETREE=y |
207 | # CONFIG_CMDLINE_BOOL is not set | 240 | # CONFIG_CMDLINE_BOOL is not set |
@@ -222,11 +255,8 @@ CONFIG_PCI_SYSCALL=y | |||
222 | # CONFIG_PCIEPORTBUS is not set | 255 | # CONFIG_PCIEPORTBUS is not set |
223 | CONFIG_ARCH_SUPPORTS_MSI=y | 256 | CONFIG_ARCH_SUPPORTS_MSI=y |
224 | # CONFIG_PCI_MSI is not set | 257 | # CONFIG_PCI_MSI is not set |
258 | CONFIG_PCI_LEGACY=y | ||
225 | # CONFIG_PCI_DEBUG is not set | 259 | # CONFIG_PCI_DEBUG is not set |
226 | |||
227 | # | ||
228 | # PCCARD (PCMCIA/CardBus) support | ||
229 | # | ||
230 | CONFIG_PCCARD=y | 260 | CONFIG_PCCARD=y |
231 | CONFIG_PCMCIA_DEBUG=y | 261 | CONFIG_PCMCIA_DEBUG=y |
232 | CONFIG_PCMCIA=y | 262 | CONFIG_PCMCIA=y |
@@ -240,6 +270,7 @@ CONFIG_CARDBUS=y | |||
240 | # CONFIG_YENTA is not set | 270 | # CONFIG_YENTA is not set |
241 | # CONFIG_PD6729 is not set | 271 | # CONFIG_PD6729 is not set |
242 | # CONFIG_I82092 is not set | 272 | # CONFIG_I82092 is not set |
273 | # CONFIG_ELECTRA_CF is not set | ||
243 | # CONFIG_HOTPLUG_PCI is not set | 274 | # CONFIG_HOTPLUG_PCI is not set |
244 | CONFIG_KERNEL_START=0xc000000000000000 | 275 | CONFIG_KERNEL_START=0xc000000000000000 |
245 | 276 | ||
@@ -255,7 +286,7 @@ CONFIG_PACKET=y | |||
255 | # CONFIG_PACKET_MMAP is not set | 286 | # CONFIG_PACKET_MMAP is not set |
256 | CONFIG_UNIX=y | 287 | CONFIG_UNIX=y |
257 | CONFIG_XFRM=y | 288 | CONFIG_XFRM=y |
258 | # CONFIG_XFRM_USER is not set | 289 | CONFIG_XFRM_USER=y |
259 | # CONFIG_XFRM_SUB_POLICY is not set | 290 | # CONFIG_XFRM_SUB_POLICY is not set |
260 | # CONFIG_XFRM_MIGRATE is not set | 291 | # CONFIG_XFRM_MIGRATE is not set |
261 | CONFIG_NET_KEY=y | 292 | CONFIG_NET_KEY=y |
@@ -281,6 +312,7 @@ CONFIG_INET_TUNNEL=y | |||
281 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 312 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
282 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 313 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
283 | CONFIG_INET_XFRM_MODE_BEET=y | 314 | CONFIG_INET_XFRM_MODE_BEET=y |
315 | CONFIG_INET_LRO=y | ||
284 | CONFIG_INET_DIAG=y | 316 | CONFIG_INET_DIAG=y |
285 | CONFIG_INET_TCP_DIAG=y | 317 | CONFIG_INET_TCP_DIAG=y |
286 | # CONFIG_TCP_CONG_ADVANCED is not set | 318 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -306,10 +338,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
306 | # CONFIG_LAPB is not set | 338 | # CONFIG_LAPB is not set |
307 | # CONFIG_ECONET is not set | 339 | # CONFIG_ECONET is not set |
308 | # CONFIG_WAN_ROUTER is not set | 340 | # CONFIG_WAN_ROUTER is not set |
309 | |||
310 | # | ||
311 | # QoS and/or fair queueing | ||
312 | # | ||
313 | # CONFIG_NET_SCHED is not set | 341 | # CONFIG_NET_SCHED is not set |
314 | 342 | ||
315 | # | 343 | # |
@@ -338,6 +366,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
338 | # | 366 | # |
339 | # Generic Driver Options | 367 | # Generic Driver Options |
340 | # | 368 | # |
369 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
341 | CONFIG_STANDALONE=y | 370 | CONFIG_STANDALONE=y |
342 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 371 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
343 | CONFIG_FW_LOADER=y | 372 | CONFIG_FW_LOADER=y |
@@ -361,6 +390,7 @@ CONFIG_MTD_BLOCK=y | |||
361 | # CONFIG_INFTL is not set | 390 | # CONFIG_INFTL is not set |
362 | # CONFIG_RFD_FTL is not set | 391 | # CONFIG_RFD_FTL is not set |
363 | # CONFIG_SSFDC is not set | 392 | # CONFIG_SSFDC is not set |
393 | # CONFIG_MTD_OOPS is not set | ||
364 | 394 | ||
365 | # | 395 | # |
366 | # RAM/ROM/Flash chip drivers | 396 | # RAM/ROM/Flash chip drivers |
@@ -385,6 +415,7 @@ CONFIG_MTD_CFI_I2=y | |||
385 | # Mapping drivers for chip access | 415 | # Mapping drivers for chip access |
386 | # | 416 | # |
387 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 417 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
418 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
388 | # CONFIG_MTD_PLATRAM is not set | 419 | # CONFIG_MTD_PLATRAM is not set |
389 | 420 | ||
390 | # | 421 | # |
@@ -402,7 +433,15 @@ CONFIG_MTD_PHRAM=y | |||
402 | # CONFIG_MTD_DOC2000 is not set | 433 | # CONFIG_MTD_DOC2000 is not set |
403 | # CONFIG_MTD_DOC2001 is not set | 434 | # CONFIG_MTD_DOC2001 is not set |
404 | # CONFIG_MTD_DOC2001PLUS is not set | 435 | # CONFIG_MTD_DOC2001PLUS is not set |
405 | # CONFIG_MTD_NAND is not set | 436 | CONFIG_MTD_NAND=y |
437 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
438 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
439 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
440 | CONFIG_MTD_NAND_IDS=y | ||
441 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
442 | # CONFIG_MTD_NAND_CAFE is not set | ||
443 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
444 | # CONFIG_MTD_ALAUDA is not set | ||
406 | # CONFIG_MTD_ONENAND is not set | 445 | # CONFIG_MTD_ONENAND is not set |
407 | 446 | ||
408 | # | 447 | # |
@@ -455,10 +494,42 @@ CONFIG_IDE_PROC_FS=y | |||
455 | # IDE chipset support/bugfixes | 494 | # IDE chipset support/bugfixes |
456 | # | 495 | # |
457 | # CONFIG_IDE_GENERIC is not set | 496 | # CONFIG_IDE_GENERIC is not set |
458 | # CONFIG_BLK_DEV_IDEPCI is not set | 497 | # CONFIG_BLK_DEV_PLATFORM is not set |
498 | |||
499 | # | ||
500 | # PCI IDE chipsets support | ||
501 | # | ||
459 | # CONFIG_IDEPCI_PCIBUS_ORDER is not set | 502 | # CONFIG_IDEPCI_PCIBUS_ORDER is not set |
503 | # CONFIG_BLK_DEV_GENERIC is not set | ||
504 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
505 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
506 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
507 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
508 | # CONFIG_BLK_DEV_CMD64X is not set | ||
509 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
510 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
511 | # CONFIG_BLK_DEV_CS5520 is not set | ||
512 | # CONFIG_BLK_DEV_CS5530 is not set | ||
513 | # CONFIG_BLK_DEV_HPT34X is not set | ||
514 | # CONFIG_BLK_DEV_HPT366 is not set | ||
515 | # CONFIG_BLK_DEV_JMICRON is not set | ||
516 | # CONFIG_BLK_DEV_SC1200 is not set | ||
517 | # CONFIG_BLK_DEV_PIIX is not set | ||
518 | # CONFIG_BLK_DEV_IT8213 is not set | ||
519 | # CONFIG_BLK_DEV_IT821X is not set | ||
520 | # CONFIG_BLK_DEV_NS87415 is not set | ||
521 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
522 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
523 | # CONFIG_BLK_DEV_SVWKS is not set | ||
524 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
525 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
526 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
527 | # CONFIG_BLK_DEV_TRM290 is not set | ||
528 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
529 | # CONFIG_BLK_DEV_TC86C001 is not set | ||
460 | # CONFIG_IDE_ARM is not set | 530 | # CONFIG_IDE_ARM is not set |
461 | # CONFIG_BLK_DEV_IDEDMA is not set | 531 | # CONFIG_BLK_DEV_IDEDMA is not set |
532 | CONFIG_IDE_ARCH_OBSOLETE_INIT=y | ||
462 | # CONFIG_BLK_DEV_HD is not set | 533 | # CONFIG_BLK_DEV_HD is not set |
463 | 534 | ||
464 | # | 535 | # |
@@ -498,10 +569,11 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
498 | # CONFIG_SCSI_FC_ATTRS is not set | 569 | # CONFIG_SCSI_FC_ATTRS is not set |
499 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 570 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
500 | # CONFIG_SCSI_SAS_LIBSAS is not set | 571 | # CONFIG_SCSI_SAS_LIBSAS is not set |
572 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
501 | CONFIG_SCSI_LOWLEVEL=y | 573 | CONFIG_SCSI_LOWLEVEL=y |
502 | # CONFIG_ISCSI_TCP is not set | 574 | # CONFIG_ISCSI_TCP is not set |
503 | CONFIG_BLK_DEV_3W_XXXX_RAID=y | 575 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
504 | CONFIG_SCSI_3W_9XXX=y | 576 | # CONFIG_SCSI_3W_9XXX is not set |
505 | # CONFIG_SCSI_ACARD is not set | 577 | # CONFIG_SCSI_ACARD is not set |
506 | # CONFIG_SCSI_AACRAID is not set | 578 | # CONFIG_SCSI_AACRAID is not set |
507 | # CONFIG_SCSI_AIC7XXX is not set | 579 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -574,9 +646,10 @@ CONFIG_ATA_GENERIC=y | |||
574 | # CONFIG_PATA_OLDPIIX is not set | 646 | # CONFIG_PATA_OLDPIIX is not set |
575 | # CONFIG_PATA_NETCELL is not set | 647 | # CONFIG_PATA_NETCELL is not set |
576 | # CONFIG_PATA_NS87410 is not set | 648 | # CONFIG_PATA_NS87410 is not set |
649 | # CONFIG_PATA_NS87415 is not set | ||
577 | # CONFIG_PATA_OPTI is not set | 650 | # CONFIG_PATA_OPTI is not set |
578 | # CONFIG_PATA_OPTIDMA is not set | 651 | # CONFIG_PATA_OPTIDMA is not set |
579 | # CONFIG_PATA_PCMCIA is not set | 652 | CONFIG_PATA_PCMCIA=y |
580 | # CONFIG_PATA_PDC_OLD is not set | 653 | # CONFIG_PATA_PDC_OLD is not set |
581 | # CONFIG_PATA_RADISYS is not set | 654 | # CONFIG_PATA_RADISYS is not set |
582 | # CONFIG_PATA_RZ1000 is not set | 655 | # CONFIG_PATA_RZ1000 is not set |
@@ -589,41 +662,13 @@ CONFIG_ATA_GENERIC=y | |||
589 | # CONFIG_PATA_WINBOND is not set | 662 | # CONFIG_PATA_WINBOND is not set |
590 | CONFIG_PATA_PLATFORM=y | 663 | CONFIG_PATA_PLATFORM=y |
591 | # CONFIG_MD is not set | 664 | # CONFIG_MD is not set |
592 | |||
593 | # | ||
594 | # Fusion MPT device support | ||
595 | # | ||
596 | # CONFIG_FUSION is not set | 665 | # CONFIG_FUSION is not set |
597 | # CONFIG_FUSION_SPI is not set | ||
598 | # CONFIG_FUSION_FC is not set | ||
599 | # CONFIG_FUSION_SAS is not set | ||
600 | 666 | ||
601 | # | 667 | # |
602 | # IEEE 1394 (FireWire) support | 668 | # IEEE 1394 (FireWire) support |
603 | # | 669 | # |
604 | # CONFIG_FIREWIRE is not set | 670 | # CONFIG_FIREWIRE is not set |
605 | CONFIG_IEEE1394=y | 671 | # CONFIG_IEEE1394 is not set |
606 | |||
607 | # | ||
608 | # Subsystem Options | ||
609 | # | ||
610 | # CONFIG_IEEE1394_VERBOSEDEBUG is not set | ||
611 | |||
612 | # | ||
613 | # Controllers | ||
614 | # | ||
615 | CONFIG_IEEE1394_PCILYNX=y | ||
616 | CONFIG_IEEE1394_OHCI1394=y | ||
617 | |||
618 | # | ||
619 | # Protocols | ||
620 | # | ||
621 | # CONFIG_IEEE1394_VIDEO1394 is not set | ||
622 | CONFIG_IEEE1394_SBP2=y | ||
623 | # CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set | ||
624 | # CONFIG_IEEE1394_ETH1394 is not set | ||
625 | # CONFIG_IEEE1394_DV1394 is not set | ||
626 | CONFIG_IEEE1394_RAWIO=y | ||
627 | # CONFIG_I2O is not set | 672 | # CONFIG_I2O is not set |
628 | # CONFIG_MACINTOSH_DRIVERS is not set | 673 | # CONFIG_MACINTOSH_DRIVERS is not set |
629 | CONFIG_NETDEVICES=y | 674 | CONFIG_NETDEVICES=y |
@@ -633,6 +678,8 @@ CONFIG_DUMMY=y | |||
633 | # CONFIG_MACVLAN is not set | 678 | # CONFIG_MACVLAN is not set |
634 | # CONFIG_EQUALIZER is not set | 679 | # CONFIG_EQUALIZER is not set |
635 | # CONFIG_TUN is not set | 680 | # CONFIG_TUN is not set |
681 | # CONFIG_VETH is not set | ||
682 | # CONFIG_IP1000 is not set | ||
636 | # CONFIG_ARCNET is not set | 683 | # CONFIG_ARCNET is not set |
637 | CONFIG_PHYLIB=y | 684 | CONFIG_PHYLIB=y |
638 | 685 | ||
@@ -649,6 +696,7 @@ CONFIG_MARVELL_PHY=y | |||
649 | # CONFIG_BROADCOM_PHY is not set | 696 | # CONFIG_BROADCOM_PHY is not set |
650 | # CONFIG_ICPLUS_PHY is not set | 697 | # CONFIG_ICPLUS_PHY is not set |
651 | # CONFIG_FIXED_PHY is not set | 698 | # CONFIG_FIXED_PHY is not set |
699 | # CONFIG_MDIO_BITBANG is not set | ||
652 | CONFIG_NET_ETHERNET=y | 700 | CONFIG_NET_ETHERNET=y |
653 | CONFIG_MII=y | 701 | CONFIG_MII=y |
654 | # CONFIG_HAPPYMEAL is not set | 702 | # CONFIG_HAPPYMEAL is not set |
@@ -657,13 +705,16 @@ CONFIG_MII=y | |||
657 | # CONFIG_NET_VENDOR_3COM is not set | 705 | # CONFIG_NET_VENDOR_3COM is not set |
658 | # CONFIG_NET_TULIP is not set | 706 | # CONFIG_NET_TULIP is not set |
659 | # CONFIG_HP100 is not set | 707 | # CONFIG_HP100 is not set |
708 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
709 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
710 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
711 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
660 | CONFIG_NET_PCI=y | 712 | CONFIG_NET_PCI=y |
661 | # CONFIG_PCNET32 is not set | 713 | # CONFIG_PCNET32 is not set |
662 | # CONFIG_AMD8111_ETH is not set | 714 | # CONFIG_AMD8111_ETH is not set |
663 | # CONFIG_ADAPTEC_STARFIRE is not set | 715 | # CONFIG_ADAPTEC_STARFIRE is not set |
664 | # CONFIG_B44 is not set | 716 | # CONFIG_B44 is not set |
665 | # CONFIG_FORCEDETH is not set | 717 | # CONFIG_FORCEDETH is not set |
666 | # CONFIG_DGRS is not set | ||
667 | # CONFIG_EEPRO100 is not set | 718 | # CONFIG_EEPRO100 is not set |
668 | # CONFIG_E100 is not set | 719 | # CONFIG_E100 is not set |
669 | # CONFIG_FEALNX is not set | 720 | # CONFIG_FEALNX is not set |
@@ -682,6 +733,7 @@ CONFIG_NETDEV_1000=y | |||
682 | CONFIG_E1000=y | 733 | CONFIG_E1000=y |
683 | CONFIG_E1000_NAPI=y | 734 | CONFIG_E1000_NAPI=y |
684 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set | 735 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set |
736 | # CONFIG_E1000E is not set | ||
685 | # CONFIG_NS83820 is not set | 737 | # CONFIG_NS83820 is not set |
686 | # CONFIG_HAMACHI is not set | 738 | # CONFIG_HAMACHI is not set |
687 | # CONFIG_YELLOWFIN is not set | 739 | # CONFIG_YELLOWFIN is not set |
@@ -689,6 +741,7 @@ CONFIG_E1000_NAPI=y | |||
689 | # CONFIG_SIS190 is not set | 741 | # CONFIG_SIS190 is not set |
690 | # CONFIG_SKGE is not set | 742 | # CONFIG_SKGE is not set |
691 | # CONFIG_SKY2 is not set | 743 | # CONFIG_SKY2 is not set |
744 | # CONFIG_SK98LIN is not set | ||
692 | # CONFIG_VIA_VELOCITY is not set | 745 | # CONFIG_VIA_VELOCITY is not set |
693 | CONFIG_TIGON3=y | 746 | CONFIG_TIGON3=y |
694 | # CONFIG_BNX2 is not set | 747 | # CONFIG_BNX2 is not set |
@@ -697,12 +750,15 @@ CONFIG_TIGON3=y | |||
697 | CONFIG_NETDEV_10000=y | 750 | CONFIG_NETDEV_10000=y |
698 | # CONFIG_CHELSIO_T1 is not set | 751 | # CONFIG_CHELSIO_T1 is not set |
699 | # CONFIG_CHELSIO_T3 is not set | 752 | # CONFIG_CHELSIO_T3 is not set |
753 | # CONFIG_IXGBE is not set | ||
700 | # CONFIG_IXGB is not set | 754 | # CONFIG_IXGB is not set |
701 | # CONFIG_S2IO is not set | 755 | # CONFIG_S2IO is not set |
702 | # CONFIG_MYRI10GE is not set | 756 | # CONFIG_MYRI10GE is not set |
703 | # CONFIG_NETXEN_NIC is not set | 757 | # CONFIG_NETXEN_NIC is not set |
758 | # CONFIG_NIU is not set | ||
704 | CONFIG_PASEMI_MAC=y | 759 | CONFIG_PASEMI_MAC=y |
705 | # CONFIG_MLX4_CORE is not set | 760 | # CONFIG_MLX4_CORE is not set |
761 | # CONFIG_TEHUTI is not set | ||
706 | # CONFIG_TR is not set | 762 | # CONFIG_TR is not set |
707 | 763 | ||
708 | # | 764 | # |
@@ -749,7 +805,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y | |||
749 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | 805 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 |
750 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | 806 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 |
751 | CONFIG_INPUT_JOYDEV=y | 807 | CONFIG_INPUT_JOYDEV=y |
752 | # CONFIG_INPUT_TSDEV is not set | ||
753 | CONFIG_INPUT_EVDEV=y | 808 | CONFIG_INPUT_EVDEV=y |
754 | # CONFIG_INPUT_EVBUG is not set | 809 | # CONFIG_INPUT_EVBUG is not set |
755 | 810 | ||
@@ -810,15 +865,12 @@ CONFIG_UNIX98_PTYS=y | |||
810 | CONFIG_LEGACY_PTYS=y | 865 | CONFIG_LEGACY_PTYS=y |
811 | CONFIG_LEGACY_PTY_COUNT=4 | 866 | CONFIG_LEGACY_PTY_COUNT=4 |
812 | # CONFIG_IPMI_HANDLER is not set | 867 | # CONFIG_IPMI_HANDLER is not set |
813 | # CONFIG_WATCHDOG is not set | ||
814 | CONFIG_HW_RANDOM=y | 868 | CONFIG_HW_RANDOM=y |
815 | CONFIG_HW_RANDOM_PASEMI=y | 869 | CONFIG_HW_RANDOM_PASEMI=y |
816 | CONFIG_GEN_RTC=y | 870 | CONFIG_GEN_RTC=y |
817 | CONFIG_GEN_RTC_X=y | 871 | CONFIG_GEN_RTC_X=y |
818 | # CONFIG_R3964 is not set | 872 | # CONFIG_R3964 is not set |
819 | # CONFIG_APPLICOM is not set | 873 | # CONFIG_APPLICOM is not set |
820 | # CONFIG_AGP is not set | ||
821 | # CONFIG_DRM is not set | ||
822 | 874 | ||
823 | # | 875 | # |
824 | # PCMCIA character devices | 876 | # PCMCIA character devices |
@@ -896,8 +948,6 @@ CONFIG_SENSORS_EEPROM=y | |||
896 | # CONFIG_POWER_SUPPLY is not set | 948 | # CONFIG_POWER_SUPPLY is not set |
897 | CONFIG_HWMON=y | 949 | CONFIG_HWMON=y |
898 | CONFIG_HWMON_VID=y | 950 | CONFIG_HWMON_VID=y |
899 | # CONFIG_SENSORS_ABITUGURU is not set | ||
900 | # CONFIG_SENSORS_ABITUGURU3 is not set | ||
901 | # CONFIG_SENSORS_AD7418 is not set | 951 | # CONFIG_SENSORS_AD7418 is not set |
902 | # CONFIG_SENSORS_ADM1021 is not set | 952 | # CONFIG_SENSORS_ADM1021 is not set |
903 | # CONFIG_SENSORS_ADM1025 is not set | 953 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -905,12 +955,12 @@ CONFIG_HWMON_VID=y | |||
905 | # CONFIG_SENSORS_ADM1029 is not set | 955 | # CONFIG_SENSORS_ADM1029 is not set |
906 | # CONFIG_SENSORS_ADM1031 is not set | 956 | # CONFIG_SENSORS_ADM1031 is not set |
907 | # CONFIG_SENSORS_ADM9240 is not set | 957 | # CONFIG_SENSORS_ADM9240 is not set |
908 | # CONFIG_SENSORS_ASB100 is not set | 958 | # CONFIG_SENSORS_ADT7470 is not set |
909 | # CONFIG_SENSORS_ATXP1 is not set | 959 | # CONFIG_SENSORS_ATXP1 is not set |
910 | # CONFIG_SENSORS_DS1621 is not set | 960 | # CONFIG_SENSORS_DS1621 is not set |
911 | # CONFIG_SENSORS_F71805F is not set | 961 | # CONFIG_SENSORS_F71805F is not set |
912 | # CONFIG_SENSORS_FSCHER is not set | 962 | # CONFIG_SENSORS_F71882FG is not set |
913 | # CONFIG_SENSORS_FSCPOS is not set | 963 | # CONFIG_SENSORS_F75375S is not set |
914 | # CONFIG_SENSORS_GL518SM is not set | 964 | # CONFIG_SENSORS_GL518SM is not set |
915 | # CONFIG_SENSORS_GL520SM is not set | 965 | # CONFIG_SENSORS_GL520SM is not set |
916 | # CONFIG_SENSORS_IT87 is not set | 966 | # CONFIG_SENSORS_IT87 is not set |
@@ -946,6 +996,13 @@ CONFIG_SENSORS_LM90=y | |||
946 | # CONFIG_SENSORS_W83627HF is not set | 996 | # CONFIG_SENSORS_W83627HF is not set |
947 | # CONFIG_SENSORS_W83627EHF is not set | 997 | # CONFIG_SENSORS_W83627EHF is not set |
948 | # CONFIG_HWMON_DEBUG_CHIP is not set | 998 | # CONFIG_HWMON_DEBUG_CHIP is not set |
999 | # CONFIG_WATCHDOG is not set | ||
1000 | |||
1001 | # | ||
1002 | # Sonics Silicon Backplane | ||
1003 | # | ||
1004 | CONFIG_SSB_POSSIBLE=y | ||
1005 | # CONFIG_SSB is not set | ||
949 | 1006 | ||
950 | # | 1007 | # |
951 | # Multifunction device drivers | 1008 | # Multifunction device drivers |
@@ -963,14 +1020,14 @@ CONFIG_DAB=y | |||
963 | # | 1020 | # |
964 | # Graphics support | 1021 | # Graphics support |
965 | # | 1022 | # |
966 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 1023 | # CONFIG_AGP is not set |
967 | CONFIG_LCD_CLASS_DEVICE=m | 1024 | CONFIG_DRM=y |
968 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | 1025 | # CONFIG_DRM_TDFX is not set |
969 | 1026 | # CONFIG_DRM_R128 is not set | |
970 | # | 1027 | CONFIG_DRM_RADEON=y |
971 | # Display device support | 1028 | # CONFIG_DRM_MGA is not set |
972 | # | 1029 | # CONFIG_DRM_VIA is not set |
973 | # CONFIG_DISPLAY_SUPPORT is not set | 1030 | # CONFIG_DRM_SAVAGE is not set |
974 | CONFIG_VGASTATE=y | 1031 | CONFIG_VGASTATE=y |
975 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1032 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
976 | CONFIG_FB=y | 1033 | CONFIG_FB=y |
@@ -979,6 +1036,7 @@ CONFIG_FB_DDC=y | |||
979 | CONFIG_FB_CFB_FILLRECT=y | 1036 | CONFIG_FB_CFB_FILLRECT=y |
980 | CONFIG_FB_CFB_COPYAREA=y | 1037 | CONFIG_FB_CFB_COPYAREA=y |
981 | CONFIG_FB_CFB_IMAGEBLIT=y | 1038 | CONFIG_FB_CFB_IMAGEBLIT=y |
1039 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
982 | # CONFIG_FB_SYS_FILLRECT is not set | 1040 | # CONFIG_FB_SYS_FILLRECT is not set |
983 | # CONFIG_FB_SYS_COPYAREA is not set | 1041 | # CONFIG_FB_SYS_COPYAREA is not set |
984 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 1042 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
@@ -1026,6 +1084,15 @@ CONFIG_FB_RADEON_BACKLIGHT=y | |||
1026 | # CONFIG_FB_PM3 is not set | 1084 | # CONFIG_FB_PM3 is not set |
1027 | # CONFIG_FB_IBM_GXT4500 is not set | 1085 | # CONFIG_FB_IBM_GXT4500 is not set |
1028 | # CONFIG_FB_VIRTUAL is not set | 1086 | # CONFIG_FB_VIRTUAL is not set |
1087 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1088 | # CONFIG_LCD_CLASS_DEVICE is not set | ||
1089 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
1090 | # CONFIG_BACKLIGHT_CORGI is not set | ||
1091 | |||
1092 | # | ||
1093 | # Display device support | ||
1094 | # | ||
1095 | # CONFIG_DISPLAY_SUPPORT is not set | ||
1029 | 1096 | ||
1030 | # | 1097 | # |
1031 | # Console display driver support | 1098 | # Console display driver support |
@@ -1178,6 +1245,7 @@ CONFIG_SND_USB_USX2Y=y | |||
1178 | CONFIG_HID_SUPPORT=y | 1245 | CONFIG_HID_SUPPORT=y |
1179 | CONFIG_HID=y | 1246 | CONFIG_HID=y |
1180 | # CONFIG_HID_DEBUG is not set | 1247 | # CONFIG_HID_DEBUG is not set |
1248 | # CONFIG_HIDRAW is not set | ||
1181 | 1249 | ||
1182 | # | 1250 | # |
1183 | # USB Input Devices | 1251 | # USB Input Devices |
@@ -1328,6 +1396,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1328 | # I2C RTC drivers | 1396 | # I2C RTC drivers |
1329 | # | 1397 | # |
1330 | CONFIG_RTC_DRV_DS1307=y | 1398 | CONFIG_RTC_DRV_DS1307=y |
1399 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1331 | # CONFIG_RTC_DRV_DS1672 is not set | 1400 | # CONFIG_RTC_DRV_DS1672 is not set |
1332 | # CONFIG_RTC_DRV_MAX6900 is not set | 1401 | # CONFIG_RTC_DRV_MAX6900 is not set |
1333 | # CONFIG_RTC_DRV_RS5C372 is not set | 1402 | # CONFIG_RTC_DRV_RS5C372 is not set |
@@ -1357,19 +1426,6 @@ CONFIG_RTC_DRV_DS1307=y | |||
1357 | # | 1426 | # |
1358 | 1427 | ||
1359 | # | 1428 | # |
1360 | # DMA Engine support | ||
1361 | # | ||
1362 | # CONFIG_DMA_ENGINE is not set | ||
1363 | |||
1364 | # | ||
1365 | # DMA Clients | ||
1366 | # | ||
1367 | |||
1368 | # | ||
1369 | # DMA Devices | ||
1370 | # | ||
1371 | |||
1372 | # | ||
1373 | # Userspace I/O | 1429 | # Userspace I/O |
1374 | # | 1430 | # |
1375 | # CONFIG_UIO is not set | 1431 | # CONFIG_UIO is not set |
@@ -1388,7 +1444,6 @@ CONFIG_EXT3_FS_XATTR=y | |||
1388 | # CONFIG_EXT3_FS_SECURITY is not set | 1444 | # CONFIG_EXT3_FS_SECURITY is not set |
1389 | # CONFIG_EXT4DEV_FS is not set | 1445 | # CONFIG_EXT4DEV_FS is not set |
1390 | CONFIG_JBD=y | 1446 | CONFIG_JBD=y |
1391 | # CONFIG_JBD_DEBUG is not set | ||
1392 | CONFIG_FS_MBCACHE=y | 1447 | CONFIG_FS_MBCACHE=y |
1393 | # CONFIG_REISERFS_FS is not set | 1448 | # CONFIG_REISERFS_FS is not set |
1394 | # CONFIG_JFS_FS is not set | 1449 | # CONFIG_JFS_FS is not set |
@@ -1436,7 +1491,6 @@ CONFIG_TMPFS=y | |||
1436 | # CONFIG_TMPFS_POSIX_ACL is not set | 1491 | # CONFIG_TMPFS_POSIX_ACL is not set |
1437 | CONFIG_HUGETLBFS=y | 1492 | CONFIG_HUGETLBFS=y |
1438 | CONFIG_HUGETLB_PAGE=y | 1493 | CONFIG_HUGETLB_PAGE=y |
1439 | CONFIG_RAMFS=y | ||
1440 | CONFIG_CONFIGFS_FS=y | 1494 | CONFIG_CONFIGFS_FS=y |
1441 | 1495 | ||
1442 | # | 1496 | # |
@@ -1449,30 +1503,43 @@ CONFIG_CONFIGFS_FS=y | |||
1449 | # CONFIG_BEFS_FS is not set | 1503 | # CONFIG_BEFS_FS is not set |
1450 | # CONFIG_BFS_FS is not set | 1504 | # CONFIG_BFS_FS is not set |
1451 | # CONFIG_EFS_FS is not set | 1505 | # CONFIG_EFS_FS is not set |
1452 | # CONFIG_JFFS2_FS is not set | 1506 | CONFIG_JFFS2_FS=y |
1507 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1508 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1509 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1510 | # CONFIG_JFFS2_SUMMARY is not set | ||
1511 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1512 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1513 | CONFIG_JFFS2_ZLIB=y | ||
1514 | # CONFIG_JFFS2_LZO is not set | ||
1515 | CONFIG_JFFS2_RTIME=y | ||
1516 | # CONFIG_JFFS2_RUBIN is not set | ||
1453 | # CONFIG_CRAMFS is not set | 1517 | # CONFIG_CRAMFS is not set |
1454 | # CONFIG_VXFS_FS is not set | 1518 | # CONFIG_VXFS_FS is not set |
1455 | # CONFIG_HPFS_FS is not set | 1519 | # CONFIG_HPFS_FS is not set |
1456 | # CONFIG_QNX4FS_FS is not set | 1520 | # CONFIG_QNX4FS_FS is not set |
1457 | # CONFIG_SYSV_FS is not set | 1521 | # CONFIG_SYSV_FS is not set |
1458 | # CONFIG_UFS_FS is not set | 1522 | # CONFIG_UFS_FS is not set |
1459 | 1523 | CONFIG_NETWORK_FILESYSTEMS=y | |
1460 | # | ||
1461 | # Network File Systems | ||
1462 | # | ||
1463 | CONFIG_NFS_FS=y | 1524 | CONFIG_NFS_FS=y |
1464 | CONFIG_NFS_V3=y | 1525 | CONFIG_NFS_V3=y |
1465 | # CONFIG_NFS_V3_ACL is not set | 1526 | # CONFIG_NFS_V3_ACL is not set |
1466 | # CONFIG_NFS_V4 is not set | 1527 | # CONFIG_NFS_V4 is not set |
1467 | # CONFIG_NFS_DIRECTIO is not set | 1528 | # CONFIG_NFS_DIRECTIO is not set |
1468 | # CONFIG_NFSD is not set | 1529 | CONFIG_NFSD=y |
1530 | CONFIG_NFSD_V3=y | ||
1531 | # CONFIG_NFSD_V3_ACL is not set | ||
1532 | CONFIG_NFSD_V4=y | ||
1533 | CONFIG_NFSD_TCP=y | ||
1469 | CONFIG_ROOT_NFS=y | 1534 | CONFIG_ROOT_NFS=y |
1470 | CONFIG_LOCKD=y | 1535 | CONFIG_LOCKD=y |
1471 | CONFIG_LOCKD_V4=y | 1536 | CONFIG_LOCKD_V4=y |
1537 | CONFIG_EXPORTFS=y | ||
1472 | CONFIG_NFS_COMMON=y | 1538 | CONFIG_NFS_COMMON=y |
1473 | CONFIG_SUNRPC=y | 1539 | CONFIG_SUNRPC=y |
1540 | CONFIG_SUNRPC_GSS=y | ||
1474 | # CONFIG_SUNRPC_BIND34 is not set | 1541 | # CONFIG_SUNRPC_BIND34 is not set |
1475 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1542 | CONFIG_RPCSEC_GSS_KRB5=y |
1476 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1543 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1477 | # CONFIG_SMB_FS is not set | 1544 | # CONFIG_SMB_FS is not set |
1478 | # CONFIG_CIFS is not set | 1545 | # CONFIG_CIFS is not set |
@@ -1501,10 +1568,6 @@ CONFIG_MSDOS_PARTITION=y | |||
1501 | # CONFIG_KARMA_PARTITION is not set | 1568 | # CONFIG_KARMA_PARTITION is not set |
1502 | # CONFIG_EFI_PARTITION is not set | 1569 | # CONFIG_EFI_PARTITION is not set |
1503 | # CONFIG_SYSV68_PARTITION is not set | 1570 | # CONFIG_SYSV68_PARTITION is not set |
1504 | |||
1505 | # | ||
1506 | # Native Language Support | ||
1507 | # | ||
1508 | CONFIG_NLS=y | 1571 | CONFIG_NLS=y |
1509 | CONFIG_NLS_DEFAULT="iso8859-1" | 1572 | CONFIG_NLS_DEFAULT="iso8859-1" |
1510 | CONFIG_NLS_CODEPAGE_437=y | 1573 | CONFIG_NLS_CODEPAGE_437=y |
@@ -1545,10 +1608,6 @@ CONFIG_NLS_ISO8859_1=y | |||
1545 | # CONFIG_NLS_KOI8_R is not set | 1608 | # CONFIG_NLS_KOI8_R is not set |
1546 | # CONFIG_NLS_KOI8_U is not set | 1609 | # CONFIG_NLS_KOI8_U is not set |
1547 | # CONFIG_NLS_UTF8 is not set | 1610 | # CONFIG_NLS_UTF8 is not set |
1548 | |||
1549 | # | ||
1550 | # Distributed Lock Manager | ||
1551 | # | ||
1552 | # CONFIG_DLM is not set | 1611 | # CONFIG_DLM is not set |
1553 | # CONFIG_UCC_SLOW is not set | 1612 | # CONFIG_UCC_SLOW is not set |
1554 | 1613 | ||
@@ -1561,23 +1620,24 @@ CONFIG_CRC_CCITT=y | |||
1561 | # CONFIG_CRC_ITU_T is not set | 1620 | # CONFIG_CRC_ITU_T is not set |
1562 | CONFIG_CRC32=y | 1621 | CONFIG_CRC32=y |
1563 | # CONFIG_CRC7 is not set | 1622 | # CONFIG_CRC7 is not set |
1564 | # CONFIG_LIBCRC32C is not set | 1623 | CONFIG_LIBCRC32C=m |
1624 | CONFIG_ZLIB_INFLATE=y | ||
1625 | CONFIG_ZLIB_DEFLATE=y | ||
1565 | CONFIG_PLIST=y | 1626 | CONFIG_PLIST=y |
1566 | CONFIG_HAS_IOMEM=y | 1627 | CONFIG_HAS_IOMEM=y |
1567 | CONFIG_HAS_IOPORT=y | 1628 | CONFIG_HAS_IOPORT=y |
1568 | CONFIG_HAS_DMA=y | 1629 | CONFIG_HAS_DMA=y |
1569 | 1630 | CONFIG_INSTRUMENTATION=y | |
1570 | # | ||
1571 | # Instrumentation Support | ||
1572 | # | ||
1573 | CONFIG_PROFILING=y | 1631 | CONFIG_PROFILING=y |
1574 | CONFIG_OPROFILE=y | 1632 | CONFIG_OPROFILE=y |
1575 | # CONFIG_KPROBES is not set | 1633 | # CONFIG_KPROBES is not set |
1634 | # CONFIG_MARKERS is not set | ||
1576 | 1635 | ||
1577 | # | 1636 | # |
1578 | # Kernel hacking | 1637 | # Kernel hacking |
1579 | # | 1638 | # |
1580 | # CONFIG_PRINTK_TIME is not set | 1639 | # CONFIG_PRINTK_TIME is not set |
1640 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1581 | CONFIG_ENABLE_MUST_CHECK=y | 1641 | CONFIG_ENABLE_MUST_CHECK=y |
1582 | CONFIG_MAGIC_SYSRQ=y | 1642 | CONFIG_MAGIC_SYSRQ=y |
1583 | # CONFIG_UNUSED_SYMBOLS is not set | 1643 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1586,7 +1646,7 @@ CONFIG_MAGIC_SYSRQ=y | |||
1586 | CONFIG_DEBUG_KERNEL=y | 1646 | CONFIG_DEBUG_KERNEL=y |
1587 | # CONFIG_DEBUG_SHIRQ is not set | 1647 | # CONFIG_DEBUG_SHIRQ is not set |
1588 | CONFIG_DETECT_SOFTLOCKUP=y | 1648 | CONFIG_DETECT_SOFTLOCKUP=y |
1589 | CONFIG_SCHED_DEBUG=y | 1649 | # CONFIG_SCHED_DEBUG is not set |
1590 | # CONFIG_SCHEDSTATS is not set | 1650 | # CONFIG_SCHEDSTATS is not set |
1591 | # CONFIG_TIMER_STATS is not set | 1651 | # CONFIG_TIMER_STATS is not set |
1592 | # CONFIG_SLUB_DEBUG_ON is not set | 1652 | # CONFIG_SLUB_DEBUG_ON is not set |
@@ -1601,9 +1661,12 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1601 | # CONFIG_DEBUG_INFO is not set | 1661 | # CONFIG_DEBUG_INFO is not set |
1602 | # CONFIG_DEBUG_VM is not set | 1662 | # CONFIG_DEBUG_VM is not set |
1603 | # CONFIG_DEBUG_LIST is not set | 1663 | # CONFIG_DEBUG_LIST is not set |
1664 | # CONFIG_DEBUG_SG is not set | ||
1604 | # CONFIG_FORCED_INLINING is not set | 1665 | # CONFIG_FORCED_INLINING is not set |
1666 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1605 | # CONFIG_RCU_TORTURE_TEST is not set | 1667 | # CONFIG_RCU_TORTURE_TEST is not set |
1606 | # CONFIG_FAULT_INJECTION is not set | 1668 | # CONFIG_FAULT_INJECTION is not set |
1669 | # CONFIG_SAMPLES is not set | ||
1607 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 1670 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
1608 | # CONFIG_DEBUG_STACK_USAGE is not set | 1671 | # CONFIG_DEBUG_STACK_USAGE is not set |
1609 | # CONFIG_DEBUG_PAGEALLOC is not set | 1672 | # CONFIG_DEBUG_PAGEALLOC is not set |
@@ -1620,6 +1683,7 @@ CONFIG_XMON_DISASSEMBLY=y | |||
1620 | # | 1683 | # |
1621 | # CONFIG_KEYS is not set | 1684 | # CONFIG_KEYS is not set |
1622 | # CONFIG_SECURITY is not set | 1685 | # CONFIG_SECURITY is not set |
1686 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1623 | CONFIG_CRYPTO=y | 1687 | CONFIG_CRYPTO=y |
1624 | CONFIG_CRYPTO_ALGAPI=y | 1688 | CONFIG_CRYPTO_ALGAPI=y |
1625 | CONFIG_CRYPTO_BLKCIPHER=y | 1689 | CONFIG_CRYPTO_BLKCIPHER=y |
@@ -1628,34 +1692,38 @@ CONFIG_CRYPTO_MANAGER=y | |||
1628 | CONFIG_CRYPTO_HMAC=y | 1692 | CONFIG_CRYPTO_HMAC=y |
1629 | # CONFIG_CRYPTO_XCBC is not set | 1693 | # CONFIG_CRYPTO_XCBC is not set |
1630 | # CONFIG_CRYPTO_NULL is not set | 1694 | # CONFIG_CRYPTO_NULL is not set |
1631 | # CONFIG_CRYPTO_MD4 is not set | 1695 | CONFIG_CRYPTO_MD4=y |
1632 | CONFIG_CRYPTO_MD5=y | 1696 | CONFIG_CRYPTO_MD5=y |
1633 | CONFIG_CRYPTO_SHA1=y | 1697 | CONFIG_CRYPTO_SHA1=y |
1634 | # CONFIG_CRYPTO_SHA256 is not set | 1698 | CONFIG_CRYPTO_SHA256=y |
1635 | # CONFIG_CRYPTO_SHA512 is not set | 1699 | CONFIG_CRYPTO_SHA512=y |
1636 | # CONFIG_CRYPTO_WP512 is not set | 1700 | # CONFIG_CRYPTO_WP512 is not set |
1637 | # CONFIG_CRYPTO_TGR192 is not set | 1701 | # CONFIG_CRYPTO_TGR192 is not set |
1638 | # CONFIG_CRYPTO_GF128MUL is not set | 1702 | # CONFIG_CRYPTO_GF128MUL is not set |
1639 | CONFIG_CRYPTO_ECB=m | 1703 | # CONFIG_CRYPTO_ECB is not set |
1640 | CONFIG_CRYPTO_CBC=y | 1704 | CONFIG_CRYPTO_CBC=y |
1641 | CONFIG_CRYPTO_PCBC=m | 1705 | # CONFIG_CRYPTO_PCBC is not set |
1642 | # CONFIG_CRYPTO_LRW is not set | 1706 | # CONFIG_CRYPTO_LRW is not set |
1707 | # CONFIG_CRYPTO_XTS is not set | ||
1643 | # CONFIG_CRYPTO_CRYPTD is not set | 1708 | # CONFIG_CRYPTO_CRYPTD is not set |
1644 | CONFIG_CRYPTO_DES=y | 1709 | CONFIG_CRYPTO_DES=y |
1645 | # CONFIG_CRYPTO_FCRYPT is not set | 1710 | # CONFIG_CRYPTO_FCRYPT is not set |
1646 | # CONFIG_CRYPTO_BLOWFISH is not set | 1711 | CONFIG_CRYPTO_BLOWFISH=y |
1647 | # CONFIG_CRYPTO_TWOFISH is not set | 1712 | # CONFIG_CRYPTO_TWOFISH is not set |
1648 | # CONFIG_CRYPTO_SERPENT is not set | 1713 | # CONFIG_CRYPTO_SERPENT is not set |
1649 | # CONFIG_CRYPTO_AES is not set | 1714 | CONFIG_CRYPTO_AES=y |
1650 | # CONFIG_CRYPTO_CAST5 is not set | 1715 | # CONFIG_CRYPTO_CAST5 is not set |
1651 | # CONFIG_CRYPTO_CAST6 is not set | 1716 | # CONFIG_CRYPTO_CAST6 is not set |
1652 | # CONFIG_CRYPTO_TEA is not set | 1717 | # CONFIG_CRYPTO_TEA is not set |
1653 | # CONFIG_CRYPTO_ARC4 is not set | 1718 | # CONFIG_CRYPTO_ARC4 is not set |
1654 | # CONFIG_CRYPTO_KHAZAD is not set | 1719 | # CONFIG_CRYPTO_KHAZAD is not set |
1655 | # CONFIG_CRYPTO_ANUBIS is not set | 1720 | # CONFIG_CRYPTO_ANUBIS is not set |
1721 | # CONFIG_CRYPTO_SEED is not set | ||
1656 | # CONFIG_CRYPTO_DEFLATE is not set | 1722 | # CONFIG_CRYPTO_DEFLATE is not set |
1657 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1723 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
1658 | # CONFIG_CRYPTO_CRC32C is not set | 1724 | # CONFIG_CRYPTO_CRC32C is not set |
1659 | # CONFIG_CRYPTO_CAMELLIA is not set | 1725 | # CONFIG_CRYPTO_CAMELLIA is not set |
1660 | # CONFIG_CRYPTO_TEST is not set | 1726 | # CONFIG_CRYPTO_TEST is not set |
1661 | # CONFIG_CRYPTO_HW is not set | 1727 | # CONFIG_CRYPTO_AUTHENC is not set |
1728 | CONFIG_CRYPTO_HW=y | ||
1729 | # CONFIG_PPC_CLOCK is not set | ||
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig index 05582af50c5b..3e90c835fe12 100644 --- a/arch/powerpc/configs/ppc64_defconfig +++ b/arch/powerpc/configs/ppc64_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.23-rc4 | 3 | # Linux kernel version: 2.6.24-rc2 |
4 | # Thu Aug 30 16:47:09 2007 | 4 | # Tue Nov 6 23:43:56 2007 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | 7 | ||
@@ -11,6 +11,7 @@ CONFIG_PPC64=y | |||
11 | # CONFIG_POWER4_ONLY is not set | 11 | # CONFIG_POWER4_ONLY is not set |
12 | CONFIG_POWER3=y | 12 | CONFIG_POWER3=y |
13 | CONFIG_POWER4=y | 13 | CONFIG_POWER4=y |
14 | # CONFIG_TUNE_CELL is not set | ||
14 | CONFIG_PPC_FPU=y | 15 | CONFIG_PPC_FPU=y |
15 | CONFIG_ALTIVEC=y | 16 | CONFIG_ALTIVEC=y |
16 | CONFIG_PPC_STD_MMU=y | 17 | CONFIG_PPC_STD_MMU=y |
@@ -19,8 +20,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y | |||
19 | CONFIG_SMP=y | 20 | CONFIG_SMP=y |
20 | CONFIG_NR_CPUS=32 | 21 | CONFIG_NR_CPUS=32 |
21 | CONFIG_64BIT=y | 22 | CONFIG_64BIT=y |
23 | CONFIG_WORD_SIZE=64 | ||
22 | CONFIG_PPC_MERGE=y | 24 | CONFIG_PPC_MERGE=y |
23 | CONFIG_MMU=y | 25 | CONFIG_MMU=y |
26 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
27 | CONFIG_GENERIC_TIME=y | ||
28 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
29 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
24 | CONFIG_GENERIC_HARDIRQS=y | 30 | CONFIG_GENERIC_HARDIRQS=y |
25 | CONFIG_IRQ_PER_CPU=y | 31 | CONFIG_IRQ_PER_CPU=y |
26 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 32 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
@@ -72,8 +78,15 @@ CONFIG_IKCONFIG=y | |||
72 | CONFIG_IKCONFIG_PROC=y | 78 | CONFIG_IKCONFIG_PROC=y |
73 | CONFIG_LOG_BUF_SHIFT=17 | 79 | CONFIG_LOG_BUF_SHIFT=17 |
74 | CONFIG_CGROUPS=y | 80 | CONFIG_CGROUPS=y |
81 | # CONFIG_CGROUP_DEBUG is not set | ||
82 | # CONFIG_CGROUP_NS is not set | ||
83 | # CONFIG_CGROUP_CPUACCT is not set | ||
75 | CONFIG_CPUSETS=y | 84 | CONFIG_CPUSETS=y |
85 | CONFIG_FAIR_GROUP_SCHED=y | ||
86 | CONFIG_FAIR_USER_SCHED=y | ||
87 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
76 | CONFIG_SYSFS_DEPRECATED=y | 88 | CONFIG_SYSFS_DEPRECATED=y |
89 | CONFIG_PROC_PID_CPUSET=y | ||
77 | CONFIG_RELAY=y | 90 | CONFIG_RELAY=y |
78 | CONFIG_BLK_DEV_INITRD=y | 91 | CONFIG_BLK_DEV_INITRD=y |
79 | CONFIG_INITRAMFS_SOURCE="" | 92 | CONFIG_INITRAMFS_SOURCE="" |
@@ -93,7 +106,6 @@ CONFIG_FUTEX=y | |||
93 | CONFIG_ANON_INODES=y | 106 | CONFIG_ANON_INODES=y |
94 | CONFIG_EPOLL=y | 107 | CONFIG_EPOLL=y |
95 | CONFIG_SIGNALFD=y | 108 | CONFIG_SIGNALFD=y |
96 | CONFIG_TIMERFD=y | ||
97 | CONFIG_EVENTFD=y | 109 | CONFIG_EVENTFD=y |
98 | CONFIG_SHMEM=y | 110 | CONFIG_SHMEM=y |
99 | CONFIG_VM_EVENT_COUNTERS=y | 111 | CONFIG_VM_EVENT_COUNTERS=y |
@@ -114,6 +126,7 @@ CONFIG_STOP_MACHINE=y | |||
114 | CONFIG_BLOCK=y | 126 | CONFIG_BLOCK=y |
115 | CONFIG_BLK_DEV_IO_TRACE=y | 127 | CONFIG_BLK_DEV_IO_TRACE=y |
116 | CONFIG_BLK_DEV_BSG=y | 128 | CONFIG_BLK_DEV_BSG=y |
129 | CONFIG_BLOCK_COMPAT=y | ||
117 | 130 | ||
118 | # | 131 | # |
119 | # IO Schedulers | 132 | # IO Schedulers |
@@ -132,7 +145,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
132 | # Platform support | 145 | # Platform support |
133 | # | 146 | # |
134 | CONFIG_PPC_MULTIPLATFORM=y | 147 | CONFIG_PPC_MULTIPLATFORM=y |
135 | # CONFIG_EMBEDDED6xx is not set | ||
136 | # CONFIG_PPC_82xx is not set | 148 | # CONFIG_PPC_82xx is not set |
137 | # CONFIG_PPC_83xx is not set | 149 | # CONFIG_PPC_83xx is not set |
138 | # CONFIG_PPC_86xx is not set | 150 | # CONFIG_PPC_86xx is not set |
@@ -155,7 +167,15 @@ CONFIG_VIOPATH=y | |||
155 | CONFIG_PPC_PMAC=y | 167 | CONFIG_PPC_PMAC=y |
156 | CONFIG_PPC_PMAC64=y | 168 | CONFIG_PPC_PMAC64=y |
157 | CONFIG_PPC_MAPLE=y | 169 | CONFIG_PPC_MAPLE=y |
158 | # CONFIG_PPC_PASEMI is not set | 170 | CONFIG_PPC_PASEMI=y |
171 | |||
172 | # | ||
173 | # PA Semi PWRficient options | ||
174 | # | ||
175 | CONFIG_PPC_PASEMI_IOMMU=y | ||
176 | # CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set | ||
177 | CONFIG_PPC_PASEMI_MDIO=y | ||
178 | CONFIG_ELECTRA_IDE=y | ||
159 | CONFIG_PPC_CELLEB=y | 179 | CONFIG_PPC_CELLEB=y |
160 | # CONFIG_PPC_PS3 is not set | 180 | # CONFIG_PPC_PS3 is not set |
161 | CONFIG_PPC_CELL=y | 181 | CONFIG_PPC_CELL=y |
@@ -188,6 +208,7 @@ CONFIG_RTAS_FLASH=m | |||
188 | CONFIG_PPC_PMI=m | 208 | CONFIG_PPC_PMI=m |
189 | CONFIG_MMIO_NVRAM=y | 209 | CONFIG_MMIO_NVRAM=y |
190 | CONFIG_MPIC_U3_HT_IRQS=y | 210 | CONFIG_MPIC_U3_HT_IRQS=y |
211 | CONFIG_MPIC_BROKEN_REGREAD=y | ||
191 | CONFIG_IBMVIO=y | 212 | CONFIG_IBMVIO=y |
192 | # CONFIG_IBMEBUS is not set | 213 | # CONFIG_IBMEBUS is not set |
193 | # CONFIG_PPC_MPC106 is not set | 214 | # CONFIG_PPC_MPC106 is not set |
@@ -201,6 +222,8 @@ CONFIG_CPU_FREQ_STAT=y | |||
201 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | 222 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set |
202 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | 223 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y |
203 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | 224 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set |
225 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
226 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
204 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | 227 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y |
205 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y | 228 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y |
206 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | 229 | CONFIG_CPU_FREQ_GOV_USERSPACE=y |
@@ -211,6 +234,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y | |||
211 | # CPU Frequency drivers | 234 | # CPU Frequency drivers |
212 | # | 235 | # |
213 | CONFIG_CPU_FREQ_PMAC64=y | 236 | CONFIG_CPU_FREQ_PMAC64=y |
237 | CONFIG_PPC_PASEMI_CPUFREQ=y | ||
214 | # CONFIG_CPM2 is not set | 238 | # CONFIG_CPM2 is not set |
215 | CONFIG_AXON_RAM=m | 239 | CONFIG_AXON_RAM=m |
216 | # CONFIG_FSL_ULI1575 is not set | 240 | # CONFIG_FSL_ULI1575 is not set |
@@ -254,6 +278,8 @@ CONFIG_SPARSEMEM=y | |||
254 | CONFIG_HAVE_MEMORY_PRESENT=y | 278 | CONFIG_HAVE_MEMORY_PRESENT=y |
255 | # CONFIG_SPARSEMEM_STATIC is not set | 279 | # CONFIG_SPARSEMEM_STATIC is not set |
256 | CONFIG_SPARSEMEM_EXTREME=y | 280 | CONFIG_SPARSEMEM_EXTREME=y |
281 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | ||
282 | CONFIG_SPARSEMEM_VMEMMAP=y | ||
257 | CONFIG_MEMORY_HOTPLUG=y | 283 | CONFIG_MEMORY_HOTPLUG=y |
258 | CONFIG_MEMORY_HOTPLUG_SPARSE=y | 284 | CONFIG_MEMORY_HOTPLUG_SPARSE=y |
259 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 285 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
@@ -268,6 +294,7 @@ CONFIG_PROC_DEVICETREE=y | |||
268 | # CONFIG_CMDLINE_BOOL is not set | 294 | # CONFIG_CMDLINE_BOOL is not set |
269 | # CONFIG_PM is not set | 295 | # CONFIG_PM is not set |
270 | CONFIG_SUSPEND_SMP_POSSIBLE=y | 296 | CONFIG_SUSPEND_SMP_POSSIBLE=y |
297 | CONFIG_HIBERNATION_SMP_POSSIBLE=y | ||
271 | CONFIG_SECCOMP=y | 298 | CONFIG_SECCOMP=y |
272 | # CONFIG_WANT_DEVICE_TREE is not set | 299 | # CONFIG_WANT_DEVICE_TREE is not set |
273 | CONFIG_ISA_DMA_API=y | 300 | CONFIG_ISA_DMA_API=y |
@@ -284,12 +311,22 @@ CONFIG_PCI_SYSCALL=y | |||
284 | # CONFIG_PCIEPORTBUS is not set | 311 | # CONFIG_PCIEPORTBUS is not set |
285 | CONFIG_ARCH_SUPPORTS_MSI=y | 312 | CONFIG_ARCH_SUPPORTS_MSI=y |
286 | CONFIG_PCI_MSI=y | 313 | CONFIG_PCI_MSI=y |
314 | CONFIG_PCI_LEGACY=y | ||
287 | # CONFIG_PCI_DEBUG is not set | 315 | # CONFIG_PCI_DEBUG is not set |
316 | CONFIG_PCCARD=y | ||
317 | # CONFIG_PCMCIA_DEBUG is not set | ||
318 | CONFIG_PCMCIA=y | ||
319 | CONFIG_PCMCIA_LOAD_CIS=y | ||
320 | CONFIG_PCMCIA_IOCTL=y | ||
321 | CONFIG_CARDBUS=y | ||
288 | 322 | ||
289 | # | 323 | # |
290 | # PCCARD (PCMCIA/CardBus) support | 324 | # PC-card bridges |
291 | # | 325 | # |
292 | # CONFIG_PCCARD is not set | 326 | # CONFIG_YENTA is not set |
327 | # CONFIG_PD6729 is not set | ||
328 | # CONFIG_I82092 is not set | ||
329 | CONFIG_ELECTRA_CF=y | ||
293 | CONFIG_HOTPLUG_PCI=m | 330 | CONFIG_HOTPLUG_PCI=m |
294 | # CONFIG_HOTPLUG_PCI_FAKE is not set | 331 | # CONFIG_HOTPLUG_PCI_FAKE is not set |
295 | # CONFIG_HOTPLUG_PCI_CPCI is not set | 332 | # CONFIG_HOTPLUG_PCI_CPCI is not set |
@@ -319,7 +356,10 @@ CONFIG_INET=y | |||
319 | CONFIG_IP_MULTICAST=y | 356 | CONFIG_IP_MULTICAST=y |
320 | # CONFIG_IP_ADVANCED_ROUTER is not set | 357 | # CONFIG_IP_ADVANCED_ROUTER is not set |
321 | CONFIG_IP_FIB_HASH=y | 358 | CONFIG_IP_FIB_HASH=y |
322 | # CONFIG_IP_PNP is not set | 359 | CONFIG_IP_PNP=y |
360 | CONFIG_IP_PNP_DHCP=y | ||
361 | CONFIG_IP_PNP_BOOTP=y | ||
362 | # CONFIG_IP_PNP_RARP is not set | ||
323 | CONFIG_NET_IPIP=y | 363 | CONFIG_NET_IPIP=y |
324 | # CONFIG_NET_IPGRE is not set | 364 | # CONFIG_NET_IPGRE is not set |
325 | # CONFIG_IP_MROUTE is not set | 365 | # CONFIG_IP_MROUTE is not set |
@@ -333,6 +373,7 @@ CONFIG_INET_TUNNEL=y | |||
333 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 373 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
334 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 374 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
335 | CONFIG_INET_XFRM_MODE_BEET=y | 375 | CONFIG_INET_XFRM_MODE_BEET=y |
376 | # CONFIG_INET_LRO is not set | ||
336 | CONFIG_INET_DIAG=y | 377 | CONFIG_INET_DIAG=y |
337 | CONFIG_INET_TCP_DIAG=y | 378 | CONFIG_INET_TCP_DIAG=y |
338 | # CONFIG_TCP_CONG_ADVANCED is not set | 379 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -404,6 +445,7 @@ CONFIG_NETFILTER_XT_MATCH_STATE=m | |||
404 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | 445 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m |
405 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 446 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
406 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 447 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
448 | # CONFIG_NETFILTER_XT_MATCH_TIME is not set | ||
407 | CONFIG_NETFILTER_XT_MATCH_U32=m | 449 | CONFIG_NETFILTER_XT_MATCH_U32=m |
408 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | 450 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m |
409 | 451 | ||
@@ -465,10 +507,6 @@ CONFIG_LLC=y | |||
465 | # CONFIG_LAPB is not set | 507 | # CONFIG_LAPB is not set |
466 | # CONFIG_ECONET is not set | 508 | # CONFIG_ECONET is not set |
467 | # CONFIG_WAN_ROUTER is not set | 509 | # CONFIG_WAN_ROUTER is not set |
468 | |||
469 | # | ||
470 | # QoS and/or fair queueing | ||
471 | # | ||
472 | # CONFIG_NET_SCHED is not set | 510 | # CONFIG_NET_SCHED is not set |
473 | CONFIG_NET_CLS_ROUTE=y | 511 | CONFIG_NET_CLS_ROUTE=y |
474 | 512 | ||
@@ -498,6 +536,7 @@ CONFIG_NET_CLS_ROUTE=y | |||
498 | # | 536 | # |
499 | # Generic Driver Options | 537 | # Generic Driver Options |
500 | # | 538 | # |
539 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
501 | CONFIG_STANDALONE=y | 540 | CONFIG_STANDALONE=y |
502 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 541 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
503 | CONFIG_FW_LOADER=y | 542 | CONFIG_FW_LOADER=y |
@@ -539,6 +578,8 @@ CONFIG_BLK_DEV_IDE=y | |||
539 | # CONFIG_BLK_DEV_IDE_SATA is not set | 578 | # CONFIG_BLK_DEV_IDE_SATA is not set |
540 | CONFIG_BLK_DEV_IDEDISK=y | 579 | CONFIG_BLK_DEV_IDEDISK=y |
541 | # CONFIG_IDEDISK_MULTI_MODE is not set | 580 | # CONFIG_IDEDISK_MULTI_MODE is not set |
581 | # CONFIG_BLK_DEV_IDECS is not set | ||
582 | # CONFIG_BLK_DEV_DELKIN is not set | ||
542 | CONFIG_BLK_DEV_IDECD=y | 583 | CONFIG_BLK_DEV_IDECD=y |
543 | # CONFIG_BLK_DEV_IDETAPE is not set | 584 | # CONFIG_BLK_DEV_IDETAPE is not set |
544 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | 585 | # CONFIG_BLK_DEV_IDEFLOPPY is not set |
@@ -550,6 +591,11 @@ CONFIG_IDE_PROC_FS=y | |||
550 | # IDE chipset support/bugfixes | 591 | # IDE chipset support/bugfixes |
551 | # | 592 | # |
552 | CONFIG_IDE_GENERIC=y | 593 | CONFIG_IDE_GENERIC=y |
594 | # CONFIG_BLK_DEV_PLATFORM is not set | ||
595 | |||
596 | # | ||
597 | # PCI IDE chipsets support | ||
598 | # | ||
553 | CONFIG_BLK_DEV_IDEPCI=y | 599 | CONFIG_BLK_DEV_IDEPCI=y |
554 | CONFIG_IDEPCI_SHARE_IRQ=y | 600 | CONFIG_IDEPCI_SHARE_IRQ=y |
555 | CONFIG_IDEPCI_PCIBUS_ORDER=y | 601 | CONFIG_IDEPCI_PCIBUS_ORDER=y |
@@ -557,8 +603,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y | |||
557 | CONFIG_BLK_DEV_GENERIC=y | 603 | CONFIG_BLK_DEV_GENERIC=y |
558 | # CONFIG_BLK_DEV_OPTI621 is not set | 604 | # CONFIG_BLK_DEV_OPTI621 is not set |
559 | CONFIG_BLK_DEV_IDEDMA_PCI=y | 605 | CONFIG_BLK_DEV_IDEDMA_PCI=y |
560 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
561 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
562 | # CONFIG_BLK_DEV_AEC62XX is not set | 606 | # CONFIG_BLK_DEV_AEC62XX is not set |
563 | # CONFIG_BLK_DEV_ALI15X3 is not set | 607 | # CONFIG_BLK_DEV_ALI15X3 is not set |
564 | CONFIG_BLK_DEV_AMD74XX=y | 608 | CONFIG_BLK_DEV_AMD74XX=y |
@@ -590,7 +634,7 @@ CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y | |||
590 | CONFIG_BLK_DEV_IDEDMA_PMAC=y | 634 | CONFIG_BLK_DEV_IDEDMA_PMAC=y |
591 | # CONFIG_IDE_ARM is not set | 635 | # CONFIG_IDE_ARM is not set |
592 | CONFIG_BLK_DEV_IDEDMA=y | 636 | CONFIG_BLK_DEV_IDEDMA=y |
593 | # CONFIG_IDEDMA_IVB is not set | 637 | CONFIG_IDE_ARCH_OBSOLETE_INIT=y |
594 | # CONFIG_BLK_DEV_HD is not set | 638 | # CONFIG_BLK_DEV_HD is not set |
595 | 639 | ||
596 | # | 640 | # |
@@ -631,6 +675,7 @@ CONFIG_SCSI_FC_ATTRS=y | |||
631 | CONFIG_SCSI_ISCSI_ATTRS=m | 675 | CONFIG_SCSI_ISCSI_ATTRS=m |
632 | # CONFIG_SCSI_SAS_ATTRS is not set | 676 | # CONFIG_SCSI_SAS_ATTRS is not set |
633 | # CONFIG_SCSI_SAS_LIBSAS is not set | 677 | # CONFIG_SCSI_SAS_LIBSAS is not set |
678 | CONFIG_SCSI_SRP_ATTRS=y | ||
634 | CONFIG_SCSI_LOWLEVEL=y | 679 | CONFIG_SCSI_LOWLEVEL=y |
635 | # CONFIG_ISCSI_TCP is not set | 680 | # CONFIG_ISCSI_TCP is not set |
636 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 681 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
@@ -671,19 +716,20 @@ CONFIG_SCSI_LPFC=m | |||
671 | # CONFIG_SCSI_DC390T is not set | 716 | # CONFIG_SCSI_DC390T is not set |
672 | CONFIG_SCSI_DEBUG=m | 717 | CONFIG_SCSI_DEBUG=m |
673 | # CONFIG_SCSI_SRP is not set | 718 | # CONFIG_SCSI_SRP is not set |
719 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | ||
674 | CONFIG_ATA=y | 720 | CONFIG_ATA=y |
675 | CONFIG_ATA_NONSTANDARD=y | 721 | CONFIG_ATA_NONSTANDARD=y |
676 | # CONFIG_SATA_AHCI is not set | 722 | # CONFIG_SATA_AHCI is not set |
677 | CONFIG_SATA_SVW=y | 723 | CONFIG_SATA_SVW=y |
678 | # CONFIG_ATA_PIIX is not set | 724 | # CONFIG_ATA_PIIX is not set |
679 | # CONFIG_SATA_MV is not set | 725 | CONFIG_SATA_MV=y |
680 | # CONFIG_SATA_NV is not set | 726 | # CONFIG_SATA_NV is not set |
681 | # CONFIG_PDC_ADMA is not set | 727 | # CONFIG_PDC_ADMA is not set |
682 | # CONFIG_SATA_QSTOR is not set | 728 | # CONFIG_SATA_QSTOR is not set |
683 | # CONFIG_SATA_PROMISE is not set | 729 | # CONFIG_SATA_PROMISE is not set |
684 | # CONFIG_SATA_SX4 is not set | 730 | # CONFIG_SATA_SX4 is not set |
685 | # CONFIG_SATA_SIL is not set | 731 | # CONFIG_SATA_SIL is not set |
686 | # CONFIG_SATA_SIL24 is not set | 732 | CONFIG_SATA_SIL24=y |
687 | # CONFIG_SATA_SIS is not set | 733 | # CONFIG_SATA_SIS is not set |
688 | # CONFIG_SATA_ULI is not set | 734 | # CONFIG_SATA_ULI is not set |
689 | # CONFIG_SATA_VIA is not set | 735 | # CONFIG_SATA_VIA is not set |
@@ -713,8 +759,10 @@ CONFIG_SATA_SVW=y | |||
713 | # CONFIG_PATA_OLDPIIX is not set | 759 | # CONFIG_PATA_OLDPIIX is not set |
714 | # CONFIG_PATA_NETCELL is not set | 760 | # CONFIG_PATA_NETCELL is not set |
715 | # CONFIG_PATA_NS87410 is not set | 761 | # CONFIG_PATA_NS87410 is not set |
762 | # CONFIG_PATA_NS87415 is not set | ||
716 | # CONFIG_PATA_OPTI is not set | 763 | # CONFIG_PATA_OPTI is not set |
717 | # CONFIG_PATA_OPTIDMA is not set | 764 | # CONFIG_PATA_OPTIDMA is not set |
765 | CONFIG_PATA_PCMCIA=y | ||
718 | # CONFIG_PATA_PDC_OLD is not set | 766 | # CONFIG_PATA_PDC_OLD is not set |
719 | # CONFIG_PATA_RADISYS is not set | 767 | # CONFIG_PATA_RADISYS is not set |
720 | # CONFIG_PATA_RZ1000 is not set | 768 | # CONFIG_PATA_RZ1000 is not set |
@@ -725,6 +773,7 @@ CONFIG_SATA_SVW=y | |||
725 | # CONFIG_PATA_SIS is not set | 773 | # CONFIG_PATA_SIS is not set |
726 | # CONFIG_PATA_VIA is not set | 774 | # CONFIG_PATA_VIA is not set |
727 | CONFIG_PATA_WINBOND=y | 775 | CONFIG_PATA_WINBOND=y |
776 | CONFIG_PATA_PLATFORM=y | ||
728 | CONFIG_PATA_SCC=y | 777 | CONFIG_PATA_SCC=y |
729 | CONFIG_MD=y | 778 | CONFIG_MD=y |
730 | CONFIG_BLK_DEV_MD=y | 779 | CONFIG_BLK_DEV_MD=y |
@@ -745,15 +794,10 @@ CONFIG_DM_ZERO=m | |||
745 | CONFIG_DM_MULTIPATH=m | 794 | CONFIG_DM_MULTIPATH=m |
746 | CONFIG_DM_MULTIPATH_EMC=m | 795 | CONFIG_DM_MULTIPATH_EMC=m |
747 | # CONFIG_DM_MULTIPATH_RDAC is not set | 796 | # CONFIG_DM_MULTIPATH_RDAC is not set |
797 | # CONFIG_DM_MULTIPATH_HP is not set | ||
748 | # CONFIG_DM_DELAY is not set | 798 | # CONFIG_DM_DELAY is not set |
749 | 799 | # CONFIG_DM_UEVENT is not set | |
750 | # | ||
751 | # Fusion MPT device support | ||
752 | # | ||
753 | # CONFIG_FUSION is not set | 800 | # CONFIG_FUSION is not set |
754 | # CONFIG_FUSION_SPI is not set | ||
755 | # CONFIG_FUSION_FC is not set | ||
756 | # CONFIG_FUSION_SAS is not set | ||
757 | 801 | ||
758 | # | 802 | # |
759 | # IEEE 1394 (FireWire) support | 803 | # IEEE 1394 (FireWire) support |
@@ -800,13 +844,15 @@ CONFIG_BONDING=m | |||
800 | # CONFIG_MACVLAN is not set | 844 | # CONFIG_MACVLAN is not set |
801 | # CONFIG_EQUALIZER is not set | 845 | # CONFIG_EQUALIZER is not set |
802 | CONFIG_TUN=m | 846 | CONFIG_TUN=m |
847 | # CONFIG_VETH is not set | ||
848 | # CONFIG_IP1000 is not set | ||
803 | # CONFIG_ARCNET is not set | 849 | # CONFIG_ARCNET is not set |
804 | CONFIG_PHYLIB=m | 850 | CONFIG_PHYLIB=y |
805 | 851 | ||
806 | # | 852 | # |
807 | # MII PHY device drivers | 853 | # MII PHY device drivers |
808 | # | 854 | # |
809 | CONFIG_MARVELL_PHY=m | 855 | CONFIG_MARVELL_PHY=y |
810 | # CONFIG_DAVICOM_PHY is not set | 856 | # CONFIG_DAVICOM_PHY is not set |
811 | # CONFIG_QSEMI_PHY is not set | 857 | # CONFIG_QSEMI_PHY is not set |
812 | # CONFIG_LXT_PHY is not set | 858 | # CONFIG_LXT_PHY is not set |
@@ -818,6 +864,9 @@ CONFIG_BROADCOM_PHY=m | |||
818 | CONFIG_FIXED_PHY=m | 864 | CONFIG_FIXED_PHY=m |
819 | CONFIG_FIXED_MII_10_FDX=y | 865 | CONFIG_FIXED_MII_10_FDX=y |
820 | CONFIG_FIXED_MII_100_FDX=y | 866 | CONFIG_FIXED_MII_100_FDX=y |
867 | # CONFIG_FIXED_MII_1000_FDX is not set | ||
868 | CONFIG_FIXED_MII_AMNT=1 | ||
869 | # CONFIG_MDIO_BITBANG is not set | ||
821 | CONFIG_NET_ETHERNET=y | 870 | CONFIG_NET_ETHERNET=y |
822 | CONFIG_MII=y | 871 | CONFIG_MII=y |
823 | # CONFIG_HAPPYMEAL is not set | 872 | # CONFIG_HAPPYMEAL is not set |
@@ -829,6 +878,11 @@ CONFIG_VORTEX=y | |||
829 | # CONFIG_NET_TULIP is not set | 878 | # CONFIG_NET_TULIP is not set |
830 | # CONFIG_HP100 is not set | 879 | # CONFIG_HP100 is not set |
831 | CONFIG_IBMVETH=m | 880 | CONFIG_IBMVETH=m |
881 | # CONFIG_IBM_NEW_EMAC is not set | ||
882 | CONFIG_IBM_NEW_EMAC_ZMII=y | ||
883 | CONFIG_IBM_NEW_EMAC_RGMII=y | ||
884 | CONFIG_IBM_NEW_EMAC_TAH=y | ||
885 | CONFIG_IBM_NEW_EMAC_EMAC4=y | ||
832 | CONFIG_NET_PCI=y | 886 | CONFIG_NET_PCI=y |
833 | CONFIG_PCNET32=y | 887 | CONFIG_PCNET32=y |
834 | # CONFIG_PCNET32_NAPI is not set | 888 | # CONFIG_PCNET32_NAPI is not set |
@@ -836,7 +890,6 @@ CONFIG_PCNET32=y | |||
836 | # CONFIG_ADAPTEC_STARFIRE is not set | 890 | # CONFIG_ADAPTEC_STARFIRE is not set |
837 | # CONFIG_B44 is not set | 891 | # CONFIG_B44 is not set |
838 | # CONFIG_FORCEDETH is not set | 892 | # CONFIG_FORCEDETH is not set |
839 | # CONFIG_DGRS is not set | ||
840 | # CONFIG_EEPRO100 is not set | 893 | # CONFIG_EEPRO100 is not set |
841 | CONFIG_E100=y | 894 | CONFIG_E100=y |
842 | # CONFIG_FEALNX is not set | 895 | # CONFIG_FEALNX is not set |
@@ -856,6 +909,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y | |||
856 | CONFIG_E1000=y | 909 | CONFIG_E1000=y |
857 | # CONFIG_E1000_NAPI is not set | 910 | # CONFIG_E1000_NAPI is not set |
858 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set | 911 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set |
912 | # CONFIG_E1000E is not set | ||
859 | # CONFIG_NS83820 is not set | 913 | # CONFIG_NS83820 is not set |
860 | # CONFIG_HAMACHI is not set | 914 | # CONFIG_HAMACHI is not set |
861 | # CONFIG_YELLOWFIN is not set | 915 | # CONFIG_YELLOWFIN is not set |
@@ -863,6 +917,7 @@ CONFIG_E1000=y | |||
863 | # CONFIG_SIS190 is not set | 917 | # CONFIG_SIS190 is not set |
864 | # CONFIG_SKGE is not set | 918 | # CONFIG_SKGE is not set |
865 | # CONFIG_SKY2 is not set | 919 | # CONFIG_SKY2 is not set |
920 | # CONFIG_SK98LIN is not set | ||
866 | # CONFIG_VIA_VELOCITY is not set | 921 | # CONFIG_VIA_VELOCITY is not set |
867 | CONFIG_TIGON3=y | 922 | CONFIG_TIGON3=y |
868 | # CONFIG_BNX2 is not set | 923 | # CONFIG_BNX2 is not set |
@@ -872,13 +927,16 @@ CONFIG_SPIDER_NET=m | |||
872 | CONFIG_NETDEV_10000=y | 927 | CONFIG_NETDEV_10000=y |
873 | # CONFIG_CHELSIO_T1 is not set | 928 | # CONFIG_CHELSIO_T1 is not set |
874 | # CONFIG_CHELSIO_T3 is not set | 929 | # CONFIG_CHELSIO_T3 is not set |
930 | # CONFIG_IXGBE is not set | ||
875 | CONFIG_IXGB=m | 931 | CONFIG_IXGB=m |
876 | # CONFIG_IXGB_NAPI is not set | 932 | # CONFIG_IXGB_NAPI is not set |
877 | # CONFIG_S2IO is not set | 933 | # CONFIG_S2IO is not set |
878 | # CONFIG_MYRI10GE is not set | 934 | # CONFIG_MYRI10GE is not set |
879 | # CONFIG_NETXEN_NIC is not set | 935 | # CONFIG_NETXEN_NIC is not set |
880 | CONFIG_PASEMI_MAC=m | 936 | # CONFIG_NIU is not set |
937 | CONFIG_PASEMI_MAC=y | ||
881 | # CONFIG_MLX4_CORE is not set | 938 | # CONFIG_MLX4_CORE is not set |
939 | # CONFIG_TEHUTI is not set | ||
882 | CONFIG_TR=y | 940 | CONFIG_TR=y |
883 | CONFIG_IBMOL=y | 941 | CONFIG_IBMOL=y |
884 | # CONFIG_3C359 is not set | 942 | # CONFIG_3C359 is not set |
@@ -899,6 +957,7 @@ CONFIG_IBMOL=y | |||
899 | # CONFIG_USB_RTL8150 is not set | 957 | # CONFIG_USB_RTL8150 is not set |
900 | # CONFIG_USB_USBNET_MII is not set | 958 | # CONFIG_USB_USBNET_MII is not set |
901 | # CONFIG_USB_USBNET is not set | 959 | # CONFIG_USB_USBNET is not set |
960 | # CONFIG_NET_PCMCIA is not set | ||
902 | # CONFIG_WAN is not set | 961 | # CONFIG_WAN is not set |
903 | CONFIG_ISERIES_VETH=m | 962 | CONFIG_ISERIES_VETH=m |
904 | # CONFIG_FDDI is not set | 963 | # CONFIG_FDDI is not set |
@@ -918,6 +977,7 @@ CONFIG_SLHC=m | |||
918 | # CONFIG_NET_FC is not set | 977 | # CONFIG_NET_FC is not set |
919 | # CONFIG_SHAPER is not set | 978 | # CONFIG_SHAPER is not set |
920 | CONFIG_NETCONSOLE=y | 979 | CONFIG_NETCONSOLE=y |
980 | # CONFIG_NETCONSOLE_DYNAMIC is not set | ||
921 | CONFIG_NETPOLL=y | 981 | CONFIG_NETPOLL=y |
922 | CONFIG_NETPOLL_TRAP=y | 982 | CONFIG_NETPOLL_TRAP=y |
923 | CONFIG_NET_POLL_CONTROLLER=y | 983 | CONFIG_NET_POLL_CONTROLLER=y |
@@ -939,7 +999,6 @@ CONFIG_INPUT_MOUSEDEV=y | |||
939 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | 999 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 |
940 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | 1000 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 |
941 | # CONFIG_INPUT_JOYDEV is not set | 1001 | # CONFIG_INPUT_JOYDEV is not set |
942 | # CONFIG_INPUT_TSDEV is not set | ||
943 | CONFIG_INPUT_EVDEV=m | 1002 | CONFIG_INPUT_EVDEV=m |
944 | # CONFIG_INPUT_EVBUG is not set | 1003 | # CONFIG_INPUT_EVBUG is not set |
945 | 1004 | ||
@@ -1002,6 +1061,7 @@ CONFIG_HW_CONSOLE=y | |||
1002 | CONFIG_SERIAL_8250=y | 1061 | CONFIG_SERIAL_8250=y |
1003 | CONFIG_SERIAL_8250_CONSOLE=y | 1062 | CONFIG_SERIAL_8250_CONSOLE=y |
1004 | CONFIG_SERIAL_8250_PCI=y | 1063 | CONFIG_SERIAL_8250_PCI=y |
1064 | # CONFIG_SERIAL_8250_CS is not set | ||
1005 | CONFIG_SERIAL_8250_NR_UARTS=4 | 1065 | CONFIG_SERIAL_8250_NR_UARTS=4 |
1006 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 1066 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
1007 | # CONFIG_SERIAL_8250_EXTENDED is not set | 1067 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -1029,14 +1089,18 @@ CONFIG_HVC_RTAS=y | |||
1029 | CONFIG_HVC_BEAT=y | 1089 | CONFIG_HVC_BEAT=y |
1030 | CONFIG_HVCS=m | 1090 | CONFIG_HVCS=m |
1031 | # CONFIG_IPMI_HANDLER is not set | 1091 | # CONFIG_IPMI_HANDLER is not set |
1032 | # CONFIG_WATCHDOG is not set | ||
1033 | # CONFIG_HW_RANDOM is not set | 1092 | # CONFIG_HW_RANDOM is not set |
1034 | CONFIG_GEN_RTC=y | 1093 | CONFIG_GEN_RTC=y |
1035 | # CONFIG_GEN_RTC_X is not set | 1094 | # CONFIG_GEN_RTC_X is not set |
1036 | # CONFIG_R3964 is not set | 1095 | # CONFIG_R3964 is not set |
1037 | # CONFIG_APPLICOM is not set | 1096 | # CONFIG_APPLICOM is not set |
1038 | # CONFIG_AGP is not set | 1097 | |
1039 | # CONFIG_DRM is not set | 1098 | # |
1099 | # PCMCIA character devices | ||
1100 | # | ||
1101 | # CONFIG_SYNCLINK_CS is not set | ||
1102 | # CONFIG_CARDMAN_4000 is not set | ||
1103 | # CONFIG_CARDMAN_4040 is not set | ||
1040 | CONFIG_RAW_DRIVER=y | 1104 | CONFIG_RAW_DRIVER=y |
1041 | CONFIG_MAX_RAW_DEVS=256 | 1105 | CONFIG_MAX_RAW_DEVS=256 |
1042 | # CONFIG_HANGCHECK_TIMER is not set | 1106 | # CONFIG_HANGCHECK_TIMER is not set |
@@ -1068,6 +1132,7 @@ CONFIG_I2C_POWERMAC=y | |||
1068 | # CONFIG_I2C_NFORCE2 is not set | 1132 | # CONFIG_I2C_NFORCE2 is not set |
1069 | # CONFIG_I2C_OCORES is not set | 1133 | # CONFIG_I2C_OCORES is not set |
1070 | # CONFIG_I2C_PARPORT_LIGHT is not set | 1134 | # CONFIG_I2C_PARPORT_LIGHT is not set |
1135 | CONFIG_I2C_PASEMI=y | ||
1071 | # CONFIG_I2C_PROSAVAGE is not set | 1136 | # CONFIG_I2C_PROSAVAGE is not set |
1072 | # CONFIG_I2C_SAVAGE4 is not set | 1137 | # CONFIG_I2C_SAVAGE4 is not set |
1073 | # CONFIG_I2C_SIMTEC is not set | 1138 | # CONFIG_I2C_SIMTEC is not set |
@@ -1106,6 +1171,13 @@ CONFIG_I2C_POWERMAC=y | |||
1106 | # CONFIG_W1 is not set | 1171 | # CONFIG_W1 is not set |
1107 | # CONFIG_POWER_SUPPLY is not set | 1172 | # CONFIG_POWER_SUPPLY is not set |
1108 | # CONFIG_HWMON is not set | 1173 | # CONFIG_HWMON is not set |
1174 | # CONFIG_WATCHDOG is not set | ||
1175 | |||
1176 | # | ||
1177 | # Sonics Silicon Backplane | ||
1178 | # | ||
1179 | CONFIG_SSB_POSSIBLE=y | ||
1180 | # CONFIG_SSB is not set | ||
1109 | 1181 | ||
1110 | # | 1182 | # |
1111 | # Multifunction device drivers | 1183 | # Multifunction device drivers |
@@ -1122,18 +1194,8 @@ CONFIG_I2C_POWERMAC=y | |||
1122 | # | 1194 | # |
1123 | # Graphics support | 1195 | # Graphics support |
1124 | # | 1196 | # |
1125 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 1197 | # CONFIG_AGP is not set |
1126 | CONFIG_LCD_CLASS_DEVICE=y | 1198 | # CONFIG_DRM is not set |
1127 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
1128 | |||
1129 | # | ||
1130 | # Display device support | ||
1131 | # | ||
1132 | CONFIG_DISPLAY_SUPPORT=y | ||
1133 | |||
1134 | # | ||
1135 | # Display hardware drivers | ||
1136 | # | ||
1137 | # CONFIG_VGASTATE is not set | 1199 | # CONFIG_VGASTATE is not set |
1138 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1200 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
1139 | CONFIG_FB=y | 1201 | CONFIG_FB=y |
@@ -1142,6 +1204,7 @@ CONFIG_FB_DDC=y | |||
1142 | CONFIG_FB_CFB_FILLRECT=y | 1204 | CONFIG_FB_CFB_FILLRECT=y |
1143 | CONFIG_FB_CFB_COPYAREA=y | 1205 | CONFIG_FB_CFB_COPYAREA=y |
1144 | CONFIG_FB_CFB_IMAGEBLIT=y | 1206 | CONFIG_FB_CFB_IMAGEBLIT=y |
1207 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
1145 | # CONFIG_FB_SYS_FILLRECT is not set | 1208 | # CONFIG_FB_SYS_FILLRECT is not set |
1146 | # CONFIG_FB_SYS_COPYAREA is not set | 1209 | # CONFIG_FB_SYS_COPYAREA is not set |
1147 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 1210 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
@@ -1192,6 +1255,19 @@ CONFIG_FB_RADEON_BACKLIGHT=y | |||
1192 | # CONFIG_FB_PM3 is not set | 1255 | # CONFIG_FB_PM3 is not set |
1193 | CONFIG_FB_IBM_GXT4500=y | 1256 | CONFIG_FB_IBM_GXT4500=y |
1194 | # CONFIG_FB_VIRTUAL is not set | 1257 | # CONFIG_FB_VIRTUAL is not set |
1258 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1259 | CONFIG_LCD_CLASS_DEVICE=y | ||
1260 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
1261 | # CONFIG_BACKLIGHT_CORGI is not set | ||
1262 | |||
1263 | # | ||
1264 | # Display device support | ||
1265 | # | ||
1266 | CONFIG_DISPLAY_SUPPORT=y | ||
1267 | |||
1268 | # | ||
1269 | # Display hardware drivers | ||
1270 | # | ||
1195 | 1271 | ||
1196 | # | 1272 | # |
1197 | # Console display driver support | 1273 | # Console display driver support |
@@ -1333,6 +1409,12 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m | |||
1333 | # CONFIG_SND_USB_CAIAQ is not set | 1409 | # CONFIG_SND_USB_CAIAQ is not set |
1334 | 1410 | ||
1335 | # | 1411 | # |
1412 | # PCMCIA devices | ||
1413 | # | ||
1414 | # CONFIG_SND_VXPOCKET is not set | ||
1415 | # CONFIG_SND_PDAUDIOCF is not set | ||
1416 | |||
1417 | # | ||
1336 | # System on Chip audio support | 1418 | # System on Chip audio support |
1337 | # | 1419 | # |
1338 | # CONFIG_SND_SOC is not set | 1420 | # CONFIG_SND_SOC is not set |
@@ -1348,6 +1430,7 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m | |||
1348 | CONFIG_HID_SUPPORT=y | 1430 | CONFIG_HID_SUPPORT=y |
1349 | CONFIG_HID=y | 1431 | CONFIG_HID=y |
1350 | # CONFIG_HID_DEBUG is not set | 1432 | # CONFIG_HID_DEBUG is not set |
1433 | # CONFIG_HIDRAW is not set | ||
1351 | 1434 | ||
1352 | # | 1435 | # |
1353 | # USB Input Devices | 1436 | # USB Input Devices |
@@ -1489,19 +1572,53 @@ CONFIG_EDAC=y | |||
1489 | # | 1572 | # |
1490 | # CONFIG_EDAC_DEBUG is not set | 1573 | # CONFIG_EDAC_DEBUG is not set |
1491 | CONFIG_EDAC_MM_EDAC=y | 1574 | CONFIG_EDAC_MM_EDAC=y |
1492 | # CONFIG_RTC_CLASS is not set | 1575 | CONFIG_EDAC_PASEMI=y |
1576 | CONFIG_RTC_LIB=y | ||
1577 | CONFIG_RTC_CLASS=y | ||
1578 | CONFIG_RTC_HCTOSYS=y | ||
1579 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1580 | # CONFIG_RTC_DEBUG is not set | ||
1581 | |||
1582 | # | ||
1583 | # RTC interfaces | ||
1584 | # | ||
1585 | CONFIG_RTC_INTF_SYSFS=y | ||
1586 | CONFIG_RTC_INTF_PROC=y | ||
1587 | CONFIG_RTC_INTF_DEV=y | ||
1588 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1589 | # CONFIG_RTC_DRV_TEST is not set | ||
1590 | |||
1591 | # | ||
1592 | # I2C RTC drivers | ||
1593 | # | ||
1594 | CONFIG_RTC_DRV_DS1307=y | ||
1595 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1596 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1597 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1598 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1599 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1600 | # CONFIG_RTC_DRV_X1205 is not set | ||
1601 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1602 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1603 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1493 | 1604 | ||
1494 | # | 1605 | # |
1495 | # DMA Engine support | 1606 | # SPI RTC drivers |
1496 | # | 1607 | # |
1497 | # CONFIG_DMA_ENGINE is not set | ||
1498 | 1608 | ||
1499 | # | 1609 | # |
1500 | # DMA Clients | 1610 | # Platform RTC drivers |
1501 | # | 1611 | # |
1612 | # CONFIG_RTC_DRV_CMOS is not set | ||
1613 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1614 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1615 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1616 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1617 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1618 | # CONFIG_RTC_DRV_V3020 is not set | ||
1502 | 1619 | ||
1503 | # | 1620 | # |
1504 | # DMA Devices | 1621 | # on-CPU RTC drivers |
1505 | # | 1622 | # |
1506 | 1623 | ||
1507 | # | 1624 | # |
@@ -1585,7 +1702,6 @@ CONFIG_TMPFS=y | |||
1585 | # CONFIG_TMPFS_POSIX_ACL is not set | 1702 | # CONFIG_TMPFS_POSIX_ACL is not set |
1586 | CONFIG_HUGETLBFS=y | 1703 | CONFIG_HUGETLBFS=y |
1587 | CONFIG_HUGETLB_PAGE=y | 1704 | CONFIG_HUGETLB_PAGE=y |
1588 | CONFIG_RAMFS=y | ||
1589 | # CONFIG_CONFIGFS_FS is not set | 1705 | # CONFIG_CONFIGFS_FS is not set |
1590 | 1706 | ||
1591 | # | 1707 | # |
@@ -1604,10 +1720,7 @@ CONFIG_CRAMFS=y | |||
1604 | # CONFIG_QNX4FS_FS is not set | 1720 | # CONFIG_QNX4FS_FS is not set |
1605 | # CONFIG_SYSV_FS is not set | 1721 | # CONFIG_SYSV_FS is not set |
1606 | # CONFIG_UFS_FS is not set | 1722 | # CONFIG_UFS_FS is not set |
1607 | 1723 | CONFIG_NETWORK_FILESYSTEMS=y | |
1608 | # | ||
1609 | # Network File Systems | ||
1610 | # | ||
1611 | CONFIG_NFS_FS=y | 1724 | CONFIG_NFS_FS=y |
1612 | CONFIG_NFS_V3=y | 1725 | CONFIG_NFS_V3=y |
1613 | CONFIG_NFS_V3_ACL=y | 1726 | CONFIG_NFS_V3_ACL=y |
@@ -1619,6 +1732,7 @@ CONFIG_NFSD_V3=y | |||
1619 | CONFIG_NFSD_V3_ACL=y | 1732 | CONFIG_NFSD_V3_ACL=y |
1620 | CONFIG_NFSD_V4=y | 1733 | CONFIG_NFSD_V4=y |
1621 | CONFIG_NFSD_TCP=y | 1734 | CONFIG_NFSD_TCP=y |
1735 | CONFIG_ROOT_NFS=y | ||
1622 | CONFIG_LOCKD=y | 1736 | CONFIG_LOCKD=y |
1623 | CONFIG_LOCKD_V4=y | 1737 | CONFIG_LOCKD_V4=y |
1624 | CONFIG_EXPORTFS=m | 1738 | CONFIG_EXPORTFS=m |
@@ -1626,6 +1740,7 @@ CONFIG_NFS_ACL_SUPPORT=y | |||
1626 | CONFIG_NFS_COMMON=y | 1740 | CONFIG_NFS_COMMON=y |
1627 | CONFIG_SUNRPC=y | 1741 | CONFIG_SUNRPC=y |
1628 | CONFIG_SUNRPC_GSS=y | 1742 | CONFIG_SUNRPC_GSS=y |
1743 | CONFIG_SUNRPC_XPRT_RDMA=m | ||
1629 | # CONFIG_SUNRPC_BIND34 is not set | 1744 | # CONFIG_SUNRPC_BIND34 is not set |
1630 | CONFIG_RPCSEC_GSS_KRB5=y | 1745 | CONFIG_RPCSEC_GSS_KRB5=y |
1631 | CONFIG_RPCSEC_GSS_SPKM3=m | 1746 | CONFIG_RPCSEC_GSS_SPKM3=m |
@@ -1662,10 +1777,6 @@ CONFIG_MSDOS_PARTITION=y | |||
1662 | # CONFIG_KARMA_PARTITION is not set | 1777 | # CONFIG_KARMA_PARTITION is not set |
1663 | # CONFIG_EFI_PARTITION is not set | 1778 | # CONFIG_EFI_PARTITION is not set |
1664 | # CONFIG_SYSV68_PARTITION is not set | 1779 | # CONFIG_SYSV68_PARTITION is not set |
1665 | |||
1666 | # | ||
1667 | # Native Language Support | ||
1668 | # | ||
1669 | CONFIG_NLS=y | 1780 | CONFIG_NLS=y |
1670 | CONFIG_NLS_DEFAULT="iso8859-1" | 1781 | CONFIG_NLS_DEFAULT="iso8859-1" |
1671 | CONFIG_NLS_CODEPAGE_437=y | 1782 | CONFIG_NLS_CODEPAGE_437=y |
@@ -1706,10 +1817,6 @@ CONFIG_NLS_ISO8859_15=m | |||
1706 | CONFIG_NLS_KOI8_R=m | 1817 | CONFIG_NLS_KOI8_R=m |
1707 | CONFIG_NLS_KOI8_U=m | 1818 | CONFIG_NLS_KOI8_U=m |
1708 | CONFIG_NLS_UTF8=m | 1819 | CONFIG_NLS_UTF8=m |
1709 | |||
1710 | # | ||
1711 | # Distributed Lock Manager | ||
1712 | # | ||
1713 | # CONFIG_DLM is not set | 1820 | # CONFIG_DLM is not set |
1714 | # CONFIG_UCC_SLOW is not set | 1821 | # CONFIG_UCC_SLOW is not set |
1715 | 1822 | ||
@@ -1733,18 +1840,17 @@ CONFIG_PLIST=y | |||
1733 | CONFIG_HAS_IOMEM=y | 1840 | CONFIG_HAS_IOMEM=y |
1734 | CONFIG_HAS_IOPORT=y | 1841 | CONFIG_HAS_IOPORT=y |
1735 | CONFIG_HAS_DMA=y | 1842 | CONFIG_HAS_DMA=y |
1736 | 1843 | CONFIG_INSTRUMENTATION=y | |
1737 | # | ||
1738 | # Instrumentation Support | ||
1739 | # | ||
1740 | CONFIG_PROFILING=y | 1844 | CONFIG_PROFILING=y |
1741 | CONFIG_OPROFILE=y | 1845 | CONFIG_OPROFILE=y |
1742 | # CONFIG_KPROBES is not set | 1846 | # CONFIG_KPROBES is not set |
1847 | # CONFIG_MARKERS is not set | ||
1743 | 1848 | ||
1744 | # | 1849 | # |
1745 | # Kernel hacking | 1850 | # Kernel hacking |
1746 | # | 1851 | # |
1747 | # CONFIG_PRINTK_TIME is not set | 1852 | # CONFIG_PRINTK_TIME is not set |
1853 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1748 | CONFIG_ENABLE_MUST_CHECK=y | 1854 | CONFIG_ENABLE_MUST_CHECK=y |
1749 | CONFIG_MAGIC_SYSRQ=y | 1855 | CONFIG_MAGIC_SYSRQ=y |
1750 | # CONFIG_UNUSED_SYMBOLS is not set | 1856 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1768,9 +1874,12 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1768 | # CONFIG_DEBUG_INFO is not set | 1874 | # CONFIG_DEBUG_INFO is not set |
1769 | # CONFIG_DEBUG_VM is not set | 1875 | # CONFIG_DEBUG_VM is not set |
1770 | # CONFIG_DEBUG_LIST is not set | 1876 | # CONFIG_DEBUG_LIST is not set |
1877 | # CONFIG_DEBUG_SG is not set | ||
1771 | CONFIG_FORCED_INLINING=y | 1878 | CONFIG_FORCED_INLINING=y |
1879 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1772 | # CONFIG_RCU_TORTURE_TEST is not set | 1880 | # CONFIG_RCU_TORTURE_TEST is not set |
1773 | # CONFIG_FAULT_INJECTION is not set | 1881 | # CONFIG_FAULT_INJECTION is not set |
1882 | # CONFIG_SAMPLES is not set | ||
1774 | CONFIG_DEBUG_STACKOVERFLOW=y | 1883 | CONFIG_DEBUG_STACKOVERFLOW=y |
1775 | CONFIG_DEBUG_STACK_USAGE=y | 1884 | CONFIG_DEBUG_STACK_USAGE=y |
1776 | # CONFIG_DEBUG_PAGEALLOC is not set | 1885 | # CONFIG_DEBUG_PAGEALLOC is not set |
@@ -1780,6 +1889,7 @@ CONFIG_XMON=y | |||
1780 | # CONFIG_XMON_DEFAULT is not set | 1889 | # CONFIG_XMON_DEFAULT is not set |
1781 | CONFIG_XMON_DISASSEMBLY=y | 1890 | CONFIG_XMON_DISASSEMBLY=y |
1782 | CONFIG_IRQSTACKS=y | 1891 | CONFIG_IRQSTACKS=y |
1892 | # CONFIG_VIRQ_DEBUG is not set | ||
1783 | CONFIG_BOOTX_TEXT=y | 1893 | CONFIG_BOOTX_TEXT=y |
1784 | # CONFIG_PPC_EARLY_DEBUG is not set | 1894 | # CONFIG_PPC_EARLY_DEBUG is not set |
1785 | 1895 | ||
@@ -1788,6 +1898,7 @@ CONFIG_BOOTX_TEXT=y | |||
1788 | # | 1898 | # |
1789 | # CONFIG_KEYS is not set | 1899 | # CONFIG_KEYS is not set |
1790 | # CONFIG_SECURITY is not set | 1900 | # CONFIG_SECURITY is not set |
1901 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1791 | CONFIG_XOR_BLOCKS=y | 1902 | CONFIG_XOR_BLOCKS=y |
1792 | CONFIG_ASYNC_CORE=y | 1903 | CONFIG_ASYNC_CORE=y |
1793 | CONFIG_ASYNC_MEMCPY=y | 1904 | CONFIG_ASYNC_MEMCPY=y |
@@ -1812,6 +1923,7 @@ CONFIG_CRYPTO_ECB=m | |||
1812 | CONFIG_CRYPTO_CBC=y | 1923 | CONFIG_CRYPTO_CBC=y |
1813 | CONFIG_CRYPTO_PCBC=m | 1924 | CONFIG_CRYPTO_PCBC=m |
1814 | # CONFIG_CRYPTO_LRW is not set | 1925 | # CONFIG_CRYPTO_LRW is not set |
1926 | # CONFIG_CRYPTO_XTS is not set | ||
1815 | # CONFIG_CRYPTO_CRYPTD is not set | 1927 | # CONFIG_CRYPTO_CRYPTD is not set |
1816 | CONFIG_CRYPTO_DES=y | 1928 | CONFIG_CRYPTO_DES=y |
1817 | # CONFIG_CRYPTO_FCRYPT is not set | 1929 | # CONFIG_CRYPTO_FCRYPT is not set |
@@ -1826,9 +1938,12 @@ CONFIG_CRYPTO_TEA=m | |||
1826 | CONFIG_CRYPTO_ARC4=m | 1938 | CONFIG_CRYPTO_ARC4=m |
1827 | CONFIG_CRYPTO_KHAZAD=m | 1939 | CONFIG_CRYPTO_KHAZAD=m |
1828 | CONFIG_CRYPTO_ANUBIS=m | 1940 | CONFIG_CRYPTO_ANUBIS=m |
1941 | # CONFIG_CRYPTO_SEED is not set | ||
1829 | CONFIG_CRYPTO_DEFLATE=m | 1942 | CONFIG_CRYPTO_DEFLATE=m |
1830 | CONFIG_CRYPTO_MICHAEL_MIC=m | 1943 | CONFIG_CRYPTO_MICHAEL_MIC=m |
1831 | CONFIG_CRYPTO_CRC32C=m | 1944 | CONFIG_CRYPTO_CRC32C=m |
1832 | # CONFIG_CRYPTO_CAMELLIA is not set | 1945 | # CONFIG_CRYPTO_CAMELLIA is not set |
1833 | CONFIG_CRYPTO_TEST=m | 1946 | CONFIG_CRYPTO_TEST=m |
1947 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1834 | # CONFIG_CRYPTO_HW is not set | 1948 | # CONFIG_CRYPTO_HW is not set |
1949 | # CONFIG_PPC_CLOCK is not set | ||
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index d3fb7d0c6c1c..9ed351f3c966 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -1104,6 +1104,16 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
1104 | { | 1104 | { |
1105 | .pvr_mask = 0xf0000fff, | 1105 | .pvr_mask = 0xf0000fff, |
1106 | .pvr_value = 0x40000850, | 1106 | .pvr_value = 0x40000850, |
1107 | .cpu_name = "440GR Rev. A", | ||
1108 | .cpu_features = CPU_FTRS_44X, | ||
1109 | .cpu_user_features = COMMON_USER_BOOKE, | ||
1110 | .icache_bsize = 32, | ||
1111 | .dcache_bsize = 32, | ||
1112 | .platform = "ppc440", | ||
1113 | }, | ||
1114 | { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */ | ||
1115 | .pvr_mask = 0xf0000fff, | ||
1116 | .pvr_value = 0x40000858, | ||
1107 | .cpu_name = "440EP Rev. A", | 1117 | .cpu_name = "440EP Rev. A", |
1108 | .cpu_features = CPU_FTRS_44X, | 1118 | .cpu_features = CPU_FTRS_44X, |
1109 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | 1119 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, |
@@ -1115,28 +1125,27 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
1115 | { | 1125 | { |
1116 | .pvr_mask = 0xf0000fff, | 1126 | .pvr_mask = 0xf0000fff, |
1117 | .pvr_value = 0x400008d3, | 1127 | .pvr_value = 0x400008d3, |
1118 | .cpu_name = "440EP Rev. B", | 1128 | .cpu_name = "440GR Rev. B", |
1119 | .cpu_features = CPU_FTRS_44X, | 1129 | .cpu_features = CPU_FTRS_44X, |
1120 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | 1130 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, |
1121 | .icache_bsize = 32, | 1131 | .icache_bsize = 32, |
1122 | .dcache_bsize = 32, | 1132 | .dcache_bsize = 32, |
1123 | .cpu_setup = __setup_cpu_440ep, | ||
1124 | .platform = "ppc440", | 1133 | .platform = "ppc440", |
1125 | }, | 1134 | }, |
1126 | { /* 440EPX */ | 1135 | { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */ |
1127 | .pvr_mask = 0xf0000ffb, | 1136 | .pvr_mask = 0xf0000fff, |
1128 | .pvr_value = 0x200008D0, | 1137 | .pvr_value = 0x400008db, |
1129 | .cpu_name = "440EPX", | 1138 | .cpu_name = "440EP Rev. B", |
1130 | .cpu_features = CPU_FTRS_44X, | 1139 | .cpu_features = CPU_FTRS_44X, |
1131 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | 1140 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, |
1132 | .icache_bsize = 32, | 1141 | .icache_bsize = 32, |
1133 | .dcache_bsize = 32, | 1142 | .dcache_bsize = 32, |
1134 | .cpu_setup = __setup_cpu_440epx, | 1143 | .cpu_setup = __setup_cpu_440ep, |
1135 | .platform = "ppc440", | 1144 | .platform = "ppc440", |
1136 | }, | 1145 | }, |
1137 | { /* 440GRX */ | 1146 | { /* 440GRX */ |
1138 | .pvr_mask = 0xf0000ffb, | 1147 | .pvr_mask = 0xf0000ffb, |
1139 | .pvr_value = 0x200008D8, | 1148 | .pvr_value = 0x200008D0, |
1140 | .cpu_name = "440GRX", | 1149 | .cpu_name = "440GRX", |
1141 | .cpu_features = CPU_FTRS_44X, | 1150 | .cpu_features = CPU_FTRS_44X, |
1142 | .cpu_user_features = COMMON_USER_BOOKE, | 1151 | .cpu_user_features = COMMON_USER_BOOKE, |
@@ -1145,6 +1154,17 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
1145 | .cpu_setup = __setup_cpu_440grx, | 1154 | .cpu_setup = __setup_cpu_440grx, |
1146 | .platform = "ppc440", | 1155 | .platform = "ppc440", |
1147 | }, | 1156 | }, |
1157 | { /* Use logical PVR for 440EPx (logical pvr = pvr | 0x8) */ | ||
1158 | .pvr_mask = 0xf0000ffb, | ||
1159 | .pvr_value = 0x200008D8, | ||
1160 | .cpu_name = "440EPX", | ||
1161 | .cpu_features = CPU_FTRS_44X, | ||
1162 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | ||
1163 | .icache_bsize = 32, | ||
1164 | .dcache_bsize = 32, | ||
1165 | .cpu_setup = __setup_cpu_440epx, | ||
1166 | .platform = "ppc440", | ||
1167 | }, | ||
1148 | { /* 440GP Rev. B */ | 1168 | { /* 440GP Rev. B */ |
1149 | .pvr_mask = 0xf0000fff, | 1169 | .pvr_mask = 0xf0000fff, |
1150 | .pvr_value = 0x40000440, | 1170 | .pvr_value = 0x40000440, |
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index 21d889e63e87..a7572cf464bd 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S | |||
@@ -244,6 +244,13 @@ syscall_exit_cont: | |||
244 | andis. r10,r0,DBCR0_IC@h | 244 | andis. r10,r0,DBCR0_IC@h |
245 | bnel- load_dbcr0 | 245 | bnel- load_dbcr0 |
246 | #endif | 246 | #endif |
247 | #ifdef CONFIG_44x | ||
248 | lis r4,icache_44x_need_flush@ha | ||
249 | lwz r5,icache_44x_need_flush@l(r4) | ||
250 | cmplwi cr0,r5,0 | ||
251 | bne- 2f | ||
252 | 1: | ||
253 | #endif /* CONFIG_44x */ | ||
247 | stwcx. r0,0,r1 /* to clear the reservation */ | 254 | stwcx. r0,0,r1 /* to clear the reservation */ |
248 | lwz r4,_LINK(r1) | 255 | lwz r4,_LINK(r1) |
249 | lwz r5,_CCR(r1) | 256 | lwz r5,_CCR(r1) |
@@ -258,6 +265,12 @@ syscall_exit_cont: | |||
258 | mtspr SPRN_SRR1,r8 | 265 | mtspr SPRN_SRR1,r8 |
259 | SYNC | 266 | SYNC |
260 | RFI | 267 | RFI |
268 | #ifdef CONFIG_44x | ||
269 | 2: li r7,0 | ||
270 | iccci r0,r0 | ||
271 | stw r7,icache_44x_need_flush@l(r4) | ||
272 | b 1b | ||
273 | #endif /* CONFIG_44x */ | ||
261 | 274 | ||
262 | 66: li r3,-ENOSYS | 275 | 66: li r3,-ENOSYS |
263 | b ret_from_syscall | 276 | b ret_from_syscall |
@@ -683,6 +696,16 @@ resume_kernel: | |||
683 | 696 | ||
684 | /* interrupts are hard-disabled at this point */ | 697 | /* interrupts are hard-disabled at this point */ |
685 | restore: | 698 | restore: |
699 | #ifdef CONFIG_44x | ||
700 | lis r4,icache_44x_need_flush@ha | ||
701 | lwz r5,icache_44x_need_flush@l(r4) | ||
702 | cmplwi cr0,r5,0 | ||
703 | beq+ 1f | ||
704 | li r6,0 | ||
705 | iccci r0,r0 | ||
706 | stw r6,icache_44x_need_flush@l(r4) | ||
707 | 1: | ||
708 | #endif /* CONFIG_44x */ | ||
686 | lwz r0,GPR0(r1) | 709 | lwz r0,GPR0(r1) |
687 | lwz r2,GPR2(r1) | 710 | lwz r2,GPR2(r1) |
688 | REST_4GPRS(3, r1) | 711 | REST_4GPRS(3, r1) |
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index 97c5857faf00..c34986835a4e 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S | |||
@@ -904,7 +904,7 @@ handle_page_fault: | |||
904 | */ | 904 | */ |
905 | 12: bl .save_nvgprs | 905 | 12: bl .save_nvgprs |
906 | addi r3,r1,STACK_FRAME_OVERHEAD | 906 | addi r3,r1,STACK_FRAME_OVERHEAD |
907 | lwz r4,_DAR(r1) | 907 | ld r4,_DAR(r1) |
908 | bl .low_hash_fault | 908 | bl .low_hash_fault |
909 | b .ret_from_except | 909 | b .ret_from_except |
910 | 910 | ||
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c index abd2957fe537..c3cf0e8f3ac1 100644 --- a/arch/powerpc/kernel/idle.c +++ b/arch/powerpc/kernel/idle.c | |||
@@ -122,7 +122,7 @@ static ctl_table powersave_nap_sysctl_root[] = { | |||
122 | { | 122 | { |
123 | .ctl_name = CTL_KERN, | 123 | .ctl_name = CTL_KERN, |
124 | .procname = "kernel", | 124 | .procname = "kernel", |
125 | .mode = 0755, | 125 | .mode = 0555, |
126 | .child = powersave_nap_ctl_table, | 126 | .child = powersave_nap_ctl_table, |
127 | }, | 127 | }, |
128 | {} | 128 | {} |
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index 8533de50347d..8b642ab26d37 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S | |||
@@ -288,7 +288,16 @@ _GLOBAL(_tlbia) | |||
288 | */ | 288 | */ |
289 | _GLOBAL(_tlbie) | 289 | _GLOBAL(_tlbie) |
290 | #if defined(CONFIG_40x) | 290 | #if defined(CONFIG_40x) |
291 | /* We run the search with interrupts disabled because we have to change | ||
292 | * the PID and I don't want to preempt when that happens. | ||
293 | */ | ||
294 | mfmsr r5 | ||
295 | mfspr r6,SPRN_PID | ||
296 | wrteei 0 | ||
297 | mtspr SPRN_PID,r4 | ||
291 | tlbsx. r3, 0, r3 | 298 | tlbsx. r3, 0, r3 |
299 | mtspr SPRN_PID,r6 | ||
300 | wrtee r5 | ||
292 | bne 10f | 301 | bne 10f |
293 | sync | 302 | sync |
294 | /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear. | 303 | /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear. |
@@ -297,23 +306,23 @@ _GLOBAL(_tlbie) | |||
297 | tlbwe r3, r3, TLB_TAG | 306 | tlbwe r3, r3, TLB_TAG |
298 | isync | 307 | isync |
299 | 10: | 308 | 10: |
309 | |||
300 | #elif defined(CONFIG_44x) | 310 | #elif defined(CONFIG_44x) |
301 | mfspr r4,SPRN_MMUCR | 311 | mfspr r5,SPRN_MMUCR |
302 | mfspr r5,SPRN_PID /* Get PID */ | 312 | rlwimi r5,r4,0,24,31 /* Set TID */ |
303 | rlwimi r4,r5,0,24,31 /* Set TID */ | ||
304 | 313 | ||
305 | /* We have to run the search with interrupts disabled, even critical | 314 | /* We have to run the search with interrupts disabled, even critical |
306 | * and debug interrupts (in fact the only critical exceptions we have | 315 | * and debug interrupts (in fact the only critical exceptions we have |
307 | * are debug and machine check). Otherwise an interrupt which causes | 316 | * are debug and machine check). Otherwise an interrupt which causes |
308 | * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */ | 317 | * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */ |
309 | mfmsr r5 | 318 | mfmsr r4 |
310 | lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha | 319 | lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha |
311 | addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l | 320 | addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l |
312 | andc r6,r5,r6 | 321 | andc r6,r4,r6 |
313 | mtmsr r6 | 322 | mtmsr r6 |
314 | mtspr SPRN_MMUCR,r4 | 323 | mtspr SPRN_MMUCR,r5 |
315 | tlbsx. r3, 0, r3 | 324 | tlbsx. r3, 0, r3 |
316 | mtmsr r5 | 325 | mtmsr r4 |
317 | bne 10f | 326 | bne 10f |
318 | sync | 327 | sync |
319 | /* There are only 64 TLB entries, so r3 < 64, | 328 | /* There are only 64 TLB entries, so r3 < 64, |
@@ -534,12 +543,21 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
534 | addi r3,r3,L1_CACHE_BYTES | 543 | addi r3,r3,L1_CACHE_BYTES |
535 | bdnz 0b | 544 | bdnz 0b |
536 | sync | 545 | sync |
546 | #ifndef CONFIG_44x | ||
547 | /* We don't flush the icache on 44x. Those have a virtual icache | ||
548 | * and we don't have access to the virtual address here (it's | ||
549 | * not the page vaddr but where it's mapped in user space). The | ||
550 | * flushing of the icache on these is handled elsewhere, when | ||
551 | * a change in the address space occurs, before returning to | ||
552 | * user space | ||
553 | */ | ||
537 | mtctr r4 | 554 | mtctr r4 |
538 | 1: icbi 0,r6 | 555 | 1: icbi 0,r6 |
539 | addi r6,r6,L1_CACHE_BYTES | 556 | addi r6,r6,L1_CACHE_BYTES |
540 | bdnz 1b | 557 | bdnz 1b |
541 | sync | 558 | sync |
542 | isync | 559 | isync |
560 | #endif /* CONFIG_44x */ | ||
543 | blr | 561 | blr |
544 | 562 | ||
545 | /* | 563 | /* |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 9f329a8928ea..acc0d247d3c3 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -697,6 +697,18 @@ static int __init early_init_dt_scan_cpus(unsigned long node, | |||
697 | prop = of_get_flat_dt_prop(node, "cpu-version", NULL); | 697 | prop = of_get_flat_dt_prop(node, "cpu-version", NULL); |
698 | if (prop && (*prop & 0xff000000) == 0x0f000000) | 698 | if (prop && (*prop & 0xff000000) == 0x0f000000) |
699 | identify_cpu(0, *prop); | 699 | identify_cpu(0, *prop); |
700 | #if defined(CONFIG_44x) && defined(CONFIG_PPC_FPU) | ||
701 | /* | ||
702 | * Since 440GR(x)/440EP(x) processors have the same pvr, | ||
703 | * we check the node path and set bit 28 in the cur_cpu_spec | ||
704 | * pvr for EP(x) processor version. This bit is always 0 in | ||
705 | * the "real" pvr. Then we call identify_cpu again with | ||
706 | * the new logical pvr to enable FPU support. | ||
707 | */ | ||
708 | if (strstr(uname, "440EP")) { | ||
709 | identify_cpu(0, cur_cpu_spec->pvr_value | 0x8); | ||
710 | } | ||
711 | #endif | ||
700 | } | 712 | } |
701 | 713 | ||
702 | check_cpu_feature_properties(node); | 714 | check_cpu_feature_properties(node); |
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 1db10f70ae69..1add6efdb315 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -1244,7 +1244,7 @@ static void __init prom_initialize_tce_table(void) | |||
1244 | local_alloc_bottom = base; | 1244 | local_alloc_bottom = base; |
1245 | 1245 | ||
1246 | /* It seems OF doesn't null-terminate the path :-( */ | 1246 | /* It seems OF doesn't null-terminate the path :-( */ |
1247 | memset(path, 0, sizeof(path)); | 1247 | memset(path, 0, PROM_SCRATCH_SIZE); |
1248 | /* Call OF to setup the TCE hardware */ | 1248 | /* Call OF to setup the TCE hardware */ |
1249 | if (call_prom("package-to-path", 3, 1, node, | 1249 | if (call_prom("package-to-path", 3, 1, node, |
1250 | path, PROM_SCRATCH_SIZE-1) == PROM_ERROR) { | 1250 | path, PROM_SCRATCH_SIZE-1) == PROM_ERROR) { |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index ede77dbbd4df..3b1529c103ef 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -291,23 +291,16 @@ static void __init initialize_cache_info(void) | |||
291 | if ( num_cpus == 1 ) { | 291 | if ( num_cpus == 1 ) { |
292 | const u32 *sizep, *lsizep; | 292 | const u32 *sizep, *lsizep; |
293 | u32 size, lsize; | 293 | u32 size, lsize; |
294 | const char *dc, *ic; | ||
295 | |||
296 | /* Then read cache informations */ | ||
297 | if (machine_is(powermac)) { | ||
298 | dc = "d-cache-block-size"; | ||
299 | ic = "i-cache-block-size"; | ||
300 | } else { | ||
301 | dc = "d-cache-line-size"; | ||
302 | ic = "i-cache-line-size"; | ||
303 | } | ||
304 | 294 | ||
305 | size = 0; | 295 | size = 0; |
306 | lsize = cur_cpu_spec->dcache_bsize; | 296 | lsize = cur_cpu_spec->dcache_bsize; |
307 | sizep = of_get_property(np, "d-cache-size", NULL); | 297 | sizep = of_get_property(np, "d-cache-size", NULL); |
308 | if (sizep != NULL) | 298 | if (sizep != NULL) |
309 | size = *sizep; | 299 | size = *sizep; |
310 | lsizep = of_get_property(np, dc, NULL); | 300 | lsizep = of_get_property(np, "d-cache-block-size", NULL); |
301 | /* fallback if block size missing */ | ||
302 | if (lsizep == NULL) | ||
303 | lsizep = of_get_property(np, "d-cache-line-size", NULL); | ||
311 | if (lsizep != NULL) | 304 | if (lsizep != NULL) |
312 | lsize = *lsizep; | 305 | lsize = *lsizep; |
313 | if (sizep == 0 || lsizep == 0) | 306 | if (sizep == 0 || lsizep == 0) |
@@ -324,7 +317,9 @@ static void __init initialize_cache_info(void) | |||
324 | sizep = of_get_property(np, "i-cache-size", NULL); | 317 | sizep = of_get_property(np, "i-cache-size", NULL); |
325 | if (sizep != NULL) | 318 | if (sizep != NULL) |
326 | size = *sizep; | 319 | size = *sizep; |
327 | lsizep = of_get_property(np, ic, NULL); | 320 | lsizep = of_get_property(np, "i-cache-block-size", NULL); |
321 | if (lsizep == NULL) | ||
322 | lsizep = of_get_property(np, "i-cache-line-size", NULL); | ||
328 | if (lsizep != NULL) | 323 | if (lsizep != NULL) |
329 | lsize = *lsizep; | 324 | lsize = *lsizep; |
330 | if (sizep == 0 || lsizep == 0) | 325 | if (sizep == 0 || lsizep == 0) |
diff --git a/arch/powerpc/kernel/swsusp_32.S b/arch/powerpc/kernel/swsusp_32.S index 69e8f86aa4f8..77fc76607ab2 100644 --- a/arch/powerpc/kernel/swsusp_32.S +++ b/arch/powerpc/kernel/swsusp_32.S | |||
@@ -133,10 +133,12 @@ _GLOBAL(swsusp_arch_suspend) | |||
133 | /* Resume code */ | 133 | /* Resume code */ |
134 | _GLOBAL(swsusp_arch_resume) | 134 | _GLOBAL(swsusp_arch_resume) |
135 | 135 | ||
136 | #ifdef CONFIG_ALTIVEC | ||
136 | /* Stop pending alitvec streams and memory accesses */ | 137 | /* Stop pending alitvec streams and memory accesses */ |
137 | BEGIN_FTR_SECTION | 138 | BEGIN_FTR_SECTION |
138 | DSSALL | 139 | DSSALL |
139 | END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) | 140 | END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) |
141 | #endif | ||
140 | sync | 142 | sync |
141 | 143 | ||
142 | /* Disable MSR:DR to make sure we don't take a TLB or | 144 | /* Disable MSR:DR to make sure we don't take a TLB or |
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 9eb3284deac4..99ebcd3884d2 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
@@ -586,7 +586,7 @@ void timer_interrupt(struct pt_regs * regs) | |||
586 | /* not time for this event yet */ | 586 | /* not time for this event yet */ |
587 | now = per_cpu(decrementer_next_tb, cpu) - now; | 587 | now = per_cpu(decrementer_next_tb, cpu) - now; |
588 | if (now <= DECREMENTER_MAX) | 588 | if (now <= DECREMENTER_MAX) |
589 | set_dec((unsigned int)now - 1); | 589 | set_dec((int)now); |
590 | return; | 590 | return; |
591 | } | 591 | } |
592 | old_regs = set_irq_regs(regs); | 592 | old_regs = set_irq_regs(regs); |
@@ -611,8 +611,6 @@ void timer_interrupt(struct pt_regs * regs) | |||
611 | 611 | ||
612 | if (evt->event_handler) | 612 | if (evt->event_handler) |
613 | evt->event_handler(evt); | 613 | evt->event_handler(evt); |
614 | else | ||
615 | evt->set_next_event(DECREMENTER_MAX, evt); | ||
616 | 614 | ||
617 | #ifdef CONFIG_PPC_ISERIES | 615 | #ifdef CONFIG_PPC_ISERIES |
618 | if (firmware_has_feature(FW_FEATURE_ISERIES) && hvlpevent_is_pending()) | 616 | if (firmware_has_feature(FW_FEATURE_ISERIES) && hvlpevent_is_pending()) |
@@ -836,9 +834,6 @@ static int decrementer_set_next_event(unsigned long evt, | |||
836 | struct clock_event_device *dev) | 834 | struct clock_event_device *dev) |
837 | { | 835 | { |
838 | __get_cpu_var(decrementer_next_tb) = get_tb_or_rtc() + evt; | 836 | __get_cpu_var(decrementer_next_tb) = get_tb_or_rtc() + evt; |
839 | /* The decrementer interrupts on the 0 -> -1 transition */ | ||
840 | if (evt) | ||
841 | --evt; | ||
842 | set_dec(evt); | 837 | set_dec(evt); |
843 | return 0; | 838 | return 0; |
844 | } | 839 | } |
@@ -871,7 +866,8 @@ void init_decrementer_clockevent(void) | |||
871 | decrementer_clockevent.shift); | 866 | decrementer_clockevent.shift); |
872 | decrementer_clockevent.max_delta_ns = | 867 | decrementer_clockevent.max_delta_ns = |
873 | clockevent_delta2ns(DECREMENTER_MAX, &decrementer_clockevent); | 868 | clockevent_delta2ns(DECREMENTER_MAX, &decrementer_clockevent); |
874 | decrementer_clockevent.min_delta_ns = 1000; | 869 | decrementer_clockevent.min_delta_ns = |
870 | clockevent_delta2ns(2, &decrementer_clockevent); | ||
875 | 871 | ||
876 | register_decrementer_clockevent(cpu); | 872 | register_decrementer_clockevent(cpu); |
877 | } | 873 | } |
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 823a8cbd60b5..f66fa5d966b0 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S | |||
@@ -37,11 +37,10 @@ SECTIONS | |||
37 | ALIGN_FUNCTION(); | 37 | ALIGN_FUNCTION(); |
38 | *(.text.head) | 38 | *(.text.head) |
39 | _text = .; | 39 | _text = .; |
40 | TEXT_TEXT | 40 | *(.text .fixup .text.init.refok .exit.text.refok) |
41 | SCHED_TEXT | 41 | SCHED_TEXT |
42 | LOCK_TEXT | 42 | LOCK_TEXT |
43 | KPROBES_TEXT | 43 | KPROBES_TEXT |
44 | *(.fixup) | ||
45 | 44 | ||
46 | #ifdef CONFIG_PPC32 | 45 | #ifdef CONFIG_PPC32 |
47 | *(.got1) | 46 | *(.got1) |
diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c index e067df836be2..3899ea97fbdf 100644 --- a/arch/powerpc/mm/40x_mmu.c +++ b/arch/powerpc/mm/40x_mmu.c | |||
@@ -98,13 +98,12 @@ unsigned long __init mmu_mapin_ram(void) | |||
98 | 98 | ||
99 | v = KERNELBASE; | 99 | v = KERNELBASE; |
100 | p = PPC_MEMSTART; | 100 | p = PPC_MEMSTART; |
101 | s = 0; | 101 | s = total_lowmem; |
102 | 102 | ||
103 | if (__map_without_ltlbs) { | 103 | if (__map_without_ltlbs) |
104 | return s; | 104 | return 0; |
105 | } | ||
106 | 105 | ||
107 | while (s <= (total_lowmem - LARGE_PAGE_SIZE_16M)) { | 106 | while (s >= LARGE_PAGE_SIZE_16M) { |
108 | pmd_t *pmdp; | 107 | pmd_t *pmdp; |
109 | unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; | 108 | unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; |
110 | 109 | ||
@@ -116,10 +115,10 @@ unsigned long __init mmu_mapin_ram(void) | |||
116 | 115 | ||
117 | v += LARGE_PAGE_SIZE_16M; | 116 | v += LARGE_PAGE_SIZE_16M; |
118 | p += LARGE_PAGE_SIZE_16M; | 117 | p += LARGE_PAGE_SIZE_16M; |
119 | s += LARGE_PAGE_SIZE_16M; | 118 | s -= LARGE_PAGE_SIZE_16M; |
120 | } | 119 | } |
121 | 120 | ||
122 | while (s <= (total_lowmem - LARGE_PAGE_SIZE_4M)) { | 121 | while (s >= LARGE_PAGE_SIZE_4M) { |
123 | pmd_t *pmdp; | 122 | pmd_t *pmdp; |
124 | unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; | 123 | unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; |
125 | 124 | ||
@@ -128,8 +127,8 @@ unsigned long __init mmu_mapin_ram(void) | |||
128 | 127 | ||
129 | v += LARGE_PAGE_SIZE_4M; | 128 | v += LARGE_PAGE_SIZE_4M; |
130 | p += LARGE_PAGE_SIZE_4M; | 129 | p += LARGE_PAGE_SIZE_4M; |
131 | s += LARGE_PAGE_SIZE_4M; | 130 | s -= LARGE_PAGE_SIZE_4M; |
132 | } | 131 | } |
133 | 132 | ||
134 | return s; | 133 | return total_lowmem - s; |
135 | } | 134 | } |
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c index c3df50476539..04dc08798d3d 100644 --- a/arch/powerpc/mm/44x_mmu.c +++ b/arch/powerpc/mm/44x_mmu.c | |||
@@ -35,6 +35,7 @@ | |||
35 | */ | 35 | */ |
36 | unsigned int tlb_44x_index; /* = 0 */ | 36 | unsigned int tlb_44x_index; /* = 0 */ |
37 | unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; | 37 | unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; |
38 | int icache_44x_need_flush; | ||
38 | 39 | ||
39 | /* | 40 | /* |
40 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem | 41 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem |
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index a18fda361cc0..8135da06e0a4 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -309,7 +309,7 @@ good_area: | |||
309 | set_bit(PG_arch_1, &page->flags); | 309 | set_bit(PG_arch_1, &page->flags); |
310 | } | 310 | } |
311 | pte_update(ptep, 0, _PAGE_HWEXEC); | 311 | pte_update(ptep, 0, _PAGE_HWEXEC); |
312 | _tlbie(address); | 312 | _tlbie(address, mm->context.id); |
313 | pte_unmap_unlock(ptep, ptl); | 313 | pte_unmap_unlock(ptep, ptl); |
314 | up_read(&mm->mmap_sem); | 314 | up_read(&mm->mmap_sem); |
315 | return 0; | 315 | return 0; |
diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S index ad253b959030..e935edd6b72b 100644 --- a/arch/powerpc/mm/hash_low_64.S +++ b/arch/powerpc/mm/hash_low_64.S | |||
@@ -331,7 +331,7 @@ htab_pte_insert_failure: | |||
331 | *****************************************************************************/ | 331 | *****************************************************************************/ |
332 | 332 | ||
333 | /* _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, | 333 | /* _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, |
334 | * pte_t *ptep, unsigned long trap, int local) | 334 | * pte_t *ptep, unsigned long trap, int local, int ssize) |
335 | */ | 335 | */ |
336 | 336 | ||
337 | /* | 337 | /* |
@@ -557,7 +557,8 @@ htab_inval_old_hpte: | |||
557 | mr r4,r31 /* PTE.pte */ | 557 | mr r4,r31 /* PTE.pte */ |
558 | li r5,0 /* PTE.hidx */ | 558 | li r5,0 /* PTE.hidx */ |
559 | li r6,MMU_PAGE_64K /* psize */ | 559 | li r6,MMU_PAGE_64K /* psize */ |
560 | ld r7,STK_PARM(r8)(r1) /* local */ | 560 | ld r7,STK_PARM(r9)(r1) /* ssize */ |
561 | ld r8,STK_PARM(r8)(r1) /* local */ | ||
561 | bl .flush_hash_page | 562 | bl .flush_hash_page |
562 | b htab_insert_pte | 563 | b htab_insert_pte |
563 | 564 | ||
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index c78dc912411f..f09730bf3a33 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <asm/cputable.h> | 51 | #include <asm/cputable.h> |
52 | #include <asm/sections.h> | 52 | #include <asm/sections.h> |
53 | #include <asm/spu.h> | 53 | #include <asm/spu.h> |
54 | #include <asm/udbg.h> | ||
54 | 55 | ||
55 | #ifdef DEBUG | 56 | #ifdef DEBUG |
56 | #define DBG(fmt...) udbg_printf(fmt) | 57 | #define DBG(fmt...) udbg_printf(fmt) |
@@ -791,8 +792,7 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap) | |||
791 | } | 792 | } |
792 | if (user_region) { | 793 | if (user_region) { |
793 | if (psize != get_paca()->context.user_psize) { | 794 | if (psize != get_paca()->context.user_psize) { |
794 | get_paca()->context.user_psize = | 795 | get_paca()->context = mm->context; |
795 | mm->context.user_psize; | ||
796 | slb_flush_and_rebolt(); | 796 | slb_flush_and_rebolt(); |
797 | } | 797 | } |
798 | } else if (get_paca()->vmalloc_sllp != | 798 | } else if (get_paca()->vmalloc_sllp != |
@@ -885,6 +885,9 @@ void hash_preload(struct mm_struct *mm, unsigned long ea, | |||
885 | local_irq_restore(flags); | 885 | local_irq_restore(flags); |
886 | } | 886 | } |
887 | 887 | ||
888 | /* WARNING: This is called from hash_low_64.S, if you change this prototype, | ||
889 | * do not forget to update the assembly call site ! | ||
890 | */ | ||
888 | void flush_hash_page(unsigned long va, real_pte_t pte, int psize, int ssize, | 891 | void flush_hash_page(unsigned long va, real_pte_t pte, int psize, int ssize, |
889 | int local) | 892 | int local) |
890 | { | 893 | { |
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index c94a64fd3c01..eb3a732e91db 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h | |||
@@ -61,12 +61,12 @@ extern unsigned long total_lowmem; | |||
61 | #define mmu_mapin_ram() (0UL) | 61 | #define mmu_mapin_ram() (0UL) |
62 | 62 | ||
63 | #elif defined(CONFIG_4xx) | 63 | #elif defined(CONFIG_4xx) |
64 | #define flush_HPTE(X, va, pg) _tlbie(va) | 64 | #define flush_HPTE(pid, va, pg) _tlbie(va, pid) |
65 | extern void MMU_init_hw(void); | 65 | extern void MMU_init_hw(void); |
66 | extern unsigned long mmu_mapin_ram(void); | 66 | extern unsigned long mmu_mapin_ram(void); |
67 | 67 | ||
68 | #elif defined(CONFIG_FSL_BOOKE) | 68 | #elif defined(CONFIG_FSL_BOOKE) |
69 | #define flush_HPTE(X, va, pg) _tlbie(va) | 69 | #define flush_HPTE(pid, va, pg) _tlbie(va, pid) |
70 | extern void MMU_init_hw(void); | 70 | extern void MMU_init_hw(void); |
71 | extern unsigned long mmu_mapin_ram(void); | 71 | extern unsigned long mmu_mapin_ram(void); |
72 | extern void adjust_total_lowmem(void); | 72 | extern void adjust_total_lowmem(void); |
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c index bbd2c512ee05..27922dff8b94 100644 --- a/arch/powerpc/mm/slb.c +++ b/arch/powerpc/mm/slb.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <asm/smp.h> | 25 | #include <asm/smp.h> |
26 | #include <asm/firmware.h> | 26 | #include <asm/firmware.h> |
27 | #include <linux/compiler.h> | 27 | #include <linux/compiler.h> |
28 | #include <asm/udbg.h> | ||
28 | 29 | ||
29 | #ifdef DEBUG | 30 | #ifdef DEBUG |
30 | #define DBG(fmt...) udbg_printf(fmt) | 31 | #define DBG(fmt...) udbg_printf(fmt) |
@@ -148,6 +149,35 @@ void slb_vmalloc_update(void) | |||
148 | slb_flush_and_rebolt(); | 149 | slb_flush_and_rebolt(); |
149 | } | 150 | } |
150 | 151 | ||
152 | /* Helper function to compare esids. There are four cases to handle. | ||
153 | * 1. The system is not 1T segment size capable. Use the GET_ESID compare. | ||
154 | * 2. The system is 1T capable, both addresses are < 1T, use the GET_ESID compare. | ||
155 | * 3. The system is 1T capable, only one of the two addresses is > 1T. This is not a match. | ||
156 | * 4. The system is 1T capable, both addresses are > 1T, use the GET_ESID_1T macro to compare. | ||
157 | */ | ||
158 | static inline int esids_match(unsigned long addr1, unsigned long addr2) | ||
159 | { | ||
160 | int esid_1t_count; | ||
161 | |||
162 | /* System is not 1T segment size capable. */ | ||
163 | if (!cpu_has_feature(CPU_FTR_1T_SEGMENT)) | ||
164 | return (GET_ESID(addr1) == GET_ESID(addr2)); | ||
165 | |||
166 | esid_1t_count = (((addr1 >> SID_SHIFT_1T) != 0) + | ||
167 | ((addr2 >> SID_SHIFT_1T) != 0)); | ||
168 | |||
169 | /* both addresses are < 1T */ | ||
170 | if (esid_1t_count == 0) | ||
171 | return (GET_ESID(addr1) == GET_ESID(addr2)); | ||
172 | |||
173 | /* One address < 1T, the other > 1T. Not a match */ | ||
174 | if (esid_1t_count == 1) | ||
175 | return 0; | ||
176 | |||
177 | /* Both addresses are > 1T. */ | ||
178 | return (GET_ESID_1T(addr1) == GET_ESID_1T(addr2)); | ||
179 | } | ||
180 | |||
151 | /* Flush all user entries from the segment table of the current processor. */ | 181 | /* Flush all user entries from the segment table of the current processor. */ |
152 | void switch_slb(struct task_struct *tsk, struct mm_struct *mm) | 182 | void switch_slb(struct task_struct *tsk, struct mm_struct *mm) |
153 | { | 183 | { |
@@ -193,15 +223,14 @@ void switch_slb(struct task_struct *tsk, struct mm_struct *mm) | |||
193 | return; | 223 | return; |
194 | slb_allocate(pc); | 224 | slb_allocate(pc); |
195 | 225 | ||
196 | if (GET_ESID(pc) == GET_ESID(stack)) | 226 | if (esids_match(pc,stack)) |
197 | return; | 227 | return; |
198 | 228 | ||
199 | if (is_kernel_addr(stack)) | 229 | if (is_kernel_addr(stack)) |
200 | return; | 230 | return; |
201 | slb_allocate(stack); | 231 | slb_allocate(stack); |
202 | 232 | ||
203 | if ((GET_ESID(pc) == GET_ESID(unmapped_base)) | 233 | if (esids_match(pc,unmapped_base) || esids_match(stack,unmapped_base)) |
204 | || (GET_ESID(stack) == GET_ESID(unmapped_base))) | ||
205 | return; | 234 | return; |
206 | 235 | ||
207 | if (is_kernel_addr(unmapped_base)) | 236 | if (is_kernel_addr(unmapped_base)) |
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index 151fd8b82d63..04f74f9f9ab6 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c | |||
@@ -158,6 +158,18 @@ static unsigned int iic_get_irq(void) | |||
158 | return virq; | 158 | return virq; |
159 | } | 159 | } |
160 | 160 | ||
161 | void iic_setup_cpu(void) | ||
162 | { | ||
163 | out_be64(&__get_cpu_var(iic).regs->prio, 0xff); | ||
164 | } | ||
165 | |||
166 | u8 iic_get_target_id(int cpu) | ||
167 | { | ||
168 | return per_cpu(iic, cpu).target_id; | ||
169 | } | ||
170 | |||
171 | EXPORT_SYMBOL_GPL(iic_get_target_id); | ||
172 | |||
161 | #ifdef CONFIG_SMP | 173 | #ifdef CONFIG_SMP |
162 | 174 | ||
163 | /* Use the highest interrupt priorities for IPI */ | 175 | /* Use the highest interrupt priorities for IPI */ |
@@ -166,29 +178,17 @@ static inline int iic_ipi_to_irq(int ipi) | |||
166 | return IIC_IRQ_TYPE_IPI + 0xf - ipi; | 178 | return IIC_IRQ_TYPE_IPI + 0xf - ipi; |
167 | } | 179 | } |
168 | 180 | ||
169 | void iic_setup_cpu(void) | ||
170 | { | ||
171 | out_be64(&__get_cpu_var(iic).regs->prio, 0xff); | ||
172 | } | ||
173 | |||
174 | void iic_cause_IPI(int cpu, int mesg) | 181 | void iic_cause_IPI(int cpu, int mesg) |
175 | { | 182 | { |
176 | out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4); | 183 | out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4); |
177 | } | 184 | } |
178 | 185 | ||
179 | u8 iic_get_target_id(int cpu) | ||
180 | { | ||
181 | return per_cpu(iic, cpu).target_id; | ||
182 | } | ||
183 | EXPORT_SYMBOL_GPL(iic_get_target_id); | ||
184 | |||
185 | struct irq_host *iic_get_irq_host(int node) | 186 | struct irq_host *iic_get_irq_host(int node) |
186 | { | 187 | { |
187 | return iic_host; | 188 | return iic_host; |
188 | } | 189 | } |
189 | EXPORT_SYMBOL_GPL(iic_get_irq_host); | 190 | EXPORT_SYMBOL_GPL(iic_get_irq_host); |
190 | 191 | ||
191 | |||
192 | static irqreturn_t iic_ipi_action(int irq, void *dev_id) | 192 | static irqreturn_t iic_ipi_action(int irq, void *dev_id) |
193 | { | 193 | { |
194 | int ipi = (int)(long)dev_id; | 194 | int ipi = (int)(long)dev_id; |
diff --git a/arch/powerpc/platforms/cell/smp.c b/arch/powerpc/platforms/cell/smp.c index 1c0acbad7425..e4438456c867 100644 --- a/arch/powerpc/platforms/cell/smp.c +++ b/arch/powerpc/platforms/cell/smp.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <asm/rtas.h> | 44 | #include <asm/rtas.h> |
45 | 45 | ||
46 | #include "interrupt.h" | 46 | #include "interrupt.h" |
47 | #include <asm/udbg.h> | ||
47 | 48 | ||
48 | #ifdef DEBUG | 49 | #ifdef DEBUG |
49 | #define DBG(fmt...) udbg_printf(fmt) | 50 | #define DBG(fmt...) udbg_printf(fmt) |
diff --git a/arch/powerpc/platforms/celleb/setup.c b/arch/powerpc/platforms/celleb/setup.c index 1769d755eff3..ddfb35ae741f 100644 --- a/arch/powerpc/platforms/celleb/setup.c +++ b/arch/powerpc/platforms/celleb/setup.c | |||
@@ -49,6 +49,7 @@ | |||
49 | #include <asm/machdep.h> | 49 | #include <asm/machdep.h> |
50 | #include <asm/cputable.h> | 50 | #include <asm/cputable.h> |
51 | #include <asm/irq.h> | 51 | #include <asm/irq.h> |
52 | #include <asm/time.h> | ||
52 | #include <asm/spu_priv1.h> | 53 | #include <asm/spu_priv1.h> |
53 | #include <asm/firmware.h> | 54 | #include <asm/firmware.h> |
54 | #include <asm/of_platform.h> | 55 | #include <asm/of_platform.h> |
diff --git a/arch/powerpc/platforms/iseries/irq.h b/arch/powerpc/platforms/iseries/irq.h index 69f1b437fc7b..a1c236074034 100644 --- a/arch/powerpc/platforms/iseries/irq.h +++ b/arch/powerpc/platforms/iseries/irq.h | |||
@@ -1,9 +1,13 @@ | |||
1 | #ifndef _ISERIES_IRQ_H | 1 | #ifndef _ISERIES_IRQ_H |
2 | #define _ISERIES_IRQ_H | 2 | #define _ISERIES_IRQ_H |
3 | 3 | ||
4 | #ifdef CONFIG_PCI | ||
4 | extern void iSeries_init_IRQ(void); | 5 | extern void iSeries_init_IRQ(void); |
5 | extern int iSeries_allocate_IRQ(HvBusNumber, HvSubBusNumber, u32); | 6 | extern int iSeries_allocate_IRQ(HvBusNumber, HvSubBusNumber, u32); |
6 | extern void iSeries_activate_IRQs(void); | 7 | extern void iSeries_activate_IRQs(void); |
8 | #else | ||
9 | #define iSeries_init_IRQ NULL | ||
10 | #endif | ||
7 | extern unsigned int iSeries_get_irq(void); | 11 | extern unsigned int iSeries_get_irq(void); |
8 | 12 | ||
9 | #endif /* _ISERIES_IRQ_H */ | 13 | #endif /* _ISERIES_IRQ_H */ |
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 37ae07ee54a9..0877a8834110 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c | |||
@@ -617,10 +617,6 @@ static void iseries_dedicated_idle(void) | |||
617 | } | 617 | } |
618 | } | 618 | } |
619 | 619 | ||
620 | #ifndef CONFIG_PCI | ||
621 | void __init iSeries_init_IRQ(void) { } | ||
622 | #endif | ||
623 | |||
624 | static void __iomem *iseries_ioremap(phys_addr_t address, unsigned long size, | 620 | static void __iomem *iseries_ioremap(phys_addr_t address, unsigned long size, |
625 | unsigned long flags) | 621 | unsigned long flags) |
626 | { | 622 | { |
diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c index d6435b03971f..be06cfd9fa3d 100644 --- a/arch/powerpc/platforms/iseries/vio.c +++ b/arch/powerpc/platforms/iseries/vio.c | |||
@@ -523,15 +523,16 @@ static void __init get_viotape_info(struct device_node *vio_root) | |||
523 | static int __init iseries_vio_init(void) | 523 | static int __init iseries_vio_init(void) |
524 | { | 524 | { |
525 | struct device_node *vio_root; | 525 | struct device_node *vio_root; |
526 | int ret = -ENODEV; | ||
526 | 527 | ||
527 | if (!firmware_has_feature(FW_FEATURE_ISERIES)) | 528 | if (!firmware_has_feature(FW_FEATURE_ISERIES)) |
528 | return -ENODEV; | 529 | goto out; |
529 | 530 | ||
530 | iommu_vio_init(); | 531 | iommu_vio_init(); |
531 | 532 | ||
532 | vio_root = of_find_node_by_path("/vdevice"); | 533 | vio_root = of_find_node_by_path("/vdevice"); |
533 | if (!vio_root) | 534 | if (!vio_root) |
534 | return -ENODEV; | 535 | goto out; |
535 | 536 | ||
536 | if (viopath_hostLp == HvLpIndexInvalid) { | 537 | if (viopath_hostLp == HvLpIndexInvalid) { |
537 | vio_set_hostlp(); | 538 | vio_set_hostlp(); |
@@ -544,10 +545,11 @@ static int __init iseries_vio_init(void) | |||
544 | get_viocd_info(vio_root); | 545 | get_viocd_info(vio_root); |
545 | get_viotape_info(vio_root); | 546 | get_viotape_info(vio_root); |
546 | 547 | ||
547 | return 0; | 548 | ret = 0; |
548 | 549 | ||
549 | put_node: | 550 | put_node: |
550 | of_node_put(vio_root); | 551 | of_node_put(vio_root); |
551 | return -ENODEV; | 552 | out: |
553 | return ret; | ||
552 | } | 554 | } |
553 | arch_initcall(iseries_vio_init); | 555 | arch_initcall(iseries_vio_init); |
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c index 22322b35a0ff..fb3d636e088b 100644 --- a/arch/powerpc/platforms/pseries/eeh.c +++ b/arch/powerpc/platforms/pseries/eeh.c | |||
@@ -186,6 +186,11 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len) | |||
186 | n += scnprintf(buf+n, len-n, "cmd/stat:%x\n", cfg); | 186 | n += scnprintf(buf+n, len-n, "cmd/stat:%x\n", cfg); |
187 | printk(KERN_WARNING "EEH: PCI cmd/status register: %08x\n", cfg); | 187 | printk(KERN_WARNING "EEH: PCI cmd/status register: %08x\n", cfg); |
188 | 188 | ||
189 | if (!dev) { | ||
190 | printk(KERN_WARNING "EEH: no PCI device for this of node\n"); | ||
191 | return n; | ||
192 | } | ||
193 | |||
189 | /* Gather bridge-specific registers */ | 194 | /* Gather bridge-specific registers */ |
190 | if (dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) { | 195 | if (dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) { |
191 | rtas_read_config(pdn, PCI_SEC_STATUS, 2, &cfg); | 196 | rtas_read_config(pdn, PCI_SEC_STATUS, 2, &cfg); |
@@ -198,7 +203,7 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len) | |||
198 | } | 203 | } |
199 | 204 | ||
200 | /* Dump out the PCI-X command and status regs */ | 205 | /* Dump out the PCI-X command and status regs */ |
201 | cap = pci_find_capability(pdn->pcidev, PCI_CAP_ID_PCIX); | 206 | cap = pci_find_capability(dev, PCI_CAP_ID_PCIX); |
202 | if (cap) { | 207 | if (cap) { |
203 | rtas_read_config(pdn, cap, 4, &cfg); | 208 | rtas_read_config(pdn, cap, 4, &cfg); |
204 | n += scnprintf(buf+n, len-n, "pcix-cmd:%x\n", cfg); | 209 | n += scnprintf(buf+n, len-n, "pcix-cmd:%x\n", cfg); |
@@ -210,7 +215,7 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len) | |||
210 | } | 215 | } |
211 | 216 | ||
212 | /* If PCI-E capable, dump PCI-E cap 10, and the AER */ | 217 | /* If PCI-E capable, dump PCI-E cap 10, and the AER */ |
213 | cap = pci_find_capability(pdn->pcidev, PCI_CAP_ID_EXP); | 218 | cap = pci_find_capability(dev, PCI_CAP_ID_EXP); |
214 | if (cap) { | 219 | if (cap) { |
215 | n += scnprintf(buf+n, len-n, "pci-e cap10:\n"); | 220 | n += scnprintf(buf+n, len-n, "pci-e cap10:\n"); |
216 | printk(KERN_WARNING | 221 | printk(KERN_WARNING |
@@ -222,7 +227,7 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len) | |||
222 | printk(KERN_WARNING "EEH: PCI-E %02x: %08x\n", i, cfg); | 227 | printk(KERN_WARNING "EEH: PCI-E %02x: %08x\n", i, cfg); |
223 | } | 228 | } |
224 | 229 | ||
225 | cap = pci_find_ext_capability(pdn->pcidev, PCI_EXT_CAP_ID_ERR); | 230 | cap = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ERR); |
226 | if (cap) { | 231 | if (cap) { |
227 | n += scnprintf(buf+n, len-n, "pci-e AER:\n"); | 232 | n += scnprintf(buf+n, len-n, "pci-e AER:\n"); |
228 | printk(KERN_WARNING | 233 | printk(KERN_WARNING |
@@ -318,7 +323,7 @@ eeh_wait_for_slot_status(struct pci_dn *pdn, int max_wait_msecs) | |||
318 | 323 | ||
319 | if (rets[2] == 0) return -1; /* permanently unavailable */ | 324 | if (rets[2] == 0) return -1; /* permanently unavailable */ |
320 | 325 | ||
321 | if (max_wait_msecs <= 0) return -1; | 326 | if (max_wait_msecs <= 0) break; |
322 | 327 | ||
323 | mwait = rets[2]; | 328 | mwait = rets[2]; |
324 | if (mwait <= 0) { | 329 | if (mwait <= 0) { |
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c index 15e015ef6865..57e025e84ab4 100644 --- a/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/arch/powerpc/platforms/pseries/eeh_driver.c | |||
@@ -105,17 +105,18 @@ static void eeh_report_error(struct pci_dev *dev, void *userdata) | |||
105 | return; | 105 | return; |
106 | 106 | ||
107 | rc = driver->err_handler->error_detected (dev, pci_channel_io_frozen); | 107 | rc = driver->err_handler->error_detected (dev, pci_channel_io_frozen); |
108 | |||
109 | /* A driver that needs a reset trumps all others */ | ||
110 | if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
108 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; | 111 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; |
109 | if (*res == PCI_ERS_RESULT_DISCONNECT && | ||
110 | rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
111 | } | 112 | } |
112 | 113 | ||
113 | /** | 114 | /** |
114 | * eeh_report_mmio_enabled - tell drivers that MMIO has been enabled | 115 | * eeh_report_mmio_enabled - tell drivers that MMIO has been enabled |
115 | * | 116 | * |
116 | * Report an EEH error to each device driver, collect up and | 117 | * Tells each device driver that IO ports, MMIO and config space I/O |
117 | * merge the device driver responses. Cumulative response | 118 | * are now enabled. Collects up and merges the device driver responses. |
118 | * passed back in "userdata". | 119 | * Cumulative response passed back in "userdata". |
119 | */ | 120 | */ |
120 | 121 | ||
121 | static void eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata) | 122 | static void eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata) |
@@ -123,17 +124,16 @@ static void eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata) | |||
123 | enum pci_ers_result rc, *res = userdata; | 124 | enum pci_ers_result rc, *res = userdata; |
124 | struct pci_driver *driver = dev->driver; | 125 | struct pci_driver *driver = dev->driver; |
125 | 126 | ||
126 | // dev->error_state = pci_channel_mmio_enabled; | ||
127 | |||
128 | if (!driver || | 127 | if (!driver || |
129 | !driver->err_handler || | 128 | !driver->err_handler || |
130 | !driver->err_handler->mmio_enabled) | 129 | !driver->err_handler->mmio_enabled) |
131 | return; | 130 | return; |
132 | 131 | ||
133 | rc = driver->err_handler->mmio_enabled (dev); | 132 | rc = driver->err_handler->mmio_enabled (dev); |
133 | |||
134 | /* A driver that needs a reset trumps all others */ | ||
135 | if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
134 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; | 136 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; |
135 | if (*res == PCI_ERS_RESULT_DISCONNECT && | ||
136 | rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
137 | } | 137 | } |
138 | 138 | ||
139 | /** | 139 | /** |
diff --git a/arch/powerpc/platforms/pseries/firmware.c b/arch/powerpc/platforms/pseries/firmware.c index 8b18a1c40092..b765b7c77b65 100644 --- a/arch/powerpc/platforms/pseries/firmware.c +++ b/arch/powerpc/platforms/pseries/firmware.c | |||
@@ -25,6 +25,7 @@ | |||
25 | 25 | ||
26 | #include <asm/firmware.h> | 26 | #include <asm/firmware.h> |
27 | #include <asm/prom.h> | 27 | #include <asm/prom.h> |
28 | #include <asm/udbg.h> | ||
28 | 29 | ||
29 | #ifdef DEBUG | 30 | #ifdef DEBUG |
30 | #define DBG(fmt...) udbg_printf(fmt) | 31 | #define DBG(fmt...) udbg_printf(fmt) |
diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c index 2793a1b100e6..f15222bbe136 100644 --- a/arch/powerpc/platforms/pseries/msi.c +++ b/arch/powerpc/platforms/pseries/msi.c | |||
@@ -171,6 +171,7 @@ static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) | |||
171 | struct pci_dn *pdn; | 171 | struct pci_dn *pdn; |
172 | int hwirq, virq, i, rc; | 172 | int hwirq, virq, i, rc; |
173 | struct msi_desc *entry; | 173 | struct msi_desc *entry; |
174 | struct msi_msg msg; | ||
174 | 175 | ||
175 | pdn = get_pdn(pdev); | 176 | pdn = get_pdn(pdev); |
176 | if (!pdn) | 177 | if (!pdn) |
@@ -213,6 +214,11 @@ static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) | |||
213 | 214 | ||
214 | dev_dbg(&pdev->dev, "rtas_msi: allocated virq %d\n", virq); | 215 | dev_dbg(&pdev->dev, "rtas_msi: allocated virq %d\n", virq); |
215 | set_irq_msi(virq, entry); | 216 | set_irq_msi(virq, entry); |
217 | |||
218 | /* Read config space back so we can restore after reset */ | ||
219 | read_msi_msg(virq, &msg); | ||
220 | entry->msg = msg; | ||
221 | |||
216 | unmask_msi_irq(virq); | 222 | unmask_msi_irq(virq); |
217 | } | 223 | } |
218 | 224 | ||
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c index 7c1b27ac7d3c..216c0f5680d2 100644 --- a/arch/powerpc/sysdev/i8259.c +++ b/arch/powerpc/sysdev/i8259.c | |||
@@ -137,6 +137,7 @@ static void i8259_unmask_irq(unsigned int irq_nr) | |||
137 | static struct irq_chip i8259_pic = { | 137 | static struct irq_chip i8259_pic = { |
138 | .typename = " i8259 ", | 138 | .typename = " i8259 ", |
139 | .mask = i8259_mask_irq, | 139 | .mask = i8259_mask_irq, |
140 | .disable = i8259_mask_irq, | ||
140 | .unmask = i8259_unmask_irq, | 141 | .unmask = i8259_unmask_irq, |
141 | .mask_ack = i8259_mask_and_ack_irq, | 142 | .mask_ack = i8259_mask_and_ack_irq, |
142 | }; | 143 | }; |
diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c index 9b3baa7317d7..6933f9c73b43 100644 --- a/arch/powerpc/sysdev/mv64x60_pci.c +++ b/arch/powerpc/sysdev/mv64x60_pci.c | |||
@@ -24,8 +24,9 @@ | |||
24 | #define MV64X60_VAL_LEN_MAX 11 | 24 | #define MV64X60_VAL_LEN_MAX 11 |
25 | #define MV64X60_PCICFG_CPCI_HOTSWAP 0x68 | 25 | #define MV64X60_PCICFG_CPCI_HOTSWAP 0x68 |
26 | 26 | ||
27 | static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, char *buf, loff_t off, | 27 | static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, |
28 | size_t count) | 28 | struct bin_attribute *attr, char *buf, |
29 | loff_t off, size_t count) | ||
29 | { | 30 | { |
30 | struct pci_dev *phb; | 31 | struct pci_dev *phb; |
31 | u32 v; | 32 | u32 v; |
@@ -44,8 +45,9 @@ static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, char *buf, loff_t off, | |||
44 | return sprintf(buf, "0x%08x\n", v); | 45 | return sprintf(buf, "0x%08x\n", v); |
45 | } | 46 | } |
46 | 47 | ||
47 | static ssize_t mv64x60_hs_reg_write(struct kobject *kobj, char *buf, loff_t off, | 48 | static ssize_t mv64x60_hs_reg_write(struct kobject *kobj, |
48 | size_t count) | 49 | struct bin_attribute *attr, char *buf, |
50 | loff_t off, size_t count) | ||
49 | { | 51 | { |
50 | struct pci_dev *phb; | 52 | struct pci_dev *phb; |
51 | u32 v; | 53 | u32 v; |
diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S index fba7ca17a67e..b19bfef2034d 100644 --- a/arch/ppc/kernel/entry.S +++ b/arch/ppc/kernel/entry.S | |||
@@ -244,6 +244,13 @@ syscall_exit_cont: | |||
244 | andis. r10,r0,DBCR0_IC@h | 244 | andis. r10,r0,DBCR0_IC@h |
245 | bnel- load_dbcr0 | 245 | bnel- load_dbcr0 |
246 | #endif | 246 | #endif |
247 | #ifdef CONFIG_44x | ||
248 | lis r4,icache_44x_need_flush@ha | ||
249 | lwz r5,icache_44x_need_flush@l(r4) | ||
250 | cmplwi cr0,r5,0 | ||
251 | bne- 2f | ||
252 | 1: | ||
253 | #endif /* CONFIG_44x */ | ||
247 | stwcx. r0,0,r1 /* to clear the reservation */ | 254 | stwcx. r0,0,r1 /* to clear the reservation */ |
248 | lwz r4,_LINK(r1) | 255 | lwz r4,_LINK(r1) |
249 | lwz r5,_CCR(r1) | 256 | lwz r5,_CCR(r1) |
@@ -258,6 +265,12 @@ syscall_exit_cont: | |||
258 | mtspr SPRN_SRR1,r8 | 265 | mtspr SPRN_SRR1,r8 |
259 | SYNC | 266 | SYNC |
260 | RFI | 267 | RFI |
268 | #ifdef CONFIG_44x | ||
269 | 2: li r7,0 | ||
270 | iccci r0,r0 | ||
271 | stw r7,icache_44x_need_flush@l(r4) | ||
272 | b 1b | ||
273 | #endif /* CONFIG_44x */ | ||
261 | 274 | ||
262 | 66: li r3,-ENOSYS | 275 | 66: li r3,-ENOSYS |
263 | b ret_from_syscall | 276 | b ret_from_syscall |
@@ -679,6 +692,16 @@ resume_kernel: | |||
679 | 692 | ||
680 | /* interrupts are hard-disabled at this point */ | 693 | /* interrupts are hard-disabled at this point */ |
681 | restore: | 694 | restore: |
695 | #ifdef CONFIG_44x | ||
696 | lis r4,icache_44x_need_flush@ha | ||
697 | lwz r5,icache_44x_need_flush@l(r4) | ||
698 | cmplwi cr0,r5,0 | ||
699 | beq+ 1f | ||
700 | li r6,0 | ||
701 | iccci r0,r0 | ||
702 | stw r6,icache_44x_need_flush@l(r4) | ||
703 | 1: | ||
704 | #endif /* CONFIG_44x */ | ||
682 | lwz r0,GPR0(r1) | 705 | lwz r0,GPR0(r1) |
683 | lwz r2,GPR2(r1) | 706 | lwz r2,GPR2(r1) |
684 | REST_4GPRS(3, r1) | 707 | REST_4GPRS(3, r1) |
diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S index a22e1f4d94c8..e0c850d85c53 100644 --- a/arch/ppc/kernel/misc.S +++ b/arch/ppc/kernel/misc.S | |||
@@ -224,7 +224,16 @@ _GLOBAL(_tlbia) | |||
224 | */ | 224 | */ |
225 | _GLOBAL(_tlbie) | 225 | _GLOBAL(_tlbie) |
226 | #if defined(CONFIG_40x) | 226 | #if defined(CONFIG_40x) |
227 | /* We run the search with interrupts disabled because we have to change | ||
228 | * the PID and I don't want to preempt when that happens. | ||
229 | */ | ||
230 | mfmsr r5 | ||
231 | mfspr r6,SPRN_PID | ||
232 | wrteei 0 | ||
233 | mtspr SPRN_PID,r4 | ||
227 | tlbsx. r3, 0, r3 | 234 | tlbsx. r3, 0, r3 |
235 | mtspr SPRN_PID,r6 | ||
236 | wrtee r5 | ||
228 | bne 10f | 237 | bne 10f |
229 | sync | 238 | sync |
230 | /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear. | 239 | /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear. |
@@ -234,22 +243,21 @@ _GLOBAL(_tlbie) | |||
234 | isync | 243 | isync |
235 | 10: | 244 | 10: |
236 | #elif defined(CONFIG_44x) | 245 | #elif defined(CONFIG_44x) |
237 | mfspr r4,SPRN_MMUCR | 246 | mfspr r5,SPRN_MMUCR |
238 | mfspr r5,SPRN_PID /* Get PID */ | 247 | rlwimi r5,r4,0,24,31 /* Set TID */ |
239 | rlwimi r4,r5,0,24,31 /* Set TID */ | ||
240 | 248 | ||
241 | /* We have to run the search with interrupts disabled, even critical | 249 | /* We have to run the search with interrupts disabled, even critical |
242 | * and debug interrupts (in fact the only critical exceptions we have | 250 | * and debug interrupts (in fact the only critical exceptions we have |
243 | * are debug and machine check). Otherwise an interrupt which causes | 251 | * are debug and machine check). Otherwise an interrupt which causes |
244 | * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */ | 252 | * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */ |
245 | mfmsr r5 | 253 | mfmsr r4 |
246 | lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha | 254 | lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha |
247 | addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l | 255 | addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l |
248 | andc r6,r5,r6 | 256 | andc r6,r4,r6 |
249 | mtmsr r6 | 257 | mtmsr r6 |
250 | mtspr SPRN_MMUCR,r4 | 258 | mtspr SPRN_MMUCR,r5 |
251 | tlbsx. r3, 0, r3 | 259 | tlbsx. r3, 0, r3 |
252 | mtmsr r5 | 260 | mtmsr r4 |
253 | bne 10f | 261 | bne 10f |
254 | sync | 262 | sync |
255 | /* There are only 64 TLB entries, so r3 < 64, | 263 | /* There are only 64 TLB entries, so r3 < 64, |
@@ -491,12 +499,21 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
491 | addi r3,r3,L1_CACHE_BYTES | 499 | addi r3,r3,L1_CACHE_BYTES |
492 | bdnz 0b | 500 | bdnz 0b |
493 | sync | 501 | sync |
502 | #ifndef CONFIG_44x | ||
503 | /* We don't flush the icache on 44x. Those have a virtual icache | ||
504 | * and we don't have access to the virtual address here (it's | ||
505 | * not the page vaddr but where it's mapped in user space). The | ||
506 | * flushing of the icache on these is handled elsewhere, when | ||
507 | * a change in the address space occurs, before returning to | ||
508 | * user space | ||
509 | */ | ||
494 | mtctr r4 | 510 | mtctr r4 |
495 | 1: icbi 0,r6 | 511 | 1: icbi 0,r6 |
496 | addi r6,r6,L1_CACHE_BYTES | 512 | addi r6,r6,L1_CACHE_BYTES |
497 | bdnz 1b | 513 | bdnz 1b |
498 | sync | 514 | sync |
499 | isync | 515 | isync |
516 | #endif /* CONFIG_44x */ | ||
500 | blr | 517 | blr |
501 | 518 | ||
502 | /* | 519 | /* |
diff --git a/arch/ppc/mm/44x_mmu.c b/arch/ppc/mm/44x_mmu.c index 0a0a0487b334..6536a25cfcb8 100644 --- a/arch/ppc/mm/44x_mmu.c +++ b/arch/ppc/mm/44x_mmu.c | |||
@@ -61,6 +61,7 @@ extern char etext[], _stext[]; | |||
61 | */ | 61 | */ |
62 | unsigned int tlb_44x_index = 0; | 62 | unsigned int tlb_44x_index = 0; |
63 | unsigned int tlb_44x_hwater = 62; | 63 | unsigned int tlb_44x_hwater = 62; |
64 | int icache_44x_need_flush; | ||
64 | 65 | ||
65 | /* | 66 | /* |
66 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem | 67 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem |
diff --git a/arch/ppc/mm/4xx_mmu.c b/arch/ppc/mm/4xx_mmu.c index 838e09db71d9..ea785dbaac7c 100644 --- a/arch/ppc/mm/4xx_mmu.c +++ b/arch/ppc/mm/4xx_mmu.c | |||
@@ -99,13 +99,12 @@ unsigned long __init mmu_mapin_ram(void) | |||
99 | 99 | ||
100 | v = KERNELBASE; | 100 | v = KERNELBASE; |
101 | p = PPC_MEMSTART; | 101 | p = PPC_MEMSTART; |
102 | s = 0; | 102 | s = total_lowmem; |
103 | 103 | ||
104 | if (__map_without_ltlbs) { | 104 | if (__map_without_ltlbs) |
105 | return s; | 105 | return 0; |
106 | } | ||
107 | 106 | ||
108 | while (s <= (total_lowmem - LARGE_PAGE_SIZE_16M)) { | 107 | while (s >= LARGE_PAGE_SIZE_16M) { |
109 | pmd_t *pmdp; | 108 | pmd_t *pmdp; |
110 | unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; | 109 | unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; |
111 | 110 | ||
@@ -117,10 +116,10 @@ unsigned long __init mmu_mapin_ram(void) | |||
117 | 116 | ||
118 | v += LARGE_PAGE_SIZE_16M; | 117 | v += LARGE_PAGE_SIZE_16M; |
119 | p += LARGE_PAGE_SIZE_16M; | 118 | p += LARGE_PAGE_SIZE_16M; |
120 | s += LARGE_PAGE_SIZE_16M; | 119 | s -= LARGE_PAGE_SIZE_16M; |
121 | } | 120 | } |
122 | 121 | ||
123 | while (s <= (total_lowmem - LARGE_PAGE_SIZE_4M)) { | 122 | while (s >= LARGE_PAGE_SIZE_4M) { |
124 | pmd_t *pmdp; | 123 | pmd_t *pmdp; |
125 | unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; | 124 | unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; |
126 | 125 | ||
@@ -129,8 +128,8 @@ unsigned long __init mmu_mapin_ram(void) | |||
129 | 128 | ||
130 | v += LARGE_PAGE_SIZE_4M; | 129 | v += LARGE_PAGE_SIZE_4M; |
131 | p += LARGE_PAGE_SIZE_4M; | 130 | p += LARGE_PAGE_SIZE_4M; |
132 | s += LARGE_PAGE_SIZE_4M; | 131 | s -= LARGE_PAGE_SIZE_4M; |
133 | } | 132 | } |
134 | 133 | ||
135 | return s; | 134 | return total_lowmem - s; |
136 | } | 135 | } |
diff --git a/arch/ppc/mm/fault.c b/arch/ppc/mm/fault.c index 254c23b755e6..36c0e7529edb 100644 --- a/arch/ppc/mm/fault.c +++ b/arch/ppc/mm/fault.c | |||
@@ -227,7 +227,7 @@ good_area: | |||
227 | set_bit(PG_arch_1, &page->flags); | 227 | set_bit(PG_arch_1, &page->flags); |
228 | } | 228 | } |
229 | pte_update(ptep, 0, _PAGE_HWEXEC); | 229 | pte_update(ptep, 0, _PAGE_HWEXEC); |
230 | _tlbie(address); | 230 | _tlbie(address, mm->context.id); |
231 | pte_unmap_unlock(ptep, ptl); | 231 | pte_unmap_unlock(ptep, ptl); |
232 | up_read(&mm->mmap_sem); | 232 | up_read(&mm->mmap_sem); |
233 | return 0; | 233 | return 0; |
diff --git a/arch/ppc/mm/mmu_decl.h b/arch/ppc/mm/mmu_decl.h index 540f3292b229..f1d4f2109a99 100644 --- a/arch/ppc/mm/mmu_decl.h +++ b/arch/ppc/mm/mmu_decl.h | |||
@@ -54,12 +54,12 @@ extern unsigned int num_tlbcam_entries; | |||
54 | #define mmu_mapin_ram() (0UL) | 54 | #define mmu_mapin_ram() (0UL) |
55 | 55 | ||
56 | #elif defined(CONFIG_4xx) | 56 | #elif defined(CONFIG_4xx) |
57 | #define flush_HPTE(X, va, pg) _tlbie(va) | 57 | #define flush_HPTE(pid, va, pg) _tlbie(va, pid) |
58 | extern void MMU_init_hw(void); | 58 | extern void MMU_init_hw(void); |
59 | extern unsigned long mmu_mapin_ram(void); | 59 | extern unsigned long mmu_mapin_ram(void); |
60 | 60 | ||
61 | #elif defined(CONFIG_FSL_BOOKE) | 61 | #elif defined(CONFIG_FSL_BOOKE) |
62 | #define flush_HPTE(X, va, pg) _tlbie(va) | 62 | #define flush_HPTE(pid, va, pg) _tlbie(va, pid) |
63 | extern void MMU_init_hw(void); | 63 | extern void MMU_init_hw(void); |
64 | extern unsigned long mmu_mapin_ram(void); | 64 | extern unsigned long mmu_mapin_ram(void); |
65 | extern void adjust_total_lowmem(void); | 65 | extern void adjust_total_lowmem(void); |
diff --git a/arch/ppc/platforms/4xx/ebony.c b/arch/ppc/platforms/4xx/ebony.c index 05d7184d7e14..453643a0eeea 100644 --- a/arch/ppc/platforms/4xx/ebony.c +++ b/arch/ppc/platforms/4xx/ebony.c | |||
@@ -236,7 +236,7 @@ ebony_early_serial_map(void) | |||
236 | gen550_init(0, &port); | 236 | gen550_init(0, &port); |
237 | 237 | ||
238 | /* Purge TLB entry added in head_44x.S for early serial access */ | 238 | /* Purge TLB entry added in head_44x.S for early serial access */ |
239 | _tlbie(UART0_IO_BASE); | 239 | _tlbie(UART0_IO_BASE, 0); |
240 | #endif | 240 | #endif |
241 | 241 | ||
242 | port.membase = ioremap64(PPC440GP_UART1_ADDR, 8); | 242 | port.membase = ioremap64(PPC440GP_UART1_ADDR, 8); |
diff --git a/arch/ppc/platforms/4xx/luan.c b/arch/ppc/platforms/4xx/luan.c index 4b169610f154..b79ebb8a3e6c 100644 --- a/arch/ppc/platforms/4xx/luan.c +++ b/arch/ppc/platforms/4xx/luan.c | |||
@@ -230,9 +230,14 @@ luan_setup_hoses(void) | |||
230 | 230 | ||
231 | /* Allocate hoses for PCIX1 and PCIX2 */ | 231 | /* Allocate hoses for PCIX1 and PCIX2 */ |
232 | hose1 = pcibios_alloc_controller(); | 232 | hose1 = pcibios_alloc_controller(); |
233 | if (!hose1) | ||
234 | return; | ||
235 | |||
233 | hose2 = pcibios_alloc_controller(); | 236 | hose2 = pcibios_alloc_controller(); |
234 | if (!hose1 || !hose2) | 237 | if (!hose2) { |
238 | pcibios_free_controller(hose1); | ||
235 | return; | 239 | return; |
240 | } | ||
236 | 241 | ||
237 | /* Setup PCIX1 */ | 242 | /* Setup PCIX1 */ |
238 | hose1->first_busno = 0; | 243 | hose1->first_busno = 0; |
diff --git a/arch/ppc/platforms/4xx/ocotea.c b/arch/ppc/platforms/4xx/ocotea.c index fd0f971881d6..28a712cd4800 100644 --- a/arch/ppc/platforms/4xx/ocotea.c +++ b/arch/ppc/platforms/4xx/ocotea.c | |||
@@ -259,7 +259,7 @@ ocotea_early_serial_map(void) | |||
259 | gen550_init(0, &port); | 259 | gen550_init(0, &port); |
260 | 260 | ||
261 | /* Purge TLB entry added in head_44x.S for early serial access */ | 261 | /* Purge TLB entry added in head_44x.S for early serial access */ |
262 | _tlbie(UART0_IO_BASE); | 262 | _tlbie(UART0_IO_BASE, 0); |
263 | #endif | 263 | #endif |
264 | 264 | ||
265 | port.membase = ioremap64(PPC440GX_UART1_ADDR, 8); | 265 | port.membase = ioremap64(PPC440GX_UART1_ADDR, 8); |
diff --git a/arch/ppc/platforms/4xx/taishan.c b/arch/ppc/platforms/4xx/taishan.c index 888c492b4a45..f6a0c6650f33 100644 --- a/arch/ppc/platforms/4xx/taishan.c +++ b/arch/ppc/platforms/4xx/taishan.c | |||
@@ -316,7 +316,7 @@ taishan_early_serial_map(void) | |||
316 | gen550_init(0, &port); | 316 | gen550_init(0, &port); |
317 | 317 | ||
318 | /* Purge TLB entry added in head_44x.S for early serial access */ | 318 | /* Purge TLB entry added in head_44x.S for early serial access */ |
319 | _tlbie(UART0_IO_BASE); | 319 | _tlbie(UART0_IO_BASE, 0); |
320 | #endif | 320 | #endif |
321 | 321 | ||
322 | port.membase = ioremap64(PPC440GX_UART1_ADDR, 8); | 322 | port.membase = ioremap64(PPC440GX_UART1_ADDR, 8); |
diff --git a/arch/ppc/syslib/i8259.c b/arch/ppc/syslib/i8259.c index 1e5a00a4b5f5..559f27c6aefe 100644 --- a/arch/ppc/syslib/i8259.c +++ b/arch/ppc/syslib/i8259.c | |||
@@ -127,6 +127,7 @@ static void i8259_unmask_irq(unsigned int irq_nr) | |||
127 | static struct irq_chip i8259_pic = { | 127 | static struct irq_chip i8259_pic = { |
128 | .typename = " i8259 ", | 128 | .typename = " i8259 ", |
129 | .mask = i8259_mask_irq, | 129 | .mask = i8259_mask_irq, |
130 | .disable = i8259_mask_irq, | ||
130 | .unmask = i8259_unmask_irq, | 131 | .unmask = i8259_unmask_irq, |
131 | .mask_ack = i8259_mask_and_ack_irq, | 132 | .mask_ack = i8259_mask_and_ack_irq, |
132 | }; | 133 | }; |
diff --git a/arch/ppc/syslib/m8260_setup.c b/arch/ppc/syslib/m8260_setup.c index 15f0d7323535..46588fa94381 100644 --- a/arch/ppc/syslib/m8260_setup.c +++ b/arch/ppc/syslib/m8260_setup.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <asm/machdep.h> | 25 | #include <asm/machdep.h> |
26 | #include <asm/bootinfo.h> | 26 | #include <asm/bootinfo.h> |
27 | #include <asm/time.h> | 27 | #include <asm/time.h> |
28 | #include <asm/ppc_sys.h> | ||
28 | 29 | ||
29 | #include "cpm2_pic.h" | 30 | #include "cpm2_pic.h" |
30 | 31 | ||
@@ -61,7 +62,7 @@ m8260_setup_arch(void) | |||
61 | #endif | 62 | #endif |
62 | 63 | ||
63 | identify_ppc_sys_by_name_and_id(BOARD_CHIP_NAME, | 64 | identify_ppc_sys_by_name_and_id(BOARD_CHIP_NAME, |
64 | in_be32(CPM_MAP_ADDR + CPM_IMMR_OFFSET)); | 65 | in_be32((void *)CPM_MAP_ADDR + CPM_IMMR_OFFSET)); |
65 | 66 | ||
66 | m82xx_board_setup(); | 67 | m82xx_board_setup(); |
67 | } | 68 | } |
@@ -147,12 +148,12 @@ m8260_show_cpuinfo(struct seq_file *m) | |||
147 | seq_printf(m, "vendor\t\t: %s\n" | 148 | seq_printf(m, "vendor\t\t: %s\n" |
148 | "machine\t\t: %s\n" | 149 | "machine\t\t: %s\n" |
149 | "\n" | 150 | "\n" |
150 | "mem size\t\t: 0x%08x\n" | 151 | "mem size\t\t: 0x%08lx\n" |
151 | "console baud\t\t: %d\n" | 152 | "console baud\t\t: %ld\n" |
152 | "\n" | 153 | "\n" |
153 | "core clock\t: %u MHz\n" | 154 | "core clock\t: %lu MHz\n" |
154 | "CPM clock\t: %u MHz\n" | 155 | "CPM clock\t: %lu MHz\n" |
155 | "bus clock\t: %u MHz\n", | 156 | "bus clock\t: %lu MHz\n", |
156 | CPUINFO_VENDOR, CPUINFO_MACHINE, bp->bi_memsize, | 157 | CPUINFO_VENDOR, CPUINFO_MACHINE, bp->bi_memsize, |
157 | bp->bi_baudrate, bp->bi_intfreq / 1000000, | 158 | bp->bi_baudrate, bp->bi_intfreq / 1000000, |
158 | bp->bi_cpmfreq / 1000000, bp->bi_busfreq / 1000000); | 159 | bp->bi_cpmfreq / 1000000, bp->bi_busfreq / 1000000); |
diff --git a/drivers/macintosh/windfarm_core.c b/drivers/macintosh/windfarm_core.c index 516d943227e2..075b4d99e354 100644 --- a/drivers/macintosh/windfarm_core.c +++ b/drivers/macintosh/windfarm_core.c | |||
@@ -94,7 +94,9 @@ static int wf_thread_func(void *data) | |||
94 | DBG("wf: thread started\n"); | 94 | DBG("wf: thread started\n"); |
95 | 95 | ||
96 | set_freezable(); | 96 | set_freezable(); |
97 | while(!kthread_should_stop()) { | 97 | while (!kthread_should_stop()) { |
98 | try_to_freeze(); | ||
99 | |||
98 | if (time_after_eq(jiffies, next)) { | 100 | if (time_after_eq(jiffies, next)) { |
99 | wf_notify(WF_EVENT_TICK, NULL); | 101 | wf_notify(WF_EVENT_TICK, NULL); |
100 | if (wf_overtemp) { | 102 | if (wf_overtemp) { |
@@ -116,12 +118,6 @@ static int wf_thread_func(void *data) | |||
116 | delay = next - jiffies; | 118 | delay = next - jiffies; |
117 | if (delay <= HZ) | 119 | if (delay <= HZ) |
118 | schedule_timeout_interruptible(delay); | 120 | schedule_timeout_interruptible(delay); |
119 | |||
120 | /* there should be no non-suspend signal, but oh well */ | ||
121 | if (signal_pending(current) && !try_to_freeze()) { | ||
122 | printk(KERN_WARNING "windfarm: thread got sigl !\n"); | ||
123 | break; | ||
124 | } | ||
125 | } | 121 | } |
126 | 122 | ||
127 | DBG("wf: thread stopped\n"); | 123 | DBG("wf: thread stopped\n"); |
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c index dfef83f14960..a85f2d31a686 100644 --- a/drivers/serial/uartlite.c +++ b/drivers/serial/uartlite.c | |||
@@ -329,12 +329,14 @@ static struct uart_ops ulite_ops = { | |||
329 | static void ulite_console_wait_tx(struct uart_port *port) | 329 | static void ulite_console_wait_tx(struct uart_port *port) |
330 | { | 330 | { |
331 | int i; | 331 | int i; |
332 | u8 val; | ||
332 | 333 | ||
333 | /* wait up to 10ms for the character(s) to be sent */ | 334 | /* Spin waiting for TX fifo to have space available */ |
334 | for (i = 0; i < 10000; i++) { | 335 | for (i = 0; i < 100000; i++) { |
335 | if (readb(port->membase + ULITE_STATUS) & ULITE_STATUS_TXEMPTY) | 336 | val = readb(port->membase + ULITE_STATUS); |
337 | if ((val & ULITE_STATUS_TXFULL) == 0) | ||
336 | break; | 338 | break; |
337 | udelay(1); | 339 | cpu_relax(); |
338 | } | 340 | } |
339 | } | 341 | } |
340 | 342 | ||
diff --git a/include/asm-powerpc/pgtable-ppc32.h b/include/asm-powerpc/pgtable-ppc32.h index 86a54a4a8a2a..fea2d8ff1e73 100644 --- a/include/asm-powerpc/pgtable-ppc32.h +++ b/include/asm-powerpc/pgtable-ppc32.h | |||
@@ -11,6 +11,11 @@ | |||
11 | extern unsigned long va_to_phys(unsigned long address); | 11 | extern unsigned long va_to_phys(unsigned long address); |
12 | extern pte_t *va_to_pte(unsigned long address); | 12 | extern pte_t *va_to_pte(unsigned long address); |
13 | extern unsigned long ioremap_bot, ioremap_base; | 13 | extern unsigned long ioremap_bot, ioremap_base; |
14 | |||
15 | #ifdef CONFIG_44x | ||
16 | extern int icache_44x_need_flush; | ||
17 | #endif | ||
18 | |||
14 | #endif /* __ASSEMBLY__ */ | 19 | #endif /* __ASSEMBLY__ */ |
15 | 20 | ||
16 | /* | 21 | /* |
@@ -562,6 +567,10 @@ static inline unsigned long pte_update(pte_t *p, unsigned long clr, | |||
562 | : "=&r" (old), "=&r" (tmp), "=m" (*p) | 567 | : "=&r" (old), "=&r" (tmp), "=m" (*p) |
563 | : "r" (p), "r" (clr), "r" (set), "m" (*p) | 568 | : "r" (p), "r" (clr), "r" (set), "m" (*p) |
564 | : "cc" ); | 569 | : "cc" ); |
570 | #ifdef CONFIG_44x | ||
571 | if ((old & _PAGE_USER) && (old & _PAGE_HWEXEC)) | ||
572 | icache_44x_need_flush = 1; | ||
573 | #endif | ||
565 | return old; | 574 | return old; |
566 | } | 575 | } |
567 | #else | 576 | #else |
@@ -582,6 +591,10 @@ static inline unsigned long long pte_update(pte_t *p, unsigned long clr, | |||
582 | : "=&r" (old), "=&r" (tmp), "=m" (*p) | 591 | : "=&r" (old), "=&r" (tmp), "=m" (*p) |
583 | : "r" (p), "r" ((unsigned long)(p) + 4), "r" (clr), "r" (set), "m" (*p) | 592 | : "r" (p), "r" ((unsigned long)(p) + 4), "r" (clr), "r" (set), "m" (*p) |
584 | : "cc" ); | 593 | : "cc" ); |
594 | #ifdef CONFIG_44x | ||
595 | if ((old & _PAGE_USER) && (old & _PAGE_HWEXEC)) | ||
596 | icache_44x_need_flush = 1; | ||
597 | #endif | ||
585 | return old; | 598 | return old; |
586 | } | 599 | } |
587 | #endif | 600 | #endif |
diff --git a/include/asm-powerpc/systbl.h b/include/asm-powerpc/systbl.h index cc6d87228258..11d5383b2f09 100644 --- a/include/asm-powerpc/systbl.h +++ b/include/asm-powerpc/systbl.h | |||
@@ -308,8 +308,8 @@ COMPAT_SYS_SPU(move_pages) | |||
308 | SYSCALL_SPU(getcpu) | 308 | SYSCALL_SPU(getcpu) |
309 | COMPAT_SYS(epoll_pwait) | 309 | COMPAT_SYS(epoll_pwait) |
310 | COMPAT_SYS_SPU(utimensat) | 310 | COMPAT_SYS_SPU(utimensat) |
311 | COMPAT_SYS(fallocate) | ||
312 | COMPAT_SYS_SPU(signalfd) | 311 | COMPAT_SYS_SPU(signalfd) |
313 | COMPAT_SYS_SPU(timerfd) | 312 | COMPAT_SYS_SPU(timerfd) |
314 | SYSCALL_SPU(eventfd) | 313 | SYSCALL_SPU(eventfd) |
315 | COMPAT_SYS_SPU(sync_file_range2) | 314 | COMPAT_SYS_SPU(sync_file_range2) |
315 | COMPAT_SYS(fallocate) | ||
diff --git a/include/asm-powerpc/time.h b/include/asm-powerpc/time.h index f05895522f7f..780f82642756 100644 --- a/include/asm-powerpc/time.h +++ b/include/asm-powerpc/time.h | |||
@@ -176,25 +176,31 @@ static inline unsigned int get_dec(void) | |||
176 | #endif | 176 | #endif |
177 | } | 177 | } |
178 | 178 | ||
179 | /* | ||
180 | * Note: Book E and 4xx processors differ from other PowerPC processors | ||
181 | * in when the decrementer generates its interrupt: on the 1 to 0 | ||
182 | * transition for Book E/4xx, but on the 0 to -1 transition for others. | ||
183 | */ | ||
179 | static inline void set_dec(int val) | 184 | static inline void set_dec(int val) |
180 | { | 185 | { |
181 | #if defined(CONFIG_40x) | 186 | #if defined(CONFIG_40x) |
182 | mtspr(SPRN_PIT, val); | 187 | mtspr(SPRN_PIT, val); |
183 | #elif defined(CONFIG_8xx_CPU6) | 188 | #elif defined(CONFIG_8xx_CPU6) |
184 | set_dec_cpu6(val); | 189 | set_dec_cpu6(val - 1); |
185 | #else | 190 | #else |
191 | #ifndef CONFIG_BOOKE | ||
192 | --val; | ||
193 | #endif | ||
186 | #ifdef CONFIG_PPC_ISERIES | 194 | #ifdef CONFIG_PPC_ISERIES |
187 | int cur_dec; | ||
188 | |||
189 | if (firmware_has_feature(FW_FEATURE_ISERIES) && | 195 | if (firmware_has_feature(FW_FEATURE_ISERIES) && |
190 | get_lppaca()->shared_proc) { | 196 | get_lppaca()->shared_proc) { |
191 | get_lppaca()->virtual_decr = val; | 197 | get_lppaca()->virtual_decr = val; |
192 | cur_dec = get_dec(); | 198 | if (get_dec() > val) |
193 | if (cur_dec > val) | ||
194 | HvCall_setVirtualDecr(); | 199 | HvCall_setVirtualDecr(); |
195 | } else | 200 | return; |
201 | } | ||
196 | #endif | 202 | #endif |
197 | mtspr(SPRN_DEC, val); | 203 | mtspr(SPRN_DEC, val); |
198 | #endif /* not 40x or 8xx_CPU6 */ | 204 | #endif /* not 40x or 8xx_CPU6 */ |
199 | } | 205 | } |
200 | 206 | ||
diff --git a/include/asm-powerpc/tlbflush.h b/include/asm-powerpc/tlbflush.h index b6b036ccee34..e7b4c0d298ae 100644 --- a/include/asm-powerpc/tlbflush.h +++ b/include/asm-powerpc/tlbflush.h | |||
@@ -1,5 +1,6 @@ | |||
1 | #ifndef _ASM_POWERPC_TLBFLUSH_H | 1 | #ifndef _ASM_POWERPC_TLBFLUSH_H |
2 | #define _ASM_POWERPC_TLBFLUSH_H | 2 | #define _ASM_POWERPC_TLBFLUSH_H |
3 | |||
3 | /* | 4 | /* |
4 | * TLB flushing: | 5 | * TLB flushing: |
5 | * | 6 | * |
@@ -16,9 +17,6 @@ | |||
16 | */ | 17 | */ |
17 | #ifdef __KERNEL__ | 18 | #ifdef __KERNEL__ |
18 | 19 | ||
19 | struct mm_struct; | ||
20 | struct vm_area_struct; | ||
21 | |||
22 | #if defined(CONFIG_4xx) || defined(CONFIG_8xx) || defined(CONFIG_FSL_BOOKE) | 20 | #if defined(CONFIG_4xx) || defined(CONFIG_8xx) || defined(CONFIG_FSL_BOOKE) |
23 | /* | 21 | /* |
24 | * TLB flushing for software loaded TLB chips | 22 | * TLB flushing for software loaded TLB chips |
@@ -28,7 +26,9 @@ struct vm_area_struct; | |||
28 | * specific tlbie's | 26 | * specific tlbie's |
29 | */ | 27 | */ |
30 | 28 | ||
31 | extern void _tlbie(unsigned long address); | 29 | #include <linux/mm.h> |
30 | |||
31 | extern void _tlbie(unsigned long address, unsigned int pid); | ||
32 | 32 | ||
33 | #if defined(CONFIG_40x) || defined(CONFIG_8xx) | 33 | #if defined(CONFIG_40x) || defined(CONFIG_8xx) |
34 | #define _tlbia() asm volatile ("tlbia; sync" : : : "memory") | 34 | #define _tlbia() asm volatile ("tlbia; sync" : : : "memory") |
@@ -44,13 +44,13 @@ static inline void flush_tlb_mm(struct mm_struct *mm) | |||
44 | static inline void flush_tlb_page(struct vm_area_struct *vma, | 44 | static inline void flush_tlb_page(struct vm_area_struct *vma, |
45 | unsigned long vmaddr) | 45 | unsigned long vmaddr) |
46 | { | 46 | { |
47 | _tlbie(vmaddr); | 47 | _tlbie(vmaddr, vma->vm_mm->context.id); |
48 | } | 48 | } |
49 | 49 | ||
50 | static inline void flush_tlb_page_nohash(struct vm_area_struct *vma, | 50 | static inline void flush_tlb_page_nohash(struct vm_area_struct *vma, |
51 | unsigned long vmaddr) | 51 | unsigned long vmaddr) |
52 | { | 52 | { |
53 | _tlbie(vmaddr); | 53 | _tlbie(vmaddr, vma->vm_mm->context.id); |
54 | } | 54 | } |
55 | 55 | ||
56 | static inline void flush_tlb_range(struct vm_area_struct *vma, | 56 | static inline void flush_tlb_range(struct vm_area_struct *vma, |