diff options
| -rw-r--r-- | Documentation/powerpc/bootwrapper.txt | 141 | ||||
| -rw-r--r-- | arch/powerpc/Kconfig | 13 | ||||
| -rw-r--r-- | arch/powerpc/Makefile | 15 | ||||
| -rw-r--r-- | arch/powerpc/boot/Makefile | 5 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/virtex440-ml507.dts | 296 | ||||
| -rw-r--r-- | arch/powerpc/boot/simpleboot.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/boot/virtex.c | 100 | ||||
| -rwxr-xr-x | arch/powerpc/boot/wrapper | 10 | ||||
| -rw-r--r-- | arch/powerpc/configs/44x/virtex5_defconfig | 1107 | ||||
| -rw-r--r-- | arch/powerpc/configs/ppc44x_defconfig | 149 | ||||
| -rw-r--r-- | arch/powerpc/kernel/cputable.c | 10 | ||||
| -rw-r--r-- | arch/powerpc/kernel/head_44x.S | 286 | ||||
| -rw-r--r-- | arch/powerpc/kernel/head_booke.h | 8 | ||||
| -rw-r--r-- | arch/powerpc/mm/44x_mmu.c | 29 | ||||
| -rw-r--r-- | arch/powerpc/mm/fault.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/mm/init_32.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/mm/mem.c | 8 | ||||
| -rw-r--r-- | arch/powerpc/mm/mmu_decl.h | 4 | ||||
| -rw-r--r-- | arch/powerpc/platforms/44x/Kconfig | 26 | ||||
| -rw-r--r-- | arch/powerpc/platforms/44x/Makefile | 1 | ||||
| -rw-r--r-- | arch/powerpc/platforms/44x/virtex.c | 60 | ||||
| -rw-r--r-- | arch/powerpc/platforms/44x/warp-nand.c | 9 | ||||
| -rw-r--r-- | include/asm-powerpc/pgtable-ppc32.h | 61 |
23 files changed, 2086 insertions, 265 deletions
diff --git a/Documentation/powerpc/bootwrapper.txt b/Documentation/powerpc/bootwrapper.txt new file mode 100644 index 000000000000..d60fced5e1cc --- /dev/null +++ b/Documentation/powerpc/bootwrapper.txt | |||
| @@ -0,0 +1,141 @@ | |||
| 1 | The PowerPC boot wrapper | ||
| 2 | ------------------------ | ||
| 3 | Copyright (C) Secret Lab Technologies Ltd. | ||
| 4 | |||
| 5 | PowerPC image targets compresses and wraps the kernel image (vmlinux) with | ||
| 6 | a boot wrapper to make it usable by the system firmware. There is no | ||
| 7 | standard PowerPC firmware interface, so the boot wrapper is designed to | ||
| 8 | be adaptable for each kind of image that needs to be built. | ||
| 9 | |||
| 10 | The boot wrapper can be found in the arch/powerpc/boot/ directory. The | ||
| 11 | Makefile in that directory has targets for all the available image types. | ||
| 12 | The different image types are used to support all of the various firmware | ||
| 13 | interfaces found on PowerPC platforms. OpenFirmware is the most commonly | ||
| 14 | used firmware type on general purpose PowerPC systems from Apple, IBM and | ||
| 15 | others. U-Boot is typically found on embedded PowerPC hardware, but there | ||
| 16 | are a handful of other firmware implementations which are also popular. Each | ||
| 17 | firmware interface requires a different image format. | ||
| 18 | |||
| 19 | The boot wrapper is built from the makefile in arch/powerpc/boot/Makefile and | ||
| 20 | it uses the wrapper script (arch/powerpc/boot/wrapper) to generate target | ||
| 21 | image. The details of the build system is discussed in the next section. | ||
| 22 | Currently, the following image format targets exist: | ||
| 23 | |||
| 24 | cuImage.%: Backwards compatible uImage for older version of | ||
| 25 | U-Boot (for versions that don't understand the device | ||
| 26 | tree). This image embeds a device tree blob inside | ||
| 27 | the image. The boot wrapper, kernel and device tree | ||
| 28 | are all embedded inside the U-Boot uImage file format | ||
| 29 | with boot wrapper code that extracts data from the old | ||
| 30 | bd_info structure and loads the data into the device | ||
| 31 | tree before jumping into the kernel. | ||
| 32 | Because of the series of #ifdefs found in the | ||
| 33 | bd_info structure used in the old U-Boot interfaces, | ||
| 34 | cuImages are platform specific. Each specific | ||
| 35 | U-Boot platform has a different platform init file | ||
| 36 | which populates the embedded device tree with data | ||
| 37 | from the platform specific bd_info file. The platform | ||
| 38 | specific cuImage platform init code can be found in | ||
| 39 | arch/powerpc/boot/cuboot.*.c. Selection of the correct | ||
| 40 | cuImage init code for a specific board can be found in | ||
| 41 | the wrapper structure. | ||
| 42 | dtbImage.%: Similar to zImage, except device tree blob is embedded | ||
| 43 | inside the image instead of provided by firmware. The | ||
| 44 | output image file can be either an elf file or a flat | ||
| 45 | binary depending on the platform. | ||
| 46 | dtbImages are used on systems which do not have an | ||
| 47 | interface for passing a device tree directly. | ||
| 48 | dtbImages are similar to simpleImages except that | ||
| 49 | dtbImages have platform specific code for extracting | ||
| 50 | data from the board firmware, but simpleImages do not | ||
| 51 | talk to the firmware at all. | ||
| 52 | PlayStation 3 support uses dtbImage. So do Embedded | ||
| 53 | Planet boards using the PlanetCore firmware. Board | ||
| 54 | specific initialization code is typically found in a | ||
| 55 | file named arch/powerpc/boot/<platform>.c; but this | ||
| 56 | can be overridden by the wrapper script. | ||
| 57 | simpleImage.%: Firmware independent compressed image that does not | ||
| 58 | depend on any particular firmware interface and embeds | ||
| 59 | a device tree blob. This image is a flat binary that | ||
| 60 | can be loaded to any location in RAM and jumped to. | ||
| 61 | Firmware cannot pass any configuration data to the | ||
| 62 | kernel with this image type and it depends entirely on | ||
| 63 | the embedded device tree for all information. | ||
| 64 | The simpleImage is useful for booting systems with | ||
| 65 | an unknown firmware interface or for booting from | ||
| 66 | a debugger when no firmware is present (such as on | ||
| 67 | the Xilinx Virtex platform). The only assumption that | ||
| 68 | simpleImage makes is that RAM is correctly initialized | ||
| 69 | and that the MMU is either off or has RAM mapped to | ||
| 70 | base address 0. | ||
| 71 | simpleImage also supports inserting special platform | ||
| 72 | specific initialization code to the start of the bootup | ||
| 73 | sequence. The virtex405 platform uses this feature to | ||
| 74 | ensure that the cache is invalidated before caching | ||
| 75 | is enabled. Platform specific initialization code is | ||
| 76 | added as part of the wrapper script and is keyed on | ||
| 77 | the image target name. For example, all | ||
| 78 | simpleImage.virtex405-* targets will add the | ||
| 79 | virtex405-head.S initialization code (This also means | ||
| 80 | that the dts file for virtex405 targets should be | ||
| 81 | named (virtex405-<board>.dts). Search the wrapper | ||
| 82 | script for 'virtex405' and see the file | ||
| 83 | arch/powerpc/boot/virtex405-head.S for details. | ||
| 84 | treeImage.%; Image format for used with OpenBIOS firmware found | ||
| 85 | on some ppc4xx hardware. This image embeds a device | ||
| 86 | tree blob inside the image. | ||
| 87 | uImage: Native image format used by U-Boot. The uImage target | ||
| 88 | does not add any boot code. It just wraps a compressed | ||
| 89 | vmlinux in the uImage data structure. This image | ||
| 90 | requires a version of U-Boot that is able to pass | ||
| 91 | a device tree to the kernel at boot. If using an older | ||
| 92 | version of U-Boot, then you need to use a cuImage | ||
| 93 | instead. | ||
| 94 | zImage.%: Image format which does not embed a device tree. | ||
| 95 | Used by OpenFirmware and other firmware interfaces | ||
| 96 | which are able to supply a device tree. This image | ||
| 97 | expects firmware to provide the device tree at boot. | ||
| 98 | Typically, if you have general purpose PowerPC | ||
| 99 | hardware then you want this image format. | ||
| 100 | |||
| 101 | Image types which embed a device tree blob (simpleImage, dtbImage, treeImage, | ||
| 102 | and cuImage) all generate the device tree blob from a file in the | ||
| 103 | arch/powerpc/boot/dts/ directory. The Makefile selects the correct device | ||
| 104 | tree source based on the name of the target. Therefore, if the kernel is | ||
| 105 | built with 'make treeImage.walnut simpleImage.virtex405-ml403', then the | ||
| 106 | build system will use arch/powerpc/boot/dts/walnut.dts to build | ||
| 107 | treeImage.walnut and arch/powerpc/boot/dts/virtex405-ml403.dts to build | ||
| 108 | the simpleImage.virtex405-ml403. | ||
| 109 | |||
| 110 | Two special targets called 'zImage' and 'zImage.initrd' also exist. These | ||
| 111 | targets build all the default images as selected by the kernel configuration. | ||
| 112 | Default images are selected by the boot wrapper Makefile | ||
| 113 | (arch/powerpc/boot/Makefile) by adding targets to the $image-y variable. Look | ||
| 114 | at the Makefile to see which default image targets are available. | ||
| 115 | |||
| 116 | How it is built | ||
| 117 | --------------- | ||
| 118 | arch/powerpc is designed to support multiplatform kernels, which means | ||
| 119 | that a single vmlinux image can be booted on many different target boards. | ||
| 120 | It also means that the boot wrapper must be able to wrap for many kinds of | ||
| 121 | images on a single build. The design decision was made to not use any | ||
| 122 | conditional compilation code (#ifdef, etc) in the boot wrapper source code. | ||
| 123 | All of the boot wrapper pieces are buildable at any time regardless of the | ||
| 124 | kernel configuration. Building all the wrapper bits on every kernel build | ||
| 125 | also ensures that obscure parts of the wrapper are at the very least compile | ||
| 126 | tested in a large variety of environments. | ||
| 127 | |||
| 128 | The wrapper is adapted for different image types at link time by linking in | ||
| 129 | just the wrapper bits that are appropriate for the image type. The 'wrapper | ||
| 130 | script' (found in arch/powerpc/boot/wrapper) is called by the Makefile and | ||
| 131 | is responsible for selecting the correct wrapper bits for the image type. | ||
| 132 | The arguments are well documented in the script's comment block, so they | ||
| 133 | are not repeated here. However, it is worth mentioning that the script | ||
| 134 | uses the -p (platform) argument as the main method of deciding which wrapper | ||
| 135 | bits to compile in. Look for the large 'case "$platform" in' block in the | ||
| 136 | middle of the script. This is also the place where platform specific fixups | ||
| 137 | can be selected by changing the link order. | ||
| 138 | |||
| 139 | In particular, care should be taken when working with cuImages. cuImage | ||
| 140 | wrapper bits are very board specific and care should be taken to make sure | ||
| 141 | the target you are trying to build is supported by the wrapper bits. | ||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 462c86a4eefb..aaf99892d1b3 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
| @@ -459,6 +459,19 @@ config CMDLINE | |||
| 459 | some command-line options at build time by entering them here. In | 459 | some command-line options at build time by entering them here. In |
| 460 | most cases you will need to specify the root device here. | 460 | most cases you will need to specify the root device here. |
| 461 | 461 | ||
| 462 | config EXTRA_TARGETS | ||
| 463 | string "Additional default image types" | ||
| 464 | help | ||
| 465 | List additional targets to be built by the bootwrapper here (separated | ||
| 466 | by spaces). This is useful for targets that depend of device tree | ||
| 467 | files in the .dts directory. | ||
| 468 | |||
| 469 | Targets in this list will be build as part of the default build | ||
| 470 | target, or when the user does a 'make zImage' or a | ||
| 471 | 'make zImage.initrd'. | ||
| 472 | |||
| 473 | If unsure, leave blank | ||
| 474 | |||
| 462 | if !44x || BROKEN | 475 | if !44x || BROKEN |
| 463 | config ARCH_WANTS_FREEZER_CONTROL | 476 | config ARCH_WANTS_FREEZER_CONTROL |
| 464 | def_bool y | 477 | def_bool y |
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 59ae7d9cdccf..9155c9312c1e 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile | |||
| @@ -163,12 +163,25 @@ bootwrapper_install %.dtb: | |||
| 163 | $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) | 163 | $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) |
| 164 | 164 | ||
| 165 | define archhelp | 165 | define archhelp |
| 166 | @echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)' | 166 | @echo '* zImage - Build default images selected by kernel config' |
| 167 | @echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)' | ||
| 168 | @echo ' uImage - U-Boot native image format' | ||
| 169 | @echo ' cuImage.<dt> - Backwards compatible U-Boot image for older' | ||
| 170 | @echo ' versions which do not support device trees' | ||
| 171 | @echo ' dtbImage.<dt> - zImage with an embedded device tree blob' | ||
| 172 | @echo ' simpleImage.<dt> - Firmware independent image.' | ||
| 173 | @echo ' treeImage.<dt> - Support for older IBM 4xx firmware (not U-Boot)' | ||
| 167 | @echo ' install - Install kernel using' | 174 | @echo ' install - Install kernel using' |
| 168 | @echo ' (your) ~/bin/installkernel or' | 175 | @echo ' (your) ~/bin/installkernel or' |
| 169 | @echo ' (distribution) /sbin/installkernel or' | 176 | @echo ' (distribution) /sbin/installkernel or' |
| 170 | @echo ' install to $$(INSTALL_PATH) and run lilo' | 177 | @echo ' install to $$(INSTALL_PATH) and run lilo' |
| 171 | @echo ' *_defconfig - Select default config from arch/$(ARCH)/configs' | 178 | @echo ' *_defconfig - Select default config from arch/$(ARCH)/configs' |
| 179 | @echo '' | ||
| 180 | @echo ' Targets with <dt> embed a device tree blob inside the image' | ||
| 181 | @echo ' These targets support board with firmware that does not' | ||
| 182 | @echo ' support passing a device tree directly. Replace <dt> with the' | ||
| 183 | @echo ' name of a dts file from the arch/$(ARCH)/boot/dts/ directory' | ||
| 184 | @echo ' (minus the .dts extension).' | ||
| 172 | endef | 185 | endef |
| 173 | 186 | ||
| 174 | install: | 187 | install: |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 0055edbc774c..19f83c8f219d 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
| @@ -68,7 +68,7 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c | |||
| 68 | fixed-head.S ep88xc.c ep405.c cuboot-c2k.c \ | 68 | fixed-head.S ep88xc.c ep405.c cuboot-c2k.c \ |
| 69 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ | 69 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ |
| 70 | cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ | 70 | cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ |
| 71 | virtex405-head.S redboot-83xx.c cuboot-sam440ep.c | 71 | virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c |
| 72 | src-boot := $(src-wlib) $(src-plat) empty.c | 72 | src-boot := $(src-wlib) $(src-plat) empty.c |
| 73 | 73 | ||
| 74 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 74 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
| @@ -276,6 +276,9 @@ ifeq ($(CONFIG_PPC32),y) | |||
| 276 | image-$(CONFIG_PPC_PMAC) += zImage.coff zImage.miboot | 276 | image-$(CONFIG_PPC_PMAC) += zImage.coff zImage.miboot |
| 277 | endif | 277 | endif |
| 278 | 278 | ||
| 279 | # Allow extra targets to be added to the defconfig | ||
| 280 | image-y += $(subst ",,$(CONFIG_EXTRA_TARGETS)) | ||
| 281 | |||
| 279 | initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) | 282 | initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) |
| 280 | initrd-y := $(patsubst zImage%, zImage.initrd%, \ | 283 | initrd-y := $(patsubst zImage%, zImage.initrd%, \ |
| 281 | $(patsubst dtbImage%, dtbImage.initrd%, \ | 284 | $(patsubst dtbImage%, dtbImage.initrd%, \ |
diff --git a/arch/powerpc/boot/dts/virtex440-ml507.dts b/arch/powerpc/boot/dts/virtex440-ml507.dts new file mode 100644 index 000000000000..dc8e78e2dceb --- /dev/null +++ b/arch/powerpc/boot/dts/virtex440-ml507.dts | |||
| @@ -0,0 +1,296 @@ | |||
| 1 | /* | ||
| 2 | * This file supports the Xilinx ML507 board with the 440 processor. | ||
| 3 | * A reference design for the FPGA is provided at http://git.xilinx.com. | ||
| 4 | * | ||
| 5 | * (C) Copyright 2008 Xilinx, Inc. | ||
| 6 | * | ||
| 7 | * This file is licensed under the terms of the GNU General Public License | ||
| 8 | * version 2. This program is licensed "as is" without any warranty of any | ||
| 9 | * kind, whether express or implied. | ||
| 10 | */ | ||
| 11 | |||
| 12 | /dts-v1/; | ||
| 13 | |||
| 14 | / { | ||
| 15 | #address-cells = <1>; | ||
| 16 | #size-cells = <1>; | ||
| 17 | compatible = "xlnx,virtex440"; | ||
| 18 | dcr-parent = <&ppc440_0>; | ||
| 19 | model = "testing"; | ||
| 20 | DDR2_SDRAM: memory@0 { | ||
| 21 | device_type = "memory"; | ||
| 22 | reg = < 0 0x10000000 >; | ||
| 23 | } ; | ||
| 24 | chosen { | ||
| 25 | bootargs = "console=ttyS0 ip=on root=/dev/ram"; | ||
| 26 | linux,stdout-path = "/plb@0/serial@83e00000"; | ||
| 27 | } ; | ||
| 28 | cpus { | ||
| 29 | #address-cells = <1>; | ||
| 30 | #cpus = <1>; | ||
| 31 | #size-cells = <0>; | ||
| 32 | ppc440_0: cpu@0 { | ||
| 33 | clock-frequency = <400000000>; | ||
| 34 | compatible = "PowerPC,440", "ibm,ppc440"; | ||
| 35 | d-cache-line-size = <0x20>; | ||
| 36 | d-cache-size = <0x8000>; | ||
| 37 | dcr-access-method = "native"; | ||
| 38 | dcr-controller ; | ||
| 39 | device_type = "cpu"; | ||
| 40 | i-cache-line-size = <0x20>; | ||
| 41 | i-cache-size = <0x8000>; | ||
| 42 | model = "PowerPC,440"; | ||
| 43 | reg = <0>; | ||
| 44 | timebase-frequency = <400000000>; | ||
| 45 | xlnx,apu-control = <1>; | ||
| 46 | xlnx,apu-udi-0 = <0>; | ||
| 47 | xlnx,apu-udi-1 = <0>; | ||
| 48 | xlnx,apu-udi-10 = <0>; | ||
| 49 | xlnx,apu-udi-11 = <0>; | ||
| 50 | xlnx,apu-udi-12 = <0>; | ||
| 51 | xlnx,apu-udi-13 = <0>; | ||
| 52 | xlnx,apu-udi-14 = <0>; | ||
| 53 | xlnx,apu-udi-15 = <0>; | ||
| 54 | xlnx,apu-udi-2 = <0>; | ||
| 55 | xlnx,apu-udi-3 = <0>; | ||
| 56 | xlnx,apu-udi-4 = <0>; | ||
| 57 | xlnx,apu-udi-5 = <0>; | ||
| 58 | xlnx,apu-udi-6 = <0>; | ||
| 59 | xlnx,apu-udi-7 = <0>; | ||
| 60 | xlnx,apu-udi-8 = <0>; | ||
| 61 | xlnx,apu-udi-9 = <0>; | ||
| 62 | xlnx,dcr-autolock-enable = <1>; | ||
| 63 | xlnx,dcu-rd-ld-cache-plb-prio = <0>; | ||
| 64 | xlnx,dcu-rd-noncache-plb-prio = <0>; | ||
| 65 | xlnx,dcu-rd-touch-plb-prio = <0>; | ||
| 66 | xlnx,dcu-rd-urgent-plb-prio = <0>; | ||
| 67 | xlnx,dcu-wr-flush-plb-prio = <0>; | ||
| 68 | xlnx,dcu-wr-store-plb-prio = <0>; | ||
| 69 | xlnx,dcu-wr-urgent-plb-prio = <0>; | ||
| 70 | xlnx,dma0-control = <0>; | ||
| 71 | xlnx,dma0-plb-prio = <0>; | ||
| 72 | xlnx,dma0-rxchannelctrl = <0x1010000>; | ||
| 73 | xlnx,dma0-rxirqtimer = <0x3ff>; | ||
| 74 | xlnx,dma0-txchannelctrl = <0x1010000>; | ||
| 75 | xlnx,dma0-txirqtimer = <0x3ff>; | ||
| 76 | xlnx,dma1-control = <0>; | ||
| 77 | xlnx,dma1-plb-prio = <0>; | ||
| 78 | xlnx,dma1-rxchannelctrl = <0x1010000>; | ||
| 79 | xlnx,dma1-rxirqtimer = <0x3ff>; | ||
| 80 | xlnx,dma1-txchannelctrl = <0x1010000>; | ||
| 81 | xlnx,dma1-txirqtimer = <0x3ff>; | ||
| 82 | xlnx,dma2-control = <0>; | ||
| 83 | xlnx,dma2-plb-prio = <0>; | ||
| 84 | xlnx,dma2-rxchannelctrl = <0x1010000>; | ||
| 85 | xlnx,dma2-rxirqtimer = <0x3ff>; | ||
| 86 | xlnx,dma2-txchannelctrl = <0x1010000>; | ||
| 87 | xlnx,dma2-txirqtimer = <0x3ff>; | ||
| 88 | xlnx,dma3-control = <0>; | ||
| 89 | xlnx,dma3-plb-prio = <0>; | ||
| 90 | xlnx,dma3-rxchannelctrl = <0x1010000>; | ||
| 91 | xlnx,dma3-rxirqtimer = <0x3ff>; | ||
| 92 | xlnx,dma3-txchannelctrl = <0x1010000>; | ||
| 93 | xlnx,dma3-txirqtimer = <0x3ff>; | ||
| 94 | xlnx,endian-reset = <0>; | ||
| 95 | xlnx,generate-plb-timespecs = <1>; | ||
| 96 | xlnx,icu-rd-fetch-plb-prio = <0>; | ||
| 97 | xlnx,icu-rd-spec-plb-prio = <0>; | ||
| 98 | xlnx,icu-rd-touch-plb-prio = <0>; | ||
| 99 | xlnx,interconnect-imask = <0xffffffff>; | ||
| 100 | xlnx,mplb-allow-lock-xfer = <1>; | ||
| 101 | xlnx,mplb-arb-mode = <0>; | ||
| 102 | xlnx,mplb-awidth = <0x20>; | ||
| 103 | xlnx,mplb-counter = <0x500>; | ||
| 104 | xlnx,mplb-dwidth = <0x80>; | ||
| 105 | xlnx,mplb-max-burst = <8>; | ||
| 106 | xlnx,mplb-native-dwidth = <0x80>; | ||
| 107 | xlnx,mplb-p2p = <0>; | ||
| 108 | xlnx,mplb-prio-dcur = <2>; | ||
| 109 | xlnx,mplb-prio-dcuw = <3>; | ||
| 110 | xlnx,mplb-prio-icu = <4>; | ||
| 111 | xlnx,mplb-prio-splb0 = <1>; | ||
| 112 | xlnx,mplb-prio-splb1 = <0>; | ||
| 113 | xlnx,mplb-read-pipe-enable = <1>; | ||
| 114 | xlnx,mplb-sync-tattribute = <0>; | ||
| 115 | xlnx,mplb-wdog-enable = <1>; | ||
| 116 | xlnx,mplb-write-pipe-enable = <1>; | ||
| 117 | xlnx,mplb-write-post-enable = <1>; | ||
| 118 | xlnx,num-dma = <1>; | ||
| 119 | xlnx,pir = <0xf>; | ||
| 120 | xlnx,ppc440mc-addr-base = <0>; | ||
| 121 | xlnx,ppc440mc-addr-high = <0xfffffff>; | ||
| 122 | xlnx,ppc440mc-arb-mode = <0>; | ||
| 123 | xlnx,ppc440mc-bank-conflict-mask = <0xc00000>; | ||
| 124 | xlnx,ppc440mc-control = <0xf810008f>; | ||
| 125 | xlnx,ppc440mc-max-burst = <8>; | ||
| 126 | xlnx,ppc440mc-prio-dcur = <2>; | ||
| 127 | xlnx,ppc440mc-prio-dcuw = <3>; | ||
| 128 | xlnx,ppc440mc-prio-icu = <4>; | ||
| 129 | xlnx,ppc440mc-prio-splb0 = <1>; | ||
| 130 | xlnx,ppc440mc-prio-splb1 = <0>; | ||
| 131 | xlnx,ppc440mc-row-conflict-mask = <0x3ffe00>; | ||
| 132 | xlnx,ppcdm-asyncmode = <0>; | ||
| 133 | xlnx,ppcds-asyncmode = <0>; | ||
| 134 | xlnx,user-reset = <0>; | ||
| 135 | DMA0: sdma@80 { | ||
| 136 | compatible = "xlnx,ll-dma-1.00.a"; | ||
| 137 | dcr-reg = < 0x80 0x11 >; | ||
| 138 | interrupt-parent = <&xps_intc_0>; | ||
| 139 | interrupts = < 9 2 0xa 2 >; | ||
| 140 | } ; | ||
| 141 | } ; | ||
| 142 | } ; | ||
| 143 | plb_v46_0: plb@0 { | ||
| 144 | #address-cells = <1>; | ||
| 145 | #size-cells = <1>; | ||
| 146 | compatible = "xlnx,plb-v46-1.02.a", "simple-bus"; | ||
| 147 | ranges ; | ||
| 148 | DIP_Switches_8Bit: gpio@81460000 { | ||
| 149 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
| 150 | interrupt-parent = <&xps_intc_0>; | ||
| 151 | interrupts = < 6 2 >; | ||
| 152 | reg = < 0x81460000 0x10000 >; | ||
| 153 | xlnx,all-inputs = <1>; | ||
| 154 | xlnx,all-inputs-2 = <0>; | ||
| 155 | xlnx,dout-default = <0>; | ||
| 156 | xlnx,dout-default-2 = <0>; | ||
| 157 | xlnx,family = "virtex5"; | ||
| 158 | xlnx,gpio-width = <8>; | ||
| 159 | xlnx,interrupt-present = <1>; | ||
| 160 | xlnx,is-bidir = <1>; | ||
| 161 | xlnx,is-bidir-2 = <1>; | ||
| 162 | xlnx,is-dual = <0>; | ||
| 163 | xlnx,tri-default = <0xffffffff>; | ||
| 164 | xlnx,tri-default-2 = <0xffffffff>; | ||
| 165 | } ; | ||
| 166 | Hard_Ethernet_MAC: xps-ll-temac@81c00000 { | ||
| 167 | #address-cells = <1>; | ||
| 168 | #size-cells = <1>; | ||
| 169 | compatible = "xlnx,compound"; | ||
| 170 | ethernet@81c00000 { | ||
| 171 | compatible = "xlnx,xps-ll-temac-1.01.b"; | ||
| 172 | device_type = "network"; | ||
| 173 | interrupt-parent = <&xps_intc_0>; | ||
| 174 | interrupts = < 5 2 >; | ||
| 175 | llink-connected = <&DMA0>; | ||
| 176 | local-mac-address = [ 02 00 00 00 00 00 ]; | ||
| 177 | reg = < 0x81c00000 0x40 >; | ||
| 178 | xlnx,bus2core-clk-ratio = <1>; | ||
| 179 | xlnx,phy-type = <1>; | ||
| 180 | xlnx,phyaddr = <1>; | ||
| 181 | xlnx,rxcsum = <1>; | ||
| 182 | xlnx,rxfifo = <0x1000>; | ||
| 183 | xlnx,temac-type = <0>; | ||
| 184 | xlnx,txcsum = <1>; | ||
| 185 | xlnx,txfifo = <0x1000>; | ||
| 186 | } ; | ||
| 187 | } ; | ||
| 188 | LEDs_8Bit: gpio@81400000 { | ||
| 189 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
| 190 | reg = < 0x81400000 0x10000 >; | ||
| 191 | xlnx,all-inputs = <0>; | ||
| 192 | xlnx,all-inputs-2 = <0>; | ||
| 193 | xlnx,dout-default = <0>; | ||
| 194 | xlnx,dout-default-2 = <0>; | ||
| 195 | xlnx,family = "virtex5"; | ||
| 196 | xlnx,gpio-width = <8>; | ||
| 197 | xlnx,interrupt-present = <0>; | ||
| 198 | xlnx,is-bidir = <1>; | ||
| 199 | xlnx,is-bidir-2 = <1>; | ||
| 200 | xlnx,is-dual = <0>; | ||
| 201 | xlnx,tri-default = <0xffffffff>; | ||
| 202 | xlnx,tri-default-2 = <0xffffffff>; | ||
| 203 | } ; | ||
| 204 | LEDs_Positions: gpio@81420000 { | ||
| 205 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
| 206 | reg = < 0x81420000 0x10000 >; | ||
| 207 | xlnx,all-inputs = <0>; | ||
| 208 | xlnx,all-inputs-2 = <0>; | ||
| 209 | xlnx,dout-default = <0>; | ||
| 210 | xlnx,dout-default-2 = <0>; | ||
| 211 | xlnx,family = "virtex5"; | ||
| 212 | xlnx,gpio-width = <5>; | ||
| 213 | xlnx,interrupt-present = <0>; | ||
| 214 | xlnx,is-bidir = <1>; | ||
| 215 | xlnx,is-bidir-2 = <1>; | ||
| 216 | xlnx,is-dual = <0>; | ||
| 217 | xlnx,tri-default = <0xffffffff>; | ||
| 218 | xlnx,tri-default-2 = <0xffffffff>; | ||
| 219 | } ; | ||
| 220 | Push_Buttons_5Bit: gpio@81440000 { | ||
| 221 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
| 222 | interrupt-parent = <&xps_intc_0>; | ||
| 223 | interrupts = < 7 2 >; | ||
| 224 | reg = < 0x81440000 0x10000 >; | ||
| 225 | xlnx,all-inputs = <1>; | ||
| 226 | xlnx,all-inputs-2 = <0>; | ||
| 227 | xlnx,dout-default = <0>; | ||
| 228 | xlnx,dout-default-2 = <0>; | ||
| 229 | xlnx,family = "virtex5"; | ||
| 230 | xlnx,gpio-width = <5>; | ||
| 231 | xlnx,interrupt-present = <1>; | ||
| 232 | xlnx,is-bidir = <1>; | ||
| 233 | xlnx,is-bidir-2 = <1>; | ||
| 234 | xlnx,is-dual = <0>; | ||
| 235 | xlnx,tri-default = <0xffffffff>; | ||
| 236 | xlnx,tri-default-2 = <0xffffffff>; | ||
| 237 | } ; | ||
| 238 | RS232_Uart_1: serial@83e00000 { | ||
| 239 | clock-frequency = <100000000>; | ||
| 240 | compatible = "xlnx,xps-uart16550-2.00.a", "ns16550"; | ||
| 241 | current-speed = <0x2580>; | ||
| 242 | device_type = "serial"; | ||
| 243 | interrupt-parent = <&xps_intc_0>; | ||
| 244 | interrupts = < 8 2 >; | ||
| 245 | reg = < 0x83e00000 0x10000 >; | ||
| 246 | reg-offset = <3>; | ||
| 247 | reg-shift = <2>; | ||
| 248 | xlnx,family = "virtex5"; | ||
| 249 | xlnx,has-external-rclk = <0>; | ||
| 250 | xlnx,has-external-xin = <0>; | ||
| 251 | xlnx,is-a-16550 = <1>; | ||
| 252 | } ; | ||
| 253 | SysACE_CompactFlash: sysace@83600000 { | ||
| 254 | compatible = "xlnx,xps-sysace-1.00.a"; | ||
| 255 | interrupt-parent = <&xps_intc_0>; | ||
| 256 | interrupts = < 4 2 >; | ||
| 257 | reg = < 0x83600000 0x10000 >; | ||
| 258 | xlnx,family = "virtex5"; | ||
| 259 | xlnx,mem-width = <0x10>; | ||
| 260 | } ; | ||
| 261 | xps_bram_if_cntlr_1: xps-bram-if-cntlr@ffff0000 { | ||
| 262 | compatible = "xlnx,xps-bram-if-cntlr-1.00.a"; | ||
| 263 | reg = < 0xffff0000 0x10000 >; | ||
| 264 | xlnx,family = "virtex5"; | ||
| 265 | } ; | ||
| 266 | xps_intc_0: interrupt-controller@81800000 { | ||
| 267 | #interrupt-cells = <2>; | ||
| 268 | compatible = "xlnx,xps-intc-1.00.a"; | ||
| 269 | interrupt-controller ; | ||
| 270 | reg = < 0x81800000 0x10000 >; | ||
| 271 | xlnx,num-intr-inputs = <0xb>; | ||
| 272 | } ; | ||
| 273 | xps_timebase_wdt_1: xps-timebase-wdt@83a00000 { | ||
| 274 | compatible = "xlnx,xps-timebase-wdt-1.00.b"; | ||
| 275 | interrupt-parent = <&xps_intc_0>; | ||
| 276 | interrupts = < 2 0 1 2 >; | ||
| 277 | reg = < 0x83a00000 0x10000 >; | ||
| 278 | xlnx,family = "virtex5"; | ||
| 279 | xlnx,wdt-enable-once = <0>; | ||
| 280 | xlnx,wdt-interval = <0x1e>; | ||
| 281 | } ; | ||
| 282 | xps_timer_1: timer@83c00000 { | ||
| 283 | compatible = "xlnx,xps-timer-1.00.a"; | ||
| 284 | interrupt-parent = <&xps_intc_0>; | ||
| 285 | interrupts = < 3 2 >; | ||
| 286 | reg = < 0x83c00000 0x10000 >; | ||
| 287 | xlnx,count-width = <0x20>; | ||
| 288 | xlnx,family = "virtex5"; | ||
| 289 | xlnx,gen0-assert = <1>; | ||
| 290 | xlnx,gen1-assert = <1>; | ||
| 291 | xlnx,one-timer-only = <1>; | ||
| 292 | xlnx,trig0-assert = <1>; | ||
| 293 | xlnx,trig1-assert = <1>; | ||
| 294 | } ; | ||
| 295 | } ; | ||
| 296 | } ; | ||
diff --git a/arch/powerpc/boot/simpleboot.c b/arch/powerpc/boot/simpleboot.c index 86cd285bccc6..c58a0dada992 100644 --- a/arch/powerpc/boot/simpleboot.c +++ b/arch/powerpc/boot/simpleboot.c | |||
| @@ -23,6 +23,8 @@ | |||
| 23 | 23 | ||
| 24 | BSS_STACK(4*1024); | 24 | BSS_STACK(4*1024); |
| 25 | 25 | ||
| 26 | extern int platform_specific_init(void) __attribute__((weak)); | ||
| 27 | |||
| 26 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | 28 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, |
| 27 | unsigned long r6, unsigned long r7) | 29 | unsigned long r6, unsigned long r7) |
| 28 | { | 30 | { |
| @@ -80,5 +82,9 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | |||
| 80 | 82 | ||
| 81 | /* prepare the device tree and find the console */ | 83 | /* prepare the device tree and find the console */ |
| 82 | fdt_init(_dtb_start); | 84 | fdt_init(_dtb_start); |
| 85 | |||
| 86 | if (platform_specific_init) | ||
| 87 | platform_specific_init(); | ||
| 88 | |||
| 83 | serial_console_init(); | 89 | serial_console_init(); |
| 84 | } | 90 | } |
diff --git a/arch/powerpc/boot/virtex.c b/arch/powerpc/boot/virtex.c new file mode 100644 index 000000000000..f622805f8000 --- /dev/null +++ b/arch/powerpc/boot/virtex.c | |||
| @@ -0,0 +1,100 @@ | |||
| 1 | /* | ||
| 2 | * The platform specific code for virtex devices since a boot loader is not | ||
| 3 | * always used. | ||
| 4 | * | ||
| 5 | * (C) Copyright 2008 Xilinx, Inc. | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License version 2 as published | ||
| 9 | * by the Free Software Foundation. | ||
| 10 | */ | ||
| 11 | |||
| 12 | #include "ops.h" | ||
| 13 | #include "io.h" | ||
| 14 | #include "stdio.h" | ||
| 15 | |||
| 16 | #define UART_DLL 0 /* Out: Divisor Latch Low */ | ||
| 17 | #define UART_DLM 1 /* Out: Divisor Latch High */ | ||
| 18 | #define UART_FCR 2 /* Out: FIFO Control Register */ | ||
| 19 | #define UART_FCR_CLEAR_RCVR 0x02 /* Clear the RCVR FIFO */ | ||
| 20 | #define UART_FCR_CLEAR_XMIT 0x04 /* Clear the XMIT FIFO */ | ||
| 21 | #define UART_LCR 3 /* Out: Line Control Register */ | ||
| 22 | #define UART_MCR 4 /* Out: Modem Control Register */ | ||
| 23 | #define UART_MCR_RTS 0x02 /* RTS complement */ | ||
| 24 | #define UART_MCR_DTR 0x01 /* DTR complement */ | ||
| 25 | #define UART_LCR_DLAB 0x80 /* Divisor latch access bit */ | ||
| 26 | #define UART_LCR_WLEN8 0x03 /* Wordlength: 8 bits */ | ||
| 27 | |||
| 28 | static int virtex_ns16550_console_init(void *devp) | ||
| 29 | { | ||
| 30 | unsigned char *reg_base; | ||
| 31 | u32 reg_shift, reg_offset, clk, spd; | ||
| 32 | u16 divisor; | ||
| 33 | int n; | ||
| 34 | |||
| 35 | if (dt_get_virtual_reg(devp, (void **)®_base, 1) < 1) | ||
| 36 | return -1; | ||
| 37 | |||
| 38 | n = getprop(devp, "reg-offset", ®_offset, sizeof(reg_offset)); | ||
| 39 | if (n == sizeof(reg_offset)) | ||
| 40 | reg_base += reg_offset; | ||
| 41 | |||
| 42 | n = getprop(devp, "reg-shift", ®_shift, sizeof(reg_shift)); | ||
| 43 | if (n != sizeof(reg_shift)) | ||
| 44 | reg_shift = 0; | ||
| 45 | |||
| 46 | n = getprop(devp, "current-speed", (void *)&spd, sizeof(spd)); | ||
| 47 | if (n != sizeof(spd)) | ||
| 48 | spd = 9600; | ||
| 49 | |||
| 50 | /* should there be a default clock rate?*/ | ||
| 51 | n = getprop(devp, "clock-frequency", (void *)&clk, sizeof(clk)); | ||
| 52 | if (n != sizeof(clk)) | ||
| 53 | return -1; | ||
| 54 | |||
| 55 | divisor = clk / (16 * spd); | ||
| 56 | |||
| 57 | /* Access baud rate */ | ||
| 58 | out_8(reg_base + (UART_LCR << reg_shift), UART_LCR_DLAB); | ||
| 59 | |||
| 60 | /* Baud rate based on input clock */ | ||
| 61 | out_8(reg_base + (UART_DLL << reg_shift), divisor & 0xFF); | ||
| 62 | out_8(reg_base + (UART_DLM << reg_shift), divisor >> 8); | ||
| 63 | |||
| 64 | /* 8 data, 1 stop, no parity */ | ||
| 65 | out_8(reg_base + (UART_LCR << reg_shift), UART_LCR_WLEN8); | ||
| 66 | |||
| 67 | /* RTS/DTR */ | ||
| 68 | out_8(reg_base + (UART_MCR << reg_shift), UART_MCR_RTS | UART_MCR_DTR); | ||
| 69 | |||
| 70 | /* Clear transmitter and receiver */ | ||
| 71 | out_8(reg_base + (UART_FCR << reg_shift), | ||
| 72 | UART_FCR_CLEAR_XMIT | UART_FCR_CLEAR_RCVR); | ||
| 73 | return 0; | ||
| 74 | } | ||
| 75 | |||
| 76 | /* For virtex, the kernel may be loaded without using a bootloader and if so | ||
| 77 | some UARTs need more setup than is provided in the normal console init | ||
| 78 | */ | ||
| 79 | int platform_specific_init(void) | ||
| 80 | { | ||
| 81 | void *devp; | ||
| 82 | char devtype[MAX_PROP_LEN]; | ||
| 83 | char path[MAX_PATH_LEN]; | ||
| 84 | |||
| 85 | devp = finddevice("/chosen"); | ||
| 86 | if (devp == NULL) | ||
| 87 | return -1; | ||
| 88 | |||
| 89 | if (getprop(devp, "linux,stdout-path", path, MAX_PATH_LEN) > 0) { | ||
| 90 | devp = finddevice(path); | ||
| 91 | if (devp == NULL) | ||
| 92 | return -1; | ||
| 93 | |||
| 94 | if ((getprop(devp, "device_type", devtype, sizeof(devtype)) > 0) | ||
| 95 | && !strcmp(devtype, "serial") | ||
| 96 | && (dt_is_compatible(devp, "ns16550"))) | ||
| 97 | virtex_ns16550_console_init(devp); | ||
| 98 | } | ||
| 99 | return 0; | ||
| 100 | } | ||
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index df2358e9f1ca..644bf9d4ea00 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
| @@ -207,7 +207,15 @@ adder875-redboot) | |||
| 207 | binary=y | 207 | binary=y |
| 208 | ;; | 208 | ;; |
| 209 | simpleboot-virtex405-*) | 209 | simpleboot-virtex405-*) |
| 210 | platformo="$object/virtex405-head.o $object/simpleboot.o" | 210 | platformo="$object/virtex405-head.o $object/simpleboot.o $object/virtex.o" |
| 211 | binary=y | ||
| 212 | ;; | ||
| 213 | simpleboot-virtex440-*) | ||
| 214 | platformo="$object/simpleboot.o $object/virtex.o" | ||
| 215 | binary=y | ||
| 216 | ;; | ||
| 217 | simpleboot-*) | ||
| 218 | platformo="$object/simpleboot.o" | ||
| 211 | binary=y | 219 | binary=y |
| 212 | ;; | 220 | ;; |
| 213 | asp834x-redboot) | 221 | asp834x-redboot) |
diff --git a/arch/powerpc/configs/44x/virtex5_defconfig b/arch/powerpc/configs/44x/virtex5_defconfig new file mode 100644 index 000000000000..9c41f66b5a7d --- /dev/null +++ b/arch/powerpc/configs/44x/virtex5_defconfig | |||
| @@ -0,0 +1,1107 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.26-rc8 | ||
| 4 | # Wed Jul 2 15:36:41 2008 | ||
| 5 | # | ||
| 6 | # CONFIG_PPC64 is not set | ||
| 7 | |||
| 8 | # | ||
| 9 | # Processor support | ||
| 10 | # | ||
| 11 | # CONFIG_6xx is not set | ||
| 12 | # CONFIG_PPC_85xx is not set | ||
| 13 | # CONFIG_PPC_8xx is not set | ||
| 14 | # CONFIG_40x is not set | ||
| 15 | CONFIG_44x=y | ||
| 16 | # CONFIG_E200 is not set | ||
| 17 | CONFIG_4xx=y | ||
| 18 | CONFIG_BOOKE=y | ||
| 19 | CONFIG_PTE_64BIT=y | ||
| 20 | CONFIG_PHYS_64BIT=y | ||
| 21 | # CONFIG_PPC_MM_SLICES is not set | ||
| 22 | CONFIG_NOT_COHERENT_CACHE=y | ||
| 23 | CONFIG_PPC32=y | ||
| 24 | CONFIG_WORD_SIZE=32 | ||
| 25 | CONFIG_PPC_MERGE=y | ||
| 26 | CONFIG_MMU=y | ||
| 27 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
| 28 | CONFIG_GENERIC_TIME=y | ||
| 29 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
| 30 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 31 | CONFIG_GENERIC_HARDIRQS=y | ||
| 32 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | ||
| 33 | CONFIG_IRQ_PER_CPU=y | ||
| 34 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 35 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 36 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
| 37 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
| 38 | CONFIG_GENERIC_HWEIGHT=y | ||
| 39 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 40 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 41 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
| 42 | CONFIG_PPC=y | ||
| 43 | CONFIG_EARLY_PRINTK=y | ||
| 44 | CONFIG_GENERIC_NVRAM=y | ||
| 45 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
| 46 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
| 47 | CONFIG_PPC_OF=y | ||
| 48 | CONFIG_OF=y | ||
| 49 | CONFIG_PPC_UDBG_16550=y | ||
| 50 | # CONFIG_GENERIC_TBSYNC is not set | ||
| 51 | CONFIG_AUDIT_ARCH=y | ||
| 52 | CONFIG_GENERIC_BUG=y | ||
| 53 | # CONFIG_DEFAULT_UIMAGE is not set | ||
| 54 | CONFIG_PPC_DCR_NATIVE=y | ||
| 55 | # CONFIG_PPC_DCR_MMIO is not set | ||
| 56 | CONFIG_PPC_DCR=y | ||
| 57 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 58 | |||
| 59 | # | ||
| 60 | # General setup | ||
| 61 | # | ||
| 62 | CONFIG_EXPERIMENTAL=y | ||
| 63 | CONFIG_BROKEN_ON_SMP=y | ||
| 64 | CONFIG_LOCK_KERNEL=y | ||
| 65 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 66 | CONFIG_LOCALVERSION="" | ||
| 67 | # CONFIG_LOCALVERSION_AUTO is not set | ||
| 68 | CONFIG_SWAP=y | ||
| 69 | CONFIG_SYSVIPC=y | ||
| 70 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 71 | CONFIG_POSIX_MQUEUE=y | ||
| 72 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 73 | # CONFIG_TASKSTATS is not set | ||
| 74 | # CONFIG_AUDIT is not set | ||
| 75 | CONFIG_IKCONFIG=y | ||
| 76 | CONFIG_IKCONFIG_PROC=y | ||
| 77 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 78 | # CONFIG_CGROUPS is not set | ||
| 79 | # CONFIG_GROUP_SCHED is not set | ||
| 80 | CONFIG_SYSFS_DEPRECATED=y | ||
| 81 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 82 | # CONFIG_RELAY is not set | ||
| 83 | CONFIG_NAMESPACES=y | ||
| 84 | # CONFIG_UTS_NS is not set | ||
| 85 | # CONFIG_IPC_NS is not set | ||
| 86 | # CONFIG_USER_NS is not set | ||
| 87 | # CONFIG_PID_NS is not set | ||
| 88 | CONFIG_BLK_DEV_INITRD=y | ||
| 89 | CONFIG_INITRAMFS_SOURCE="" | ||
| 90 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
| 91 | CONFIG_SYSCTL=y | ||
| 92 | # CONFIG_EMBEDDED is not set | ||
| 93 | CONFIG_SYSCTL_SYSCALL=y | ||
| 94 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 95 | CONFIG_KALLSYMS=y | ||
| 96 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 97 | CONFIG_HOTPLUG=y | ||
| 98 | CONFIG_PRINTK=y | ||
| 99 | CONFIG_BUG=y | ||
| 100 | CONFIG_ELF_CORE=y | ||
| 101 | CONFIG_COMPAT_BRK=y | ||
| 102 | CONFIG_BASE_FULL=y | ||
| 103 | CONFIG_FUTEX=y | ||
| 104 | CONFIG_ANON_INODES=y | ||
| 105 | CONFIG_EPOLL=y | ||
| 106 | CONFIG_SIGNALFD=y | ||
| 107 | CONFIG_TIMERFD=y | ||
| 108 | CONFIG_EVENTFD=y | ||
| 109 | CONFIG_SHMEM=y | ||
| 110 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 111 | CONFIG_SLAB=y | ||
| 112 | # CONFIG_SLUB is not set | ||
| 113 | # CONFIG_SLOB is not set | ||
| 114 | # CONFIG_PROFILING is not set | ||
| 115 | # CONFIG_MARKERS is not set | ||
| 116 | CONFIG_HAVE_OPROFILE=y | ||
| 117 | # CONFIG_KPROBES is not set | ||
| 118 | CONFIG_HAVE_KPROBES=y | ||
| 119 | CONFIG_HAVE_KRETPROBES=y | ||
| 120 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
| 121 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 122 | CONFIG_SLABINFO=y | ||
| 123 | CONFIG_RT_MUTEXES=y | ||
| 124 | # CONFIG_TINY_SHMEM is not set | ||
| 125 | CONFIG_BASE_SMALL=0 | ||
| 126 | CONFIG_MODULES=y | ||
| 127 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 128 | CONFIG_MODULE_UNLOAD=y | ||
| 129 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
| 130 | CONFIG_MODVERSIONS=y | ||
| 131 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 132 | CONFIG_KMOD=y | ||
| 133 | CONFIG_BLOCK=y | ||
| 134 | # CONFIG_LBD is not set | ||
| 135 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 136 | # CONFIG_LSF is not set | ||
| 137 | # CONFIG_BLK_DEV_BSG is not set | ||
| 138 | |||
| 139 | # | ||
| 140 | # IO Schedulers | ||
| 141 | # | ||
| 142 | CONFIG_IOSCHED_NOOP=y | ||
| 143 | CONFIG_IOSCHED_AS=y | ||
| 144 | CONFIG_IOSCHED_DEADLINE=y | ||
| 145 | CONFIG_IOSCHED_CFQ=y | ||
| 146 | # CONFIG_DEFAULT_AS is not set | ||
| 147 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 148 | CONFIG_DEFAULT_CFQ=y | ||
| 149 | # CONFIG_DEFAULT_NOOP is not set | ||
| 150 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
| 151 | CONFIG_CLASSIC_RCU=y | ||
| 152 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | ||
| 153 | |||
| 154 | # | ||
| 155 | # Platform support | ||
| 156 | # | ||
| 157 | # CONFIG_PPC_MPC512x is not set | ||
| 158 | # CONFIG_PPC_MPC5121 is not set | ||
| 159 | # CONFIG_PPC_CELL is not set | ||
| 160 | # CONFIG_PPC_CELL_NATIVE is not set | ||
| 161 | # CONFIG_PQ2ADS is not set | ||
| 162 | # CONFIG_BAMBOO is not set | ||
| 163 | # CONFIG_EBONY is not set | ||
| 164 | # CONFIG_SEQUOIA is not set | ||
| 165 | # CONFIG_TAISHAN is not set | ||
| 166 | # CONFIG_KATMAI is not set | ||
| 167 | # CONFIG_RAINIER is not set | ||
| 168 | # CONFIG_WARP is not set | ||
| 169 | # CONFIG_CANYONLANDS is not set | ||
| 170 | # CONFIG_YOSEMITE is not set | ||
| 171 | CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y | ||
| 172 | CONFIG_XILINX_VIRTEX=y | ||
| 173 | CONFIG_XILINX_VIRTEX_5_FXT=y | ||
| 174 | # CONFIG_IPIC is not set | ||
| 175 | # CONFIG_MPIC is not set | ||
| 176 | # CONFIG_MPIC_WEIRD is not set | ||
| 177 | # CONFIG_PPC_I8259 is not set | ||
| 178 | # CONFIG_PPC_RTAS is not set | ||
| 179 | # CONFIG_MMIO_NVRAM is not set | ||
| 180 | # CONFIG_PPC_MPC106 is not set | ||
| 181 | # CONFIG_PPC_970_NAP is not set | ||
| 182 | # CONFIG_PPC_INDIRECT_IO is not set | ||
| 183 | # CONFIG_GENERIC_IOMAP is not set | ||
| 184 | # CONFIG_CPU_FREQ is not set | ||
| 185 | # CONFIG_FSL_ULI1575 is not set | ||
| 186 | |||
| 187 | # | ||
| 188 | # Kernel options | ||
| 189 | # | ||
| 190 | # CONFIG_HIGHMEM is not set | ||
| 191 | # CONFIG_TICK_ONESHOT is not set | ||
| 192 | # CONFIG_NO_HZ is not set | ||
| 193 | # CONFIG_HIGH_RES_TIMERS is not set | ||
| 194 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 195 | # CONFIG_HZ_100 is not set | ||
| 196 | CONFIG_HZ_250=y | ||
| 197 | # CONFIG_HZ_300 is not set | ||
| 198 | # CONFIG_HZ_1000 is not set | ||
| 199 | CONFIG_HZ=250 | ||
| 200 | # CONFIG_SCHED_HRTICK is not set | ||
| 201 | # CONFIG_PREEMPT_NONE is not set | ||
| 202 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 203 | CONFIG_PREEMPT=y | ||
| 204 | # CONFIG_PREEMPT_RCU is not set | ||
| 205 | CONFIG_BINFMT_ELF=y | ||
| 206 | # CONFIG_BINFMT_MISC is not set | ||
| 207 | CONFIG_MATH_EMULATION=y | ||
| 208 | # CONFIG_IOMMU_HELPER is not set | ||
| 209 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
| 210 | CONFIG_ARCH_HAS_WALK_MEMORY=y | ||
| 211 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
| 212 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
| 213 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
| 214 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 215 | CONFIG_FLATMEM_MANUAL=y | ||
| 216 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 217 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 218 | CONFIG_FLATMEM=y | ||
| 219 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 220 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 221 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 222 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 223 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 224 | CONFIG_RESOURCES_64BIT=y | ||
| 225 | CONFIG_ZONE_DMA_FLAG=1 | ||
| 226 | CONFIG_BOUNCE=y | ||
| 227 | CONFIG_VIRT_TO_BUS=y | ||
| 228 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
| 229 | CONFIG_PROC_DEVICETREE=y | ||
| 230 | CONFIG_CMDLINE_BOOL=y | ||
| 231 | CONFIG_CMDLINE="" | ||
| 232 | CONFIG_EXTRA_TARGETS="" | ||
| 233 | CONFIG_SECCOMP=y | ||
| 234 | CONFIG_ISA_DMA_API=y | ||
| 235 | |||
| 236 | # | ||
| 237 | # Bus options | ||
| 238 | # | ||
| 239 | CONFIG_ZONE_DMA=y | ||
| 240 | CONFIG_PPC_INDIRECT_PCI=y | ||
| 241 | CONFIG_4xx_SOC=y | ||
| 242 | CONFIG_PCI=y | ||
| 243 | CONFIG_PCI_DOMAINS=y | ||
| 244 | CONFIG_PCI_SYSCALL=y | ||
| 245 | # CONFIG_PCIEPORTBUS is not set | ||
| 246 | CONFIG_ARCH_SUPPORTS_MSI=y | ||
| 247 | # CONFIG_PCI_MSI is not set | ||
| 248 | CONFIG_PCI_LEGACY=y | ||
| 249 | # CONFIG_PCCARD is not set | ||
| 250 | # CONFIG_HOTPLUG_PCI is not set | ||
| 251 | # CONFIG_HAS_RAPIDIO is not set | ||
| 252 | |||
| 253 | # | ||
| 254 | # Advanced setup | ||
| 255 | # | ||
| 256 | # CONFIG_ADVANCED_OPTIONS is not set | ||
| 257 | |||
| 258 | # | ||
| 259 | # Default settings for advanced configuration options are used | ||
| 260 | # | ||
| 261 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
| 262 | CONFIG_PAGE_OFFSET=0xc0000000 | ||
| 263 | CONFIG_KERNEL_START=0xc0000000 | ||
| 264 | CONFIG_PHYSICAL_START=0x00000000 | ||
| 265 | CONFIG_TASK_SIZE=0xc0000000 | ||
| 266 | CONFIG_CONSISTENT_START=0xff100000 | ||
| 267 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
| 268 | |||
| 269 | # | ||
| 270 | # Networking | ||
| 271 | # | ||
| 272 | CONFIG_NET=y | ||
| 273 | |||
| 274 | # | ||
| 275 | # Networking options | ||
| 276 | # | ||
| 277 | CONFIG_PACKET=y | ||
| 278 | # CONFIG_PACKET_MMAP is not set | ||
| 279 | CONFIG_UNIX=y | ||
| 280 | CONFIG_XFRM=y | ||
| 281 | # CONFIG_XFRM_USER is not set | ||
| 282 | # CONFIG_XFRM_SUB_POLICY is not set | ||
| 283 | # CONFIG_XFRM_MIGRATE is not set | ||
| 284 | # CONFIG_XFRM_STATISTICS is not set | ||
| 285 | # CONFIG_NET_KEY is not set | ||
| 286 | CONFIG_INET=y | ||
| 287 | CONFIG_IP_MULTICAST=y | ||
| 288 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 289 | CONFIG_IP_FIB_HASH=y | ||
| 290 | CONFIG_IP_PNP=y | ||
| 291 | CONFIG_IP_PNP_DHCP=y | ||
| 292 | CONFIG_IP_PNP_BOOTP=y | ||
| 293 | # CONFIG_IP_PNP_RARP is not set | ||
| 294 | # CONFIG_NET_IPIP is not set | ||
| 295 | # CONFIG_NET_IPGRE is not set | ||
| 296 | # CONFIG_IP_MROUTE is not set | ||
| 297 | # CONFIG_ARPD is not set | ||
| 298 | # CONFIG_SYN_COOKIES is not set | ||
| 299 | # CONFIG_INET_AH is not set | ||
| 300 | # CONFIG_INET_ESP is not set | ||
| 301 | # CONFIG_INET_IPCOMP is not set | ||
| 302 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 303 | CONFIG_INET_TUNNEL=m | ||
| 304 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
| 305 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
| 306 | CONFIG_INET_XFRM_MODE_BEET=y | ||
| 307 | # CONFIG_INET_LRO is not set | ||
| 308 | CONFIG_INET_DIAG=y | ||
| 309 | CONFIG_INET_TCP_DIAG=y | ||
| 310 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 311 | CONFIG_TCP_CONG_CUBIC=y | ||
| 312 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 313 | # CONFIG_TCP_MD5SIG is not set | ||
| 314 | # CONFIG_IP_VS is not set | ||
| 315 | CONFIG_IPV6=m | ||
| 316 | # CONFIG_IPV6_PRIVACY is not set | ||
| 317 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
| 318 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
| 319 | # CONFIG_INET6_AH is not set | ||
| 320 | # CONFIG_INET6_ESP is not set | ||
| 321 | # CONFIG_INET6_IPCOMP is not set | ||
| 322 | # CONFIG_IPV6_MIP6 is not set | ||
| 323 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 324 | # CONFIG_INET6_TUNNEL is not set | ||
| 325 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
| 326 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
| 327 | CONFIG_INET6_XFRM_MODE_BEET=m | ||
| 328 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
| 329 | CONFIG_IPV6_SIT=m | ||
| 330 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
| 331 | # CONFIG_IPV6_TUNNEL is not set | ||
| 332 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
| 333 | # CONFIG_IPV6_MROUTE is not set | ||
| 334 | # CONFIG_NETWORK_SECMARK is not set | ||
| 335 | CONFIG_NETFILTER=y | ||
| 336 | # CONFIG_NETFILTER_DEBUG is not set | ||
| 337 | CONFIG_NETFILTER_ADVANCED=y | ||
| 338 | |||
| 339 | # | ||
| 340 | # Core Netfilter Configuration | ||
| 341 | # | ||
| 342 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set | ||
| 343 | # CONFIG_NETFILTER_NETLINK_LOG is not set | ||
| 344 | # CONFIG_NF_CONNTRACK is not set | ||
| 345 | CONFIG_NETFILTER_XTABLES=m | ||
| 346 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | ||
| 347 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | ||
| 348 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | ||
| 349 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | ||
| 350 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | ||
| 351 | # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set | ||
| 352 | # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set | ||
| 353 | # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set | ||
| 354 | # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set | ||
| 355 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set | ||
| 356 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | ||
| 357 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | ||
| 358 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | ||
| 359 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | ||
| 360 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | ||
| 361 | # CONFIG_NETFILTER_XT_MATCH_MAC is not set | ||
| 362 | # CONFIG_NETFILTER_XT_MATCH_MARK is not set | ||
| 363 | # CONFIG_NETFILTER_XT_MATCH_OWNER is not set | ||
| 364 | # CONFIG_NETFILTER_XT_MATCH_POLICY is not set | ||
| 365 | # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set | ||
| 366 | # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set | ||
| 367 | # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set | ||
| 368 | # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set | ||
| 369 | # CONFIG_NETFILTER_XT_MATCH_REALM is not set | ||
| 370 | # CONFIG_NETFILTER_XT_MATCH_SCTP is not set | ||
| 371 | # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set | ||
| 372 | # CONFIG_NETFILTER_XT_MATCH_STRING is not set | ||
| 373 | # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set | ||
| 374 | # CONFIG_NETFILTER_XT_MATCH_TIME is not set | ||
| 375 | # CONFIG_NETFILTER_XT_MATCH_U32 is not set | ||
| 376 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | ||
| 377 | |||
| 378 | # | ||
| 379 | # IP: Netfilter Configuration | ||
| 380 | # | ||
| 381 | # CONFIG_IP_NF_QUEUE is not set | ||
| 382 | CONFIG_IP_NF_IPTABLES=m | ||
| 383 | # CONFIG_IP_NF_MATCH_RECENT is not set | ||
| 384 | # CONFIG_IP_NF_MATCH_ECN is not set | ||
| 385 | # CONFIG_IP_NF_MATCH_AH is not set | ||
| 386 | # CONFIG_IP_NF_MATCH_TTL is not set | ||
| 387 | # CONFIG_IP_NF_MATCH_ADDRTYPE is not set | ||
| 388 | CONFIG_IP_NF_FILTER=m | ||
| 389 | # CONFIG_IP_NF_TARGET_REJECT is not set | ||
| 390 | # CONFIG_IP_NF_TARGET_LOG is not set | ||
| 391 | # CONFIG_IP_NF_TARGET_ULOG is not set | ||
| 392 | CONFIG_IP_NF_MANGLE=m | ||
| 393 | # CONFIG_IP_NF_TARGET_ECN is not set | ||
| 394 | # CONFIG_IP_NF_TARGET_TTL is not set | ||
| 395 | # CONFIG_IP_NF_RAW is not set | ||
| 396 | # CONFIG_IP_NF_ARPTABLES is not set | ||
| 397 | |||
| 398 | # | ||
| 399 | # IPv6: Netfilter Configuration | ||
| 400 | # | ||
| 401 | # CONFIG_IP6_NF_QUEUE is not set | ||
| 402 | # CONFIG_IP6_NF_IPTABLES is not set | ||
| 403 | # CONFIG_IP_DCCP is not set | ||
| 404 | # CONFIG_IP_SCTP is not set | ||
| 405 | # CONFIG_TIPC is not set | ||
| 406 | # CONFIG_ATM is not set | ||
| 407 | # CONFIG_BRIDGE is not set | ||
| 408 | # CONFIG_VLAN_8021Q is not set | ||
| 409 | # CONFIG_DECNET is not set | ||
| 410 | # CONFIG_LLC2 is not set | ||
| 411 | # CONFIG_IPX is not set | ||
| 412 | # CONFIG_ATALK is not set | ||
| 413 | # CONFIG_X25 is not set | ||
| 414 | # CONFIG_LAPB is not set | ||
| 415 | # CONFIG_ECONET is not set | ||
| 416 | # CONFIG_WAN_ROUTER is not set | ||
| 417 | # CONFIG_NET_SCHED is not set | ||
| 418 | |||
| 419 | # | ||
| 420 | # Network testing | ||
| 421 | # | ||
| 422 | # CONFIG_NET_PKTGEN is not set | ||
| 423 | # CONFIG_HAMRADIO is not set | ||
| 424 | # CONFIG_CAN is not set | ||
| 425 | # CONFIG_IRDA is not set | ||
| 426 | # CONFIG_BT is not set | ||
| 427 | # CONFIG_AF_RXRPC is not set | ||
| 428 | |||
| 429 | # | ||
| 430 | # Wireless | ||
| 431 | # | ||
| 432 | # CONFIG_CFG80211 is not set | ||
| 433 | # CONFIG_WIRELESS_EXT is not set | ||
| 434 | # CONFIG_MAC80211 is not set | ||
| 435 | # CONFIG_IEEE80211 is not set | ||
| 436 | # CONFIG_RFKILL is not set | ||
| 437 | # CONFIG_NET_9P is not set | ||
| 438 | |||
| 439 | # | ||
| 440 | # Device Drivers | ||
| 441 | # | ||
| 442 | |||
| 443 | # | ||
| 444 | # Generic Driver Options | ||
| 445 | # | ||
| 446 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 447 | CONFIG_STANDALONE=y | ||
| 448 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 449 | # CONFIG_FW_LOADER is not set | ||
| 450 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 451 | # CONFIG_CONNECTOR is not set | ||
| 452 | # CONFIG_MTD is not set | ||
| 453 | CONFIG_OF_DEVICE=y | ||
| 454 | CONFIG_OF_I2C=y | ||
| 455 | # CONFIG_PARPORT is not set | ||
| 456 | CONFIG_BLK_DEV=y | ||
| 457 | # CONFIG_BLK_DEV_FD is not set | ||
| 458 | # CONFIG_BLK_CPQ_DA is not set | ||
| 459 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
| 460 | # CONFIG_BLK_DEV_DAC960 is not set | ||
| 461 | # CONFIG_BLK_DEV_UMEM is not set | ||
| 462 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 463 | CONFIG_BLK_DEV_LOOP=y | ||
| 464 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 465 | # CONFIG_BLK_DEV_NBD is not set | ||
| 466 | # CONFIG_BLK_DEV_SX8 is not set | ||
| 467 | CONFIG_BLK_DEV_RAM=y | ||
| 468 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 469 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
| 470 | # CONFIG_BLK_DEV_XIP is not set | ||
| 471 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 472 | # CONFIG_ATA_OVER_ETH is not set | ||
| 473 | # CONFIG_XILINX_SYSACE is not set | ||
| 474 | CONFIG_MISC_DEVICES=y | ||
| 475 | # CONFIG_PHANTOM is not set | ||
| 476 | # CONFIG_EEPROM_93CX6 is not set | ||
| 477 | # CONFIG_SGI_IOC4 is not set | ||
| 478 | # CONFIG_TIFM_CORE is not set | ||
| 479 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
| 480 | CONFIG_HAVE_IDE=y | ||
| 481 | # CONFIG_IDE is not set | ||
| 482 | |||
| 483 | # | ||
| 484 | # SCSI device support | ||
| 485 | # | ||
| 486 | # CONFIG_RAID_ATTRS is not set | ||
| 487 | # CONFIG_SCSI is not set | ||
| 488 | # CONFIG_SCSI_DMA is not set | ||
| 489 | # CONFIG_SCSI_NETLINK is not set | ||
| 490 | # CONFIG_ATA is not set | ||
| 491 | # CONFIG_MD is not set | ||
| 492 | # CONFIG_FUSION is not set | ||
| 493 | |||
| 494 | # | ||
| 495 | # IEEE 1394 (FireWire) support | ||
| 496 | # | ||
| 497 | |||
| 498 | # | ||
| 499 | # Enable only one of the two stacks, unless you know what you are doing | ||
| 500 | # | ||
| 501 | # CONFIG_FIREWIRE is not set | ||
| 502 | # CONFIG_IEEE1394 is not set | ||
| 503 | # CONFIG_I2O is not set | ||
| 504 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
| 505 | CONFIG_NETDEVICES=y | ||
| 506 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
| 507 | # CONFIG_DUMMY is not set | ||
| 508 | # CONFIG_BONDING is not set | ||
| 509 | # CONFIG_MACVLAN is not set | ||
| 510 | # CONFIG_EQUALIZER is not set | ||
| 511 | # CONFIG_TUN is not set | ||
| 512 | # CONFIG_VETH is not set | ||
| 513 | # CONFIG_ARCNET is not set | ||
| 514 | # CONFIG_PHYLIB is not set | ||
| 515 | CONFIG_NET_ETHERNET=y | ||
| 516 | CONFIG_MII=y | ||
| 517 | # CONFIG_HAPPYMEAL is not set | ||
| 518 | # CONFIG_SUNGEM is not set | ||
| 519 | # CONFIG_CASSINI is not set | ||
| 520 | # CONFIG_NET_VENDOR_3COM is not set | ||
| 521 | # CONFIG_NET_TULIP is not set | ||
| 522 | # CONFIG_HP100 is not set | ||
| 523 | # CONFIG_IBM_NEW_EMAC is not set | ||
| 524 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 525 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 526 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 527 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 528 | # CONFIG_NET_PCI is not set | ||
| 529 | # CONFIG_B44 is not set | ||
| 530 | CONFIG_NETDEV_1000=y | ||
| 531 | # CONFIG_ACENIC is not set | ||
| 532 | # CONFIG_DL2K is not set | ||
| 533 | # CONFIG_E1000 is not set | ||
| 534 | # CONFIG_E1000E is not set | ||
| 535 | # CONFIG_E1000E_ENABLED is not set | ||
| 536 | # CONFIG_IP1000 is not set | ||
| 537 | # CONFIG_IGB is not set | ||
| 538 | # CONFIG_NS83820 is not set | ||
| 539 | # CONFIG_HAMACHI is not set | ||
| 540 | # CONFIG_YELLOWFIN is not set | ||
| 541 | # CONFIG_R8169 is not set | ||
| 542 | # CONFIG_SIS190 is not set | ||
| 543 | # CONFIG_SKGE is not set | ||
| 544 | # CONFIG_SKY2 is not set | ||
| 545 | # CONFIG_VIA_VELOCITY is not set | ||
| 546 | # CONFIG_TIGON3 is not set | ||
| 547 | # CONFIG_BNX2 is not set | ||
| 548 | # CONFIG_QLA3XXX is not set | ||
| 549 | # CONFIG_ATL1 is not set | ||
| 550 | # CONFIG_NETDEV_10000 is not set | ||
| 551 | # CONFIG_TR is not set | ||
| 552 | |||
| 553 | # | ||
| 554 | # Wireless LAN | ||
| 555 | # | ||
| 556 | # CONFIG_WLAN_PRE80211 is not set | ||
| 557 | # CONFIG_WLAN_80211 is not set | ||
| 558 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 559 | # CONFIG_WAN is not set | ||
| 560 | # CONFIG_FDDI is not set | ||
| 561 | # CONFIG_HIPPI is not set | ||
| 562 | # CONFIG_PPP is not set | ||
| 563 | # CONFIG_SLIP is not set | ||
| 564 | # CONFIG_NETCONSOLE is not set | ||
| 565 | # CONFIG_NETPOLL is not set | ||
| 566 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 567 | # CONFIG_ISDN is not set | ||
| 568 | # CONFIG_PHONE is not set | ||
| 569 | |||
| 570 | # | ||
| 571 | # Input device support | ||
| 572 | # | ||
| 573 | CONFIG_INPUT=y | ||
| 574 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 575 | # CONFIG_INPUT_POLLDEV is not set | ||
| 576 | |||
| 577 | # | ||
| 578 | # Userland interfaces | ||
| 579 | # | ||
| 580 | CONFIG_INPUT_MOUSEDEV=y | ||
| 581 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
| 582 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 583 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 584 | # CONFIG_INPUT_JOYDEV is not set | ||
| 585 | # CONFIG_INPUT_EVDEV is not set | ||
| 586 | # CONFIG_INPUT_EVBUG is not set | ||
| 587 | |||
| 588 | # | ||
| 589 | # Input Device Drivers | ||
| 590 | # | ||
| 591 | CONFIG_INPUT_KEYBOARD=y | ||
| 592 | CONFIG_KEYBOARD_ATKBD=y | ||
| 593 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
| 594 | # CONFIG_KEYBOARD_LKKBD is not set | ||
| 595 | # CONFIG_KEYBOARD_XTKBD is not set | ||
| 596 | # CONFIG_KEYBOARD_NEWTON is not set | ||
| 597 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
| 598 | CONFIG_INPUT_MOUSE=y | ||
| 599 | CONFIG_MOUSE_PS2=y | ||
| 600 | CONFIG_MOUSE_PS2_ALPS=y | ||
| 601 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | ||
| 602 | CONFIG_MOUSE_PS2_SYNAPTICS=y | ||
| 603 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
| 604 | CONFIG_MOUSE_PS2_TRACKPOINT=y | ||
| 605 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
| 606 | # CONFIG_MOUSE_SERIAL is not set | ||
| 607 | # CONFIG_MOUSE_VSXXXAA is not set | ||
| 608 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 609 | # CONFIG_INPUT_TABLET is not set | ||
| 610 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 611 | # CONFIG_INPUT_MISC is not set | ||
| 612 | |||
| 613 | # | ||
| 614 | # Hardware I/O ports | ||
| 615 | # | ||
| 616 | CONFIG_SERIO=y | ||
| 617 | # CONFIG_SERIO_I8042 is not set | ||
| 618 | CONFIG_SERIO_SERPORT=y | ||
| 619 | # CONFIG_SERIO_PCIPS2 is not set | ||
| 620 | CONFIG_SERIO_LIBPS2=y | ||
| 621 | # CONFIG_SERIO_RAW is not set | ||
| 622 | # CONFIG_GAMEPORT is not set | ||
| 623 | |||
| 624 | # | ||
| 625 | # Character devices | ||
| 626 | # | ||
| 627 | CONFIG_VT=y | ||
| 628 | CONFIG_VT_CONSOLE=y | ||
| 629 | CONFIG_HW_CONSOLE=y | ||
| 630 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 631 | CONFIG_DEVKMEM=y | ||
| 632 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 633 | # CONFIG_NOZOMI is not set | ||
| 634 | |||
| 635 | # | ||
| 636 | # Serial drivers | ||
| 637 | # | ||
| 638 | CONFIG_SERIAL_8250=y | ||
| 639 | CONFIG_SERIAL_8250_CONSOLE=y | ||
| 640 | CONFIG_SERIAL_8250_PCI=y | ||
| 641 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
| 642 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
| 643 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
| 644 | |||
| 645 | # | ||
| 646 | # Non-8250 serial port support | ||
| 647 | # | ||
| 648 | # CONFIG_SERIAL_UARTLITE is not set | ||
| 649 | CONFIG_SERIAL_CORE=y | ||
| 650 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 651 | # CONFIG_SERIAL_JSM is not set | ||
| 652 | CONFIG_SERIAL_OF_PLATFORM=y | ||
| 653 | CONFIG_UNIX98_PTYS=y | ||
| 654 | CONFIG_LEGACY_PTYS=y | ||
| 655 | CONFIG_LEGACY_PTY_COUNT=256 | ||
| 656 | # CONFIG_IPMI_HANDLER is not set | ||
| 657 | CONFIG_HW_RANDOM=m | ||
| 658 | # CONFIG_NVRAM is not set | ||
| 659 | # CONFIG_GEN_RTC is not set | ||
| 660 | CONFIG_XILINX_HWICAP=y | ||
| 661 | # CONFIG_R3964 is not set | ||
| 662 | # CONFIG_APPLICOM is not set | ||
| 663 | # CONFIG_RAW_DRIVER is not set | ||
| 664 | # CONFIG_TCG_TPM is not set | ||
| 665 | CONFIG_DEVPORT=y | ||
| 666 | CONFIG_I2C=y | ||
| 667 | CONFIG_I2C_BOARDINFO=y | ||
| 668 | CONFIG_I2C_CHARDEV=y | ||
| 669 | |||
| 670 | # | ||
| 671 | # I2C Hardware Bus support | ||
| 672 | # | ||
| 673 | # CONFIG_I2C_ALI1535 is not set | ||
| 674 | # CONFIG_I2C_ALI1563 is not set | ||
| 675 | # CONFIG_I2C_ALI15X3 is not set | ||
| 676 | # CONFIG_I2C_AMD756 is not set | ||
| 677 | # CONFIG_I2C_AMD8111 is not set | ||
| 678 | # CONFIG_I2C_I801 is not set | ||
| 679 | # CONFIG_I2C_I810 is not set | ||
| 680 | # CONFIG_I2C_PIIX4 is not set | ||
| 681 | # CONFIG_I2C_IBM_IIC is not set | ||
| 682 | # CONFIG_I2C_MPC is not set | ||
| 683 | # CONFIG_I2C_NFORCE2 is not set | ||
| 684 | # CONFIG_I2C_OCORES is not set | ||
| 685 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 686 | # CONFIG_I2C_PROSAVAGE is not set | ||
| 687 | # CONFIG_I2C_SAVAGE4 is not set | ||
| 688 | # CONFIG_I2C_SIMTEC is not set | ||
| 689 | # CONFIG_I2C_SIS5595 is not set | ||
| 690 | # CONFIG_I2C_SIS630 is not set | ||
| 691 | # CONFIG_I2C_SIS96X is not set | ||
| 692 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 693 | # CONFIG_I2C_STUB is not set | ||
| 694 | # CONFIG_I2C_VIA is not set | ||
| 695 | # CONFIG_I2C_VIAPRO is not set | ||
| 696 | # CONFIG_I2C_VOODOO3 is not set | ||
| 697 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 698 | |||
| 699 | # | ||
| 700 | # Miscellaneous I2C Chip support | ||
| 701 | # | ||
| 702 | # CONFIG_DS1682 is not set | ||
| 703 | # CONFIG_SENSORS_EEPROM is not set | ||
| 704 | # CONFIG_SENSORS_PCF8574 is not set | ||
| 705 | # CONFIG_PCF8575 is not set | ||
| 706 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 707 | # CONFIG_SENSORS_MAX6875 is not set | ||
| 708 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 709 | CONFIG_I2C_DEBUG_CORE=y | ||
| 710 | CONFIG_I2C_DEBUG_ALGO=y | ||
| 711 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 712 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 713 | # CONFIG_SPI is not set | ||
| 714 | # CONFIG_W1 is not set | ||
| 715 | # CONFIG_POWER_SUPPLY is not set | ||
| 716 | # CONFIG_HWMON is not set | ||
| 717 | # CONFIG_THERMAL is not set | ||
| 718 | # CONFIG_WATCHDOG is not set | ||
| 719 | |||
| 720 | # | ||
| 721 | # Sonics Silicon Backplane | ||
| 722 | # | ||
| 723 | CONFIG_SSB_POSSIBLE=y | ||
| 724 | # CONFIG_SSB is not set | ||
| 725 | |||
| 726 | # | ||
| 727 | # Multifunction device drivers | ||
| 728 | # | ||
| 729 | # CONFIG_MFD_SM501 is not set | ||
| 730 | # CONFIG_HTC_PASIC3 is not set | ||
| 731 | |||
| 732 | # | ||
| 733 | # Multimedia devices | ||
| 734 | # | ||
| 735 | |||
| 736 | # | ||
| 737 | # Multimedia core support | ||
| 738 | # | ||
| 739 | # CONFIG_VIDEO_DEV is not set | ||
| 740 | # CONFIG_DVB_CORE is not set | ||
| 741 | # CONFIG_VIDEO_MEDIA is not set | ||
| 742 | |||
| 743 | # | ||
| 744 | # Multimedia drivers | ||
| 745 | # | ||
| 746 | # CONFIG_DAB is not set | ||
| 747 | |||
| 748 | # | ||
| 749 | # Graphics support | ||
| 750 | # | ||
| 751 | # CONFIG_AGP is not set | ||
| 752 | # CONFIG_DRM is not set | ||
| 753 | # CONFIG_VGASTATE is not set | ||
| 754 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 755 | CONFIG_FB=y | ||
| 756 | # CONFIG_FIRMWARE_EDID is not set | ||
| 757 | # CONFIG_FB_DDC is not set | ||
| 758 | CONFIG_FB_CFB_FILLRECT=y | ||
| 759 | CONFIG_FB_CFB_COPYAREA=y | ||
| 760 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
| 761 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
| 762 | # CONFIG_FB_SYS_FILLRECT is not set | ||
| 763 | # CONFIG_FB_SYS_COPYAREA is not set | ||
| 764 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
| 765 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
| 766 | # CONFIG_FB_SYS_FOPS is not set | ||
| 767 | # CONFIG_FB_SVGALIB is not set | ||
| 768 | # CONFIG_FB_MACMODES is not set | ||
| 769 | # CONFIG_FB_BACKLIGHT is not set | ||
| 770 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 771 | # CONFIG_FB_TILEBLITTING is not set | ||
| 772 | |||
| 773 | # | ||
| 774 | # Frame buffer hardware drivers | ||
| 775 | # | ||
| 776 | # CONFIG_FB_CIRRUS is not set | ||
| 777 | # CONFIG_FB_PM2 is not set | ||
| 778 | # CONFIG_FB_CYBER2000 is not set | ||
| 779 | # CONFIG_FB_OF is not set | ||
| 780 | # CONFIG_FB_CT65550 is not set | ||
| 781 | # CONFIG_FB_ASILIANT is not set | ||
| 782 | # CONFIG_FB_IMSTT is not set | ||
| 783 | # CONFIG_FB_VGA16 is not set | ||
| 784 | # CONFIG_FB_S1D13XXX is not set | ||
| 785 | # CONFIG_FB_NVIDIA is not set | ||
| 786 | # CONFIG_FB_RIVA is not set | ||
| 787 | # CONFIG_FB_MATROX is not set | ||
| 788 | # CONFIG_FB_RADEON is not set | ||
| 789 | # CONFIG_FB_ATY128 is not set | ||
| 790 | # CONFIG_FB_ATY is not set | ||
| 791 | # CONFIG_FB_S3 is not set | ||
| 792 | # CONFIG_FB_SAVAGE is not set | ||
| 793 | # CONFIG_FB_SIS is not set | ||
| 794 | # CONFIG_FB_NEOMAGIC is not set | ||
| 795 | # CONFIG_FB_KYRO is not set | ||
| 796 | # CONFIG_FB_3DFX is not set | ||
| 797 | # CONFIG_FB_VOODOO1 is not set | ||
| 798 | # CONFIG_FB_VT8623 is not set | ||
| 799 | # CONFIG_FB_TRIDENT is not set | ||
| 800 | # CONFIG_FB_ARK is not set | ||
| 801 | # CONFIG_FB_PM3 is not set | ||
| 802 | # CONFIG_FB_IBM_GXT4500 is not set | ||
| 803 | CONFIG_FB_XILINX=y | ||
| 804 | # CONFIG_FB_VIRTUAL is not set | ||
| 805 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 806 | |||
| 807 | # | ||
| 808 | # Display device support | ||
| 809 | # | ||
| 810 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 811 | |||
| 812 | # | ||
| 813 | # Console display driver support | ||
| 814 | # | ||
| 815 | CONFIG_DUMMY_CONSOLE=y | ||
| 816 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
| 817 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
| 818 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
| 819 | CONFIG_FONTS=y | ||
| 820 | CONFIG_FONT_8x8=y | ||
| 821 | CONFIG_FONT_8x16=y | ||
| 822 | # CONFIG_FONT_6x11 is not set | ||
| 823 | # CONFIG_FONT_7x14 is not set | ||
| 824 | # CONFIG_FONT_PEARL_8x8 is not set | ||
| 825 | # CONFIG_FONT_ACORN_8x8 is not set | ||
| 826 | # CONFIG_FONT_MINI_4x6 is not set | ||
| 827 | # CONFIG_FONT_SUN8x16 is not set | ||
| 828 | # CONFIG_FONT_SUN12x22 is not set | ||
| 829 | # CONFIG_FONT_10x18 is not set | ||
| 830 | CONFIG_LOGO=y | ||
| 831 | CONFIG_LOGO_LINUX_MONO=y | ||
| 832 | CONFIG_LOGO_LINUX_VGA16=y | ||
| 833 | CONFIG_LOGO_LINUX_CLUT224=y | ||
| 834 | |||
| 835 | # | ||
| 836 | # Sound | ||
| 837 | # | ||
| 838 | # CONFIG_SOUND is not set | ||
| 839 | # CONFIG_HID_SUPPORT is not set | ||
| 840 | # CONFIG_USB_SUPPORT is not set | ||
| 841 | # CONFIG_MMC is not set | ||
| 842 | # CONFIG_MEMSTICK is not set | ||
| 843 | # CONFIG_NEW_LEDS is not set | ||
| 844 | # CONFIG_ACCESSIBILITY is not set | ||
| 845 | # CONFIG_INFINIBAND is not set | ||
| 846 | # CONFIG_EDAC is not set | ||
| 847 | # CONFIG_RTC_CLASS is not set | ||
| 848 | # CONFIG_DMADEVICES is not set | ||
| 849 | # CONFIG_UIO is not set | ||
| 850 | |||
| 851 | # | ||
| 852 | # File systems | ||
| 853 | # | ||
| 854 | CONFIG_EXT2_FS=y | ||
| 855 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 856 | # CONFIG_EXT2_FS_XIP is not set | ||
| 857 | # CONFIG_EXT3_FS is not set | ||
| 858 | # CONFIG_EXT4DEV_FS is not set | ||
| 859 | # CONFIG_REISERFS_FS is not set | ||
| 860 | # CONFIG_JFS_FS is not set | ||
| 861 | # CONFIG_FS_POSIX_ACL is not set | ||
| 862 | # CONFIG_XFS_FS is not set | ||
| 863 | # CONFIG_OCFS2_FS is not set | ||
| 864 | CONFIG_DNOTIFY=y | ||
| 865 | CONFIG_INOTIFY=y | ||
| 866 | CONFIG_INOTIFY_USER=y | ||
| 867 | # CONFIG_QUOTA is not set | ||
| 868 | CONFIG_AUTOFS_FS=y | ||
| 869 | CONFIG_AUTOFS4_FS=y | ||
| 870 | CONFIG_FUSE_FS=m | ||
| 871 | |||
| 872 | # | ||
| 873 | # CD-ROM/DVD Filesystems | ||
| 874 | # | ||
| 875 | # CONFIG_ISO9660_FS is not set | ||
| 876 | # CONFIG_UDF_FS is not set | ||
| 877 | |||
| 878 | # | ||
| 879 | # DOS/FAT/NT Filesystems | ||
| 880 | # | ||
| 881 | CONFIG_FAT_FS=y | ||
| 882 | CONFIG_MSDOS_FS=y | ||
| 883 | CONFIG_VFAT_FS=y | ||
| 884 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 885 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 886 | # CONFIG_NTFS_FS is not set | ||
| 887 | |||
| 888 | # | ||
| 889 | # Pseudo filesystems | ||
| 890 | # | ||
| 891 | CONFIG_PROC_FS=y | ||
| 892 | # CONFIG_PROC_KCORE is not set | ||
| 893 | CONFIG_PROC_SYSCTL=y | ||
| 894 | CONFIG_SYSFS=y | ||
| 895 | CONFIG_TMPFS=y | ||
| 896 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 897 | # CONFIG_HUGETLB_PAGE is not set | ||
| 898 | # CONFIG_CONFIGFS_FS is not set | ||
| 899 | |||
| 900 | # | ||
| 901 | # Miscellaneous filesystems | ||
| 902 | # | ||
| 903 | # CONFIG_ADFS_FS is not set | ||
| 904 | # CONFIG_AFFS_FS is not set | ||
| 905 | # CONFIG_HFS_FS is not set | ||
| 906 | # CONFIG_HFSPLUS_FS is not set | ||
| 907 | # CONFIG_BEFS_FS is not set | ||
| 908 | # CONFIG_BFS_FS is not set | ||
| 909 | # CONFIG_EFS_FS is not set | ||
| 910 | CONFIG_CRAMFS=y | ||
| 911 | # CONFIG_VXFS_FS is not set | ||
| 912 | # CONFIG_MINIX_FS is not set | ||
| 913 | # CONFIG_HPFS_FS is not set | ||
| 914 | # CONFIG_QNX4FS_FS is not set | ||
| 915 | CONFIG_ROMFS_FS=y | ||
| 916 | # CONFIG_SYSV_FS is not set | ||
| 917 | # CONFIG_UFS_FS is not set | ||
| 918 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 919 | CONFIG_NFS_FS=y | ||
| 920 | CONFIG_NFS_V3=y | ||
| 921 | # CONFIG_NFS_V3_ACL is not set | ||
| 922 | # CONFIG_NFS_V4 is not set | ||
| 923 | CONFIG_NFSD=y | ||
| 924 | CONFIG_NFSD_V3=y | ||
| 925 | # CONFIG_NFSD_V3_ACL is not set | ||
| 926 | # CONFIG_NFSD_V4 is not set | ||
| 927 | CONFIG_ROOT_NFS=y | ||
| 928 | CONFIG_LOCKD=y | ||
| 929 | CONFIG_LOCKD_V4=y | ||
| 930 | CONFIG_EXPORTFS=y | ||
| 931 | CONFIG_NFS_COMMON=y | ||
| 932 | CONFIG_SUNRPC=y | ||
| 933 | # CONFIG_SUNRPC_BIND34 is not set | ||
| 934 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 935 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 936 | CONFIG_SMB_FS=y | ||
| 937 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
| 938 | # CONFIG_CIFS is not set | ||
| 939 | # CONFIG_NCP_FS is not set | ||
| 940 | # CONFIG_CODA_FS is not set | ||
| 941 | # CONFIG_AFS_FS is not set | ||
| 942 | |||
| 943 | # | ||
| 944 | # Partition Types | ||
| 945 | # | ||
| 946 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 947 | CONFIG_MSDOS_PARTITION=y | ||
| 948 | CONFIG_NLS=y | ||
| 949 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 950 | CONFIG_NLS_CODEPAGE_437=y | ||
| 951 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 952 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 953 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 954 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 955 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 956 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 957 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 958 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 959 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 960 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 961 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 962 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 963 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 964 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 965 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 966 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 967 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
| 968 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 969 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 970 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 971 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 972 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 973 | CONFIG_NLS_ASCII=m | ||
| 974 | CONFIG_NLS_ISO8859_1=m | ||
| 975 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 976 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 977 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 978 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 979 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 980 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 981 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 982 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 983 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 984 | # CONFIG_NLS_ISO8859_15 is not set | ||
| 985 | # CONFIG_NLS_KOI8_R is not set | ||
| 986 | # CONFIG_NLS_KOI8_U is not set | ||
| 987 | CONFIG_NLS_UTF8=m | ||
| 988 | # CONFIG_DLM is not set | ||
| 989 | |||
| 990 | # | ||
| 991 | # Library routines | ||
| 992 | # | ||
| 993 | CONFIG_BITREVERSE=y | ||
| 994 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
| 995 | CONFIG_CRC_CCITT=y | ||
| 996 | # CONFIG_CRC16 is not set | ||
| 997 | # CONFIG_CRC_ITU_T is not set | ||
| 998 | CONFIG_CRC32=y | ||
| 999 | # CONFIG_CRC7 is not set | ||
| 1000 | # CONFIG_LIBCRC32C is not set | ||
| 1001 | CONFIG_ZLIB_INFLATE=y | ||
| 1002 | CONFIG_PLIST=y | ||
| 1003 | CONFIG_HAS_IOMEM=y | ||
| 1004 | CONFIG_HAS_IOPORT=y | ||
| 1005 | CONFIG_HAS_DMA=y | ||
| 1006 | CONFIG_HAVE_LMB=y | ||
| 1007 | |||
| 1008 | # | ||
| 1009 | # Kernel hacking | ||
| 1010 | # | ||
| 1011 | # CONFIG_PRINTK_TIME is not set | ||
| 1012 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 1013 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 1014 | CONFIG_FRAME_WARN=1024 | ||
| 1015 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 1016 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 1017 | # CONFIG_DEBUG_FS is not set | ||
| 1018 | # CONFIG_HEADERS_CHECK is not set | ||
| 1019 | # CONFIG_DEBUG_KERNEL is not set | ||
| 1020 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 1021 | # CONFIG_SAMPLES is not set | ||
| 1022 | # CONFIG_IRQSTACKS is not set | ||
| 1023 | # CONFIG_PPC_EARLY_DEBUG is not set | ||
| 1024 | |||
| 1025 | # | ||
| 1026 | # Security options | ||
| 1027 | # | ||
| 1028 | # CONFIG_KEYS is not set | ||
| 1029 | # CONFIG_SECURITY is not set | ||
| 1030 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
| 1031 | CONFIG_CRYPTO=y | ||
| 1032 | |||
| 1033 | # | ||
| 1034 | # Crypto core or helper | ||
| 1035 | # | ||
| 1036 | # CONFIG_CRYPTO_MANAGER is not set | ||
| 1037 | # CONFIG_CRYPTO_GF128MUL is not set | ||
| 1038 | # CONFIG_CRYPTO_NULL is not set | ||
| 1039 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 1040 | # CONFIG_CRYPTO_AUTHENC is not set | ||
| 1041 | # CONFIG_CRYPTO_TEST is not set | ||
| 1042 | |||
| 1043 | # | ||
| 1044 | # Authenticated Encryption with Associated Data | ||
| 1045 | # | ||
| 1046 | # CONFIG_CRYPTO_CCM is not set | ||
| 1047 | # CONFIG_CRYPTO_GCM is not set | ||
| 1048 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1049 | |||
| 1050 | # | ||
| 1051 | # Block modes | ||
| 1052 | # | ||
| 1053 | # CONFIG_CRYPTO_CBC is not set | ||
| 1054 | # CONFIG_CRYPTO_CTR is not set | ||
| 1055 | # CONFIG_CRYPTO_CTS is not set | ||
| 1056 | # CONFIG_CRYPTO_ECB is not set | ||
| 1057 | # CONFIG_CRYPTO_LRW is not set | ||
| 1058 | # CONFIG_CRYPTO_PCBC is not set | ||
| 1059 | # CONFIG_CRYPTO_XTS is not set | ||
| 1060 | |||
| 1061 | # | ||
| 1062 | # Hash modes | ||
| 1063 | # | ||
| 1064 | # CONFIG_CRYPTO_HMAC is not set | ||
| 1065 | # CONFIG_CRYPTO_XCBC is not set | ||
| 1066 | |||
| 1067 | # | ||
| 1068 | # Digest | ||
| 1069 | # | ||
| 1070 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1071 | # CONFIG_CRYPTO_MD4 is not set | ||
| 1072 | # CONFIG_CRYPTO_MD5 is not set | ||
| 1073 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1074 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 1075 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 1076 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 1077 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 1078 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1079 | |||
| 1080 | # | ||
| 1081 | # Ciphers | ||
| 1082 | # | ||
| 1083 | # CONFIG_CRYPTO_AES is not set | ||
| 1084 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1085 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 1086 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 1087 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 1088 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 1089 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 1090 | # CONFIG_CRYPTO_DES is not set | ||
| 1091 | # CONFIG_CRYPTO_FCRYPT is not set | ||
| 1092 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 1093 | # CONFIG_CRYPTO_SALSA20 is not set | ||
| 1094 | # CONFIG_CRYPTO_SEED is not set | ||
| 1095 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1096 | # CONFIG_CRYPTO_TEA is not set | ||
| 1097 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1098 | |||
| 1099 | # | ||
| 1100 | # Compression | ||
| 1101 | # | ||
| 1102 | # CONFIG_CRYPTO_DEFLATE is not set | ||
| 1103 | # CONFIG_CRYPTO_LZO is not set | ||
| 1104 | CONFIG_CRYPTO_HW=y | ||
| 1105 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | ||
| 1106 | # CONFIG_PPC_CLOCK is not set | ||
| 1107 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig index 12f9b5a80220..f9d279bb700b 100644 --- a/arch/powerpc/configs/ppc44x_defconfig +++ b/arch/powerpc/configs/ppc44x_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.25-rc6 | 3 | # Linux kernel version: 2.6.26-rc8 |
| 4 | # Sat Apr 5 09:35:48 2008 | 4 | # Wed Jul 9 13:50:48 2008 |
| 5 | # | 5 | # |
| 6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
| 7 | 7 | ||
| @@ -32,6 +32,8 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
| 32 | CONFIG_GENERIC_HARDIRQS=y | 32 | CONFIG_GENERIC_HARDIRQS=y |
| 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
| 34 | CONFIG_IRQ_PER_CPU=y | 34 | CONFIG_IRQ_PER_CPU=y |
| 35 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 36 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 35 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 37 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
| 36 | CONFIG_ARCH_HAS_ILOG2_U32=y | 38 | CONFIG_ARCH_HAS_ILOG2_U32=y |
| 37 | CONFIG_GENERIC_HWEIGHT=y | 39 | CONFIG_GENERIC_HWEIGHT=y |
| @@ -88,6 +90,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
| 88 | CONFIG_SYSCTL=y | 90 | CONFIG_SYSCTL=y |
| 89 | CONFIG_EMBEDDED=y | 91 | CONFIG_EMBEDDED=y |
| 90 | CONFIG_SYSCTL_SYSCALL=y | 92 | CONFIG_SYSCTL_SYSCALL=y |
| 93 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 91 | CONFIG_KALLSYMS=y | 94 | CONFIG_KALLSYMS=y |
| 92 | CONFIG_KALLSYMS_ALL=y | 95 | CONFIG_KALLSYMS_ALL=y |
| 93 | CONFIG_KALLSYMS_EXTRA_PASS=y | 96 | CONFIG_KALLSYMS_EXTRA_PASS=y |
| @@ -115,12 +118,14 @@ CONFIG_HAVE_OPROFILE=y | |||
| 115 | # CONFIG_KPROBES is not set | 118 | # CONFIG_KPROBES is not set |
| 116 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
| 117 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
| 121 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
| 118 | CONFIG_PROC_PAGE_MONITOR=y | 122 | CONFIG_PROC_PAGE_MONITOR=y |
| 119 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
| 120 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
| 121 | # CONFIG_TINY_SHMEM is not set | 125 | # CONFIG_TINY_SHMEM is not set |
| 122 | CONFIG_BASE_SMALL=0 | 126 | CONFIG_BASE_SMALL=0 |
| 123 | CONFIG_MODULES=y | 127 | CONFIG_MODULES=y |
| 128 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 124 | CONFIG_MODULE_UNLOAD=y | 129 | CONFIG_MODULE_UNLOAD=y |
| 125 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 130 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
| 126 | # CONFIG_MODVERSIONS is not set | 131 | # CONFIG_MODVERSIONS is not set |
| @@ -157,6 +162,7 @@ CONFIG_PPC4xx_PCI_EXPRESS=y | |||
| 157 | # CONFIG_PQ2ADS is not set | 162 | # CONFIG_PQ2ADS is not set |
| 158 | CONFIG_BAMBOO=y | 163 | CONFIG_BAMBOO=y |
| 159 | CONFIG_EBONY=y | 164 | CONFIG_EBONY=y |
| 165 | CONFIG_SAM440EP=y | ||
| 160 | CONFIG_SEQUOIA=y | 166 | CONFIG_SEQUOIA=y |
| 161 | CONFIG_TAISHAN=y | 167 | CONFIG_TAISHAN=y |
| 162 | CONFIG_KATMAI=y | 168 | CONFIG_KATMAI=y |
| @@ -164,6 +170,7 @@ CONFIG_RAINIER=y | |||
| 164 | CONFIG_WARP=y | 170 | CONFIG_WARP=y |
| 165 | CONFIG_CANYONLANDS=y | 171 | CONFIG_CANYONLANDS=y |
| 166 | CONFIG_YOSEMITE=y | 172 | CONFIG_YOSEMITE=y |
| 173 | CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y | ||
| 167 | CONFIG_440EP=y | 174 | CONFIG_440EP=y |
| 168 | CONFIG_440EPX=y | 175 | CONFIG_440EPX=y |
| 169 | CONFIG_440GRX=y | 176 | CONFIG_440GRX=y |
| @@ -172,6 +179,8 @@ CONFIG_440GX=y | |||
| 172 | CONFIG_440SPe=y | 179 | CONFIG_440SPe=y |
| 173 | CONFIG_460EX=y | 180 | CONFIG_460EX=y |
| 174 | CONFIG_IBM440EP_ERR42=y | 181 | CONFIG_IBM440EP_ERR42=y |
| 182 | CONFIG_XILINX_VIRTEX=y | ||
| 183 | CONFIG_XILINX_VIRTEX_5_FXT=y | ||
| 175 | # CONFIG_IPIC is not set | 184 | # CONFIG_IPIC is not set |
| 176 | # CONFIG_MPIC is not set | 185 | # CONFIG_MPIC is not set |
| 177 | # CONFIG_MPIC_WEIRD is not set | 186 | # CONFIG_MPIC_WEIRD is not set |
| @@ -220,13 +229,16 @@ CONFIG_FLATMEM=y | |||
| 220 | CONFIG_FLAT_NODE_MEM_MAP=y | 229 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 221 | # CONFIG_SPARSEMEM_STATIC is not set | 230 | # CONFIG_SPARSEMEM_STATIC is not set |
| 222 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 231 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
| 232 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 223 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 233 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
| 224 | CONFIG_RESOURCES_64BIT=y | 234 | CONFIG_RESOURCES_64BIT=y |
| 225 | CONFIG_ZONE_DMA_FLAG=1 | 235 | CONFIG_ZONE_DMA_FLAG=1 |
| 226 | CONFIG_BOUNCE=y | 236 | CONFIG_BOUNCE=y |
| 227 | CONFIG_VIRT_TO_BUS=y | 237 | CONFIG_VIRT_TO_BUS=y |
| 238 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
| 228 | CONFIG_PROC_DEVICETREE=y | 239 | CONFIG_PROC_DEVICETREE=y |
| 229 | # CONFIG_CMDLINE_BOOL is not set | 240 | # CONFIG_CMDLINE_BOOL is not set |
| 241 | CONFIG_EXTRA_TARGETS="" | ||
| 230 | CONFIG_SECCOMP=y | 242 | CONFIG_SECCOMP=y |
| 231 | CONFIG_ISA_DMA_API=y | 243 | CONFIG_ISA_DMA_API=y |
| 232 | 244 | ||
| @@ -246,6 +258,7 @@ CONFIG_PCI_LEGACY=y | |||
| 246 | # CONFIG_PCI_DEBUG is not set | 258 | # CONFIG_PCI_DEBUG is not set |
| 247 | # CONFIG_PCCARD is not set | 259 | # CONFIG_PCCARD is not set |
| 248 | # CONFIG_HOTPLUG_PCI is not set | 260 | # CONFIG_HOTPLUG_PCI is not set |
| 261 | # CONFIG_HAS_RAPIDIO is not set | ||
| 249 | 262 | ||
| 250 | # | 263 | # |
| 251 | # Advanced setup | 264 | # Advanced setup |
| @@ -255,13 +268,13 @@ CONFIG_PCI_LEGACY=y | |||
| 255 | # | 268 | # |
| 256 | # Default settings for advanced configuration options are used | 269 | # Default settings for advanced configuration options are used |
| 257 | # | 270 | # |
| 258 | CONFIG_HIGHMEM_START=0xfe000000 | ||
| 259 | CONFIG_LOWMEM_SIZE=0x30000000 | 271 | CONFIG_LOWMEM_SIZE=0x30000000 |
| 272 | CONFIG_PAGE_OFFSET=0xc0000000 | ||
| 260 | CONFIG_KERNEL_START=0xc0000000 | 273 | CONFIG_KERNEL_START=0xc0000000 |
| 274 | CONFIG_PHYSICAL_START=0x00000000 | ||
| 261 | CONFIG_TASK_SIZE=0xc0000000 | 275 | CONFIG_TASK_SIZE=0xc0000000 |
| 262 | CONFIG_CONSISTENT_START=0xff100000 | 276 | CONFIG_CONSISTENT_START=0xff100000 |
| 263 | CONFIG_CONSISTENT_SIZE=0x00200000 | 277 | CONFIG_CONSISTENT_SIZE=0x00200000 |
| 264 | CONFIG_BOOT_LOAD=0x01000000 | ||
| 265 | 278 | ||
| 266 | # | 279 | # |
| 267 | # Networking | 280 | # Networking |
| @@ -303,8 +316,6 @@ CONFIG_TCP_CONG_CUBIC=y | |||
| 303 | CONFIG_DEFAULT_TCP_CONG="cubic" | 316 | CONFIG_DEFAULT_TCP_CONG="cubic" |
| 304 | # CONFIG_TCP_MD5SIG is not set | 317 | # CONFIG_TCP_MD5SIG is not set |
| 305 | # CONFIG_IPV6 is not set | 318 | # CONFIG_IPV6 is not set |
| 306 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 307 | # CONFIG_INET6_TUNNEL is not set | ||
| 308 | # CONFIG_NETWORK_SECMARK is not set | 319 | # CONFIG_NETWORK_SECMARK is not set |
| 309 | # CONFIG_NETFILTER is not set | 320 | # CONFIG_NETFILTER is not set |
| 310 | # CONFIG_IP_DCCP is not set | 321 | # CONFIG_IP_DCCP is not set |
| @@ -366,6 +377,7 @@ CONFIG_MTD_PARTITIONS=y | |||
| 366 | # CONFIG_MTD_REDBOOT_PARTS is not set | 377 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 367 | # CONFIG_MTD_CMDLINE_PARTS is not set | 378 | # CONFIG_MTD_CMDLINE_PARTS is not set |
| 368 | CONFIG_MTD_OF_PARTS=y | 379 | CONFIG_MTD_OF_PARTS=y |
| 380 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 369 | 381 | ||
| 370 | # | 382 | # |
| 371 | # User Modules And Translation Layers | 383 | # User Modules And Translation Layers |
| @@ -478,6 +490,10 @@ CONFIG_HAVE_IDE=y | |||
| 478 | # | 490 | # |
| 479 | # IEEE 1394 (FireWire) support | 491 | # IEEE 1394 (FireWire) support |
| 480 | # | 492 | # |
| 493 | |||
| 494 | # | ||
| 495 | # Enable only one of the two stacks, unless you know what you are doing | ||
| 496 | # | ||
| 481 | # CONFIG_FIREWIRE is not set | 497 | # CONFIG_FIREWIRE is not set |
| 482 | # CONFIG_IEEE1394 is not set | 498 | # CONFIG_IEEE1394 is not set |
| 483 | # CONFIG_I2O is not set | 499 | # CONFIG_I2O is not set |
| @@ -528,7 +544,6 @@ CONFIG_NETDEV_1000=y | |||
| 528 | # CONFIG_SIS190 is not set | 544 | # CONFIG_SIS190 is not set |
| 529 | # CONFIG_SKGE is not set | 545 | # CONFIG_SKGE is not set |
| 530 | # CONFIG_SKY2 is not set | 546 | # CONFIG_SKY2 is not set |
| 531 | # CONFIG_SK98LIN is not set | ||
| 532 | # CONFIG_VIA_VELOCITY is not set | 547 | # CONFIG_VIA_VELOCITY is not set |
| 533 | # CONFIG_TIGON3 is not set | 548 | # CONFIG_TIGON3 is not set |
| 534 | # CONFIG_BNX2 is not set | 549 | # CONFIG_BNX2 is not set |
| @@ -546,6 +561,7 @@ CONFIG_NETDEV_10000=y | |||
| 546 | # CONFIG_MLX4_CORE is not set | 561 | # CONFIG_MLX4_CORE is not set |
| 547 | # CONFIG_TEHUTI is not set | 562 | # CONFIG_TEHUTI is not set |
| 548 | # CONFIG_BNX2X is not set | 563 | # CONFIG_BNX2X is not set |
| 564 | # CONFIG_SFC is not set | ||
| 549 | # CONFIG_TR is not set | 565 | # CONFIG_TR is not set |
| 550 | 566 | ||
| 551 | # | 567 | # |
| @@ -553,6 +569,7 @@ CONFIG_NETDEV_10000=y | |||
| 553 | # | 569 | # |
| 554 | # CONFIG_WLAN_PRE80211 is not set | 570 | # CONFIG_WLAN_PRE80211 is not set |
| 555 | # CONFIG_WLAN_80211 is not set | 571 | # CONFIG_WLAN_80211 is not set |
| 572 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 556 | # CONFIG_WAN is not set | 573 | # CONFIG_WAN is not set |
| 557 | # CONFIG_FDDI is not set | 574 | # CONFIG_FDDI is not set |
| 558 | # CONFIG_HIPPI is not set | 575 | # CONFIG_HIPPI is not set |
| @@ -579,6 +596,7 @@ CONFIG_NETDEV_10000=y | |||
| 579 | # Character devices | 596 | # Character devices |
| 580 | # | 597 | # |
| 581 | # CONFIG_VT is not set | 598 | # CONFIG_VT is not set |
| 599 | CONFIG_DEVKMEM=y | ||
| 582 | # CONFIG_SERIAL_NONSTANDARD is not set | 600 | # CONFIG_SERIAL_NONSTANDARD is not set |
| 583 | # CONFIG_NOZOMI is not set | 601 | # CONFIG_NOZOMI is not set |
| 584 | 602 | ||
| @@ -611,22 +629,19 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 611 | # CONFIG_HW_RANDOM is not set | 629 | # CONFIG_HW_RANDOM is not set |
| 612 | # CONFIG_NVRAM is not set | 630 | # CONFIG_NVRAM is not set |
| 613 | # CONFIG_GEN_RTC is not set | 631 | # CONFIG_GEN_RTC is not set |
| 632 | CONFIG_XILINX_HWICAP=m | ||
| 614 | # CONFIG_R3964 is not set | 633 | # CONFIG_R3964 is not set |
| 615 | # CONFIG_APPLICOM is not set | 634 | # CONFIG_APPLICOM is not set |
| 616 | # CONFIG_RAW_DRIVER is not set | 635 | # CONFIG_RAW_DRIVER is not set |
| 617 | # CONFIG_TCG_TPM is not set | 636 | # CONFIG_TCG_TPM is not set |
| 618 | CONFIG_DEVPORT=y | 637 | CONFIG_DEVPORT=y |
| 619 | # CONFIG_I2C is not set | 638 | # CONFIG_I2C is not set |
| 620 | |||
| 621 | # | ||
| 622 | # SPI support | ||
| 623 | # | ||
| 624 | # CONFIG_SPI is not set | 639 | # CONFIG_SPI is not set |
| 625 | # CONFIG_SPI_MASTER is not set | ||
| 626 | # CONFIG_W1 is not set | 640 | # CONFIG_W1 is not set |
| 627 | # CONFIG_POWER_SUPPLY is not set | 641 | # CONFIG_POWER_SUPPLY is not set |
| 628 | # CONFIG_HWMON is not set | 642 | # CONFIG_HWMON is not set |
| 629 | # CONFIG_THERMAL is not set | 643 | # CONFIG_THERMAL is not set |
| 644 | # CONFIG_THERMAL_HWMON is not set | ||
| 630 | # CONFIG_WATCHDOG is not set | 645 | # CONFIG_WATCHDOG is not set |
| 631 | 646 | ||
| 632 | # | 647 | # |
| @@ -639,12 +654,22 @@ CONFIG_SSB_POSSIBLE=y | |||
| 639 | # Multifunction device drivers | 654 | # Multifunction device drivers |
| 640 | # | 655 | # |
| 641 | # CONFIG_MFD_SM501 is not set | 656 | # CONFIG_MFD_SM501 is not set |
| 657 | # CONFIG_HTC_PASIC3 is not set | ||
| 642 | 658 | ||
| 643 | # | 659 | # |
| 644 | # Multimedia devices | 660 | # Multimedia devices |
| 645 | # | 661 | # |
| 662 | |||
| 663 | # | ||
| 664 | # Multimedia core support | ||
| 665 | # | ||
| 646 | # CONFIG_VIDEO_DEV is not set | 666 | # CONFIG_VIDEO_DEV is not set |
| 647 | # CONFIG_DVB_CORE is not set | 667 | # CONFIG_DVB_CORE is not set |
| 668 | # CONFIG_VIDEO_MEDIA is not set | ||
| 669 | |||
| 670 | # | ||
| 671 | # Multimedia drivers | ||
| 672 | # | ||
| 648 | # CONFIG_DAB is not set | 673 | # CONFIG_DAB is not set |
| 649 | 674 | ||
| 650 | # | 675 | # |
| @@ -671,6 +696,8 @@ CONFIG_USB_ARCH_HAS_HCD=y | |||
| 671 | CONFIG_USB_ARCH_HAS_OHCI=y | 696 | CONFIG_USB_ARCH_HAS_OHCI=y |
| 672 | CONFIG_USB_ARCH_HAS_EHCI=y | 697 | CONFIG_USB_ARCH_HAS_EHCI=y |
| 673 | # CONFIG_USB is not set | 698 | # CONFIG_USB is not set |
| 699 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 700 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 674 | 701 | ||
| 675 | # | 702 | # |
| 676 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 703 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
| @@ -679,14 +706,11 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
| 679 | # CONFIG_MMC is not set | 706 | # CONFIG_MMC is not set |
| 680 | # CONFIG_MEMSTICK is not set | 707 | # CONFIG_MEMSTICK is not set |
| 681 | # CONFIG_NEW_LEDS is not set | 708 | # CONFIG_NEW_LEDS is not set |
| 709 | # CONFIG_ACCESSIBILITY is not set | ||
| 682 | # CONFIG_INFINIBAND is not set | 710 | # CONFIG_INFINIBAND is not set |
| 683 | # CONFIG_EDAC is not set | 711 | # CONFIG_EDAC is not set |
| 684 | # CONFIG_RTC_CLASS is not set | 712 | # CONFIG_RTC_CLASS is not set |
| 685 | # CONFIG_DMADEVICES is not set | 713 | # CONFIG_DMADEVICES is not set |
| 686 | |||
| 687 | # | ||
| 688 | # Userspace I/O | ||
| 689 | # | ||
| 690 | # CONFIG_UIO is not set | 714 | # CONFIG_UIO is not set |
| 691 | 715 | ||
| 692 | # | 716 | # |
| @@ -701,7 +725,6 @@ CONFIG_EXT2_FS=y | |||
| 701 | # CONFIG_JFS_FS is not set | 725 | # CONFIG_JFS_FS is not set |
| 702 | # CONFIG_FS_POSIX_ACL is not set | 726 | # CONFIG_FS_POSIX_ACL is not set |
| 703 | # CONFIG_XFS_FS is not set | 727 | # CONFIG_XFS_FS is not set |
| 704 | # CONFIG_GFS2_FS is not set | ||
| 705 | # CONFIG_OCFS2_FS is not set | 728 | # CONFIG_OCFS2_FS is not set |
| 706 | CONFIG_DNOTIFY=y | 729 | CONFIG_DNOTIFY=y |
| 707 | CONFIG_INOTIFY=y | 730 | CONFIG_INOTIFY=y |
| @@ -770,7 +793,6 @@ CONFIG_NFS_FS=y | |||
| 770 | CONFIG_NFS_V3=y | 793 | CONFIG_NFS_V3=y |
| 771 | # CONFIG_NFS_V3_ACL is not set | 794 | # CONFIG_NFS_V3_ACL is not set |
| 772 | # CONFIG_NFS_V4 is not set | 795 | # CONFIG_NFS_V4 is not set |
| 773 | # CONFIG_NFS_DIRECTIO is not set | ||
| 774 | # CONFIG_NFSD is not set | 796 | # CONFIG_NFSD is not set |
| 775 | CONFIG_ROOT_NFS=y | 797 | CONFIG_ROOT_NFS=y |
| 776 | CONFIG_LOCKD=y | 798 | CONFIG_LOCKD=y |
| @@ -798,6 +820,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 798 | # Library routines | 820 | # Library routines |
| 799 | # | 821 | # |
| 800 | CONFIG_BITREVERSE=y | 822 | CONFIG_BITREVERSE=y |
| 823 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
| 801 | # CONFIG_CRC_CCITT is not set | 824 | # CONFIG_CRC_CCITT is not set |
| 802 | # CONFIG_CRC16 is not set | 825 | # CONFIG_CRC16 is not set |
| 803 | # CONFIG_CRC_ITU_T is not set | 826 | # CONFIG_CRC_ITU_T is not set |
| @@ -818,6 +841,7 @@ CONFIG_HAVE_LMB=y | |||
| 818 | # CONFIG_PRINTK_TIME is not set | 841 | # CONFIG_PRINTK_TIME is not set |
| 819 | CONFIG_ENABLE_WARN_DEPRECATED=y | 842 | CONFIG_ENABLE_WARN_DEPRECATED=y |
| 820 | CONFIG_ENABLE_MUST_CHECK=y | 843 | CONFIG_ENABLE_MUST_CHECK=y |
| 844 | CONFIG_FRAME_WARN=1024 | ||
| 821 | CONFIG_MAGIC_SYSRQ=y | 845 | CONFIG_MAGIC_SYSRQ=y |
| 822 | # CONFIG_UNUSED_SYMBOLS is not set | 846 | # CONFIG_UNUSED_SYMBOLS is not set |
| 823 | # CONFIG_DEBUG_FS is not set | 847 | # CONFIG_DEBUG_FS is not set |
| @@ -828,6 +852,7 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
| 828 | CONFIG_SCHED_DEBUG=y | 852 | CONFIG_SCHED_DEBUG=y |
| 829 | # CONFIG_SCHEDSTATS is not set | 853 | # CONFIG_SCHEDSTATS is not set |
| 830 | # CONFIG_TIMER_STATS is not set | 854 | # CONFIG_TIMER_STATS is not set |
| 855 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 831 | # CONFIG_SLUB_DEBUG_ON is not set | 856 | # CONFIG_SLUB_DEBUG_ON is not set |
| 832 | # CONFIG_SLUB_STATS is not set | 857 | # CONFIG_SLUB_STATS is not set |
| 833 | # CONFIG_DEBUG_RT_MUTEXES is not set | 858 | # CONFIG_DEBUG_RT_MUTEXES is not set |
| @@ -840,6 +865,7 @@ CONFIG_SCHED_DEBUG=y | |||
| 840 | CONFIG_DEBUG_BUGVERBOSE=y | 865 | CONFIG_DEBUG_BUGVERBOSE=y |
| 841 | # CONFIG_DEBUG_INFO is not set | 866 | # CONFIG_DEBUG_INFO is not set |
| 842 | # CONFIG_DEBUG_VM is not set | 867 | # CONFIG_DEBUG_VM is not set |
| 868 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 843 | # CONFIG_DEBUG_LIST is not set | 869 | # CONFIG_DEBUG_LIST is not set |
| 844 | # CONFIG_DEBUG_SG is not set | 870 | # CONFIG_DEBUG_SG is not set |
| 845 | # CONFIG_BOOT_PRINTK_DELAY is not set | 871 | # CONFIG_BOOT_PRINTK_DELAY is not set |
| @@ -851,6 +877,9 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
| 851 | # CONFIG_DEBUG_STACK_USAGE is not set | 877 | # CONFIG_DEBUG_STACK_USAGE is not set |
| 852 | # CONFIG_DEBUG_PAGEALLOC is not set | 878 | # CONFIG_DEBUG_PAGEALLOC is not set |
| 853 | # CONFIG_DEBUGGER is not set | 879 | # CONFIG_DEBUGGER is not set |
| 880 | # CONFIG_CODE_PATCHING_SELFTEST is not set | ||
| 881 | # CONFIG_FTR_FIXUP_SELFTEST is not set | ||
| 882 | # CONFIG_IRQSTACKS is not set | ||
| 854 | # CONFIG_BDI_SWITCH is not set | 883 | # CONFIG_BDI_SWITCH is not set |
| 855 | # CONFIG_PPC_EARLY_DEBUG is not set | 884 | # CONFIG_PPC_EARLY_DEBUG is not set |
| 856 | 885 | ||
| @@ -861,50 +890,80 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
| 861 | # CONFIG_SECURITY is not set | 890 | # CONFIG_SECURITY is not set |
| 862 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 891 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
| 863 | CONFIG_CRYPTO=y | 892 | CONFIG_CRYPTO=y |
| 893 | |||
| 894 | # | ||
| 895 | # Crypto core or helper | ||
| 896 | # | ||
| 864 | CONFIG_CRYPTO_ALGAPI=y | 897 | CONFIG_CRYPTO_ALGAPI=y |
| 865 | CONFIG_CRYPTO_BLKCIPHER=y | 898 | CONFIG_CRYPTO_BLKCIPHER=y |
| 866 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 867 | CONFIG_CRYPTO_MANAGER=y | 899 | CONFIG_CRYPTO_MANAGER=y |
| 900 | # CONFIG_CRYPTO_GF128MUL is not set | ||
| 901 | # CONFIG_CRYPTO_NULL is not set | ||
| 902 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 903 | # CONFIG_CRYPTO_AUTHENC is not set | ||
| 904 | # CONFIG_CRYPTO_TEST is not set | ||
| 905 | |||
| 906 | # | ||
| 907 | # Authenticated Encryption with Associated Data | ||
| 908 | # | ||
| 909 | # CONFIG_CRYPTO_CCM is not set | ||
| 910 | # CONFIG_CRYPTO_GCM is not set | ||
| 911 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 912 | |||
| 913 | # | ||
| 914 | # Block modes | ||
| 915 | # | ||
| 916 | CONFIG_CRYPTO_CBC=y | ||
| 917 | # CONFIG_CRYPTO_CTR is not set | ||
| 918 | # CONFIG_CRYPTO_CTS is not set | ||
| 919 | CONFIG_CRYPTO_ECB=y | ||
| 920 | # CONFIG_CRYPTO_LRW is not set | ||
| 921 | CONFIG_CRYPTO_PCBC=y | ||
| 922 | # CONFIG_CRYPTO_XTS is not set | ||
| 923 | |||
| 924 | # | ||
| 925 | # Hash modes | ||
| 926 | # | ||
| 868 | # CONFIG_CRYPTO_HMAC is not set | 927 | # CONFIG_CRYPTO_HMAC is not set |
| 869 | # CONFIG_CRYPTO_XCBC is not set | 928 | # CONFIG_CRYPTO_XCBC is not set |
| 870 | # CONFIG_CRYPTO_NULL is not set | 929 | |
| 930 | # | ||
| 931 | # Digest | ||
| 932 | # | ||
| 933 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 871 | # CONFIG_CRYPTO_MD4 is not set | 934 | # CONFIG_CRYPTO_MD4 is not set |
| 872 | CONFIG_CRYPTO_MD5=y | 935 | CONFIG_CRYPTO_MD5=y |
| 936 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 873 | # CONFIG_CRYPTO_SHA1 is not set | 937 | # CONFIG_CRYPTO_SHA1 is not set |
| 874 | # CONFIG_CRYPTO_SHA256 is not set | 938 | # CONFIG_CRYPTO_SHA256 is not set |
| 875 | # CONFIG_CRYPTO_SHA512 is not set | 939 | # CONFIG_CRYPTO_SHA512 is not set |
| 876 | # CONFIG_CRYPTO_WP512 is not set | ||
| 877 | # CONFIG_CRYPTO_TGR192 is not set | 940 | # CONFIG_CRYPTO_TGR192 is not set |
| 878 | # CONFIG_CRYPTO_GF128MUL is not set | 941 | # CONFIG_CRYPTO_WP512 is not set |
| 879 | CONFIG_CRYPTO_ECB=y | 942 | |
| 880 | CONFIG_CRYPTO_CBC=y | 943 | # |
| 881 | CONFIG_CRYPTO_PCBC=y | 944 | # Ciphers |
| 882 | # CONFIG_CRYPTO_LRW is not set | 945 | # |
| 883 | # CONFIG_CRYPTO_XTS is not set | ||
| 884 | # CONFIG_CRYPTO_CTR is not set | ||
| 885 | # CONFIG_CRYPTO_GCM is not set | ||
| 886 | # CONFIG_CRYPTO_CCM is not set | ||
| 887 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 888 | CONFIG_CRYPTO_DES=y | ||
| 889 | # CONFIG_CRYPTO_FCRYPT is not set | ||
| 890 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 891 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 892 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 893 | # CONFIG_CRYPTO_AES is not set | 946 | # CONFIG_CRYPTO_AES is not set |
| 947 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 948 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 949 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 950 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 894 | # CONFIG_CRYPTO_CAST5 is not set | 951 | # CONFIG_CRYPTO_CAST5 is not set |
| 895 | # CONFIG_CRYPTO_CAST6 is not set | 952 | # CONFIG_CRYPTO_CAST6 is not set |
| 896 | # CONFIG_CRYPTO_TEA is not set | 953 | CONFIG_CRYPTO_DES=y |
| 897 | # CONFIG_CRYPTO_ARC4 is not set | 954 | # CONFIG_CRYPTO_FCRYPT is not set |
| 898 | # CONFIG_CRYPTO_KHAZAD is not set | 955 | # CONFIG_CRYPTO_KHAZAD is not set |
| 899 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 900 | # CONFIG_CRYPTO_SEED is not set | ||
| 901 | # CONFIG_CRYPTO_SALSA20 is not set | 956 | # CONFIG_CRYPTO_SALSA20 is not set |
| 957 | # CONFIG_CRYPTO_SEED is not set | ||
| 958 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 959 | # CONFIG_CRYPTO_TEA is not set | ||
| 960 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 961 | |||
| 962 | # | ||
| 963 | # Compression | ||
| 964 | # | ||
| 902 | # CONFIG_CRYPTO_DEFLATE is not set | 965 | # CONFIG_CRYPTO_DEFLATE is not set |
| 903 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 904 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 905 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 906 | # CONFIG_CRYPTO_TEST is not set | ||
| 907 | # CONFIG_CRYPTO_AUTHENC is not set | ||
| 908 | # CONFIG_CRYPTO_LZO is not set | 966 | # CONFIG_CRYPTO_LZO is not set |
| 909 | # CONFIG_CRYPTO_HW is not set | 967 | # CONFIG_CRYPTO_HW is not set |
| 910 | # CONFIG_PPC_CLOCK is not set | 968 | # CONFIG_PPC_CLOCK is not set |
| 969 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 817cea1b5ad3..72adb19a204d 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
| @@ -1447,6 +1447,16 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
| 1447 | .machine_check = machine_check_440A, | 1447 | .machine_check = machine_check_440A, |
| 1448 | .platform = "ppc440", | 1448 | .platform = "ppc440", |
| 1449 | }, | 1449 | }, |
| 1450 | { /* 440 in Xilinx Virtex-5 FXT */ | ||
| 1451 | .pvr_mask = 0xfffffff0, | ||
| 1452 | .pvr_value = 0x7ff21910, | ||
| 1453 | .cpu_name = "440 in Virtex-5 FXT", | ||
| 1454 | .cpu_features = CPU_FTRS_44X, | ||
| 1455 | .cpu_user_features = COMMON_USER_BOOKE, | ||
| 1456 | .icache_bsize = 32, | ||
| 1457 | .dcache_bsize = 32, | ||
| 1458 | .platform = "ppc440", | ||
| 1459 | }, | ||
| 1450 | { /* 460EX */ | 1460 | { /* 460EX */ |
| 1451 | .pvr_mask = 0xffff0002, | 1461 | .pvr_mask = 0xffff0002, |
| 1452 | .pvr_value = 0x13020002, | 1462 | .pvr_value = 0x13020002, |
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S index 2944529e8bf9..f3a1ea9d7fe4 100644 --- a/arch/powerpc/kernel/head_44x.S +++ b/arch/powerpc/kernel/head_44x.S | |||
| @@ -293,119 +293,9 @@ interrupt_base: | |||
| 293 | MCHECK_EXCEPTION(0x0210, MachineCheckA, machine_check_exception) | 293 | MCHECK_EXCEPTION(0x0210, MachineCheckA, machine_check_exception) |
| 294 | 294 | ||
| 295 | /* Data Storage Interrupt */ | 295 | /* Data Storage Interrupt */ |
| 296 | START_EXCEPTION(DataStorage) | 296 | DATA_STORAGE_EXCEPTION |
| 297 | mtspr SPRN_SPRG0, r10 /* Save some working registers */ | ||
| 298 | mtspr SPRN_SPRG1, r11 | ||
| 299 | mtspr SPRN_SPRG4W, r12 | ||
| 300 | mtspr SPRN_SPRG5W, r13 | ||
| 301 | mfcr r11 | ||
| 302 | mtspr SPRN_SPRG7W, r11 | ||
| 303 | |||
| 304 | /* | ||
| 305 | * Check if it was a store fault, if not then bail | ||
| 306 | * because a user tried to access a kernel or | ||
| 307 | * read-protected page. Otherwise, get the | ||
| 308 | * offending address and handle it. | ||
| 309 | */ | ||
| 310 | mfspr r10, SPRN_ESR | ||
| 311 | andis. r10, r10, ESR_ST@h | ||
| 312 | beq 2f | ||
| 313 | |||
| 314 | mfspr r10, SPRN_DEAR /* Get faulting address */ | ||
| 315 | |||
| 316 | /* If we are faulting a kernel address, we have to use the | ||
| 317 | * kernel page tables. | ||
| 318 | */ | ||
| 319 | lis r11, PAGE_OFFSET@h | ||
| 320 | cmplw r10, r11 | ||
| 321 | blt+ 3f | ||
| 322 | lis r11, swapper_pg_dir@h | ||
| 323 | ori r11, r11, swapper_pg_dir@l | ||
| 324 | |||
| 325 | mfspr r12,SPRN_MMUCR | ||
| 326 | rlwinm r12,r12,0,0,23 /* Clear TID */ | ||
| 327 | |||
| 328 | b 4f | ||
| 329 | |||
| 330 | /* Get the PGD for the current thread */ | ||
| 331 | 3: | ||
| 332 | mfspr r11,SPRN_SPRG3 | ||
| 333 | lwz r11,PGDIR(r11) | ||
| 334 | |||
| 335 | /* Load PID into MMUCR TID */ | ||
| 336 | mfspr r12,SPRN_MMUCR /* Get MMUCR */ | ||
| 337 | mfspr r13,SPRN_PID /* Get PID */ | ||
| 338 | rlwimi r12,r13,0,24,31 /* Set TID */ | ||
| 339 | |||
| 340 | 4: | ||
| 341 | mtspr SPRN_MMUCR,r12 | ||
| 342 | |||
| 343 | rlwinm r12, r10, 13, 19, 29 /* Compute pgdir/pmd offset */ | ||
| 344 | lwzx r11, r12, r11 /* Get pgd/pmd entry */ | ||
| 345 | rlwinm. r12, r11, 0, 0, 20 /* Extract pt base address */ | ||
| 346 | beq 2f /* Bail if no table */ | ||
| 347 | |||
| 348 | rlwimi r12, r10, 23, 20, 28 /* Compute pte address */ | ||
| 349 | lwz r11, 4(r12) /* Get pte entry */ | ||
| 350 | |||
| 351 | andi. r13, r11, _PAGE_RW /* Is it writeable? */ | ||
| 352 | beq 2f /* Bail if not */ | ||
| 353 | |||
| 354 | /* Update 'changed'. | ||
| 355 | */ | ||
| 356 | ori r11, r11, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE | ||
| 357 | stw r11, 4(r12) /* Update Linux page table */ | ||
| 358 | |||
| 359 | li r13, PPC44x_TLB_SR@l /* Set SR */ | ||
| 360 | rlwimi r13, r11, 29, 29, 29 /* SX = _PAGE_HWEXEC */ | ||
| 361 | rlwimi r13, r11, 0, 30, 30 /* SW = _PAGE_RW */ | ||
| 362 | rlwimi r13, r11, 29, 28, 28 /* UR = _PAGE_USER */ | ||
| 363 | rlwimi r12, r11, 31, 26, 26 /* (_PAGE_USER>>1)->r12 */ | ||
| 364 | rlwimi r12, r11, 29, 30, 30 /* (_PAGE_USER>>3)->r12 */ | ||
| 365 | and r12, r12, r11 /* HWEXEC/RW & USER */ | ||
| 366 | rlwimi r13, r12, 0, 26, 26 /* UX = HWEXEC & USER */ | ||
| 367 | rlwimi r13, r12, 3, 27, 27 /* UW = RW & USER */ | ||
| 368 | |||
| 369 | rlwimi r11,r13,0,26,31 /* Insert static perms */ | ||
| 370 | |||
| 371 | /* | ||
| 372 | * Clear U0-U3 and WL1 IL1I IL1D IL2I IL2D bits which are added | ||
| 373 | * on newer 440 cores like the 440x6 used on AMCC 460EX/460GT (see | ||
| 374 | * include/asm-powerpc/pgtable-ppc32.h for details). | ||
| 375 | */ | ||
| 376 | rlwinm r11,r11,0,20,10 | ||
| 377 | |||
| 378 | /* find the TLB index that caused the fault. It has to be here. */ | ||
| 379 | tlbsx r10, 0, r10 | ||
| 380 | |||
| 381 | tlbwe r11, r10, PPC44x_TLB_ATTRIB /* Write ATTRIB */ | ||
| 382 | |||
| 383 | /* Done...restore registers and get out of here. | ||
| 384 | */ | ||
| 385 | mfspr r11, SPRN_SPRG7R | ||
| 386 | mtcr r11 | ||
| 387 | mfspr r13, SPRN_SPRG5R | ||
| 388 | mfspr r12, SPRN_SPRG4R | ||
| 389 | 297 | ||
| 390 | mfspr r11, SPRN_SPRG1 | 298 | /* Instruction Storage Interrupt */ |
| 391 | mfspr r10, SPRN_SPRG0 | ||
| 392 | rfi /* Force context change */ | ||
| 393 | |||
| 394 | 2: | ||
| 395 | /* | ||
| 396 | * The bailout. Restore registers to pre-exception conditions | ||
| 397 | * and call the heavyweights to help us out. | ||
| 398 | */ | ||
| 399 | mfspr r11, SPRN_SPRG7R | ||
| 400 | mtcr r11 | ||
| 401 | mfspr r13, SPRN_SPRG5R | ||
| 402 | mfspr r12, SPRN_SPRG4R | ||
| 403 | |||
| 404 | mfspr r11, SPRN_SPRG1 | ||
| 405 | mfspr r10, SPRN_SPRG0 | ||
| 406 | b data_access | ||
| 407 | |||
| 408 | /* Instruction Storage Interrupt */ | ||
| 409 | INSTRUCTION_STORAGE_EXCEPTION | 299 | INSTRUCTION_STORAGE_EXCEPTION |
| 410 | 300 | ||
| 411 | /* External Input Interrupt */ | 301 | /* External Input Interrupt */ |
| @@ -423,7 +313,6 @@ interrupt_base: | |||
| 423 | #else | 313 | #else |
| 424 | EXCEPTION(0x2010, FloatingPointUnavailable, unknown_exception, EXC_XFER_EE) | 314 | EXCEPTION(0x2010, FloatingPointUnavailable, unknown_exception, EXC_XFER_EE) |
| 425 | #endif | 315 | #endif |
| 426 | |||
| 427 | /* System Call Interrupt */ | 316 | /* System Call Interrupt */ |
| 428 | START_EXCEPTION(SystemCall) | 317 | START_EXCEPTION(SystemCall) |
| 429 | NORMAL_EXCEPTION_PROLOG | 318 | NORMAL_EXCEPTION_PROLOG |
| @@ -484,18 +373,57 @@ interrupt_base: | |||
| 484 | 4: | 373 | 4: |
| 485 | mtspr SPRN_MMUCR,r12 | 374 | mtspr SPRN_MMUCR,r12 |
| 486 | 375 | ||
| 376 | /* Mask of required permission bits. Note that while we | ||
| 377 | * do copy ESR:ST to _PAGE_RW position as trying to write | ||
| 378 | * to an RO page is pretty common, we don't do it with | ||
| 379 | * _PAGE_DIRTY. We could do it, but it's a fairly rare | ||
| 380 | * event so I'd rather take the overhead when it happens | ||
| 381 | * rather than adding an instruction here. We should measure | ||
| 382 | * whether the whole thing is worth it in the first place | ||
| 383 | * as we could avoid loading SPRN_ESR completely in the first | ||
| 384 | * place... | ||
| 385 | * | ||
| 386 | * TODO: Is it worth doing that mfspr & rlwimi in the first | ||
| 387 | * place or can we save a couple of instructions here ? | ||
| 388 | */ | ||
| 389 | mfspr r12,SPRN_ESR | ||
| 390 | li r13,_PAGE_PRESENT|_PAGE_ACCESSED | ||
| 391 | rlwimi r13,r12,10,30,30 | ||
| 392 | |||
| 393 | /* Load the PTE */ | ||
| 487 | rlwinm r12, r10, 13, 19, 29 /* Compute pgdir/pmd offset */ | 394 | rlwinm r12, r10, 13, 19, 29 /* Compute pgdir/pmd offset */ |
| 488 | lwzx r11, r12, r11 /* Get pgd/pmd entry */ | 395 | lwzx r11, r12, r11 /* Get pgd/pmd entry */ |
| 489 | rlwinm. r12, r11, 0, 0, 20 /* Extract pt base address */ | 396 | rlwinm. r12, r11, 0, 0, 20 /* Extract pt base address */ |
| 490 | beq 2f /* Bail if no table */ | 397 | beq 2f /* Bail if no table */ |
| 491 | 398 | ||
| 492 | rlwimi r12, r10, 23, 20, 28 /* Compute pte address */ | 399 | rlwimi r12, r10, 23, 20, 28 /* Compute pte address */ |
| 493 | lwz r11, 4(r12) /* Get pte entry */ | 400 | lwz r11, 0(r12) /* Get high word of pte entry */ |
| 494 | andi. r13, r11, _PAGE_PRESENT /* Is the page present? */ | 401 | lwz r12, 4(r12) /* Get low word of pte entry */ |
| 495 | beq 2f /* Bail if not present */ | ||
| 496 | 402 | ||
| 497 | ori r11, r11, _PAGE_ACCESSED | 403 | lis r10,tlb_44x_index@ha |
| 498 | stw r11, 4(r12) | 404 | |
| 405 | andc. r13,r13,r12 /* Check permission */ | ||
| 406 | |||
| 407 | /* Load the next available TLB index */ | ||
| 408 | lwz r13,tlb_44x_index@l(r10) | ||
| 409 | |||
| 410 | bne 2f /* Bail if permission mismach */ | ||
| 411 | |||
| 412 | /* Increment, rollover, and store TLB index */ | ||
| 413 | addi r13,r13,1 | ||
| 414 | |||
| 415 | /* Compare with watermark (instruction gets patched) */ | ||
| 416 | .globl tlb_44x_patch_hwater_D | ||
| 417 | tlb_44x_patch_hwater_D: | ||
| 418 | cmpwi 0,r13,1 /* reserve entries */ | ||
| 419 | ble 5f | ||
| 420 | li r13,0 | ||
| 421 | 5: | ||
| 422 | /* Store the next available TLB index */ | ||
| 423 | stw r13,tlb_44x_index@l(r10) | ||
| 424 | |||
| 425 | /* Re-load the faulting address */ | ||
| 426 | mfspr r10,SPRN_DEAR | ||
| 499 | 427 | ||
| 500 | /* Jump to common tlb load */ | 428 | /* Jump to common tlb load */ |
| 501 | b finish_tlb_load | 429 | b finish_tlb_load |
| @@ -510,7 +438,7 @@ interrupt_base: | |||
| 510 | mfspr r12, SPRN_SPRG4R | 438 | mfspr r12, SPRN_SPRG4R |
| 511 | mfspr r11, SPRN_SPRG1 | 439 | mfspr r11, SPRN_SPRG1 |
| 512 | mfspr r10, SPRN_SPRG0 | 440 | mfspr r10, SPRN_SPRG0 |
| 513 | b data_access | 441 | b DataStorage |
| 514 | 442 | ||
| 515 | /* Instruction TLB Error Interrupt */ | 443 | /* Instruction TLB Error Interrupt */ |
| 516 | /* | 444 | /* |
| @@ -554,18 +482,42 @@ interrupt_base: | |||
| 554 | 4: | 482 | 4: |
| 555 | mtspr SPRN_MMUCR,r12 | 483 | mtspr SPRN_MMUCR,r12 |
| 556 | 484 | ||
| 485 | /* Make up the required permissions */ | ||
| 486 | li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_HWEXEC | ||
| 487 | |||
| 557 | rlwinm r12, r10, 13, 19, 29 /* Compute pgdir/pmd offset */ | 488 | rlwinm r12, r10, 13, 19, 29 /* Compute pgdir/pmd offset */ |
| 558 | lwzx r11, r12, r11 /* Get pgd/pmd entry */ | 489 | lwzx r11, r12, r11 /* Get pgd/pmd entry */ |
| 559 | rlwinm. r12, r11, 0, 0, 20 /* Extract pt base address */ | 490 | rlwinm. r12, r11, 0, 0, 20 /* Extract pt base address */ |
| 560 | beq 2f /* Bail if no table */ | 491 | beq 2f /* Bail if no table */ |
| 561 | 492 | ||
| 562 | rlwimi r12, r10, 23, 20, 28 /* Compute pte address */ | 493 | rlwimi r12, r10, 23, 20, 28 /* Compute pte address */ |
| 563 | lwz r11, 4(r12) /* Get pte entry */ | 494 | lwz r11, 0(r12) /* Get high word of pte entry */ |
| 564 | andi. r13, r11, _PAGE_PRESENT /* Is the page present? */ | 495 | lwz r12, 4(r12) /* Get low word of pte entry */ |
| 565 | beq 2f /* Bail if not present */ | ||
| 566 | 496 | ||
| 567 | ori r11, r11, _PAGE_ACCESSED | 497 | lis r10,tlb_44x_index@ha |
| 568 | stw r11, 4(r12) | 498 | |
| 499 | andc. r13,r13,r12 /* Check permission */ | ||
| 500 | |||
| 501 | /* Load the next available TLB index */ | ||
| 502 | lwz r13,tlb_44x_index@l(r10) | ||
| 503 | |||
| 504 | bne 2f /* Bail if permission mismach */ | ||
| 505 | |||
| 506 | /* Increment, rollover, and store TLB index */ | ||
| 507 | addi r13,r13,1 | ||
| 508 | |||
| 509 | /* Compare with watermark (instruction gets patched) */ | ||
| 510 | .globl tlb_44x_patch_hwater_I | ||
| 511 | tlb_44x_patch_hwater_I: | ||
| 512 | cmpwi 0,r13,1 /* reserve entries */ | ||
| 513 | ble 5f | ||
| 514 | li r13,0 | ||
| 515 | 5: | ||
| 516 | /* Store the next available TLB index */ | ||
| 517 | stw r13,tlb_44x_index@l(r10) | ||
| 518 | |||
| 519 | /* Re-load the faulting address */ | ||
| 520 | mfspr r10,SPRN_SRR0 | ||
| 569 | 521 | ||
| 570 | /* Jump to common TLB load point */ | 522 | /* Jump to common TLB load point */ |
| 571 | b finish_tlb_load | 523 | b finish_tlb_load |
| @@ -587,86 +539,40 @@ interrupt_base: | |||
| 587 | 539 | ||
| 588 | /* | 540 | /* |
| 589 | * Local functions | 541 | * Local functions |
| 590 | */ | 542 | */ |
| 591 | /* | ||
| 592 | * Data TLB exceptions will bail out to this point | ||
| 593 | * if they can't resolve the lightweight TLB fault. | ||
| 594 | */ | ||
| 595 | data_access: | ||
| 596 | NORMAL_EXCEPTION_PROLOG | ||
| 597 | mfspr r5,SPRN_ESR /* Grab the ESR, save it, pass arg3 */ | ||
| 598 | stw r5,_ESR(r11) | ||
| 599 | mfspr r4,SPRN_DEAR /* Grab the DEAR, save it, pass arg2 */ | ||
| 600 | EXC_XFER_EE_LITE(0x0300, handle_page_fault) | ||
| 601 | 543 | ||
| 602 | /* | 544 | /* |
| 603 | 545 | ||
| 604 | * Both the instruction and data TLB miss get to this | 546 | * Both the instruction and data TLB miss get to this |
| 605 | * point to load the TLB. | 547 | * point to load the TLB. |
| 606 | * r10 - EA of fault | 548 | * r10 - EA of fault |
| 607 | * r11 - available to use | 549 | * r11 - PTE high word value |
| 608 | * r12 - Pointer to the 64-bit PTE | 550 | * r12 - PTE low word value |
| 609 | * r13 - available to use | 551 | * r13 - TLB index |
| 610 | * MMUCR - loaded with proper value when we get here | 552 | * MMUCR - loaded with proper value when we get here |
| 611 | * Upon exit, we reload everything and RFI. | 553 | * Upon exit, we reload everything and RFI. |
| 612 | */ | 554 | */ |
| 613 | finish_tlb_load: | 555 | finish_tlb_load: |
| 614 | /* | 556 | /* Combine RPN & ERPN an write WS 0 */ |
| 615 | * We set execute, because we don't have the granularity to | 557 | rlwimi r11,r12,0,0,19 |
| 616 | * properly set this at the page level (Linux problem). | 558 | tlbwe r11,r13,PPC44x_TLB_XLAT |
| 617 | * If shared is set, we cause a zero PID->TID load. | ||
| 618 | * Many of these bits are software only. Bits we don't set | ||
| 619 | * here we (properly should) assume have the appropriate value. | ||
| 620 | */ | ||
| 621 | |||
| 622 | /* Load the next available TLB index */ | ||
| 623 | lis r13, tlb_44x_index@ha | ||
| 624 | lwz r13, tlb_44x_index@l(r13) | ||
| 625 | /* Load the TLB high watermark */ | ||
| 626 | lis r11, tlb_44x_hwater@ha | ||
| 627 | lwz r11, tlb_44x_hwater@l(r11) | ||
| 628 | |||
| 629 | /* Increment, rollover, and store TLB index */ | ||
| 630 | addi r13, r13, 1 | ||
| 631 | cmpw 0, r13, r11 /* reserve entries */ | ||
| 632 | ble 7f | ||
| 633 | li r13, 0 | ||
| 634 | 7: | ||
| 635 | /* Store the next available TLB index */ | ||
| 636 | lis r11, tlb_44x_index@ha | ||
| 637 | stw r13, tlb_44x_index@l(r11) | ||
| 638 | |||
| 639 | lwz r11, 0(r12) /* Get MS word of PTE */ | ||
| 640 | lwz r12, 4(r12) /* Get LS word of PTE */ | ||
| 641 | rlwimi r11, r12, 0, 0 , 19 /* Insert RPN */ | ||
| 642 | tlbwe r11, r13, PPC44x_TLB_XLAT /* Write XLAT */ | ||
| 643 | 559 | ||
| 644 | /* | 560 | /* |
| 645 | * Create PAGEID. This is the faulting address, | 561 | * Create WS1. This is the faulting address (EPN), |
| 646 | * page size, and valid flag. | 562 | * page size, and valid flag. |
| 647 | */ | 563 | */ |
| 648 | li r11, PPC44x_TLB_VALID | PPC44x_TLB_4K | 564 | li r11,PPC44x_TLB_VALID | PPC44x_TLB_4K |
| 649 | rlwimi r10, r11, 0, 20, 31 /* Insert valid and page size */ | 565 | rlwimi r10,r11,0,20,31 /* Insert valid and page size*/ |
| 650 | tlbwe r10, r13, PPC44x_TLB_PAGEID /* Write PAGEID */ | 566 | tlbwe r10,r13,PPC44x_TLB_PAGEID /* Write PAGEID */ |
| 651 | 567 | ||
| 652 | li r10, PPC44x_TLB_SR@l /* Set SR */ | 568 | /* And WS 2 */ |
| 653 | rlwimi r10, r12, 0, 30, 30 /* Set SW = _PAGE_RW */ | 569 | li r10,0xf85 /* Mask to apply from PTE */ |
| 654 | rlwimi r10, r12, 29, 29, 29 /* SX = _PAGE_HWEXEC */ | 570 | rlwimi r10,r12,29,30,30 /* DIRTY -> SW position */ |
| 655 | rlwimi r10, r12, 29, 28, 28 /* UR = _PAGE_USER */ | 571 | and r11,r12,r10 /* Mask PTE bits to keep */ |
| 656 | rlwimi r11, r12, 31, 26, 26 /* (_PAGE_USER>>1)->r12 */ | 572 | andi. r10,r12,_PAGE_USER /* User page ? */ |
| 657 | and r11, r12, r11 /* HWEXEC & USER */ | 573 | beq 1f /* nope, leave U bits empty */ |
| 658 | rlwimi r10, r11, 0, 26, 26 /* UX = HWEXEC & USER */ | 574 | rlwimi r11,r11,3,26,28 /* yes, copy S bits to U */ |
| 659 | 575 | 1: tlbwe r11,r13,PPC44x_TLB_ATTRIB /* Write ATTRIB */ | |
| 660 | rlwimi r12, r10, 0, 26, 31 /* Insert static perms */ | ||
| 661 | |||
| 662 | /* | ||
| 663 | * Clear U0-U3 and WL1 IL1I IL1D IL2I IL2D bits which are added | ||
| 664 | * on newer 440 cores like the 440x6 used on AMCC 460EX/460GT (see | ||
| 665 | * include/asm-powerpc/pgtable-ppc32.h for details). | ||
| 666 | */ | ||
| 667 | rlwinm r12, r12, 0, 20, 10 | ||
| 668 | |||
| 669 | tlbwe r12, r13, PPC44x_TLB_ATTRIB /* Write ATTRIB */ | ||
| 670 | 576 | ||
| 671 | /* Done...restore registers and get out of here. | 577 | /* Done...restore registers and get out of here. |
| 672 | */ | 578 | */ |
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h index b0461be1c928..fce2df988504 100644 --- a/arch/powerpc/kernel/head_booke.h +++ b/arch/powerpc/kernel/head_booke.h | |||
| @@ -340,6 +340,14 @@ label: | |||
| 340 | addi r3,r1,STACK_FRAME_OVERHEAD; \ | 340 | addi r3,r1,STACK_FRAME_OVERHEAD; \ |
| 341 | EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, crit_transfer_to_handler, ret_from_crit_exc) | 341 | EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, crit_transfer_to_handler, ret_from_crit_exc) |
| 342 | 342 | ||
| 343 | #define DATA_STORAGE_EXCEPTION \ | ||
| 344 | START_EXCEPTION(DataStorage) \ | ||
| 345 | NORMAL_EXCEPTION_PROLOG; \ | ||
| 346 | mfspr r5,SPRN_ESR; /* Grab the ESR and save it */ \ | ||
| 347 | stw r5,_ESR(r11); \ | ||
| 348 | mfspr r4,SPRN_DEAR; /* Grab the DEAR */ \ | ||
| 349 | EXC_XFER_EE_LITE(0x0300, handle_page_fault) | ||
| 350 | |||
| 343 | #define INSTRUCTION_STORAGE_EXCEPTION \ | 351 | #define INSTRUCTION_STORAGE_EXCEPTION \ |
| 344 | START_EXCEPTION(InstructionStorage) \ | 352 | START_EXCEPTION(InstructionStorage) \ |
| 345 | NORMAL_EXCEPTION_PROLOG; \ | 353 | NORMAL_EXCEPTION_PROLOG; \ |
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c index 953fb919eb06..98052ac96580 100644 --- a/arch/powerpc/mm/44x_mmu.c +++ b/arch/powerpc/mm/44x_mmu.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | #include <asm/mmu.h> | 27 | #include <asm/mmu.h> |
| 28 | #include <asm/system.h> | 28 | #include <asm/system.h> |
| 29 | #include <asm/page.h> | 29 | #include <asm/page.h> |
| 30 | #include <asm/cacheflush.h> | ||
| 30 | 31 | ||
| 31 | #include "mmu_decl.h" | 32 | #include "mmu_decl.h" |
| 32 | 33 | ||
| @@ -37,11 +38,35 @@ unsigned int tlb_44x_index; /* = 0 */ | |||
| 37 | unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; | 38 | unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; |
| 38 | int icache_44x_need_flush; | 39 | int icache_44x_need_flush; |
| 39 | 40 | ||
| 41 | static void __init ppc44x_update_tlb_hwater(void) | ||
| 42 | { | ||
| 43 | extern unsigned int tlb_44x_patch_hwater_D[]; | ||
| 44 | extern unsigned int tlb_44x_patch_hwater_I[]; | ||
| 45 | |||
| 46 | /* The TLB miss handlers hard codes the watermark in a cmpli | ||
| 47 | * instruction to improve performances rather than loading it | ||
| 48 | * from the global variable. Thus, we patch the instructions | ||
| 49 | * in the 2 TLB miss handlers when updating the value | ||
| 50 | */ | ||
| 51 | tlb_44x_patch_hwater_D[0] = (tlb_44x_patch_hwater_D[0] & 0xffff0000) | | ||
| 52 | tlb_44x_hwater; | ||
| 53 | flush_icache_range((unsigned long)&tlb_44x_patch_hwater_D[0], | ||
| 54 | (unsigned long)&tlb_44x_patch_hwater_D[1]); | ||
| 55 | tlb_44x_patch_hwater_I[0] = (tlb_44x_patch_hwater_I[0] & 0xffff0000) | | ||
| 56 | tlb_44x_hwater; | ||
| 57 | flush_icache_range((unsigned long)&tlb_44x_patch_hwater_I[0], | ||
| 58 | (unsigned long)&tlb_44x_patch_hwater_I[1]); | ||
| 59 | } | ||
| 60 | |||
| 40 | /* | 61 | /* |
| 41 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem | 62 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem |
| 42 | */ | 63 | */ |
| 43 | static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) | 64 | static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) |
| 44 | { | 65 | { |
| 66 | unsigned int entry = tlb_44x_hwater--; | ||
| 67 | |||
| 68 | ppc44x_update_tlb_hwater(); | ||
| 69 | |||
| 45 | __asm__ __volatile__( | 70 | __asm__ __volatile__( |
| 46 | "tlbwe %2,%3,%4\n" | 71 | "tlbwe %2,%3,%4\n" |
| 47 | "tlbwe %1,%3,%5\n" | 72 | "tlbwe %1,%3,%5\n" |
| @@ -50,7 +75,7 @@ static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) | |||
| 50 | : "r" (PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G), | 75 | : "r" (PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G), |
| 51 | "r" (phys), | 76 | "r" (phys), |
| 52 | "r" (virt | PPC44x_TLB_VALID | PPC44x_TLB_256M), | 77 | "r" (virt | PPC44x_TLB_VALID | PPC44x_TLB_256M), |
| 53 | "r" (tlb_44x_hwater--), /* slot for this TLB entry */ | 78 | "r" (entry), |
| 54 | "i" (PPC44x_TLB_PAGEID), | 79 | "i" (PPC44x_TLB_PAGEID), |
| 55 | "i" (PPC44x_TLB_XLAT), | 80 | "i" (PPC44x_TLB_XLAT), |
| 56 | "i" (PPC44x_TLB_ATTRIB)); | 81 | "i" (PPC44x_TLB_ATTRIB)); |
| @@ -58,6 +83,8 @@ static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) | |||
| 58 | 83 | ||
| 59 | void __init MMU_init_hw(void) | 84 | void __init MMU_init_hw(void) |
| 60 | { | 85 | { |
| 86 | ppc44x_update_tlb_hwater(); | ||
| 87 | |||
| 61 | flush_instruction_cache(); | 88 | flush_instruction_cache(); |
| 62 | } | 89 | } |
| 63 | 90 | ||
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 7b2510799266..1707d00331fc 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
| @@ -306,7 +306,8 @@ good_area: | |||
| 306 | flush_dcache_icache_page(page); | 306 | flush_dcache_icache_page(page); |
| 307 | set_bit(PG_arch_1, &page->flags); | 307 | set_bit(PG_arch_1, &page->flags); |
| 308 | } | 308 | } |
| 309 | pte_update(ptep, 0, _PAGE_HWEXEC); | 309 | pte_update(ptep, 0, _PAGE_HWEXEC | |
| 310 | _PAGE_ACCESSED); | ||
| 310 | _tlbie(address, mm->context.id); | 311 | _tlbie(address, mm->context.id); |
| 311 | pte_unmap_unlock(ptep, ptl); | 312 | pte_unmap_unlock(ptep, ptl); |
| 312 | up_read(&mm->mmap_sem); | 313 | up_read(&mm->mmap_sem); |
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index 45418590b6a9..388ceda632f3 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c | |||
| @@ -57,8 +57,8 @@ | |||
| 57 | 57 | ||
| 58 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 58 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
| 59 | 59 | ||
| 60 | unsigned long total_memory; | 60 | phys_addr_t total_memory; |
| 61 | unsigned long total_lowmem; | 61 | phys_addr_t total_lowmem; |
| 62 | 62 | ||
| 63 | phys_addr_t memstart_addr = (phys_addr_t)~0ull; | 63 | phys_addr_t memstart_addr = (phys_addr_t)~0ull; |
| 64 | EXPORT_SYMBOL(memstart_addr); | 64 | EXPORT_SYMBOL(memstart_addr); |
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index 776ba6ad5e1e..1ca2235f0965 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c | |||
| @@ -330,7 +330,7 @@ static int __init mark_nonram_nosave(void) | |||
| 330 | void __init paging_init(void) | 330 | void __init paging_init(void) |
| 331 | { | 331 | { |
| 332 | unsigned long total_ram = lmb_phys_mem_size(); | 332 | unsigned long total_ram = lmb_phys_mem_size(); |
| 333 | unsigned long top_of_ram = lmb_end_of_DRAM(); | 333 | phys_addr_t top_of_ram = lmb_end_of_DRAM(); |
| 334 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | 334 | unsigned long max_zone_pfns[MAX_NR_ZONES]; |
| 335 | 335 | ||
| 336 | #ifdef CONFIG_PPC32 | 336 | #ifdef CONFIG_PPC32 |
| @@ -349,10 +349,10 @@ void __init paging_init(void) | |||
| 349 | kmap_prot = PAGE_KERNEL; | 349 | kmap_prot = PAGE_KERNEL; |
| 350 | #endif /* CONFIG_HIGHMEM */ | 350 | #endif /* CONFIG_HIGHMEM */ |
| 351 | 351 | ||
| 352 | printk(KERN_DEBUG "Top of RAM: 0x%lx, Total RAM: 0x%lx\n", | 352 | printk(KERN_DEBUG "Top of RAM: 0x%llx, Total RAM: 0x%lx\n", |
| 353 | top_of_ram, total_ram); | 353 | (u64)top_of_ram, total_ram); |
| 354 | printk(KERN_DEBUG "Memory hole size: %ldMB\n", | 354 | printk(KERN_DEBUG "Memory hole size: %ldMB\n", |
| 355 | (top_of_ram - total_ram) >> 20); | 355 | (long int)((top_of_ram - total_ram) >> 20)); |
| 356 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); | 356 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); |
| 357 | #ifdef CONFIG_HIGHMEM | 357 | #ifdef CONFIG_HIGHMEM |
| 358 | max_zone_pfns[ZONE_DMA] = lowmem_end_addr >> PAGE_SHIFT; | 358 | max_zone_pfns[ZONE_DMA] = lowmem_end_addr >> PAGE_SHIFT; |
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index 46585b7bb194..fab3cfad4099 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h | |||
| @@ -49,8 +49,8 @@ extern unsigned int num_tlbcam_entries; | |||
| 49 | extern unsigned long ioremap_bot; | 49 | extern unsigned long ioremap_bot; |
| 50 | extern unsigned long __max_low_memory; | 50 | extern unsigned long __max_low_memory; |
| 51 | extern phys_addr_t __initial_memory_limit_addr; | 51 | extern phys_addr_t __initial_memory_limit_addr; |
| 52 | extern unsigned long total_memory; | 52 | extern phys_addr_t total_memory; |
| 53 | extern unsigned long total_lowmem; | 53 | extern phys_addr_t total_lowmem; |
| 54 | extern phys_addr_t memstart_addr; | 54 | extern phys_addr_t memstart_addr; |
| 55 | extern phys_addr_t lowmem_end_addr; | 55 | extern phys_addr_t lowmem_end_addr; |
| 56 | 56 | ||
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig index bee49ca704ef..249ba01c6674 100644 --- a/arch/powerpc/platforms/44x/Kconfig +++ b/arch/powerpc/platforms/44x/Kconfig | |||
| @@ -111,6 +111,22 @@ config YOSEMITE | |||
| 111 | # help | 111 | # help |
| 112 | # This option enables support for the IBM PPC440GX evaluation board. | 112 | # This option enables support for the IBM PPC440GX evaluation board. |
| 113 | 113 | ||
| 114 | config XILINX_VIRTEX440_GENERIC_BOARD | ||
| 115 | bool "Generic Xilinx Virtex 440 board" | ||
| 116 | depends on 44x | ||
| 117 | default n | ||
| 118 | select XILINX_VIRTEX_5_FXT | ||
| 119 | help | ||
| 120 | This option enables generic support for Xilinx Virtex based boards | ||
| 121 | that use a 440 based processor in the Virtex 5 FXT FPGA architecture. | ||
| 122 | |||
| 123 | The generic virtex board support matches any device tree which | ||
| 124 | specifies 'xlnx,virtex440' in its compatible field. This includes | ||
| 125 | the Xilinx ML5xx reference designs using the powerpc core. | ||
| 126 | |||
| 127 | Most Virtex 5 designs should use this unless it needs to do some | ||
| 128 | special configuration at board probe time. | ||
| 129 | |||
| 114 | # 44x specific CPU modules, selected based on the board above. | 130 | # 44x specific CPU modules, selected based on the board above. |
| 115 | config 440EP | 131 | config 440EP |
| 116 | bool | 132 | bool |
| @@ -161,3 +177,13 @@ config 460EX | |||
| 161 | # 44x errata/workaround config symbols, selected by the CPU models above | 177 | # 44x errata/workaround config symbols, selected by the CPU models above |
| 162 | config IBM440EP_ERR42 | 178 | config IBM440EP_ERR42 |
| 163 | bool | 179 | bool |
| 180 | |||
| 181 | # Xilinx specific config options. | ||
| 182 | config XILINX_VIRTEX | ||
| 183 | bool | ||
| 184 | |||
| 185 | # Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above | ||
| 186 | config XILINX_VIRTEX_5_FXT | ||
| 187 | bool | ||
| 188 | select XILINX_VIRTEX | ||
| 189 | |||
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile index 4e71e77f9a23..8d0b1a192d62 100644 --- a/arch/powerpc/platforms/44x/Makefile +++ b/arch/powerpc/platforms/44x/Makefile | |||
| @@ -10,3 +10,4 @@ obj-$(CONFIG_RAINIER) += rainier.o | |||
| 10 | obj-$(CONFIG_WARP) += warp.o | 10 | obj-$(CONFIG_WARP) += warp.o |
| 11 | obj-$(CONFIG_WARP) += warp-nand.o | 11 | obj-$(CONFIG_WARP) += warp-nand.o |
| 12 | obj-$(CONFIG_CANYONLANDS) += canyonlands.o | 12 | obj-$(CONFIG_CANYONLANDS) += canyonlands.o |
| 13 | obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o | ||
diff --git a/arch/powerpc/platforms/44x/virtex.c b/arch/powerpc/platforms/44x/virtex.c new file mode 100644 index 000000000000..68637faf70ae --- /dev/null +++ b/arch/powerpc/platforms/44x/virtex.c | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | /* | ||
| 2 | * Xilinx Virtex 5FXT based board support, derived from | ||
| 3 | * the Xilinx Virtex (IIpro & 4FX) based board support | ||
| 4 | * | ||
| 5 | * Copyright 2007 Secret Lab Technologies Ltd. | ||
| 6 | * Copyright 2008 Xilinx, Inc. | ||
| 7 | * | ||
| 8 | * This file is licensed under the terms of the GNU General Public License | ||
| 9 | * version 2. This program is licensed "as is" without any warranty of any | ||
| 10 | * kind, whether express or implied. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #include <linux/init.h> | ||
| 14 | #include <linux/of_platform.h> | ||
| 15 | #include <asm/machdep.h> | ||
| 16 | #include <asm/prom.h> | ||
| 17 | #include <asm/time.h> | ||
| 18 | #include <asm/xilinx_intc.h> | ||
| 19 | #include <asm/reg.h> | ||
| 20 | #include <asm/ppc4xx.h> | ||
| 21 | #include "44x.h" | ||
| 22 | |||
| 23 | static struct of_device_id xilinx_of_bus_ids[] __initdata = { | ||
| 24 | { .compatible = "simple-bus", }, | ||
| 25 | { .compatible = "xlnx,plb-v46-1.00.a", }, | ||
| 26 | { .compatible = "xlnx,plb-v46-1.02.a", }, | ||
| 27 | { .compatible = "xlnx,plb-v34-1.01.a", }, | ||
| 28 | { .compatible = "xlnx,plb-v34-1.02.a", }, | ||
| 29 | { .compatible = "xlnx,opb-v20-1.10.c", }, | ||
| 30 | { .compatible = "xlnx,dcr-v29-1.00.a", }, | ||
| 31 | { .compatible = "xlnx,compound", }, | ||
| 32 | {} | ||
| 33 | }; | ||
| 34 | |||
| 35 | static int __init virtex_device_probe(void) | ||
| 36 | { | ||
| 37 | of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL); | ||
| 38 | |||
| 39 | return 0; | ||
| 40 | } | ||
| 41 | machine_device_initcall(virtex, virtex_device_probe); | ||
| 42 | |||
| 43 | static int __init virtex_probe(void) | ||
| 44 | { | ||
| 45 | unsigned long root = of_get_flat_dt_root(); | ||
| 46 | |||
| 47 | if (!of_flat_dt_is_compatible(root, "xlnx,virtex440")) | ||
| 48 | return 0; | ||
| 49 | |||
| 50 | return 1; | ||
| 51 | } | ||
| 52 | |||
| 53 | define_machine(virtex) { | ||
| 54 | .name = "Xilinx Virtex440", | ||
| 55 | .probe = virtex_probe, | ||
| 56 | .init_IRQ = xilinx_intc_init_tree, | ||
| 57 | .get_irq = xilinx_intc_get_irq, | ||
| 58 | .calibrate_decr = generic_calibrate_decr, | ||
| 59 | .restart = ppc4xx_reset_system, | ||
| 60 | }; | ||
diff --git a/arch/powerpc/platforms/44x/warp-nand.c b/arch/powerpc/platforms/44x/warp-nand.c index 7bec2815771a..e55746b824b4 100644 --- a/arch/powerpc/platforms/44x/warp-nand.c +++ b/arch/powerpc/platforms/44x/warp-nand.c | |||
| @@ -113,9 +113,14 @@ static int warp_setup_nand_flash(void) | |||
| 113 | pp = of_find_property(np, "reg", NULL); | 113 | pp = of_find_property(np, "reg", NULL); |
| 114 | if (pp && (pp->length == 12)) { | 114 | if (pp && (pp->length == 12)) { |
| 115 | u32 *v = pp->value; | 115 | u32 *v = pp->value; |
| 116 | if (v[2] == 0x4000000) | 116 | if (v[2] == 0x4000000) { |
| 117 | /* Rev A = 64M NAND */ | 117 | /* Rev A = 64M NAND */ |
| 118 | warp_nand_chip0.nr_partitions = 2; | 118 | warp_nand_chip0.nr_partitions = 3; |
| 119 | |||
| 120 | nand_parts[1].size = 0x3000000; | ||
| 121 | nand_parts[2].offset = 0x3200000; | ||
| 122 | nand_parts[2].size = 0x0e00000; | ||
| 123 | } | ||
| 119 | } | 124 | } |
| 120 | of_node_put(np); | 125 | of_node_put(np); |
| 121 | } | 126 | } |
diff --git a/include/asm-powerpc/pgtable-ppc32.h b/include/asm-powerpc/pgtable-ppc32.h index e1d2bb57f1d5..11eede4a2906 100644 --- a/include/asm-powerpc/pgtable-ppc32.h +++ b/include/asm-powerpc/pgtable-ppc32.h | |||
| @@ -182,6 +182,9 @@ extern int icache_44x_need_flush; | |||
| 182 | #define _PMD_SIZE_16M 0x0e0 | 182 | #define _PMD_SIZE_16M 0x0e0 |
| 183 | #define PMD_PAGE_SIZE(pmdval) (1024 << (((pmdval) & _PMD_SIZE) >> 4)) | 183 | #define PMD_PAGE_SIZE(pmdval) (1024 << (((pmdval) & _PMD_SIZE) >> 4)) |
| 184 | 184 | ||
| 185 | /* Until my rework is finished, 40x still needs atomic PTE updates */ | ||
| 186 | #define PTE_ATOMIC_UPDATES 1 | ||
| 187 | |||
| 185 | #elif defined(CONFIG_44x) | 188 | #elif defined(CONFIG_44x) |
| 186 | /* | 189 | /* |
| 187 | * Definitions for PPC440 | 190 | * Definitions for PPC440 |
| @@ -253,17 +256,17 @@ extern int icache_44x_need_flush; | |||
| 253 | */ | 256 | */ |
| 254 | 257 | ||
| 255 | #define _PAGE_PRESENT 0x00000001 /* S: PTE valid */ | 258 | #define _PAGE_PRESENT 0x00000001 /* S: PTE valid */ |
| 256 | #define _PAGE_RW 0x00000002 /* S: Write permission */ | 259 | #define _PAGE_RW 0x00000002 /* S: Write permission */ |
| 257 | #define _PAGE_FILE 0x00000004 /* S: nonlinear file mapping */ | 260 | #define _PAGE_FILE 0x00000004 /* S: nonlinear file mapping */ |
| 261 | #define _PAGE_HWEXEC 0x00000004 /* H: Execute permission */ | ||
| 258 | #define _PAGE_ACCESSED 0x00000008 /* S: Page referenced */ | 262 | #define _PAGE_ACCESSED 0x00000008 /* S: Page referenced */ |
| 259 | #define _PAGE_HWWRITE 0x00000010 /* H: Dirty & RW */ | 263 | #define _PAGE_DIRTY 0x00000010 /* S: Page dirty */ |
| 260 | #define _PAGE_HWEXEC 0x00000020 /* H: Execute permission */ | 264 | #define _PAGE_USER 0x00000040 /* S: User page */ |
| 261 | #define _PAGE_USER 0x00000040 /* S: User page */ | 265 | #define _PAGE_ENDIAN 0x00000080 /* H: E bit */ |
| 262 | #define _PAGE_ENDIAN 0x00000080 /* H: E bit */ | 266 | #define _PAGE_GUARDED 0x00000100 /* H: G bit */ |
| 263 | #define _PAGE_GUARDED 0x00000100 /* H: G bit */ | 267 | #define _PAGE_COHERENT 0x00000200 /* H: M bit */ |
| 264 | #define _PAGE_DIRTY 0x00000200 /* S: Page dirty */ | 268 | #define _PAGE_NO_CACHE 0x00000400 /* H: I bit */ |
| 265 | #define _PAGE_NO_CACHE 0x00000400 /* H: I bit */ | 269 | #define _PAGE_WRITETHRU 0x00000800 /* H: W bit */ |
| 266 | #define _PAGE_WRITETHRU 0x00000800 /* H: W bit */ | ||
| 267 | 270 | ||
| 268 | /* TODO: Add large page lowmem mapping support */ | 271 | /* TODO: Add large page lowmem mapping support */ |
| 269 | #define _PMD_PRESENT 0 | 272 | #define _PMD_PRESENT 0 |
| @@ -273,6 +276,7 @@ extern int icache_44x_need_flush; | |||
| 273 | /* ERPN in a PTE never gets cleared, ignore it */ | 276 | /* ERPN in a PTE never gets cleared, ignore it */ |
| 274 | #define _PTE_NONE_MASK 0xffffffff00000000ULL | 277 | #define _PTE_NONE_MASK 0xffffffff00000000ULL |
| 275 | 278 | ||
| 279 | |||
| 276 | #elif defined(CONFIG_FSL_BOOKE) | 280 | #elif defined(CONFIG_FSL_BOOKE) |
| 277 | /* | 281 | /* |
| 278 | MMU Assist Register 3: | 282 | MMU Assist Register 3: |
| @@ -315,6 +319,9 @@ extern int icache_44x_need_flush; | |||
| 315 | #define _PMD_PRESENT_MASK (PAGE_MASK) | 319 | #define _PMD_PRESENT_MASK (PAGE_MASK) |
| 316 | #define _PMD_BAD (~PAGE_MASK) | 320 | #define _PMD_BAD (~PAGE_MASK) |
| 317 | 321 | ||
| 322 | /* Until my rework is finished, FSL BookE still needs atomic PTE updates */ | ||
| 323 | #define PTE_ATOMIC_UPDATES 1 | ||
| 324 | |||
| 318 | #elif defined(CONFIG_8xx) | 325 | #elif defined(CONFIG_8xx) |
| 319 | /* Definitions for 8xx embedded chips. */ | 326 | /* Definitions for 8xx embedded chips. */ |
| 320 | #define _PAGE_PRESENT 0x0001 /* Page is valid */ | 327 | #define _PAGE_PRESENT 0x0001 /* Page is valid */ |
| @@ -345,6 +352,9 @@ extern int icache_44x_need_flush; | |||
| 345 | 352 | ||
| 346 | #define _PTE_NONE_MASK _PAGE_ACCESSED | 353 | #define _PTE_NONE_MASK _PAGE_ACCESSED |
| 347 | 354 | ||
| 355 | /* Until my rework is finished, 8xx still needs atomic PTE updates */ | ||
| 356 | #define PTE_ATOMIC_UPDATES 1 | ||
| 357 | |||
| 348 | #else /* CONFIG_6xx */ | 358 | #else /* CONFIG_6xx */ |
| 349 | /* Definitions for 60x, 740/750, etc. */ | 359 | /* Definitions for 60x, 740/750, etc. */ |
| 350 | #define _PAGE_PRESENT 0x001 /* software: pte contains a translation */ | 360 | #define _PAGE_PRESENT 0x001 /* software: pte contains a translation */ |
| @@ -365,6 +375,10 @@ extern int icache_44x_need_flush; | |||
| 365 | #define _PMD_PRESENT 0 | 375 | #define _PMD_PRESENT 0 |
| 366 | #define _PMD_PRESENT_MASK (PAGE_MASK) | 376 | #define _PMD_PRESENT_MASK (PAGE_MASK) |
| 367 | #define _PMD_BAD (~PAGE_MASK) | 377 | #define _PMD_BAD (~PAGE_MASK) |
| 378 | |||
| 379 | /* Hash table based platforms need atomic updates of the linux PTE */ | ||
| 380 | #define PTE_ATOMIC_UPDATES 1 | ||
| 381 | |||
| 368 | #endif | 382 | #endif |
| 369 | 383 | ||
| 370 | /* | 384 | /* |
| @@ -557,9 +571,11 @@ extern void add_hash_page(unsigned context, unsigned long va, | |||
| 557 | * low PTE word since we expect ALL flag bits to be there | 571 | * low PTE word since we expect ALL flag bits to be there |
| 558 | */ | 572 | */ |
| 559 | #ifndef CONFIG_PTE_64BIT | 573 | #ifndef CONFIG_PTE_64BIT |
| 560 | static inline unsigned long pte_update(pte_t *p, unsigned long clr, | 574 | static inline unsigned long pte_update(pte_t *p, |
| 575 | unsigned long clr, | ||
| 561 | unsigned long set) | 576 | unsigned long set) |
| 562 | { | 577 | { |
| 578 | #ifdef PTE_ATOMIC_UPDATES | ||
| 563 | unsigned long old, tmp; | 579 | unsigned long old, tmp; |
| 564 | 580 | ||
| 565 | __asm__ __volatile__("\ | 581 | __asm__ __volatile__("\ |
| @@ -572,16 +588,26 @@ static inline unsigned long pte_update(pte_t *p, unsigned long clr, | |||
| 572 | : "=&r" (old), "=&r" (tmp), "=m" (*p) | 588 | : "=&r" (old), "=&r" (tmp), "=m" (*p) |
| 573 | : "r" (p), "r" (clr), "r" (set), "m" (*p) | 589 | : "r" (p), "r" (clr), "r" (set), "m" (*p) |
| 574 | : "cc" ); | 590 | : "cc" ); |
| 591 | #else /* PTE_ATOMIC_UPDATES */ | ||
| 592 | unsigned long old = pte_val(*p); | ||
| 593 | *p = __pte((old & ~clr) | set); | ||
| 594 | #endif /* !PTE_ATOMIC_UPDATES */ | ||
| 595 | |||
| 575 | #ifdef CONFIG_44x | 596 | #ifdef CONFIG_44x |
| 576 | if ((old & _PAGE_USER) && (old & _PAGE_HWEXEC)) | 597 | if ((old & _PAGE_USER) && (old & _PAGE_HWEXEC)) |
| 577 | icache_44x_need_flush = 1; | 598 | icache_44x_need_flush = 1; |
| 578 | #endif | 599 | #endif |
| 579 | return old; | 600 | return old; |
| 580 | } | 601 | } |
| 581 | #else | 602 | #else /* CONFIG_PTE_64BIT */ |
| 582 | static inline unsigned long long pte_update(pte_t *p, unsigned long clr, | 603 | /* TODO: Change that to only modify the low word and move set_pte_at() |
| 583 | unsigned long set) | 604 | * out of line |
| 605 | */ | ||
| 606 | static inline unsigned long long pte_update(pte_t *p, | ||
| 607 | unsigned long clr, | ||
| 608 | unsigned long set) | ||
| 584 | { | 609 | { |
| 610 | #ifdef PTE_ATOMIC_UPDATES | ||
| 585 | unsigned long long old; | 611 | unsigned long long old; |
| 586 | unsigned long tmp; | 612 | unsigned long tmp; |
| 587 | 613 | ||
| @@ -596,13 +622,18 @@ static inline unsigned long long pte_update(pte_t *p, unsigned long clr, | |||
| 596 | : "=&r" (old), "=&r" (tmp), "=m" (*p) | 622 | : "=&r" (old), "=&r" (tmp), "=m" (*p) |
| 597 | : "r" (p), "r" ((unsigned long)(p) + 4), "r" (clr), "r" (set), "m" (*p) | 623 | : "r" (p), "r" ((unsigned long)(p) + 4), "r" (clr), "r" (set), "m" (*p) |
| 598 | : "cc" ); | 624 | : "cc" ); |
| 625 | #else /* PTE_ATOMIC_UPDATES */ | ||
| 626 | unsigned long long old = pte_val(*p); | ||
| 627 | *p = __pte((old & ~clr) | set); | ||
| 628 | #endif /* !PTE_ATOMIC_UPDATES */ | ||
| 629 | |||
| 599 | #ifdef CONFIG_44x | 630 | #ifdef CONFIG_44x |
| 600 | if ((old & _PAGE_USER) && (old & _PAGE_HWEXEC)) | 631 | if ((old & _PAGE_USER) && (old & _PAGE_HWEXEC)) |
| 601 | icache_44x_need_flush = 1; | 632 | icache_44x_need_flush = 1; |
| 602 | #endif | 633 | #endif |
| 603 | return old; | 634 | return old; |
| 604 | } | 635 | } |
| 605 | #endif | 636 | #endif /* CONFIG_PTE_64BIT */ |
| 606 | 637 | ||
| 607 | /* | 638 | /* |
| 608 | * set_pte stores a linux PTE into the linux page table. | 639 | * set_pte stores a linux PTE into the linux page table. |
| @@ -671,7 +702,7 @@ static inline void __ptep_set_access_flags(pte_t *ptep, pte_t entry, int dirty) | |||
| 671 | ({ \ | 702 | ({ \ |
| 672 | int __changed = !pte_same(*(__ptep), __entry); \ | 703 | int __changed = !pte_same(*(__ptep), __entry); \ |
| 673 | if (__changed) { \ | 704 | if (__changed) { \ |
| 674 | __ptep_set_access_flags(__ptep, __entry, __dirty); \ | 705 | __ptep_set_access_flags(__ptep, __entry, __dirty); \ |
| 675 | flush_tlb_page_nohash(__vma, __address); \ | 706 | flush_tlb_page_nohash(__vma, __address); \ |
| 676 | } \ | 707 | } \ |
| 677 | __changed; \ | 708 | __changed; \ |
